|
@@ -9,6 +9,7 @@ import com.fdkankan.fusion.common.util.DateUtils;
|
|
|
import com.fdkankan.fusion.common.util.RedisKeyUtil;
|
|
|
import com.fdkankan.fusion.entity.CaseEntity;
|
|
|
import com.fdkankan.fusion.entity.CaseFusion;
|
|
|
+import com.fdkankan.fusion.entity.JyUser;
|
|
|
import com.fdkankan.fusion.entity.TmCamera;
|
|
|
import com.fdkankan.fusion.exception.BusinessException;
|
|
|
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.service.ICaseFusionService;
|
|
|
import com.fdkankan.fusion.service.ICaseService;
|
|
|
+import com.fdkankan.fusion.service.IJyUserService;
|
|
|
import com.fdkankan.redis.util.RedisUtil;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import scala.Int;
|
|
|
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -158,6 +161,8 @@ public class FdService {
|
|
|
ICaseService caseService;
|
|
|
@Autowired
|
|
|
ICaseFusionService caseFusionService;
|
|
|
+ @Autowired
|
|
|
+ IJyUserService jyUserService;
|
|
|
|
|
|
public void checkCaseAuth(String caseId,String fusionId,String pageType,String token) {
|
|
|
if(StringUtils.isBlank(pageType) || StringUtils.isBlank(token)
|
|
@@ -176,18 +181,9 @@ public class FdService {
|
|
|
source = caseId;
|
|
|
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)){
|
|
@@ -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) {
|
|
|
JSONObject jsonObject = fdKKClient.checkCaseAuth(source,sourceType,token);
|
|
|
Integer code = jsonObject.getInteger("code");
|
|
@@ -248,4 +254,25 @@ public class FdService {
|
|
|
vo.setViewAuth(data.getBoolean("viewAuth"));
|
|
|
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;
|
|
|
+ }
|
|
|
}
|