Merge remote-tracking branch 'origin/develop_master' into develop_1

This commit is contained in:
yanyizhou
2021-10-21 09:12:38 +08:00
11 changed files with 87 additions and 27 deletions
@@ -1,12 +1,21 @@
package com.adc.da.login.util; package com.adc.da.login.util;
import com.adc.da.att.entity.TsUser;
import com.adc.da.sys.entity.UserEO;
import com.adc.da.sys.service.IUserEOService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import io.jsonwebtoken.ExpiredJwtException; import io.jsonwebtoken.ExpiredJwtException;
import io.jsonwebtoken.Jwts; import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm; import io.jsonwebtoken.SignatureAlgorithm;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* token 工具类 * token 工具类
@@ -25,6 +34,9 @@ public class JwtUtils {
// 秘钥 // 秘钥
private static String secret = "HSyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"; private static String secret = "HSyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9";
@Autowired
private IUserEOService userService;
/** /**
* 创建一个token * 创建一个token
* *
@@ -35,8 +47,8 @@ public class JwtUtils {
Date now = new Date(); Date now = new Date();
Date expireDate = new Date(now.getTime() + expire); Date expireDate = new Date(now.getTime() + expire);
return Jwts.builder().setHeaderParam("type", "JWT").setSubject(userId).setIssuedAt(now) return Jwts.builder().setHeaderParam("type", "JWT").setSubject(userId).setIssuedAt(now)
.setExpiration(expireDate).signWith( .setExpiration(expireDate).signWith(
SignatureAlgorithm.HS512, secret).compact(); SignatureAlgorithm.HS512, secret).compact();
} }
/** /**
@@ -55,6 +67,31 @@ public class JwtUtils {
return claims; return claims;
} }
public String getUserIdByToken(){
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
String user = "";
if(attributes != null){
HttpServletRequest request = attributes.getRequest();
Claims claim = getClaimsByToken(request.getHeader("token"));
user = claim.getSubject();
}
return user;
}
public UserEO getUserByToken(){
UserEO userEO = new UserEO();
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if(attributes != null){
HttpServletRequest request = attributes.getRequest();
//添加token
Claims claim = getClaimsByToken(request.getHeader("token"));
String subject = claim.getSubject();
List<UserEO> userEOS = userService.getUser(subject);
userEO = userEOS.get(0);
}
return userEO;
}
/** /**
* 判断 token 是否过期 * 判断 token 是否过期
*/ */
@@ -17,6 +17,7 @@ import org.apache.shiro.authz.SimpleAuthorizationInfo;
import org.apache.shiro.session.InvalidSessionException; import org.apache.shiro.session.InvalidSessionException;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -46,6 +47,11 @@ public class UserUtils {
public static final String CACHE_AREA_LIST = "areaList"; public static final String CACHE_AREA_LIST = "areaList";
public static final String CACHE_OFFICE_LIST = "officeList"; public static final String CACHE_OFFICE_LIST = "officeList";
/**
* @see JwtUtils
*/
private static JwtUtils jwtUtils = SpringContextHolder1.getBean(JwtUtils.class);
/** /**
* @see IUserEOService * @see IUserEOService
*/ */
@@ -78,11 +84,11 @@ public class UserUtils {
* 获取当前登录用户名 * 获取当前登录用户名
*/ */
public static String getUserName() { public static String getUserName() {
// JWTRealm.Principal principal = (Principal) SecurityUtils.getSubject().getPrincipal(); UserEO userEO = getUser();
// if (principal != null) { if (userEO != null) {
// return principal.getLoginName(); return userEO.getAccount();
// } }
return "admin"; return null;
} }
/** /**
@@ -90,27 +96,25 @@ public class UserUtils {
* @throws Exception * @throws Exception
*/ */
public static String getUserId() { public static String getUserId() {
UserEO userEO = getUser(); return jwtUtils.getUserIdByToken();
if (userEO != null) {
return userEO.getUsid();
}
return null;
} }
/** /**
* 获取当前登录用户信息 * 获取当前登录用户信息
*/ */
public static UserEO getUser() { public static UserEO getUser() {
UserEO user = (UserEO) CacheUtils.getCache(CURRENT_USER); UserEO user = jwtUtils.getUserByToken();
if (user == null) { if (user == null) {
user = new UserEO(); user = new UserEO();
String userName = getUserName(); String userId = getUserId();
if (StringUtils.isNotEmpty(userName)) { if (StringUtils.isNotEmpty(userId)) {
UserEO userInDb = userService.getUserByLoginNameNotDeleted(userName); List<UserEO> userEOS = userService.getUser(userId);
user = ObjectUtil.clone(userInDb); if(!userEOS.isEmpty()){
user.setPassword(""); user = ObjectUtil.clone(userEOS.get(0));
CacheUtils.putCache(CURRENT_USER, user); user.setPassword("");
CacheUtils.putCache(CURRENT_USER, user);
}
} }
} }
return user; return user;
@@ -74,7 +74,7 @@ OCR.userId =dayuzhou1234
OCR.authCode =123456 OCR.authCode =123456
OCR.publicKey =EC4KKA6ZDTCPAOCRBC5M OCR.publicKey =EC4KKA6ZDTCPAOCRBC5M
# OCR文件存储路径 # OCR文件存储路径
OCR.ocrPath=/opt/foton-slrs/front/dist/file/a OCR.ocrPath=/opt/foton-slrs/front/dist/file/
# OCR文件请求下载或在线预览时URL # OCR文件请求下载或在线预览时URL
OCR.ocrDownPath=http://62.234.136.153:8038/file/ OCR.ocrDownPath=http://62.234.136.153:8038/file/
OCR.times=20 OCR.times=20
@@ -62,8 +62,8 @@ public class TsUserController extends BaseController<TsUser> {
@ApiOperation("查询当前登录用户权限") @ApiOperation("查询当前登录用户权限")
@GetMapping("/menu") @GetMapping("/menu")
public ResponseMessage<List<SarMenu>> getMenu(@RequestParam("userId") String userId){ public ResponseMessage<List<SarMenu>> getMenu(){
List<SarMenu> menus=tsUserService.getMenu(userId); List<SarMenu> menus=tsUserService.getMenu();
return Result.success(menus); return Result.success(menus);
} }
@@ -48,7 +48,7 @@ public interface ITsUserService extends IService<TsUser> {
* 查询当前登录的用户权限 * 查询当前登录的用户权限
* @return List<SarMenu> * @return List<SarMenu>
*/ */
List<SarMenu> getMenu(String userId); List<SarMenu> getMenu();
List<TsResource> getResource(TsResource tsResource); List<TsResource> getResource(TsResource tsResource);
@@ -149,9 +149,9 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
* @return List<SarMenu> * @return List<SarMenu>
*/ */
@Override @Override
public List<SarMenu> getMenu(String userId) { public List<SarMenu> getMenu() {
/* UserEO userEO=UserUtils.getUser(); UserEO userEO=UserUtils.getUser();
String userId= userEO.getUsid();*/ String userId= userEO.getUsid();
List<String> positionIds=tsUserDao.selectPositionIds(userId); List<String> positionIds=tsUserDao.selectPositionIds(userId);
/** /**
* 当用户没有所属岗位,默认给一个other岗位,适用于特定权限外的其他用户 * 当用户没有所属岗位,默认给一个other岗位,适用于特定权限外的其他用户
@@ -50,7 +50,10 @@
on u.usid=up.user_id on u.usid=up.user_id
left join ts_position p left join ts_position p
on up.position_id=p.id on up.position_id=p.id
where u.institution_id=#{TsUser.institutionId} where 1=1
<if test="TsUser.institutionId != null and TsUser.institutionId != '' ">
and u.institution_id=#{TsUser.institutionId}
</if>
<if test="TsUser.uname != null and TsUser.uname != '' "> <if test="TsUser.uname != null and TsUser.uname != '' ">
and u.uname like concat('%',#{TsUser.uname},'%') and u.uname like concat('%',#{TsUser.uname},'%')
</if> </if>
@@ -106,6 +106,8 @@ public interface UserEODao extends BaseMapper<UserEO> {
*/ */
UserEO selectOrgByPrimaryKey(String usid); UserEO selectOrgByPrimaryKey(String usid);
List<UserEO> getUser(String usid);
Integer selectOrgCountByPrimaryKey(String usid); Integer selectOrgCountByPrimaryKey(String usid);
UserEO selectRoleMessageByPrimaryKey(String usid); UserEO selectRoleMessageByPrimaryKey(String usid);
@@ -71,6 +71,8 @@ public interface IUserEOService extends IService<UserEO> {
public UserEO getOrgIdByUserId(String userId); public UserEO getOrgIdByUserId(String userId);
public List<UserEO> getUser(String userId);
public UserEO getUserByLoginNameNotDeleted(String userName); public UserEO getUserByLoginNameNotDeleted(String userName);
@@ -428,6 +428,11 @@ public class UserEOServiceImpl extends ServiceImpl<UserEODao, UserEO> implements
return this.baseMapper.get(userId); return this.baseMapper.get(userId);
} }
@Transactional(readOnly = true, rollbackFor = Exception.class)
public List<UserEO> getUser(String usid){
return this.baseMapper.getUser(usid);
}
/** /**
* @Author liwenxuan * @Author liwenxuan
@@ -397,6 +397,13 @@
AND usid !=#{usid} AND usid !=#{usid}
</if> </if>
</select> </select>
<select id="getUser" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from TS_USER
where valid_flag=0 AND usid =#{usid}
</select>
<!-- 根据用户ID获取用户信息及角色、组织机构信息 --> <!-- 根据用户ID获取用户信息及角色、组织机构信息 -->
<select id="getUserWithRoles" resultMap="UserRoleMap" parameterType="java.lang.String"> <select id="getUserWithRoles" resultMap="UserRoleMap" parameterType="java.lang.String">
select select