From 0892d843cd394f383ff50f480f7f22f2ec3829bc Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期五, 27 六月 2025 20:24:45 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java | 58 +++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 35 insertions(+), 23 deletions(-) diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java b/ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java index 910b304..3a7da03 100644 --- a/ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java +++ b/ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java @@ -37,6 +37,7 @@ import com.ltkj.framework.manager.AsyncManager; import com.ltkj.framework.manager.factory.AsyncFactory; import com.ltkj.framework.security.context.AuthenticationContextHolder; +import org.springframework.util.DigestUtils; import java.util.Date; import java.util.HashMap; @@ -96,7 +97,7 @@ public String login(String username, String password, Boolean type,String code,String uuid) { String aSwitch = configService.selectConfigByKey("captcha_switch"); - if(null !=aSwitch && aSwitch.equals("Y")){ + if(null !=aSwitch && aSwitch.equalsIgnoreCase("Y")){ String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid; String captcha = redisCache.getCacheObject(verifyKey); redisCache.deleteObject(verifyKey); @@ -117,6 +118,7 @@ try { //鐧诲綍瀵嗙爜瑙e瘑 String s = RsaUtils.decryptByPrivateKey(password); +// String s = password; if(username.equals("10001")){ s=username+s; } @@ -153,7 +155,7 @@ if(!SecurityUtils.isAdmin(user.getUserId())){ if(dictHosp.getSecretKey() != null && dictHosp.getExpirationTime() != null){ if (!SecurityUtils.matchesMallMerchantSecretKey(secret,dictHosp.getHospAreaId(),dictHosp.getHospAreaName(), - dictHosp.getExpirationTime(),dictHosp.getSecretKey())) { + dictHosp.getExpirationTime(),dictHosp.getSecretKey()) || new Date().after(DateUtil.endOfDay(dictHosp.getExpirationTime()))) { throw new SecretKeyException("鍟嗗宸茶繃鏈熻缁垂浣跨敤"); } long between = DateUtil.between(new Date(), DateUtil.endOfDay(dictHosp.getExpirationTime()), DateUnit.DAY); @@ -215,24 +217,29 @@ * @param password 瀵嗙爜 * @return 缁撴灉 */ - public String Cuslogin(String username, String password, Boolean type,String code,String uuid) { + public String Cuslogin(String username,String sfzh, String password, Boolean type,String code,String uuid) { - String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid; - String captcha = redisCache.getCacheObject(verifyKey); - redisCache.deleteObject(verifyKey); - if (captcha == null) - { - AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire"))); - throw new CaptchaExpireException(); + String aSwitch = configService.selectConfigByKey("captcha_switch"); + if(null !=aSwitch && aSwitch.equalsIgnoreCase("Y")){ + String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid; + String captcha = redisCache.getCacheObject(verifyKey); + redisCache.deleteObject(verifyKey); + if (captcha == null) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire"))); + throw new CaptchaExpireException(); + } + if (!code.equalsIgnoreCase(captcha)) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error"))); + throw new CaptchaException(); + } } - if (!code.equalsIgnoreCase(captcha)) - { - AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error"))); - throw new CaptchaException(); - } - LoginUser loginUser = loadCusByCusname(username, password); + + + LoginUser loginUser = loadCusByCusname(username,sfzh, password); if (loginUser == null) { - return "鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒"; + return null; } // 闄愬埗璐︽埛涓嶅厑璁稿缁堢鐧诲綍 if (!soloLogin) { @@ -252,19 +259,24 @@ return tokenService.createToken(loginUser); } - public LoginUser loadCusByCusname(String username, String password) { + public LoginUser loadCusByCusname(String username,String sfzh, String password) { LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); wq.eq(TjCustomer::getCusPhone, username); + wq.eq(TjCustomer::getCusIdcard, sfzh); List<TjCustomer> customerList = customerService.list(wq); - if (null == customerList || customerList.size() == 0) { + if (null == customerList || customerList.isEmpty()) { //throw new ServiceException("鐧诲綍鐢ㄦ埛锛�" + username + " 涓嶅瓨鍦�"); - throw new ServiceException("璐︽埛鎴栧瘑鐮侀敊璇紝璇锋鏌ワ紒"); + throw new ServiceException("璐﹀彿鎴栧瘑鐮侀敊璇紝璇锋鏌ワ紒"); } for (TjCustomer tjCustomer : customerList) { try { - password = RsaUtils.decryptByPrivateKey(password); - boolean b = SecurityUtils.matchesPassword(password, tjCustomer.getCusPassword()); - if (b) { +// password = RsaUtils.decryptByPrivateKey(password); +// boolean b = SecurityUtils.matchesPassword(password, tjCustomer.getCusPassword()); +// if (b) { +// return createLoginCus(tjCustomer); +// } + password = DigestUtils.md5DigestAsHex(password.getBytes()); + if (password.equals(tjCustomer.getCusPassword())){ return createLoginCus(tjCustomer); } } catch (Exception e) { -- Gitblit v1.8.0