hyingbo
2025-06-06 e9d68d9cab490c4da03bf2cb720a4a8009e8e0e0
操作工登录调整
已修改2个文件
47 ■■■■ 文件已修改
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/model/SysLoginModel.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java
@@ -6,9 +6,11 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.constant.CacheConstant;
@@ -70,6 +72,8 @@
    private JeecgBaseConfig jeecgBaseConfig;
    private final String BASE_CHECK_CODES = "qwertyuiplkjhgfdsazxcvbnmQWERTYUPLKJHGFDSAZXCVBNM1234567890";
    private final String TERMINAL = "terminal";
    private final String PCR0001 = "PCR0001";
    @ApiOperation("登录接口")
    @RequestMapping(value = "/login", method = RequestMethod.POST)
@@ -77,6 +81,8 @@
        Result<JSONObject> result = new Result<JSONObject>();
        String username = sysLoginModel.getUsername();
        String password = sysLoginModel.getPassword();
        String workNo = sysLoginModel.getWorkNo();
        String loginType = sysLoginModel.getLoginType();
        //update-begin--Author:scott  Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
        //前端密码加密,后端进行密码解密
        //password = AesEncryptUtil.desEncrypt(sysLoginModel.getPassword().replaceAll("%2B", "\\+")).trim();//密码解密
@@ -108,7 +114,11 @@
        //1. 校验用户是否有效
        //update-begin-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false
        LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(SysUser::getUsername,username);
        if (StringUtils.isNotBlank(workNo)) {
            queryWrapper.eq(SysUser::getWorkNo,workNo);
        }else {
            queryWrapper.eq(SysUser::getUsername,username);
        }
        SysUser sysUser = sysUserService.getOne(queryWrapper);
        //update-end-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false
        result = sysUserService.checkUserIsEffective(sysUser);
@@ -116,10 +126,17 @@
            return result;
        }
        //校验操作工终端登录账号是否为操作工
        if (TERMINAL.equals(loginType) && !PCR0001.equals(sysUser.getPost())) {
            result.error500("当前登录账号岗位非操作工,请调整岗位或切换操作工账号登录");
            return result;
        }
        username = sysUser.getUsername();
        //2. 校验用户名或密码是否正确
        String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt());
        String userpassword = StringUtils.isBlank(workNo) ? PasswordUtil.encrypt(username, password, sysUser.getSalt()) : StringPool.EMPTY;
        String syspassword = sysUser.getPassword();
        if (!syspassword.equals(userpassword)) {
        if (StringUtils.isBlank(workNo) && !syspassword.equals(userpassword)) {
            // 获取用户失败最大次数
            //Integer maxAttempts = CommonConstant.MAX_ATTEMPTS;
            List<DictModel> dictModels = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_MAX_ATTEMPTS);
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/model/SysLoginModel.java
@@ -11,13 +11,26 @@
 */
@ApiModel(value="登录对象", description="登录对象")
public class SysLoginModel {
    @ApiModelProperty(value = "工号")
    private String workNo;
    @ApiModelProperty(value = "账号")
    private String username;
    @ApiModelProperty(value = "密码")
    private String password;
    @ApiModelProperty(value = "登录方式")
    private String loginType;
    @ApiModelProperty(value = "验证码")
    private String captcha;
    @ApiModelProperty(value = "验证码key")
    public String getLoginType() {
        return loginType;
    }
    public void setLoginType(String loginType) {
        this.loginType = loginType;
    }
    @ApiModelProperty(value = "验证码key")
    private String checkKey;
    public String getUsername() {
@@ -51,5 +64,12 @@
    public void setCheckKey(String checkKey) {
        this.checkKey = checkKey;
    }
    public String getWorkNo() {
        return workNo;
    }
    public void setWorkNo(String workNo) {
        this.workNo = workNo;
    }
}