feat: 判断是否有查看企标详情的权限接口

This commit is contained in:
2023-10-25 13:53:30 +08:00
parent aafe623d02
commit 5ef1c422b1
4 changed files with 67 additions and 2 deletions
@@ -197,8 +197,6 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl<ProcessEsAnnua
return resultMap;
}
private void cleanData(List<ProcessEsAnnualReport> list) {
List<String> originStandardNoList = list.stream().map(ProcessEsAnnualReport::getOriginEnStandardNo).collect(Collectors.toList());
@@ -17,4 +17,6 @@ public interface EnterpriseStandardAuthUserService extends IService<EnterpriseSt
void saveTempPermission(LawsStandardTempPermission lawsStandardTempPermission);
void detailFlagSet(List<Map<String, Object>> records);
boolean detailPermissionByUser(String standardNumber, String userId, String user);
}
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.modules.laws.common.constant.FieldCommon;
import com.jero.modules.laws.common.constant.ResultCommon;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardAuthDept;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardAuthUser;
import com.jero.modules.laws.enterprise.service.EnterpriseStandardAuthDeptService;
@@ -20,6 +21,7 @@ import com.jero.modules.sys.utils.UserUtils;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -132,6 +134,55 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl<Enterpris
}
}
@Override
public boolean detailPermissionByUser(String standardId, String standardNumber, String userId) {
SysUser user = sysUserService.getById(userId);
String deptId = user.getDepartIds();
if (StringUtils.isBlank(standardId) && StringUtils.isBlank(standardNumber)) {
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "id和标准号不能同时为空");
}
if (StringUtils.isBlank(standardId)) {
LambdaQueryWrapper<LawsEnterpriseStandard> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(LawsEnterpriseStandard::getStandardNumber, standardNumber);
LawsEnterpriseStandard es = enterpriseStandardService.getOne(lambdaQueryWrapper);
standardId = es.getId();
}
// 判断企标是不是公开的
LawsEnterpriseStandard es = enterpriseStandardService.getById(standardId);
String gradeClassification = es.getGradeClassification();
if (gradeClassification.equals("1")) {
return true;
} else {
// 企标级别授权的部门
List<LawsEnterpriseStandardLevel> standardLevelList = standardLevelService.list();
List<String> levelDeptIds = standardLevelList.stream().map(LawsEnterpriseStandardLevel::getDeptId).collect(Collectors.toList());
if (levelDeptIds.contains(deptId)) {
return true;
}
}
// 查询临时授权人员
Date date = new Date();
LambdaQueryWrapper<EnterpriseStandardAuthUser> authUserWrapper = new LambdaQueryWrapper<>();
authUserWrapper.eq(EnterpriseStandardAuthUser::getStandardId, standardId);
authUserWrapper.eq(EnterpriseStandardAuthUser::getAuthUser, userId);
authUserWrapper.ge(EnterpriseStandardAuthUser::getAuthExpireDate, date);
List<EnterpriseStandardAuthUser> authUserList = list(authUserWrapper);
if (authUserList.size() > 0) {
return true;
}
// 查询授权部门-和临时授权部门
LambdaQueryWrapper<EnterpriseStandardAuthDept> authDeptWrapper = new LambdaQueryWrapper<>();
authDeptWrapper.eq(EnterpriseStandardAuthDept::getStandardId, standardId);
authDeptWrapper.eq(EnterpriseStandardAuthDept::getAuthDept, deptId);
authDeptWrapper.ge(EnterpriseStandardAuthDept::getAuthExpireDate, date);
List<EnterpriseStandardAuthDept> authDeptList = authDeptService.list(authDeptWrapper);
if (authDeptList.size() > 0) {
return true;
}
return false;
}
}
@@ -20,6 +20,7 @@ import com.jero.modules.laws.standard.service.ILawsNodeRelationService;
import com.jero.modules.laws.standard.service.ILawsUpdateRecordService;
import com.jero.modules.personal.service.ILawsStandardCollectionService;
import com.jero.modules.personal.service.ILawsStandardSharingService;
import com.jero.modules.sys.utils.UserUtils;
import com.jero.modules.tag.entity.LawsTag;
import com.jero.modules.tag.enums.TableNameEnum;
import io.swagger.annotations.Api;
@@ -258,4 +259,17 @@ public class LawsEnterpriseController {
Map<String, List<EnterpriseStandardRmrEvaluateDetail>> resultMap = esReviewMeetingService.evaluateDetailForESInfo(standardId);
return Result.OK(resultMap);
}
/**
* 企标详情-获取是否有查看详情权限
*
* @return
*/
@AutoLog(value = "企业法规标准-获取是否有查看详情权限")
@ApiOperation(value = "企业法规标准-获取是否有查看详情权限", notes = "企业法规标准-获取是否有查看详情权限")
@GetMapping(value = "/detailPermission")
public Result<?> detailPermission(@RequestParam(name="id", required = false) String id,
@RequestParam(name="standardNumber", required = false) String standardNumber) {
return Result.OK(esAuthUserService.detailPermissionByUser(id, standardNumber, UserUtils.getUserId()));
}
}