lyhzzz 1 week ago
parent
commit
f334d355fa

+ 4 - 1
src/main/java/com/fdkankan/fusion/aop/PushJmAspect.java

@@ -12,6 +12,7 @@ import com.fdkankan.fusion.down.CaseDownService;
 import com.fdkankan.fusion.entity.CaseEntity;
 import com.fdkankan.fusion.entity.CaseEntity;
 import com.fdkankan.fusion.entity.JyUser;
 import com.fdkankan.fusion.entity.JyUser;
 import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.exception.BusinessException;
+import com.fdkankan.fusion.httpClient.FdService;
 import com.fdkankan.fusion.httpClient.client.OtherClient;
 import com.fdkankan.fusion.httpClient.client.OtherClient;
 import com.fdkankan.fusion.mq.vo.JmGaEventVo;
 import com.fdkankan.fusion.mq.vo.JmGaEventVo;
 import com.fdkankan.fusion.service.ICaseService;
 import com.fdkankan.fusion.service.ICaseService;
@@ -57,6 +58,8 @@ public class PushJmAspect {
 	ICaseService caseService;
 	ICaseService caseService;
 	@Autowired
 	@Autowired
 	IJyUserService jyUserService;
 	IJyUserService jyUserService;
+	@Autowired
+	FdService fdService;
 
 
 	@Pointcut("@annotation(com.fdkankan.fusion.aop.PushJm)")
 	@Pointcut("@annotation(com.fdkankan.fusion.aop.PushJm)")
 	public void servicePush() {
 	public void servicePush() {
@@ -110,7 +113,7 @@ public class PushJmAspect {
 			String ryid = (String) StpUtil.getExtra("ryId");
 			String ryid = (String) StpUtil.getExtra("ryId");
 			String userName = (String) StpUtil.getExtra("userName");
 			String userName = (String) StpUtil.getExtra("userName");
 			String nickName = (String) StpUtil.getExtra("nickName");
 			String nickName = (String) StpUtil.getExtra("nickName");
-			Integer platform_id = (Integer) StpUtil.getExtra("platformId");
+			Integer platform_id = fdService.getLoginPlatformId();
 			vo.setRyid(ryid);
 			vo.setRyid(ryid);
 			vo.setNick_name(nickName);
 			vo.setNick_name(nickName);
 			vo.setRyno(userName);
 			vo.setRyno(userName);

+ 10 - 5
src/main/java/com/fdkankan/fusion/controller/BaseController.java

@@ -45,15 +45,20 @@ public class BaseController {
     }
     }
 
 
     protected Integer getPlatformId(){
     protected Integer getPlatformId(){
-        JWT jwt = JWTUtil.parseToken(getToken());
-        Object platformId = jwt.getPayload("platformId");
-        return Integer.valueOf(platformId.toString());
+        try {
+            JWT jwt = JWTUtil.parseToken(getToken());
+            Object platformId = jwt.getPayload("platformId");
+            return Integer.valueOf(platformId.toString());
+        }catch (Exception e){
+
+        }
+      return null;
     }
     }
 
 
-    protected Integer getSysUserId(){
+    protected Long getSysUserId(){
         JWT jwt = JWTUtil.parseToken(getToken());
         JWT jwt = JWTUtil.parseToken(getToken());
         Object sysUserId = jwt.getPayload("id");
         Object sysUserId = jwt.getPayload("id");
-        return Integer.valueOf(sysUserId.toString());
+        return Long.valueOf(sysUserId.toString());
     }
     }
     protected String getDeptId(){
     protected String getDeptId(){
         return "";
         return "";

+ 0 - 2
src/main/java/com/fdkankan/fusion/entity/CaseEntity.java

@@ -136,6 +136,4 @@ public class CaseEntity implements Serializable {
     @TableField("sys_user_id")
     @TableField("sys_user_id")
     private Long sysUserId;
     private Long sysUserId;
 
 
-    @TableField("platform_id")
-    private Integer platformId;
 }
 }

+ 1 - 1
src/main/java/com/fdkankan/fusion/entity/CaseOverview.java

@@ -81,7 +81,7 @@ public class CaseOverview implements Serializable {
     private Integer subGroup;
     private Integer subGroup;
 
 
     @TableField("sys_user_id")
     @TableField("sys_user_id")
-    private Integer sysUserId;
+    private Long sysUserId;
 
 
     @TableField("platform_id")
     @TableField("platform_id")
     private Integer platformId;
     private Integer platformId;

+ 1 - 1
src/main/java/com/fdkankan/fusion/entity/CaseTabulation.java

@@ -88,7 +88,7 @@ public class CaseTabulation implements Serializable {
     private String listCover;
     private String listCover;
 
 
     @TableField("sys_user_id")
     @TableField("sys_user_id")
-    private Integer sysUserId;
+    private Long sysUserId;
 
 
     @TableField("platform_id")
     @TableField("platform_id")
     private Integer platformId;
     private Integer platformId;

+ 39 - 12
src/main/java/com/fdkankan/fusion/httpClient/FdService.java

@@ -9,6 +9,7 @@ import com.fdkankan.fusion.common.util.DateUtils;
 import com.fdkankan.fusion.common.util.RedisKeyUtil;
 import com.fdkankan.fusion.common.util.RedisKeyUtil;
 import com.fdkankan.fusion.entity.CaseEntity;
 import com.fdkankan.fusion.entity.CaseEntity;
 import com.fdkankan.fusion.entity.CaseFusion;
 import com.fdkankan.fusion.entity.CaseFusion;
+import com.fdkankan.fusion.entity.JyUser;
 import com.fdkankan.fusion.entity.TmCamera;
 import com.fdkankan.fusion.entity.TmCamera;
 import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.httpClient.client.FdKKClient;
 import com.fdkankan.fusion.httpClient.client.FdKKClient;
@@ -25,11 +26,13 @@ import com.fdkankan.fusion.response.CameraVo;
 import com.fdkankan.fusion.response.FusionAndSceneVo;
 import com.fdkankan.fusion.response.FusionAndSceneVo;
 import com.fdkankan.fusion.service.ICaseFusionService;
 import com.fdkankan.fusion.service.ICaseFusionService;
 import com.fdkankan.fusion.service.ICaseService;
 import com.fdkankan.fusion.service.ICaseService;
+import com.fdkankan.fusion.service.IJyUserService;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.redis.util.RedisUtil;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import scala.Int;
 
 
 import java.util.*;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
@@ -158,6 +161,8 @@ public class FdService {
     ICaseService caseService;
     ICaseService caseService;
     @Autowired
     @Autowired
     ICaseFusionService caseFusionService;
     ICaseFusionService caseFusionService;
+    @Autowired
+    IJyUserService jyUserService;
 
 
     public  void checkCaseAuth(String caseId,String fusionId,String pageType,String token) {
     public  void checkCaseAuth(String caseId,String fusionId,String pageType,String token) {
         if(StringUtils.isBlank(pageType)  || StringUtils.isBlank(token)
         if(StringUtils.isBlank(pageType)  || StringUtils.isBlank(token)
@@ -176,18 +181,9 @@ public class FdService {
             source = caseId;
             source = caseId;
             sourceType = "case";
             sourceType = "case";
 
 
-            if(Long.valueOf(StpUtil.getLoginId().toString()).equals(caseEntity.getSysUserId())){
-                return;
-            }
-            Integer platform_id = (Integer) StpUtil.getExtra("platformId");
-
-            String roleType =  (String) StpUtil.getExtra("roleType");
-            if("super-admin".equals(roleType)){
-                return;
-            }
-            if(roleType.contains("admin") && caseEntity.getPlatformId().equals(platform_id)){
-                return;
-            }
+           if(this.cheUserAuth(caseEntity.getSysUserId())){
+               return;
+           }
 
 
         }
         }
         if(StringUtils.isNotBlank(fusionId)){
         if(StringUtils.isNotBlank(fusionId)){
@@ -237,6 +233,16 @@ public class FdService {
         }
         }
     }
     }
 
 
+    public Integer getLoginPlatformId(){
+        try {
+           return (Integer) StpUtil.getExtra("platformId");
+
+        }catch (Exception e){
+            log.info("getLoginPlatformId-error:{}",e);
+        }
+        return null;
+    }
+
     public void getAuth(FusionAndSceneVo vo , String source, String sourceType, String token) {
     public void getAuth(FusionAndSceneVo vo , String source, String sourceType, String token) {
         JSONObject jsonObject = fdKKClient.checkCaseAuth(source,sourceType,token);
         JSONObject jsonObject = fdKKClient.checkCaseAuth(source,sourceType,token);
         Integer code = jsonObject.getInteger("code");
         Integer code = jsonObject.getInteger("code");
@@ -248,4 +254,25 @@ public class FdService {
         vo.setViewAuth(data.getBoolean("viewAuth"));
         vo.setViewAuth(data.getBoolean("viewAuth"));
         vo.setEditAuth( data.getBoolean("editAuth"));
         vo.setEditAuth( data.getBoolean("editAuth"));
     }
     }
+
+    public Boolean cheUserAuth(Long sysUserId ){
+        if(Long.valueOf(StpUtil.getLoginId().toString()).equals(sysUserId)){
+            return true;
+        }
+        JyUser jyUser = jyUserService.getBySysId(sysUserId);
+        if(jyUser == null){
+            throw new BusinessException(ResultCode.USERNAME_ERROR);
+        }
+        String roleType =  (String) StpUtil.getExtra("roleType");
+        if("super-admin".equals(roleType)){
+            return true;
+        }
+        Integer platform_id = getLoginPlatformId();
+
+        if(roleType.contains("admin") && jyUser.getPlatformId() != null && platform_id !=null
+                &&  jyUser.getPlatformId().equals(platform_id)){
+            return true;
+        }
+        return false;
+    }
 }
 }

+ 4 - 2
src/main/java/com/fdkankan/fusion/mq/consumer/CaseAddSceneConsumer.java

@@ -127,8 +127,10 @@ public class CaseAddSceneConsumer {
     private List<Integer> getTypeBySceneSource(Integer sceneSource,String three) {
     private List<Integer> getTypeBySceneSource(Integer sceneSource,String three) {
         switch (sceneSource){
         switch (sceneSource){
             case 3 : return  Arrays.asList(1);
             case 3 : return  Arrays.asList(1);
-            case 4 : return  Arrays.asList(2,4);
-            case 5 : return  Arrays.asList(5,6);
+            //case 4 : return  Arrays.asList(2,4);
+            //case 5 : return  Arrays.asList(5,6);
+            case 4 : return  Arrays.asList(4);
+            case 5 : return  Arrays.asList(6);
             default:
             default:
                 if(StringUtils.isNotBlank(three) && "yzl".equals(three)){
                 if(StringUtils.isNotBlank(three) && "yzl".equals(three)){
                     return Arrays.asList(7);
                     return Arrays.asList(7);

+ 1 - 1
src/main/java/com/fdkankan/fusion/service/ICaseOverviewService.java

@@ -27,7 +27,7 @@ public interface ICaseOverviewService extends IService<CaseOverview> {
 
 
     void toMeshEdit(String num, Integer subGroup, String listCover);
     void toMeshEdit(String num, Integer subGroup, String listCover);
 
 
-    Long getNo(Integer sysUserId);
+    Long getNo(Long sysUserId);
 
 
     void updateListCoverById(Integer overviewId, String listCover);
     void updateListCoverById(Integer overviewId, String listCover);
 
 

+ 1 - 1
src/main/java/com/fdkankan/fusion/service/ICaseTabulationService.java

@@ -24,7 +24,7 @@ public interface ICaseTabulationService extends IService<CaseTabulation> {
 
 
     void updateTitleById(Integer tabulationId, String filesTitle);
     void updateTitleById(Integer tabulationId, String filesTitle);
 
 
-    Long getNo(Integer sysUserId);
+    Long getNo(Long sysUserId);
 
 
     void updateCaseByOverIds(List<Integer> overviewIds, Integer caseId);
     void updateCaseByOverIds(List<Integer> overviewIds, Integer caseId);
 
 

+ 3 - 12
src/main/java/com/fdkankan/fusion/service/impl/CaseOverviewServiceImpl.java

@@ -96,7 +96,7 @@ public class CaseOverviewServiceImpl extends ServiceImpl<ICaseOverviewMapper, Ca
     }
     }
 
 
     @Override
     @Override
-    public Long getNo(Integer sysUserId) {
+    public Long getNo(Long sysUserId) {
         LambdaUpdateWrapper<CaseOverview> wrapper = new LambdaUpdateWrapper<>();
         LambdaUpdateWrapper<CaseOverview> wrapper = new LambdaUpdateWrapper<>();
         wrapper.eq(CaseOverview::getSysUserId,sysUserId);
         wrapper.eq(CaseOverview::getSysUserId,sysUserId);
         return this.count(wrapper);
         return this.count(wrapper);
@@ -191,21 +191,12 @@ public class CaseOverviewServiceImpl extends ServiceImpl<ICaseOverviewMapper, Ca
                 caseIds.add(caseTabulation.getCaseId());
                 caseIds.add(caseTabulation.getCaseId());
             }
             }
         }
         }
-        Integer sysUserId = caseOverview != null ? caseOverview.getSysUserId() : caseTabulation.getSysUserId();
-        Integer platformId = caseOverview != null ? caseOverview.getPlatformId() : caseTabulation.getPlatformId();
+        Long sysUserId = caseOverview != null ? caseOverview.getSysUserId() : caseTabulation.getSysUserId();
 
 
-        if(Integer.valueOf(StpUtil.getLoginId().toString()).equals(sysUserId)){
+        if(fdService.cheUserAuth(sysUserId)){
             return;
             return;
         }
         }
-        Integer platform_id = (Integer) StpUtil.getExtra("platformId");
 
 
-        String roleType =  (String) StpUtil.getExtra("roleType");
-        if("super-admin".equals(roleType)){
-            return;
-        }
-        if(roleType.contains("admin") && platformId.equals(platform_id)){
-            return;
-        }
         if(!caseIds.isEmpty()){
         if(!caseIds.isEmpty()){
             Boolean flag = false;
             Boolean flag = false;
             for (Integer caseId : caseIds) {
             for (Integer caseId : caseIds) {

+ 11 - 3
src/main/java/com/fdkankan/fusion/service/impl/CaseServiceImpl.java

@@ -13,6 +13,7 @@ import com.fdkankan.fusion.common.util.NumTypeUtils;
 import com.fdkankan.fusion.entity.*;
 import com.fdkankan.fusion.entity.*;
 import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.common.PageInfo;
 import com.fdkankan.fusion.common.PageInfo;
+import com.fdkankan.fusion.httpClient.FdService;
 import com.fdkankan.fusion.httpClient.client.FdKKClient;
 import com.fdkankan.fusion.httpClient.client.FdKKClient;
 import com.fdkankan.fusion.mapper.ICaseMapper;
 import com.fdkankan.fusion.mapper.ICaseMapper;
 import com.fdkankan.fusion.request.CaseParam;
 import com.fdkankan.fusion.request.CaseParam;
@@ -193,6 +194,10 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, CaseEntity> implem
         }
         }
         return deptId;
         return deptId;
     }
     }
+    @Autowired
+    FdService fdService;
+    @Autowired
+    IJyUserService jyUserService;
 
 
     @Override
     @Override
     public CaseVo getInfo(Integer caseId) {
     public CaseVo getInfo(Integer caseId) {
@@ -221,8 +226,11 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, CaseEntity> implem
             caseVo.setEditAuth(true);
             caseVo.setEditAuth(true);
             return caseVo;
             return caseVo;
         }
         }
-        Integer platform_id = (Integer) StpUtil.getExtra("platformId");
-
+        Integer platform_id = fdService.getLoginPlatformId();
+        JyUser jyUser = jyUserService.getBySysId(caseVo.getSysUserId());
+        if(jyUser == null){
+            throw new BusinessException(ResultCode.USERNAME_ERROR);
+        }
         String roleType =  (String) StpUtil.getExtra("roleType");
         String roleType =  (String) StpUtil.getExtra("roleType");
         if("super-admin".equals(roleType)){
         if("super-admin".equals(roleType)){
             caseVo.setViewAuth(true);
             caseVo.setViewAuth(true);
@@ -230,7 +238,7 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, CaseEntity> implem
             caseVo.setIsAuthor(true);
             caseVo.setIsAuthor(true);
             return caseVo;
             return caseVo;
         }
         }
-        if(roleType.contains("admin") && caseVo.getPlatformId().equals(platform_id)){
+        if(roleType.contains("admin") &&jyUser.getPlatformId() != null &&  platform_id != null && jyUser.getPlatformId().equals(platform_id)){
             caseVo.setViewAuth(true);
             caseVo.setViewAuth(true);
             caseVo.setEditAuth(true);
             caseVo.setEditAuth(true);
             caseVo.setIsAuthor(true);
             caseVo.setIsAuthor(true);

+ 1 - 1
src/main/java/com/fdkankan/fusion/service/impl/CaseTabulationServiceImpl.java

@@ -101,7 +101,7 @@ public class CaseTabulationServiceImpl extends ServiceImpl<ICaseTabulationMapper
     }
     }
 
 
     @Override
     @Override
-    public Long getNo(Integer sysUserId) {
+    public Long getNo(Long sysUserId) {
         LambdaUpdateWrapper<CaseTabulation> wrapper = new LambdaUpdateWrapper<>();
         LambdaUpdateWrapper<CaseTabulation> wrapper = new LambdaUpdateWrapper<>();
         wrapper.eq(CaseTabulation::getSysUserId,sysUserId);
         wrapper.eq(CaseTabulation::getSysUserId,sysUserId);
         return this.count(wrapper);
         return this.count(wrapper);