增加临时参数列表
This commit is contained in:
parent
9332e9355d
commit
24470a6a3f
@ -11,6 +11,11 @@ import lombok.NoArgsConstructor;
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class SysLoginParam {
|
||||
|
||||
/**
|
||||
* 登录的医疗机构
|
||||
*/
|
||||
private String loginYLJG;
|
||||
/**
|
||||
* 默认仪器
|
||||
*/
|
||||
|
||||
@ -106,14 +106,14 @@ public class SysUser extends BaseEntity
|
||||
private String snid;
|
||||
private String signCert;
|
||||
private String sn_pin;
|
||||
private String loginYLJG;
|
||||
private SysLoginParam sysLoginParam;
|
||||
|
||||
public String getLoginYLJG() {
|
||||
return loginYLJG;
|
||||
public SysLoginParam getSysLoginParam() {
|
||||
return sysLoginParam;
|
||||
}
|
||||
|
||||
public void setLoginYLJG(String loginYLJG) {
|
||||
this.loginYLJG = loginYLJG;
|
||||
public void setSysLoginParam(SysLoginParam sysLoginParam) {
|
||||
this.sysLoginParam = sysLoginParam;
|
||||
}
|
||||
|
||||
public String getVshisuser() {
|
||||
|
||||
@ -1,8 +1,7 @@
|
||||
package com.czlis.system.web.service;
|
||||
package com.czlis.interfaceCommon.service;
|
||||
|
||||
import com.czlis.common.constant.CacheConstants;
|
||||
import com.czlis.common.constant.Constants;
|
||||
import com.czlis.common.core.domain.entity.SysUser;
|
||||
import com.czlis.common.core.domain.model.LoginUser;
|
||||
import com.czlis.common.core.redis.RedisCache;
|
||||
import com.czlis.common.utils.ServletUtils;
|
||||
@ -15,8 +14,6 @@ import io.jsonwebtoken.Claims;
|
||||
import io.jsonwebtoken.Jwts;
|
||||
import io.jsonwebtoken.SignatureAlgorithm;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
@ -1,20 +1,43 @@
|
||||
package com.czlis.interfaceCommon.utils;
|
||||
|
||||
|
||||
|
||||
import com.czlis.common.core.domain.entity.SysLoginParam;
|
||||
import com.czlis.common.core.domain.model.LoginUser;
|
||||
import com.czlis.common.utils.SecurityUtils;
|
||||
import com.czlis.interfaceCommon.service.TokenService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 登录自定义配置类
|
||||
* 登录自定义配置工具类
|
||||
*/
|
||||
@Component
|
||||
public class LoginConfigParamUtil {
|
||||
|
||||
@Autowired
|
||||
private TokenService tokenService;
|
||||
|
||||
/**
|
||||
* 获取登录之后,该回话产生的登录信息
|
||||
* @return
|
||||
*/
|
||||
public SysLoginParam getLoginConfigParam() {
|
||||
SysLoginParam loginConfigParam = new SysLoginParam();
|
||||
loginConfigParam.setYq("");
|
||||
return loginConfigParam;
|
||||
return SecurityUtils.getLoginUser().getSysLoginParam();
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置登录的自定义信息
|
||||
* @param sysLoginParam
|
||||
*/
|
||||
public void setLoginConfigParam(SysLoginParam sysLoginParam) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
loginUser.setSysLoginParam(sysLoginParam);
|
||||
tokenService.refreshToken(loginUser);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@ package com.czlis.system.security.filter;
|
||||
import com.czlis.common.core.domain.model.LoginUser;
|
||||
import com.czlis.common.utils.SecurityUtils;
|
||||
import com.czlis.common.utils.StringUtils;
|
||||
import com.czlis.system.web.service.TokenService;
|
||||
import com.czlis.interfaceCommon.service.TokenService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
|
||||
@ -9,7 +9,7 @@ import com.czlis.common.utils.ServletUtils;
|
||||
import com.czlis.common.utils.StringUtils;
|
||||
import com.czlis.common.asyncmanager.AsyncManager;
|
||||
import com.czlis.system.manager.factory.AsyncFactory;
|
||||
import com.czlis.system.web.service.TokenService;
|
||||
import com.czlis.interfaceCommon.service.TokenService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.security.core.Authentication;
|
||||
|
||||
@ -10,7 +10,7 @@ import com.czlis.common.utils.SecurityUtils;
|
||||
import com.czlis.system.service.ISysMenuService;
|
||||
import com.czlis.system.web.service.SysLoginService;
|
||||
import com.czlis.system.web.service.SysPermissionService;
|
||||
import com.czlis.system.web.service.TokenService;
|
||||
import com.czlis.interfaceCommon.service.TokenService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@ -49,8 +49,9 @@ public class SysLoginController {
|
||||
public AjaxResult login(@RequestBody LoginBody loginBody) {
|
||||
AjaxResult ajax = AjaxResult.success();
|
||||
// 生成令牌
|
||||
String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
|
||||
loginBody.getUuid(),loginBody.getLoginParam().getLoginYLJG());
|
||||
// String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
|
||||
// loginBody.getUuid(),loginBody.getLoginParam().getLoginYLJG());
|
||||
String token = loginService.login(loginBody);
|
||||
ajax.put(Constants.TOKEN, token);
|
||||
return ajax;
|
||||
}
|
||||
|
||||
@ -12,7 +12,7 @@ import com.czlis.common.utils.StringUtils;
|
||||
import com.czlis.common.utils.file.FileUploadUtils;
|
||||
import com.czlis.common.utils.file.MimeTypeUtils;
|
||||
import com.czlis.system.service.ISysUserService;
|
||||
import com.czlis.system.web.service.TokenService;
|
||||
import com.czlis.interfaceCommon.service.TokenService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
@ -16,7 +16,7 @@ import com.czlis.system.service.ISysDeptService;
|
||||
import com.czlis.system.service.ISysRoleService;
|
||||
import com.czlis.system.service.ISysUserService;
|
||||
import com.czlis.system.web.service.SysPermissionService;
|
||||
import com.czlis.system.web.service.TokenService;
|
||||
import com.czlis.interfaceCommon.service.TokenService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
@ -3,7 +3,9 @@ package com.czlis.system.web.service;
|
||||
import com.czlis.common.constant.CacheConstants;
|
||||
import com.czlis.common.constant.Constants;
|
||||
import com.czlis.common.constant.UserConstants;
|
||||
import com.czlis.common.core.domain.entity.SysLoginParam;
|
||||
import com.czlis.common.core.domain.entity.SysUser;
|
||||
import com.czlis.common.core.domain.model.LoginBody;
|
||||
import com.czlis.common.core.domain.model.LoginUser;
|
||||
import com.czlis.common.core.redis.RedisCache;
|
||||
import com.czlis.common.exception.ServiceException;
|
||||
@ -13,12 +15,14 @@ import com.czlis.common.utils.MessageUtils;
|
||||
import com.czlis.common.utils.StringUtils;
|
||||
import com.czlis.common.utils.ip.IpUtils;
|
||||
import com.czlis.common.asyncmanager.AsyncManager;
|
||||
import com.czlis.interfaceCommon.service.TokenService;
|
||||
import com.czlis.interfaceCommon.utils.CommonUtil;
|
||||
import com.czlis.system.manager.factory.AsyncFactory;
|
||||
import com.czlis.system.mapper.SysUserMapper;
|
||||
import com.czlis.system.security.context.AuthenticationContextHolder;
|
||||
import com.czlis.system.service.ISysConfigService;
|
||||
import com.czlis.system.service.ISysUserService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.authentication.AuthenticationManager;
|
||||
import org.springframework.security.authentication.BadCredentialsException;
|
||||
@ -35,6 +39,7 @@ import java.util.Random;
|
||||
* @author admin
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
public class SysLoginService {
|
||||
@Autowired
|
||||
private TokenService tokenService;
|
||||
@ -57,14 +62,22 @@ public class SysLoginService {
|
||||
|
||||
/**
|
||||
* 登录验证
|
||||
*
|
||||
* @param username 用户名
|
||||
* @param password 密码
|
||||
* @param code 验证码
|
||||
* @param uuid 唯一标识
|
||||
* @return 结果
|
||||
*/
|
||||
public String login(String username, String password, String code, String uuid,String loginYLJG) {
|
||||
public String login(LoginBody loginBody) {
|
||||
String username = loginBody.getUsername(); //登录用户名
|
||||
String password = loginBody.getPassword(); //登录密码
|
||||
String code = "";
|
||||
String uuid = "";
|
||||
String loginYLJG = "";
|
||||
try{
|
||||
code = loginBody.getCode();
|
||||
uuid = loginBody.getUuid();
|
||||
loginYLJG = loginBody.getLoginParam().getLoginYLJG(); //登录的医疗机构
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
log.error("获取登录信息失败:",e);
|
||||
}
|
||||
// 验证码校验
|
||||
validateCaptcha(username, code, uuid);
|
||||
// 登录前置校验
|
||||
@ -90,9 +103,11 @@ public class SysLoginService {
|
||||
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
|
||||
LoginUser loginUser = (LoginUser) authentication.getPrincipal();
|
||||
recordLoginInfo(loginUser.getUserId());
|
||||
//设置登录的参数到缓存
|
||||
SysLoginParam sysLoginParam = new SysLoginParam();
|
||||
sysLoginParam.setLoginYLJG(loginYLJG);
|
||||
loginUser.setSysLoginParam(sysLoginParam);
|
||||
// 生成token
|
||||
SysUser user = loginUser.getUser();
|
||||
user.setLoginYLJG(loginYLJG); //设置登录的医疗机构
|
||||
return tokenService.createToken(loginUser);
|
||||
}
|
||||
|
||||
@ -167,7 +182,7 @@ public class SysLoginService {
|
||||
}
|
||||
|
||||
/**
|
||||
* 登录验证
|
||||
* 单点登录验证
|
||||
*
|
||||
* @param username 用户名
|
||||
* @param password 密码
|
||||
|
||||
@ -33,8 +33,6 @@ public class UserDetailsServiceImpl implements UserDetailsService {
|
||||
private SysPasswordService passwordService;
|
||||
@Autowired
|
||||
private SysPermissionService permissionService;
|
||||
@Autowired
|
||||
private LoginConfigParamUtil loginConfigParamUtil;
|
||||
|
||||
|
||||
@Override
|
||||
@ -51,15 +49,12 @@ public class UserDetailsServiceImpl implements UserDetailsService {
|
||||
throw new ServiceException(MessageUtils.message("user.blocked"));
|
||||
}
|
||||
|
||||
//登录系统,携带的用户自定义参数
|
||||
SysLoginParam sysLoginParam = loginConfigParamUtil.getLoginConfigParam();
|
||||
|
||||
passwordService.validate(user);
|
||||
|
||||
return createLoginUser(user,sysLoginParam);
|
||||
return createLoginUser(user);
|
||||
}
|
||||
|
||||
public UserDetails createLoginUser(SysUser user, SysLoginParam sysLoginParam) {
|
||||
public UserDetails createLoginUser(SysUser user) {
|
||||
return new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user));
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,9 +2,11 @@ package com.czlis.liswork.controller.work;
|
||||
|
||||
import com.czlis.common.core.controller.BaseController;
|
||||
import com.czlis.common.core.domain.Result;
|
||||
import com.czlis.common.core.domain.entity.SysLoginParam;
|
||||
import com.czlis.common.core.domain.entity.lis.LabPat;
|
||||
import com.czlis.common.core.domain.entity.lis.LabResult;
|
||||
import com.czlis.common.core.page.TableDataInfo;
|
||||
import com.czlis.interfaceCommon.utils.LoginConfigParamUtil;
|
||||
import com.czlis.liswork.mapper.LisWorkMapper;
|
||||
import com.czlis.liswork.service.LabPatService;
|
||||
import com.czlis.liswork.service.LabResultService;
|
||||
@ -34,6 +36,8 @@ public class LisWorkController extends BaseController {
|
||||
private LabPatService labPatService;
|
||||
@Autowired
|
||||
private LabResultService labResultService;
|
||||
@Autowired
|
||||
LoginConfigParamUtil loginConfigParamUtil;
|
||||
/**
|
||||
* 可操作仪器查询
|
||||
*
|
||||
@ -42,6 +46,10 @@ public class LisWorkController extends BaseController {
|
||||
@ApiOperation("可操作仪器查询")
|
||||
@GetMapping("/instrdlist")
|
||||
public Result getInstrdList() {
|
||||
//初始化参数试试
|
||||
// SysLoginParam loginConfigParam = loginConfigParamUtil.getLoginConfigParam();
|
||||
// loginConfigParam.setYq("BC5300");
|
||||
// loginConfigParamUtil.setLoginConfigParam(loginConfigParam);
|
||||
return lisWorkService.getInstrdList(getUserId());
|
||||
}
|
||||
|
||||
|
||||
@ -9,6 +9,7 @@ import com.czlis.common.utils.MessageUtils;
|
||||
import com.czlis.common.utils.SecurityUtils;
|
||||
import com.czlis.common.utils.StringUtils;
|
||||
import com.czlis.interfaceCommon.utils.CommonUtil;
|
||||
import com.czlis.interfaceCommon.utils.LoginConfigParamUtil;
|
||||
import com.czlis.liswork.mapper.LisWorkMapper;
|
||||
|
||||
|
||||
@ -30,6 +31,9 @@ public class LisWorkServiceImpl implements LisWorkService {
|
||||
CommonUtil commonUtil;
|
||||
@Autowired
|
||||
private InstrMapper instrMapper;
|
||||
@Autowired
|
||||
LoginConfigParamUtil loginConfigParamUtil;
|
||||
|
||||
@Override
|
||||
public Result getXmInfo(String yq) {
|
||||
List<XmInfo> xmInfoList =commonUtil.getXmInfoList(yq);
|
||||
@ -42,6 +46,7 @@ public class LisWorkServiceImpl implements LisWorkService {
|
||||
}
|
||||
@Override
|
||||
public Result getInstrdList(Long userId) {
|
||||
|
||||
List<Map<String,Object>> comUsrpowerList = lisWorkMapper.getInstrdList(String.valueOf(userId));
|
||||
return new Result("0","获取仪器列表成功!",comUsrpowerList);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user