fix:87898

This commit is contained in:
梁琦涛
2024-07-31 17:54:26 +08:00
parent cc72bbec66
commit 7e6240ee84
@@ -529,11 +529,11 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
@Override @Override
@Transactional(rollbackFor = JeroBootException.class) @Transactional(rollbackFor = JeroBootException.class)
public Result<?> deleteById(String id) { public Result<?> deleteById(String id) {
checkData(id);
LawsMarketStandardDetail lawsMarketStandardDetail = getById(id); LawsMarketStandardDetail lawsMarketStandardDetail = getById(id);
if(Objects.isNull(lawsMarketStandardDetail)){ if(Objects.isNull(lawsMarketStandardDetail)){
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND); throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
} }
checkData(id,lawsMarketStandardDetail.getManifestId());
removeById(id); removeById(id);
// 更细状态 // 更细状态
marketStandardService.updateStatus(lawsMarketStandardDetail.getManifestId()); marketStandardService.updateStatus(lawsMarketStandardDetail.getManifestId());
@@ -543,11 +543,11 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
@Override @Override
@Transactional(rollbackFor = JeroBootException.class) @Transactional(rollbackFor = JeroBootException.class)
public Result<?> deleteBatchById(String ids) { public Result<?> deleteBatchById(String ids) {
checkData(ids);
LawsMarketStandardDetail lawsMarketStandardDetail = getById(ids.split(",")[0]); LawsMarketStandardDetail lawsMarketStandardDetail = getById(ids.split(",")[0]);
if(Objects.isNull(lawsMarketStandardDetail)){ if(Objects.isNull(lawsMarketStandardDetail)){
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND); throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
} }
checkData(ids,lawsMarketStandardDetail.getManifestId());
// 更细状态 // 更细状态
marketStandardService.updateStatus(lawsMarketStandardDetail.getManifestId()); marketStandardService.updateStatus(lawsMarketStandardDetail.getManifestId());
removeByIds(Arrays.asList(ids.split(","))); removeByIds(Arrays.asList(ids.split(",")));
@@ -567,7 +567,11 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
} }
// 验证数据权限 // 验证数据权限
private void checkData(String id) { private void checkData(String id,String manifestId) {
LawsMarketStandard lawsMarketStandard = marketStandardService.getById(manifestId);
if(Objects.isNull(lawsMarketStandard)){
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>(); LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getCreateBy, sysUser.getUsername()); queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getCreateBy, sysUser.getUsername());
@@ -575,7 +579,8 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
long l = count(queryLawsMarketStandardDetail); long l = count(queryLawsMarketStandardDetail);
if (l == 0 && !Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin) if (l == 0 && !Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin)
&& !Arrays.stream(sysUser.getRoleIds().split(",")).anyMatch(otherAdmin::contains) && !Arrays.stream(sysUser.getRoleIds().split(",")).anyMatch(otherAdmin::contains)
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)) { && !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)
&& !Objects.equals(lawsMarketStandard.getAuthor(),sysUser.getId())) {
throw new JeroBootException(ResultCommon.NO_PERMISSION); throw new JeroBootException(ResultCommon.NO_PERMISSION);
} }
} }