From e9d68d9cab490c4da03bf2cb720a4a8009e8e0e0 Mon Sep 17 00:00:00 2001 From: hyingbo <1363390067@qq.com> Date: 星期五, 06 六月 2025 11:18:44 +0800 Subject: [PATCH] 操作工登录调整 --- lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java | 23 ++++++++++++++++++++--- 1 files changed, 20 insertions(+), 3 deletions(-) diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java index 8f04773..3e7dff6 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java +++ b/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();//瀵嗙爜瑙e瘑 @@ -108,7 +114,11 @@ //1. 鏍¢獙鐢ㄦ埛鏄惁鏈夋晥 //update-begin-author:wangshuai date:20200601 for: 鐧诲綍浠g爜楠岃瘉鐢ㄦ埛鏄惁娉ㄩ攢bug锛宨f鏉′欢姘歌繙涓篺alse 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: 鐧诲綍浠g爜楠岃瘉鐢ㄦ埛鏄惁娉ㄩ攢bug锛宨f鏉′欢姘歌繙涓篺alse 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. 鏍¢獙鐢ㄦ埛鍚嶆垨瀵嗙爜鏄惁姝g‘ - 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); -- Gitblit v1.9.3