|
@@ -101,8 +101,6 @@ public class SceneEditServiceImpl implements ISceneEditService {
|
|
public SceneAuthVO getAuth(String num, SSOUser ssoUser){
|
|
public SceneAuthVO getAuth(String num, SSOUser ssoUser){
|
|
|
|
|
|
// 解密获得username,用于和数据库进行对比
|
|
// 解密获得username,用于和数据库进行对比
|
|
- String username = ssoUser.getUserName();
|
|
|
|
-
|
|
|
|
ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
|
|
ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
|
|
if(Objects.isNull(scenePlus)){
|
|
if(Objects.isNull(scenePlus)){
|
|
throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
|
|
throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
|
|
@@ -111,15 +109,8 @@ public class SceneEditServiceImpl implements ISceneEditService {
|
|
|
|
|
|
SceneAuthVO sceneAuthVO = new SceneAuthVO();
|
|
SceneAuthVO sceneAuthVO = new SceneAuthVO();
|
|
|
|
|
|
- List<SceneResource> exclude = new ArrayList<>();
|
|
|
|
- SceneResource excludeEntity = new SceneResource();
|
|
|
|
- excludeEntity.setKeyWord("data");
|
|
|
|
- exclude.add(excludeEntity);
|
|
|
|
-
|
|
|
|
- Camera camera = cameraService.findByChildName(username);
|
|
|
|
- sceneAuthVO.setExclude(exclude);
|
|
|
|
|
|
+ sceneAuthVO.setExclude(new ArrayList<>());
|
|
sceneAuthVO.setInclude(new ArrayList<>());
|
|
sceneAuthVO.setInclude(new ArrayList<>());
|
|
- sceneAuthVO.setCompany(null);
|
|
|
|
|
|
|
|
//判断本地资源是否已本删除,如果已删除,前端根据字段值为true提示用户不能使用某些功能,需要重算
|
|
//判断本地资源是否已本删除,如果已删除,前端根据字段值为true提示用户不能使用某些功能,需要重算
|
|
Date algorithmTime = scenePlusExt.getAlgorithmTime() == null ? scenePlus.getCreateTime() : scenePlusExt.getAlgorithmTime();
|
|
Date algorithmTime = scenePlusExt.getAlgorithmTime() == null ? scenePlus.getCreateTime() : scenePlusExt.getAlgorithmTime();
|
|
@@ -131,103 +122,9 @@ public class SceneEditServiceImpl implements ISceneEditService {
|
|
boolean isVip = false;
|
|
boolean isVip = false;
|
|
//获取该相机是否有权益
|
|
//获取该相机是否有权益
|
|
boolean isExpired = false;
|
|
boolean isExpired = false;
|
|
- Camera sceneCamera = cameraService.getById(scenePlus.getCameraId());
|
|
|
|
- if(sceneCamera != null){
|
|
|
|
- UserIncrement userIncrementEntity = userIncrementService.findByCameraId(sceneCamera.getId());
|
|
|
|
-
|
|
|
|
- if(userIncrementEntity != null){
|
|
|
|
- if( userIncrementEntity.getIsExpired().intValue() == 0){
|
|
|
|
- isVip = true;
|
|
|
|
- }
|
|
|
|
- if(userIncrementEntity.getIsExpired().intValue() == 1){
|
|
|
|
- isExpired = true;
|
|
|
|
- }
|
|
|
|
- }else{
|
|
|
|
- try {
|
|
|
|
- Date date = DateUtil.parse("2021-09-09 00:00:00", DateExtUtil.dateStyle);
|
|
|
|
-
|
|
|
|
- //非07批次的放开
|
|
|
|
- String pc = sceneCamera.getSnCode().substring(0,2);
|
|
|
|
- if(!pc.equals("07") ){
|
|
|
|
- if(sceneCamera.getCreateTime()!=null && date.after(sceneCamera.getCreateTime())){
|
|
|
|
- isVip = true;
|
|
|
|
- isExpired = false;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }catch (Exception e){
|
|
|
|
- e.printStackTrace();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
sceneAuthVO.setIsExpired(isExpired);
|
|
sceneAuthVO.setIsExpired(isExpired);
|
|
sceneAuthVO.setIsVip(isVip);
|
|
sceneAuthVO.setIsVip(isVip);
|
|
|
|
|
|
- //判断过期时间
|
|
|
|
- Date date = DateUtil.parse(expectedTime, DateExtUtil.dateStyle);
|
|
|
|
-
|
|
|
|
- if(camera != null){
|
|
|
|
- if(!scenePlus.getCameraId().equals(camera.getId())){
|
|
|
|
- throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- CameraDetail cameraDetailEntity = cameraDetailService.findByCameraId(camera.getId());
|
|
|
|
- if(cameraDetailEntity.getCompanyId() != null){
|
|
|
|
- if(cameraDetailEntity.getCompanyId().longValue() == 1 || cameraDetailEntity.getCompanyId().longValue() == 14){
|
|
|
|
- sceneAuthVO.setExclude(new ArrayList<>());
|
|
|
|
- sceneAuthVO.setCompany(cameraDetailEntity.getCompanyId());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- return sceneAuthVO;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- User user = userService.findByUserName(username);
|
|
|
|
- if("18750226207".equals(username)){
|
|
|
|
- log.info("18750226207该账号默认超级管理员,可以操作所有场景");
|
|
|
|
- }
|
|
|
|
- else if(user == null || scenePlus.getUserId() == null || user.getId().longValue() != scenePlus.getUserId().longValue()){
|
|
|
|
- log.info("user:" + user.getId() + ",scene:" + scenePlus.getUserId());
|
|
|
|
-
|
|
|
|
- List<SceneCooperation> list =
|
|
|
|
- sceneCooperationService.list(
|
|
|
|
- new LambdaQueryWrapper<SceneCooperation>()
|
|
|
|
- .eq(SceneCooperation::getSceneNum, num));
|
|
|
|
- if(list != null && list.size() > 0){
|
|
|
|
- if(list.get(0).getUserId().longValue() != user.getId().longValue()){
|
|
|
|
- throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
|
|
|
|
- }
|
|
|
|
- }else {
|
|
|
|
- throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if(scenePlus.getCameraId() != null){
|
|
|
|
- camera = cameraService.getById(scenePlus.getCameraId());
|
|
|
|
- if(camera != null){
|
|
|
|
- CameraDetail cameraDetail = cameraDetailService.findByCameraId(camera.getId());
|
|
|
|
- if(cameraDetail.getCompanyId() != null){
|
|
|
|
- if(cameraDetail.getCompanyId().longValue() == 1 || cameraDetail.getCompanyId().longValue() == 14){
|
|
|
|
- sceneAuthVO.setExclude(new ArrayList<>());
|
|
|
|
- sceneAuthVO.setCompany(cameraDetail.getCompanyId());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //权限控制完后判断若是协作账号,获取协作权限
|
|
|
|
- SceneCooperation sceneCooperation = sceneCooperationService.getByNum(num);
|
|
|
|
- //若数据为空表示可操作全部资源
|
|
|
|
- if(sceneCooperation == null || sceneCooperation.getUserId().longValue() != ssoUser.getId().longValue()){
|
|
|
|
- return sceneAuthVO;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if(scenePlus.getUserId()!= null && sceneCooperation.getUserId()!= null &&
|
|
|
|
- scenePlus.getUserId().equals(sceneCooperation.getUserId())){
|
|
|
|
- return sceneAuthVO;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- sceneAuthVO.setInclude(sceneResourceService.findByCooperationId(sceneCooperation.getId()));
|
|
|
|
-
|
|
|
|
return sceneAuthVO;
|
|
return sceneAuthVO;
|
|
}
|
|
}
|
|
|
|
|