From 906328ba3f842f5f86cb5bd60e09a8a7f6d2ac93 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期五, 13 十月 2023 08:32:18 +0800 Subject: [PATCH] zjh 2023/10/12--2 --- ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 55 insertions(+), 1 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 3ff7c18..355c5b8 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 @@ -2,16 +2,24 @@ import javax.annotation.Resource; +import cn.hutool.core.date.DateUnit; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.common.constant.CacheConstants; +import com.ltkj.common.core.domain.entity.SysDept; +import com.ltkj.common.exception.CustomException; import com.ltkj.common.exception.user.CaptchaException; import com.ltkj.common.exception.user.CaptchaExpireException; +import com.ltkj.common.exception.user.SecretKeyException; import com.ltkj.common.utils.*; import com.ltkj.common.utils.sign.RsaUtils; import com.ltkj.framework.config.JwtUtils; import com.ltkj.framework.config.UserHoder; +import com.ltkj.hosp.domain.DictHosp; import com.ltkj.hosp.domain.TjCustomer; +import com.ltkj.hosp.service.IDictHospService; import com.ltkj.hosp.service.ITjCustomerService; +import com.ltkj.system.service.ISysDeptService; import com.ltkj.system.service.ISysMenuService; import com.ltkj.system.service.SysParametersDisposeService; import org.springframework.beans.factory.annotation.Autowired; @@ -33,6 +41,7 @@ import com.ltkj.framework.security.context.AuthenticationContextHolder; import com.ltkj.system.service.ISysUserService; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -60,13 +69,22 @@ @Resource private ISysMenuService menuService; - + @Resource + private IDictHospService hospService; + @Autowired + private ISysDeptService deptService; @Autowired private SysParametersDisposeService parametersDisposeService; // 鏄惁鍏佽璐︽埛澶氱粓绔悓鏃剁櫥褰曪紙true鍏佽 false涓嶅厑璁革級 @Value("${token.soloLogin}") private boolean soloLogin; + + @Value("${token.secret_key}") + private String secret; + + @Value("${token.secret_key_login}") + private boolean secretKeyLogin; /** @@ -116,6 +134,42 @@ LoginUser loginUser = (LoginUser) authentication.getPrincipal(); recordLoginInfo(Long.valueOf(loginUser.getUserId())); + //鏍¢獙鍟嗗杩囨湡鍚� + if (secretKeyLogin) + { + Long userId =loginUser.getUser().getUserId(); + SysUser user = userService.getById(userId); + if(null !=user && null !=user.getDeptId()){ + SysDept sysDept = deptService.getById(user.getDeptId()); + if (null != sysDept) { + DictHosp dictHosp = hospService.getById(sysDept.getHospId()); + if(null !=dictHosp){ + loginUser.setHospName(dictHosp.getHospAreaName()); + if(!SecurityUtils.isAdmin(user.getUserId())){ + if(dictHosp.getSecretKey() != null && dictHosp.getExpirationTime() != null){ + if (!SecurityUtils.matchesMallMerchantSecretKey(secret,dictHosp.getHospAreaId(),dictHosp.getAreaid(), + dictHosp.getExpirationTime(),dictHosp.getSecretKey())) { + throw new SecretKeyException("鍟嗗宸茶繃鏈熻缁垂浣跨敤"); + } + long between = DateUtil.between(new Date(), DateUtil.endOfDay(dictHosp.getExpirationTime()), DateUnit.DAY); + if(between<=30){ + loginUser.setMessage("杩樻湁 "+between+" 澶╁埌鏈� 璇锋敞鎰忕画璐�! 浠ュ厤褰卞搷姝e父浣跨敤!"); + }else { + loginUser.setMessage(null); + } + }else { + throw new SecretKeyException("璇风即璐逛娇鐢�"); + } + } + } + } + + }else { + throw new CustomException("璇风粦瀹氬晢瀹�"); + } + + } + // 闄愬埗璐︽埛涓嶅厑璁稿缁堢鐧诲綍 if (!soloLogin) { // 濡傛灉鐢ㄦ埛涓嶅厑璁稿缁堢鍚屾椂鐧诲綍锛屾竻闄ょ紦瀛樹俊鎭� -- Gitblit v1.8.0