|
|
@@ -1,5 +1,6 @@
|
|
|
package com.fdkankan.fusion.service.impl;
|
|
|
|
|
|
+import cn.dev33.satoken.context.SaHolder;
|
|
|
import cn.dev33.satoken.stp.StpUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
@@ -102,6 +103,15 @@ public class SceneDeptShareServiceImpl extends ServiceImpl<ISceneDeptShareMapper
|
|
|
return list.stream().map(SceneDeptShare::getFusionId).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
+ public List<SceneDeptShare> getFusionIdsListByDeptId(String deptId,Integer fusionId) {
|
|
|
+ LambdaQueryWrapper<SceneDeptShare> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(SceneDeptShare::getDeptId,deptId);
|
|
|
+ wrapper.ne(SceneDeptShare::getIsAuth,0);
|
|
|
+ wrapper.eq(SceneDeptShare::getFusionId,fusionId);
|
|
|
+ List<SceneDeptShare> list = this.list(wrapper);
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<Integer> getCaseIdsListByDeptId(String deptId) {
|
|
|
LambdaQueryWrapper<SceneDeptShare> wrapper = new LambdaQueryWrapper<>();
|
|
|
@@ -112,6 +122,15 @@ public class SceneDeptShareServiceImpl extends ServiceImpl<ISceneDeptShareMapper
|
|
|
return list.stream().map(SceneDeptShare::getCaseId).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
+ public List<SceneDeptShare> getCaseIdsListByDeptId(String deptId,Integer caseId) {
|
|
|
+ LambdaQueryWrapper<SceneDeptShare> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(SceneDeptShare::getDeptId,deptId);
|
|
|
+ wrapper.ne(SceneDeptShare::getIsAuth,0);
|
|
|
+ wrapper.eq(SceneDeptShare::getCaseId,caseId);
|
|
|
+ List<SceneDeptShare> list = this.list(wrapper);
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<SceneDeptShare> getByCaseIdAndDeptId(Integer caseId, String deptId) {
|
|
|
LambdaQueryWrapper<SceneDeptShare> wrapper = new LambdaQueryWrapper<>();
|
|
|
@@ -155,4 +174,48 @@ public class SceneDeptShareServiceImpl extends ServiceImpl<ISceneDeptShareMapper
|
|
|
throw new BusinessException(ResultCode.NOT_PERMISSION);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void checkFusion(Integer fusionId) {
|
|
|
+ String deptId =(String) StpUtil.getExtra("deptId");
|
|
|
+ List<SceneDeptShare> numListByDeptId = this.getFusionIdsListByDeptId(deptId,fusionId);
|
|
|
+ if(numListByDeptId == null || numListByDeptId.isEmpty()){
|
|
|
+ throw new BusinessException(ResultCode.NOT_PERMISSION);
|
|
|
+ }
|
|
|
+ String page = SaHolder.getRequest().getHeader("page");
|
|
|
+ if(StringUtils.isBlank(page)){
|
|
|
+ throw new BusinessException(ResultCode.NOT_PERMISSION);
|
|
|
+ }
|
|
|
+ for (SceneDeptShare sceneDeptShare : numListByDeptId) {
|
|
|
+ if(sceneDeptShare.getIsAuth() == 2){ //编辑
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(sceneDeptShare.getIsAuth() == 1 && "view".equals(page)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ throw new BusinessException(ResultCode.NOT_PERMISSION);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void checkCaseId(Integer caseId) {
|
|
|
+ String deptId =(String) StpUtil.getExtra("deptId");
|
|
|
+ List<SceneDeptShare> numListByDeptId = this.getCaseIdsListByDeptId(deptId,caseId);
|
|
|
+ if(numListByDeptId == null || numListByDeptId.isEmpty()){
|
|
|
+ throw new BusinessException(ResultCode.NOT_PERMISSION);
|
|
|
+ }
|
|
|
+ String page = SaHolder.getRequest().getHeader("page");
|
|
|
+ if(StringUtils.isBlank(page)){
|
|
|
+ throw new BusinessException(ResultCode.NOT_PERMISSION);
|
|
|
+ }
|
|
|
+ for (SceneDeptShare sceneDeptShare : numListByDeptId) {
|
|
|
+ if(sceneDeptShare.getIsAuth() == 2){ //编辑
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(sceneDeptShare.getIsAuth() == 1 && "view".equals(page)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ throw new BusinessException(ResultCode.NOT_PERMISSION);
|
|
|
+ }
|
|
|
}
|