From ba0c69a4e55294ea7ef2f96110d9ac5e5f6dc619 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Thu, 18 Jan 2024 14:44:53 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E4=BB=BB=E5=8A=A1=E8=BD=AC=E4=BA=A4):=2080?= =?UTF-8?q?381?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tasktransfer/entity/LawsProcessDB.java | 5 +++ .../mapper/LawsTaskTransferMapper.java | 9 ++++- .../service/ILawsTaskTransferService.java | 17 ++++++++- .../impl/LawsTaskTransferServiceImpl.java | 37 ++++++++++++++++++- 4 files changed, 63 insertions(+), 5 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/entity/LawsProcessDB.java b/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/entity/LawsProcessDB.java index 8147d67c..1ef9618f 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/entity/LawsProcessDB.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/entity/LawsProcessDB.java @@ -1,5 +1,6 @@ package com.jero.modules.laws.tasktransfer.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -45,4 +46,8 @@ public class LawsProcessDB { /**状态*/ @ApiModelProperty(value="状态: true:可转交,false:不可转交") private boolean state; + /**ids 查询用*/ + @ApiModelProperty(value = "ids 查询用") + @TableField(exist = false) + private String ids; } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/mapper/LawsTaskTransferMapper.java b/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/mapper/LawsTaskTransferMapper.java index 51d2a44f..22cc9b60 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/mapper/LawsTaskTransferMapper.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/mapper/LawsTaskTransferMapper.java @@ -26,7 +26,7 @@ public interface LawsTaskTransferMapper { IPage queryBaseDB(@Param(Constants.WRAPPER) QueryWrapper queryWrapper, IPage page); /** - * 任务转交-基础库信息分页查询 + * 任务转交-基础库信息列表查询 * @param queryWrapper * @return */ @@ -40,4 +40,11 @@ public interface LawsTaskTransferMapper { * @return */ IPage queryProcessDB(@Param(Constants.WRAPPER) QueryWrapper queryWrapper, IPage page); + + /** + * 任务转交-流程信息列表查询 + * @param queryWrapper + * @return + */ + List queryProcessDB(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/service/ILawsTaskTransferService.java b/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/service/ILawsTaskTransferService.java index e66305c6..89055fa8 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/service/ILawsTaskTransferService.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/service/ILawsTaskTransferService.java @@ -51,6 +51,13 @@ public interface ILawsTaskTransferService { */ IPage queryProcessDB(LawsProcessDB lawsProcessDb, Integer pageNo, Integer pageSize); + /** + * 任务转交-流程信息列表查询 + * @param lawsProcessDb + * @return + */ + List queryProcessDB(LawsProcessDB lawsProcessDb); + /** * 任务转交-流程信息转交 * @param lawsProcessDB @@ -64,8 +71,14 @@ public interface ILawsTaskTransferService { void processDBTransferBatch(List lawsProcessDBList); /** - * 任务转交-是否水平越权 + * 任务转交-是否水平越权(基础库信息) * @param ids */ - void isHorizontalOverstep(String ids); + void isHorizontalOverstepByBaseDB(String ids); + + /** + * 任务转交-是否水平越权(流程信息) + * @param ids + */ + void isHorizontalOverstepByProcessDB(String ids); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/service/impl/LawsTaskTransferServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/service/impl/LawsTaskTransferServiceImpl.java index 7f0ef52c..06ec3ef4 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/service/impl/LawsTaskTransferServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/service/impl/LawsTaskTransferServiceImpl.java @@ -111,6 +111,12 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService { @Override public IPage queryProcessDB(LawsProcessDB lawsProcessDb, Integer pageNo, Integer pageSize) { + QueryWrapper queryWrapper = getLawsProcessDBQueryWrapper(lawsProcessDb); + return lawsTaskTransferMapper.queryProcessDB(queryWrapper, new Page<>(pageNo, pageSize)); + } + + @NotNull + private static QueryWrapper getLawsProcessDBQueryWrapper(LawsProcessDB lawsProcessDb) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(lawsProcessDb.getUser()), "u.realname", lawsProcessDb.getUser()); queryWrapper.like(StringUtils.isNotBlank(lawsProcessDb.getPrcNum()), "prc_num", lawsProcessDb.getPrcNum()); @@ -126,7 +132,13 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService { if (!roleIds.contains("admin")){ queryWrapper.eq("par.user_id", loginUser.getId()); } - return lawsTaskTransferMapper.queryProcessDB(queryWrapper, new Page<>(pageNo, pageSize)); + return queryWrapper; + } + + @Override + public List queryProcessDB(LawsProcessDB lawsProcessDb) { + QueryWrapper queryWrapper = getLawsProcessDBQueryWrapper(lawsProcessDb); + return lawsTaskTransferMapper.queryProcessDB(queryWrapper); } @Override @@ -138,6 +150,10 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService { @Override public void processDBTransferBatch(List lawsProcessDBList) { + // 水平越权 + List idlist = lawsProcessDBList.stream().map(LawsProcessDB::getId).collect(Collectors.toList()); + isHorizontalOverstepByProcessDB(String.join(",", idlist)); + for (LawsProcessDB lawsProcessDb : lawsProcessDBList) { String taskId = lawsProcessDb.getTaskId(); String toUserId = lawsProcessDb.getTransferUser(); @@ -151,7 +167,7 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService { } @Override - public void isHorizontalOverstep(String ids) { + public void isHorizontalOverstepByBaseDB(String ids) { LawsBaseDB lawsBaseDB = new LawsBaseDB(); lawsBaseDB.setIds(ids); List lawsBaseDBList = queryBaseDB(lawsBaseDB); @@ -164,6 +180,20 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService { } } + @Override + public void isHorizontalOverstepByProcessDB(String ids) { + LawsProcessDB lawsProcessDB = new LawsProcessDB(); + lawsProcessDB.setIds(ids); + List lawsProcessDBList = queryProcessDB(lawsProcessDB); + if (Objects.isNull(lawsProcessDBList) || lawsProcessDBList.size() != ids.split(",").length) { + if(LanguageEnum.CN.equals(MessageUtils.getLanguage())) { + throw new JeroBootException("无权限!"); + }else{ + throw new JeroBootException("No access!"); + } + } + } + @Override public void baseDBTransfer(LawsBaseDB lawsBaseDB) { List lawsBaseDBList = new ArrayList<>(); @@ -173,6 +203,9 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService { @Override public void baseDBTransferBatch(List lawsBaseDBList) { + // 水平越权 + List idlist = lawsBaseDBList.stream().map(LawsBaseDB::getId).collect(Collectors.toList()); + isHorizontalOverstepByBaseDB(String.join(",", idlist)); // 企标计划 standardPlan(lawsBaseDBList); // 标准拆分