fix(新旧拆分单): 79528

This commit is contained in:
yjz
2024-01-16 09:49:06 +08:00
parent 2d173684fe
commit b94be824b2
2 changed files with 16 additions and 1 deletions
@@ -11,6 +11,8 @@ import com.jero.common.api.vo.Result;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.constant.CommonConstant;
import com.jero.common.constant.enums.LanguageEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.MessageUtils;
@@ -352,6 +354,15 @@ public class SarFileCompareInfoController extends JeroController<SarFileCompareI
@ApiOperationSupport(order = 9)
public Result<?> changeState(@Validated @RequestBody SarFileCompareInfo sarFileCompareInfo) {
SarFileCompareInfo info = sarFileCompareInfoService.queryById(sarFileCompareInfo.getId());
// 水平越权
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (!info.getCreateBy().equals(loginUser.getUsername())){
if(LanguageEnum.CN.equals(MessageUtils.getLanguage())) {
throw new JeroBootException("无权限!");
}else{
throw new JeroBootException("No access!");
}
}
if (ReleaseConditionEnum.DRAFT.getValue().equals(sarFileCompareInfo.getReleaseState())) {
info.setReleaseState(ReleaseConditionEnum.PUBLISHED.getValue());
} else {
@@ -382,6 +393,8 @@ public class SarFileCompareInfoController extends JeroController<SarFileCompareI
@PostMapping(value = "/editComments")
@ApiOperationSupport(order = 11)
public Result<?> editComments(@Validated @RequestBody SarFileCompareInfo sarFileCompareInfo) {
// 水平越权
sarFileCompareInfoService.isHorizontalOverstep(sarFileCompareInfo.getId());
SarFileCompareInfo info = sarFileCompareInfoService.getById(sarFileCompareInfo.getId());
info.setComments(sarFileCompareInfo.getComments());
sarFileCompareInfoService.editById(info);
@@ -344,7 +344,9 @@ public class SarFileCompareInfoServiceImpl extends ServiceImpl<SarFileCompareInf
LambdaQueryWrapper<SarFileCompareInfo> queryWrapper = new LambdaQueryWrapper<>();
List<String> idList = Arrays.asList(ids.split(","));
queryWrapper.in(SarFileCompareInfo::getId, idList);
queryWrapper.and(LambdaQueryWrapper -> LambdaQueryWrapper.eq(SarFileCompareInfo::getCreateBy, loginUser.getUsername()).or().eq(SarFileCompareInfo::getReleaseState, ReleaseConditionEnum.PUBLISHED.getValue()));
queryWrapper.and(qw ->
qw.eq(SarFileCompareInfo::getCreateBy, loginUser.getUsername())
.or().eq(SarFileCompareInfo::getReleaseState, ReleaseConditionEnum.PUBLISHED.getValue()));
int count = sarFileCompareInfoService.count(queryWrapper);
if (count <= 0 || count != idList.size()) {
if(LanguageEnum.CN.equals(MessageUtils.getLanguage())) {