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-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 58 insertions(+), 1 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java index 6f1125e..240ee35 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java @@ -3,11 +3,20 @@ import java.awt.peer.LabelPeer; import java.util.*; +import cn.hutool.core.date.DateUnit; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.common.annotation.RepeatSubmit; +import com.ltkj.common.core.domain.entity.SysDept; import com.ltkj.common.core.domain.entity.SysRole; +import com.ltkj.common.core.redis.RedisCache; +import com.ltkj.common.exception.CustomException; +import com.ltkj.common.exception.user.SecretKeyException; import com.ltkj.common.utils.StringUtils; +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.domain.SysPost; import com.ltkj.system.domain.SysRoleMenu; @@ -17,6 +26,7 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import com.ltkj.common.constant.Constants; import com.ltkj.common.core.domain.AjaxResult; @@ -56,6 +66,17 @@ private ISysRoleMenuService roleMenuService; @Autowired private ISysConfigService configService; + @Resource + private IDictHospService hospService; + @Autowired + private ISysDeptService deptService; + @Value("${token.secret_key}") + private String secret; + + @Value("${token.secret_key_login}") + private boolean secretKeyLogin; + @Autowired + private RedisCache redisCache; /** * 鐧诲綍鏂规硶 @@ -90,13 +111,47 @@ @GetMapping("getInfo") public AjaxResult getInfo() { AjaxResult ajax = success(); - SysUser user = Objects.requireNonNull(SecurityUtils.getLoginUser()).getUser(); + SysUser user = UserHoder.getLoginUser().getUser(); if (null != user.getUserId()) { + if (secretKeyLogin) + { + if(null !=user.getDeptId()){ + if(!SecurityUtils.isAdmin(user.getUserId())){ + SysDept sysDept = deptService.getById(user.getDeptId()); + if (null != sysDept) { + DictHosp dictHosp = hospService.getById(sysDept.getHospId()); + if(null !=dictHosp && dictHosp.getSecretKey() !=null && dictHosp.getExpirationTime() !=null){ + if (!SecurityUtils.matchesMallMerchantSecretKey(secret,dictHosp.getHospAreaId(),dictHosp.getAreaid(), + dictHosp.getExpirationTime(),dictHosp.getSecretKey())) { + + String userIdKey = Constants.LOGIN_USERID_KEY + user.getUserId(); + String userKey = redisCache.getCacheObject(userIdKey); + if (org.apache.commons.lang3.StringUtils.isNotEmpty(userKey)) + { + redisCache.deleteObject(userIdKey); + redisCache.deleteObject(userKey); + } + throw new SecretKeyException("鍟嗗宸茶繃鏈熻缁垂浣跨敤"); + } + long between = DateUtil.between(new Date(), DateUtil.endOfDay(dictHosp.getExpirationTime()), DateUnit.DAY); + if(between<=30){ + UserHoder.getLoginUser().setMessage("杩樻湁 "+between+" 澶╁埌鏈� 璇锋敞鎰忕画璐�! 浠ュ厤褰卞搷姝e父浣跨敤!"); + } + }else { + throw new SecretKeyException("璇风即璐逛娇鐢�"); + } + } + } + + } + } Set<String> roles = permissionService.getRolePermission(user); Set<String> permissions = permissionService.getMenuPermission(user); ajax.put("user", user); ajax.put("roles", roles); ajax.put("permissions", permissions); + ajax.put("securitMessage",UserHoder.getLoginUser().getMessage()); + ajax.put("hospName",UserHoder.getLoginUser().getHospName()); } else { Set<String> roles = new HashSet<>(); LambdaQueryWrapper<SysRole> wq = new LambdaQueryWrapper<>(); @@ -116,6 +171,8 @@ ajax.put("roles", roles); ajax.put("permissions", permissions); ajax.put("post",null); + ajax.put("securitMessage",null); + ajax.put("hospName",UserHoder.getLoginUser().getHospName()); } return ajax; } -- Gitblit v1.8.0