From cd00884c3db8fa6808b3b5949ab1a2b1459d6bdc Mon Sep 17 00:00:00 2001 From: cuilei <ray_tsu1@163.com> Date: 星期三, 11 六月 2025 10:36:55 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java | 31 ++++++++++++++++++++++++------- 1 files changed, 24 insertions(+), 7 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..e577cb7 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,18 +114,29 @@ //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); + result = sysUserService.checkUserIsEffective(sysUser, loginType); if(!result.isSuccess()) { 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); @@ -380,7 +397,7 @@ }else { //鐧诲綍妯″紡锛屾牎楠岀敤鎴锋湁鏁堟�� SysUser sysUser = sysUserService.getUserByPhone(mobile); - result = sysUserService.checkUserIsEffective(sysUser); + result = sysUserService.checkUserIsEffective(sysUser, null); if(!result.isSuccess()) { String message = result.getMessage(); String userNotExist="璇ョ敤鎴蜂笉瀛樺湪锛岃娉ㄥ唽"; @@ -441,7 +458,7 @@ //鏍¢獙鐢ㄦ埛鏈夋晥鎬� SysUser sysUser = sysUserService.getUserByPhone(phone); - result = sysUserService.checkUserIsEffective(sysUser); + result = sysUserService.checkUserIsEffective(sysUser, null); if(!result.isSuccess()) { return result; } @@ -609,7 +626,7 @@ //1. 鏍¢獙鐢ㄦ埛鏄惁鏈夋晥 SysUser sysUser = sysUserService.getUserByName(username); - result = sysUserService.checkUserIsEffective(sysUser); + result = sysUserService.checkUserIsEffective(sysUser, null); if(!result.isSuccess()) { return result; } -- Gitblit v1.9.3