From b2fef519c89360cf7eeba2c781f1043caca75fc6 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期四, 13 二月 2025 20:36:56 +0800 Subject: [PATCH] 积木报表拦截切库 --- ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java | 15 ++++++++++++++- 1 files changed, 14 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 c5d788c..0fe6028 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 @@ -7,12 +7,15 @@ 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.enums.DataSourceType; 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.db.DataSourceConfig; +import com.ltkj.db.DataSourceContextHolder; import com.ltkj.framework.config.JwtUtils; import com.ltkj.framework.config.UserHoder; import com.ltkj.hosp.domain.DictHosp; @@ -84,6 +87,8 @@ @Value("${token.secret_key_login}") private boolean secretKeyLogin; + @Autowired + private DataSourceConfig dataSourceConfig; /** @@ -93,9 +98,14 @@ * @param password 瀵嗙爜 * @return 缁撴灉 */ - public String login(String username, String password, Boolean type,String code,String uuid) { + public String login(String username, String password, Boolean type,String code,String uuid,String hospId) { + DataSourceContextHolder.setDataSourceKey(DataSourceType.MASTER.name()); + LambdaQueryWrapper<DictHosp> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(DictHosp::getCode,hospId); + DictHosp hosp = hospService.getOne(wrapper); + DataSourceContextHolder.setDataSourceKey(hosp.getDbname()); String aSwitch = configService.selectConfigByKey("captcha_switch"); if(null !=aSwitch && aSwitch.equalsIgnoreCase("Y")){ String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid; @@ -139,6 +149,9 @@ } AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"))); LoginUser loginUser = (LoginUser) authentication.getPrincipal(); + loginUser.setHospDB(hosp.getDbname()); + loginUser.setHospId(hospId); + tokenService.setLoginUser(loginUser); recordLoginInfo(Long.valueOf(loginUser.getUserId())); //鏍¢獙鍟嗗杩囨湡鍚� -- Gitblit v1.8.0