diff --git a/src/main/java/cn/timer/api/bean/zzgl/ZzglCodeLogin.java b/src/main/java/cn/timer/api/bean/zzgl/ZzglCodeLogin.java new file mode 100644 index 0000000..dc0bd62 --- /dev/null +++ b/src/main/java/cn/timer/api/bean/zzgl/ZzglCodeLogin.java @@ -0,0 +1,48 @@ +package cn.timer.api.bean.zzgl; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author LAL 2020-07-31 + */ +@Entity +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table(name = "zzgl_code_login") +@ApiModel("二维码登录") +public class ZzglCodeLogin extends Model<ZzglCodeLogin> { + + /** + * + */ + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue + @TableId(type = IdType.AUTO) + @ApiModelProperty(value = "id id", example = "101") + private Integer id; + + @ApiModelProperty(value = "key_code ", example = "key_code") + private String keyCode; + + @ApiModelProperty(value = "vlaue ", example = "vlaue") + private String vlaue; + +} \ No newline at end of file diff --git a/src/main/java/cn/timer/api/controller/LoginController.java b/src/main/java/cn/timer/api/controller/LoginController.java index b242e92..57dc99a 100644 --- a/src/main/java/cn/timer/api/controller/LoginController.java +++ b/src/main/java/cn/timer/api/controller/LoginController.java @@ -53,6 +53,7 @@ import cn.timer.api.bean.qyzx.QyzxEntInfoM; import cn.timer.api.bean.yggl.YgglMainEmp; import cn.timer.api.bean.zzgl.ZzglAuth; import cn.timer.api.bean.zzgl.ZzglBmgwM; +import cn.timer.api.bean.zzgl.ZzglCodeLogin; import cn.timer.api.config.annotation.CurrentUser; import cn.timer.api.config.annotation.UserBean; import cn.timer.api.config.enuminterface.YgEnumInterface; @@ -912,8 +913,11 @@ public class LoginController { String result = new cn.hutool.json.JSONObject(hashMap).toString();//转化为json格式 System.out.println("全部信息="+result);//打印json串 - session.setAttribute(key,timercode); - session.setAttribute(key+"_code","1"); +// session.setAttribute(key,timercode); +// session.setAttribute(key+"_code","1"); + + ZzglCodeLogin.builder().keyCode(key).vlaue(timercode).build().insert(); + ZzglCodeLogin.builder().keyCode(key+"_code").vlaue("1").build().insert(); // PrintWriter pw = response.getWriter(); ServletOutputStream pw = response.getOutputStream(); @@ -929,8 +933,15 @@ public class LoginController { public Result<QyzxEmpLogin> Scan_code_login(@CurrentUser UserBean userBean,@RequestBody ScancodeloginparametersDto scancodelogin,HttpServletRequest request) throws ParseException { String current_time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); - String timer_code = session.getAttribute(scancodelogin.getKey()+"_code").toString(); //扫码状态 - String timercode = session.getAttribute(scancodelogin.getKey()).toString(); //扫码时间 +// String timer_code = session.getAttribute(scancodelogin.getKey()+"_code").toString(); //扫码状态 +// String timercode = session.getAttribute(scancodelogin.getKey()).toString(); //扫码时间 + + ZzglCodeLogin colo = ZzglCodeLogin.builder().build().selectOne(new QueryWrapper<ZzglCodeLogin>().lambda().eq(ZzglCodeLogin::getKeyCode, scancodelogin.getKey())); + String timercode = colo.getVlaue(); + + ZzglCodeLogin colo_ = ZzglCodeLogin.builder().build().selectOne(new QueryWrapper<ZzglCodeLogin>().lambda().eq(ZzglCodeLogin::getKeyCode, scancodelogin.getKey()+"_code")); + String timer_code = colo_.getVlaue(); + timercode = ClockInTool.stampToDate(timercode); long changed_time = Long.valueOf(ClockInTool.dateToStamp(ClockInTool.addtime(timercode, "+"+expiration_time))); @@ -980,18 +991,29 @@ public class LoginController { String current_time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); if(scancodelogin.getKey() != null) { - String timercode = session.getAttribute(scancodelogin.getKey()).toString(); //扫码时间 - timercode = ClockInTool.stampToDate(timercode); - long changed_time = Long.valueOf(ClockInTool.dateToStamp(ClockInTool.addtime(timercode, "+"+expiration_time))); +// String timercode = session.getAttribute(scancodelogin.getKey()).toString(); //扫码时间 - Date sd1=df1.parse(ClockInTool.stampToDate(String.valueOf(changed_time)));//当天应打的首次上班卡时间 - Date sd2=df1.parse(current_time);//当前时间 - if(sd1.after(sd2)) { - session.setAttribute(scancodelogin.getKey()+"_code","2"); - return ResultUtil.success("扫码成功"); + ZzglCodeLogin colo = ZzglCodeLogin.builder().build().selectOne(new QueryWrapper<ZzglCodeLogin>().lambda().eq(ZzglCodeLogin::getKeyCode, scancodelogin.getKey())); + if(colo != null) { + String timercode = colo.getVlaue(); + + timercode = ClockInTool.stampToDate(timercode); + long changed_time = Long.valueOf(ClockInTool.dateToStamp(ClockInTool.addtime(timercode, "+"+expiration_time))); + + Date sd1=df1.parse(ClockInTool.stampToDate(String.valueOf(changed_time)));//当天应打的首次上班卡时间 + Date sd2=df1.parse(current_time);//当前时间 + if(sd1.after(sd2)) { +// session.setAttribute(scancodelogin.getKey()+"_code","2"); + ZzglCodeLogin.builder().vlaue("2").build().update(new QueryWrapper<ZzglCodeLogin>().lambda().eq(ZzglCodeLogin::getKeyCode, scancodelogin.getKey()+"_code")); + + return ResultUtil.success("扫码成功"); + }else { + return ResultUtil.error("二维码已过期"); + } }else { - return ResultUtil.error("二维码已过期"); + return ResultUtil.error("扫码失败"); } + }else { return ResultUtil.error("验证失败"); } @@ -1004,7 +1026,11 @@ public class LoginController { String current_time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); if(scancodelogin.getKey() != null) { - String timercode = session.getAttribute(scancodelogin.getKey()).toString(); //扫码时间 +// String timercode = session.getAttribute(scancodelogin.getKey()).toString(); //扫码时间 + + ZzglCodeLogin colo = ZzglCodeLogin.builder().build().selectOne(new QueryWrapper<ZzglCodeLogin>().lambda().eq(ZzglCodeLogin::getKeyCode, scancodelogin.getKey())); + String timercode = colo.getVlaue(); + timercode = ClockInTool.stampToDate(timercode); long changed_time = Long.valueOf(ClockInTool.dateToStamp(ClockInTool.addtime(timercode, "+"+expiration_time))); @@ -1012,7 +1038,8 @@ public class LoginController { Date sd2=df1.parse(current_time);//当前时间 if(sd1.after(sd2)) { - session.setAttribute(scancodelogin.getKey()+"_code","3"); + ZzglCodeLogin.builder().vlaue("3").build().update(new QueryWrapper<ZzglCodeLogin>().lambda().eq(ZzglCodeLogin::getKeyCode, scancodelogin.getKey()+"_code")); +// session.setAttribute(scancodelogin.getKey()+"_code","3"); YgglMainEmp ygam = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getEmpNum, userBean.getEmpNum()).eq(YgglMainEmp::getOrgCode, userBean.getOrgCode())); if(ygam != null) { diff --git a/src/main/java/cn/timer/api/dao/zzgl/ZzglCodeLoginMapper.java b/src/main/java/cn/timer/api/dao/zzgl/ZzglCodeLoginMapper.java new file mode 100644 index 0000000..2482182 --- /dev/null +++ b/src/main/java/cn/timer/api/dao/zzgl/ZzglCodeLoginMapper.java @@ -0,0 +1,17 @@ +package cn.timer.api.dao.zzgl; +import org.springframework.stereotype.Repository; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import cn.timer.api.bean.zzgl.ZzglCodeLogin; + +/** +* 二维码登录 +* @author LAL 2020-07-31 +*/ +@Repository +public interface ZzglCodeLoginMapper extends BaseMapper<ZzglCodeLogin> { + + + +} diff --git a/src/main/resources/mapping/zzgl/ZzglCodeLoginMapper.xml b/src/main/resources/mapping/zzgl/ZzglCodeLoginMapper.xml new file mode 100644 index 0000000..7f27456 --- /dev/null +++ b/src/main/resources/mapping/zzgl/ZzglCodeLoginMapper.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="cn.timer.api.dao.zzgl.ZzglCodeLoginMapper"> + + <resultMap id="BaseResultMap" type="cn.timer.api.bean.zzgl.ZzglCodeLogin" > + <id column="id" property="id" /> + <result column="key_code" property="keyCode" /> + <result column="vlaue" property="vlaue" /> + </resultMap> + + <sql id="Base_Column_List"> + id, + key_code, + vlaue + </sql> + + <sql id="Base_Column_List_Alias"> + id ZzglCodeLogin_id, + key_code ZzglCodeLogin_key_code, + vlaue ZzglCodeLogin_vlaue + </sql> + + <!-- + + <insert id="insert" useGeneratedKeys="true" keyColumn="id" parameterType="cn.timer.api.bean.zzgl.ZzglCodeLogin"> + INSERT INTO zzgl_code_login + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test ='null != keyCode'> + key_code, + </if> + <if test ='null != vlaue'> + vlaue + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test ='null != keyCode'> + #{keyCode}, + </if> + <if test ='null != vlaue'> + #{vlaue} + </if> + </trim> + </insert> + + <delete id="delete" > + DELETE FROM zzgl_code_login + WHERE id = #{id} + </delete> + + <update id="update" parameterType="cn.timer.api.bean.zzgl.ZzglCodeLogin"> + UPDATE zzgl_code_login + <set> + <if test ='null != keyCode'>key_code = #{keyCode},</if> + <if test ='null != vlaue'>vlaue = #{vlaue}</if> + </set> + WHERE id = #{id} + </update> + + + <select id="load" resultMap="BaseResultMap"> + SELECT <include refid="Base_Column_List" /> + FROM zzgl_code_login + WHERE id = #{id} + </select> + + <select id="pageList" resultMap="BaseResultMap"> + SELECT <include refid="Base_Column_List" /> + FROM zzgl_code_login + LIMIT #{offset}, #{pageSize} + </select> + + <select id="pageListCount" resultType="java.lang.Integer"> + SELECT count(1) + FROM zzgl_code_login + </select> + + --> + +</mapper> \ No newline at end of file