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
@Transactional(rollbackFor = JeroBootException.class)
public Result<?> deleteById(String id) {
checkData(id);
LawsMarketStandardDetail lawsMarketStandardDetail = getById(id);
if(Objects.isNull(lawsMarketStandardDetail)){
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
checkData(id,lawsMarketStandardDetail.getManifestId());
removeById(id);
// 更细状态
marketStandardService.updateStatus(lawsMarketStandardDetail.getManifestId());
@@ -543,11 +543,11 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
@Override
@Transactional(rollbackFor = JeroBootException.class)
public Result<?> deleteBatchById(String ids) {
checkData(ids);
LawsMarketStandardDetail lawsMarketStandardDetail = getById(ids.split(",")[0]);
if(Objects.isNull(lawsMarketStandardDetail)){
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
checkData(ids,lawsMarketStandardDetail.getManifestId());
// 更细状态
marketStandardService.updateStatus(lawsMarketStandardDetail.getManifestId());
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();
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getCreateBy, sysUser.getUsername());
@@ -575,7 +579,8 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
long l = count(queryLawsMarketStandardDetail);
if (l == 0 && !Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin)
&& !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);
}
}