Răsfoiți Sursa

调整数据

gaoxiong 11 luni în urmă
părinte
comite
d775735a17

+ 9 - 0
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/vo/SysOrgVO.java

@@ -33,6 +33,15 @@ public class SysOrgVO {
     private String shortName;
     private String treeShowPath;
     private String guid;
+    /**
+     * 地区
+     */
+    private String affiliatedArea;
+    /**
+     * 行社
+     */
+    private String affiliatedBank;
+
     private Integer sort;
     @JsonSerialize(using = ToStringSerializer.class)
     private Long treeShowParentId;

+ 21 - 34
soc-gateway/src/main/java/com/xunmei/gateway/filter/AuthFilter.java

@@ -30,8 +30,7 @@ import java.util.List;
  * @author xunmei
  */
 @Component
-public class AuthFilter implements GlobalFilter, Ordered
-{
+public class AuthFilter implements GlobalFilter, Ordered {
     private static final Logger log = LoggerFactory.getLogger(AuthFilter.class);
 
     // 排除过滤的 uri 地址,nacos自行添加
@@ -39,40 +38,35 @@ public class AuthFilter implements GlobalFilter, Ordered
     private IgnoreWhiteProperties ignoreWhite;
 
 
-
     @Override
-    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain)
-    {
+    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
         ServerHttpRequest request = exchange.getRequest();
         ServerHttpRequest.Builder mutate = request.mutate();
 
         String url = request.getURI().getPath();
         // 跳过不需要验证的路径
-        if (StringUtils.matches(url, ignoreWhite.getWhites()))
-        {
+        if (StringUtils.matches(url, ignoreWhite.getWhites())) {
             return chain.filter(exchange);
         }
         String token = getToken(request);
-        if (StringUtils.isEmpty(token))
-        {
+        if (StringUtils.isEmpty(token)) {
             return unauthorizedResponse(exchange, "令牌不能为空");
         }
         Claims claims = JwtUtils.parseToken(token);
-        if (claims == null)
-        {
+        if (claims == null) {
             return unauthorizedResponse(exchange, "令牌已过期或验证不正确!");
         }
         String userkey = JwtUtils.getUserKey(claims);
-        boolean islogin = RedisUtils.hasKey(getTokenKey(userkey));
+        String userId = JwtUtils.getUserId(claims);
+        String platformType = JwtUtils.getPlatformType(token);
+        boolean islogin = RedisUtils.hasKey(getTokenKey(userkey,userId,platformType));
         //boolean islogin = redisService.hasKey(getTokenKey(userkey));
-        if (!islogin)
-        {
+        if (!islogin) {
             return unauthorizedResponse(exchange, "登录状态已过期");
         }
         String userid = JwtUtils.getUserId(claims);
         String username = JwtUtils.getUserName(claims);
-        if (StringUtils.isEmpty(userid) || StringUtils.isEmpty(username))
-        {
+        if (StringUtils.isEmpty(userid) || StringUtils.isEmpty(username)) {
             return unauthorizedResponse(exchange, "令牌验证失败");
         }
 
@@ -91,10 +85,8 @@ public class AuthFilter implements GlobalFilter, Ordered
         return chain.filter(exchange.mutate().request(mutate.build()).build());
     }
 
-    private void addHeader(ServerHttpRequest.Builder mutate, String name, Object value)
-    {
-        if (value == null)
-        {
+    private void addHeader(ServerHttpRequest.Builder mutate, String name, Object value) {
+        if (value == null) {
             return;
         }
         String valueStr = value.toString();
@@ -102,13 +94,11 @@ public class AuthFilter implements GlobalFilter, Ordered
         mutate.header(name, valueEncode);
     }
 
-    private void removeHeader(ServerHttpRequest.Builder mutate, String name)
-    {
+    private void removeHeader(ServerHttpRequest.Builder mutate, String name) {
         mutate.headers(httpHeaders -> httpHeaders.remove(name)).build();
     }
 
-    private Mono<Void> unauthorizedResponse(ServerWebExchange exchange, String msg)
-    {
+    private Mono<Void> unauthorizedResponse(ServerWebExchange exchange, String msg) {
         log.error("[鉴权异常处理]请求路径:{}", exchange.getRequest().getPath());
         return ServletUtils.webFluxResponseWriter(exchange.getResponse(), msg, HttpStatus.UNAUTHORIZED);
     }
@@ -116,35 +106,32 @@ public class AuthFilter implements GlobalFilter, Ordered
     /**
      * 获取缓存key
      */
-    private String getTokenKey(String token)
-    {
-        return CacheConstants.LOGIN_TOKEN_KEY + token;
+    private String getTokenKey(String token, String userId, String platformType) {
+        return CacheConstants.LOGIN_TOKEN_KEY + userId + ":" + platformType + ":" + token;
     }
 
+
     /**
      * 获取请求token
      */
-    private String getToken(ServerHttpRequest request)
-    {
+    private String getToken(ServerHttpRequest request) {
         String token = request.getHeaders().getFirst(TokenConstants.AUTHENTICATION);
 
-        if(StringUtils.isEmpty(token)){
+        if (StringUtils.isEmpty(token)) {
             MultiValueMap<String, String> queryParams = request.getQueryParams();
             List<String> values = queryParams.get(TokenConstants.AUTHENTICATION);
             token = values != null && !values.isEmpty() ? values.get(0) : null;
         }
 
         // 如果前端设置了令牌前缀,则裁剪掉前缀
-        if (StringUtils.isNotEmpty(token) && token.startsWith(TokenConstants.PREFIX))
-        {
+        if (StringUtils.isNotEmpty(token) && token.startsWith(TokenConstants.PREFIX)) {
             token = token.replaceFirst(TokenConstants.PREFIX, StringUtils.EMPTY);
         }
         return token;
     }
 
     @Override
-    public int getOrder()
-    {
+    public int getOrder() {
         return -200;
     }
 }

+ 46 - 44
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/panel/service/impl/PanelServiceImpl.java

@@ -101,18 +101,28 @@ public class PanelServiceImpl implements PanelService {
     @Override
     public List<PanelResultVo> selectPage() throws ExecutionException, InterruptedException, TimeoutException {
         Long userId = SecurityUtils.getUserId();
-        Long orgId =SecurityUtils.getLoginUser().getOrgId();
-        return getListByUserId(userId,orgId);
+        Long orgId = SecurityUtils.getLoginUser().getOrgId();
+        return getListByUserId(userId, orgId);
     }
 
-    private List<PanelResultVo> getListByUserId(Long userId,Long orgId) throws ExecutionException, InterruptedException, TimeoutException
-    {
-        List<Long> roles = RemoteCallHandlerExecutor.executeRemoteCall(
+    private List<PanelResultVo> getListByUserId(Long userId, Long orgId) throws ExecutionException, InterruptedException, TimeoutException {
+        /*List<Long> roles = RemoteCallHandlerExecutor.executeRemoteCall(
                 () -> roleService.getUserRoleId(userId, SecurityConstants.FROM_SOURCE),
-                ErrorMsgConstants.QUERY_USER_ROLE_ERROR);
+                ErrorMsgConstants.QUERY_USER_ROLE_ERROR);*/
+        List<Long> roleIds = null;
+        if (ObjectUtil.equal(SecurityUtils.getUserId(), userId)) {
+            Set<String> roles = SecurityUtils.getLoginUser().getRoles();
+            //获取roles id 集合
+            roleIds = roles.stream().map(Long::valueOf).collect(Collectors.toList());
+        } else {
+            roleIds = RemoteCallHandlerExecutor.executeRemoteCall(
+                    () -> roleService.getUserRoleId(userId, SecurityConstants.FROM_SOURCE),
+                    ErrorMsgConstants.QUERY_USER_ROLE_ERROR);
+        }
+
 
         PanelListDto panelListDto = PanelAdapter.getMapperSelectParam(orgId,
-                roles, userId);
+                roleIds, userId);
         if (ObjectUtil.isEmpty(panelListDto.getRoleIdList())) {
             return new ArrayList<>();
         }
@@ -146,13 +156,13 @@ public class PanelServiceImpl implements PanelService {
                 drillTaskService.selectCurUserTaskList(panelListDto), threadPoolTaskExecutor
         );
         //预案演练-推优评优任务
-        CompletableFuture<List<PanelListVo>> recLitFuture = CompletableFuture.supplyAsync(() ->{
-                PanelListDto tempReqest=new PanelListDto();
-                BeanUtils.copyProperties(panelListDto,tempReqest);
-                tempReqest.setStartTime(DateUtil.offsetMonth(DateUtil.beginOfQuarter(new Date()),-3));
-                tempReqest.setEndTime(DateUtil.endOfQuarter(new Date()));
-                return drillTaskService.selectRecList(tempReqest);
-            }, threadPoolTaskExecutor
+        CompletableFuture<List<PanelListVo>> recLitFuture = CompletableFuture.supplyAsync(() -> {
+                    PanelListDto tempReqest = new PanelListDto();
+                    BeanUtils.copyProperties(panelListDto, tempReqest);
+                    tempReqest.setStartTime(DateUtil.offsetMonth(DateUtil.beginOfQuarter(new Date()), -3));
+                    tempReqest.setEndTime(DateUtil.endOfQuarter(new Date()));
+                    return drillTaskService.selectRecList(tempReqest);
+                }, threadPoolTaskExecutor
         );
 
         //教育培训任务
@@ -196,26 +206,23 @@ public class PanelServiceImpl implements PanelService {
             List<PanelListVo> data = map.getValue();
             vo.setNums(data.size());
             vo.setTaskTypeText(PanelTypeEnums.getName(map.getKey()));
-            if(ObjectUtil.equal(map.getKey(),PanelTypeEnums.SAFETY_CHECK.getCode())){
-                if(data.size()>0)
-                {
+            if (ObjectUtil.equal(map.getKey(), PanelTypeEnums.SAFETY_CHECK.getCode())) {
+                if (data.size() > 0) {
                     Map<String, List<PanelListVo>> groupedItems = data.stream()
                             .collect(Collectors.groupingBy(PanelListVo::getTaskName));
-                    List<PanelListVo> tempData=new ArrayList<>();
+                    List<PanelListVo> tempData = new ArrayList<>();
 
                     for (Map.Entry<String, List<PanelListVo>> entry : groupedItems.entrySet()) {
-                        PanelListVo parentItem=new PanelListVo();
-                        BeanUtils.copyProperties(entry.getValue().get(0),parentItem);
+                        PanelListVo parentItem = new PanelListVo();
+                        BeanUtils.copyProperties(entry.getValue().get(0), parentItem);
                         parentItem.setUncompleted(entry.getValue());
                         tempData.add(parentItem);
                     }
                     vo.setDataList(tempData);
-                }
-                else {
+                } else {
                     vo.setDataList(data);
                 }
-            }
-            else {
+            } else {
 
                 vo.setDataList(data);
             }
@@ -227,16 +234,13 @@ public class PanelServiceImpl implements PanelService {
 
     @Override
     public List<UserUnDoVo> selectUserUnDoList(List<UserUnDoTaskRequestDto> userList) throws ExecutionException, InterruptedException, TimeoutException {
-        List<UserUnDoVo> result=new ArrayList<>();
-        if(ObjectUtil.isNotEmpty(userList))
-        {
-            userList.forEach(user->{
+        List<UserUnDoVo> result = new ArrayList<>();
+        if (ObjectUtil.isNotEmpty(userList)) {
+            userList.forEach(user -> {
                 try {
-                    UserUnDoVo tempVo= getUserUnDo(user.getUserId(),user.getOrgId());
+                    UserUnDoVo tempVo = getUserUnDo(user.getUserId(), user.getOrgId());
                     result.add(tempVo);
-                }
-                catch (Exception ex)
-                {
+                } catch (Exception ex) {
 
                 }
             });
@@ -244,14 +248,13 @@ public class PanelServiceImpl implements PanelService {
         return result;
     }
 
-    private UserUnDoVo getUserUnDo(Long userId,Long orgId) throws ExecutionException, InterruptedException, TimeoutException
-    {
-        UserUnDoVo vo =new UserUnDoVo();
-        List<PanelResultVo> unDoTaskList = getListByUserId(userId,orgId);
+    private UserUnDoVo getUserUnDo(Long userId, Long orgId) throws ExecutionException, InterruptedException, TimeoutException {
+        UserUnDoVo vo = new UserUnDoVo();
+        List<PanelResultVo> unDoTaskList = getListByUserId(userId, orgId);
         vo.setUserId(userId);
-        vo.setHaveUnDoTask(unDoTaskList.size()>0);
+        vo.setHaveUnDoTask(unDoTaskList.size() > 0);
 //        vo.setUnDoTaskList(unDoTaskList);
-        return  vo;
+        return vo;
     }
 
 
@@ -351,14 +354,13 @@ public class PanelServiceImpl implements PanelService {
         req.setOrgId(sysOrg.getId());
         final TableDataInfo tableDataInfo = materialsService.selectPage(req);
         final List<SysLearningMaterialsPageVo> rows = tableDataInfo.getRows();
-        List<SysLearningMaterialsPageVo> resultList=new ArrayList<>();
+        List<SysLearningMaterialsPageVo> resultList = new ArrayList<>();
         if (ObjectUtil.isEmpty(rows)) {
             hashMap.put("index2", new ArrayList<>());
         } else {
 //            List<String> fileLit = new ArrayList<>();
             for (SysLearningMaterialsPageVo vo : rows) {
-                if(vo.getIsOpen().equals(0))
-                {
+                if (vo.getIsOpen().equals(0)) {
                     continue;
                 }
                 final String json = vo.getFileList();
@@ -366,9 +368,9 @@ public class PanelServiceImpl implements PanelService {
                     continue;
                 }
                 List<FileObject> objects = new ArrayList<>();
-                List<String> lista =  com.alibaba.fastjson2.JSON.parseArray(json, String.class);
-                for(String str:lista){
-                    FileObject object = JSONObject.parseObject(str,FileObject.class);
+                List<String> lista = com.alibaba.fastjson2.JSON.parseArray(json, String.class);
+                for (String str : lista) {
+                    FileObject object = JSONObject.parseObject(str, FileObject.class);
                     objects.add(object);
                 }
                 vo.setFileObjectList(objects);

+ 2 - 7
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/question/service/impl/QuestionServiceImpl.java

@@ -47,6 +47,7 @@ import com.xunmei.system.api.RemoteOrgService;
 import com.xunmei.system.api.RemoteUserService;
 import com.xunmei.system.api.domain.SysOrg;
 import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
+import com.xunmei.system.api.vo.SysOrgVO;
 import io.netty.util.internal.StringUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.ss.usermodel.BorderStyle;
@@ -59,10 +60,7 @@ import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 
 import static org.apache.poi.ss.usermodel.BorderStyle.*;
@@ -473,9 +471,6 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
                     Question::getSubmitTime,
                     Question::getReformDeadline);
             List<Question> list = baseMapper.selectList(wrapper);
-
-
-
             List<PanelListVo> vos = list.stream().map(item -> {
                 PanelListVo vo = new PanelListVo();
                 vo.setId(item.getId());

+ 2 - 0
soc-modules/soc-modules-system/src/main/resources/mapper/system/SysOrgMapper.xml

@@ -653,6 +653,8 @@
                type,
                tree_show_parent_id,
                tree_show_path,
+               affiliated_bank,
+               affiliated_area,
                if(sort is null,0,sort) as sort
         FROM sys_org
         WHERE deleted = 0