From c16b22ed8d38f63085646e4fd809e190c5e3e7c0 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Thu, 18 Jan 2024 14:21:02 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E4=BB=BB=E5=8A=A1=E8=BD=AC=E4=BA=A4):=2080?= =?UTF-8?q?379?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LawsTaskTransferController.java | 7 ++++ .../laws/tasktransfer/entity/LawsBaseDB.java | 5 +++ .../mapper/LawsTaskTransferMapper.java | 18 +++++++--- .../service/ILawsTaskTransferService.java | 13 +++++++ .../impl/LawsTaskTransferServiceImpl.java | 36 ++++++++++++++++++- 5 files changed, 74 insertions(+), 5 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/controller/LawsTaskTransferController.java b/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/controller/LawsTaskTransferController.java index 5e9e3e73..6126d447 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/controller/LawsTaskTransferController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/controller/LawsTaskTransferController.java @@ -13,6 +13,7 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.formula.functions.T; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -43,6 +44,7 @@ public class LawsTaskTransferController { @AutoLog(value = "任务转交-基础库信息分页查询") @ApiOperation(value="任务转交-基础库信息分页查询", notes="任务转交-基础库信息分页查询") @GetMapping(value = "/queryBaseDB") + @RequiresPermissions("taskCareOf:basicInfo:search") public Result> queryBaseDB(LawsBaseDB lawsBaseDB, @ApiParam("当前页") @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @ApiParam("每页条数") @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) { @@ -56,6 +58,7 @@ public class LawsTaskTransferController { @AutoLog(value = "任务转交-基础库信息转交") @ApiOperation(value="任务转交-基础库信息转交", notes="任务转交-基础库信息转交") @PostMapping(value = "/baseDBTransfer") + @RequiresPermissions("taskCareOf:basicInfo:transfer") public Result baseDBTransfer(@RequestBody LawsBaseDB lawsBaseDB) { lawsTaskTransferService.baseDBTransfer(lawsBaseDB); return Result.OK(MessageUtils.getMessage(ResultCommon.OK)); @@ -68,6 +71,7 @@ public class LawsTaskTransferController { @AutoLog(value = "任务转交-基础库信息转交(批量)") @ApiOperation(value="任务转交-基础库信息转交(批量)", notes="任务转交-基础库信息转交(批量)") @PostMapping(value = "/baseDBTransferBatch") + @RequiresPermissions("taskCareOf:basicInfo:batchTransfer") public Result baseDBTransferBatch(@RequestBody List lawsBaseDBList) { lawsTaskTransferService.baseDBTransferBatch(lawsBaseDBList); return Result.OK(MessageUtils.getMessage(ResultCommon.OK)); @@ -80,6 +84,7 @@ public class LawsTaskTransferController { @AutoLog(value = "任务转交-流程信息分页查询") @ApiOperation(value="任务转交-流程信息分页查询", notes="任务转交-流程信息分页查询") @GetMapping(value = "/queryProcessDB") + @RequiresPermissions("taskCareOf:processInfo:search") public Result> queryProcessDB(LawsProcessDB lawsProcessDb, @ApiParam("当前页") @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @ApiParam("每页条数") @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) { @@ -93,6 +98,7 @@ public class LawsTaskTransferController { @AutoLog(value = "任务转交-流程信息转交") @ApiOperation(value="任务转交-流程信息转交", notes="任务转交-流程信息转交") @PostMapping(value = "/processDBTransfer") + @RequiresPermissions("taskCareOf:processInfo:transfer") public Result> processDBTransfer(@RequestBody LawsProcessDB lawsProcessDB) { lawsTaskTransferService.processDBTransfer(lawsProcessDB); return Result.OK(MessageUtils.getMessage(ResultCommon.OK)); @@ -105,6 +111,7 @@ public class LawsTaskTransferController { @AutoLog(value = "任务转交-流程信息转交(批量)") @ApiOperation(value="任务转交-流程信息转交(批量)", notes="任务转交-流程信息转交(批量)") @PostMapping(value = "/processDBTransferBatch") + @RequiresPermissions("taskCareOf:processInfo:batchTransfer") public Result> processDBTransferBatch(@RequestBody List lawsProcessDBList) { lawsTaskTransferService.processDBTransferBatch(lawsProcessDBList); return Result.OK(MessageUtils.getMessage(ResultCommon.OK)); diff --git a/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/entity/LawsBaseDB.java b/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/entity/LawsBaseDB.java index 25f39102..30490423 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/entity/LawsBaseDB.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/tasktransfer/entity/LawsBaseDB.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; @@ -37,4 +38,8 @@ public class LawsBaseDB { /**转交人*/ @ApiModelProperty(value = "转交人") private String transferUser; + /**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 84ab8091..51d2a44f 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 @@ -7,6 +7,8 @@ import com.jero.modules.laws.tasktransfer.entity.LawsBaseDB; import com.jero.modules.laws.tasktransfer.entity.LawsProcessDB; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @ClassName: LawsTaskTransferMapper * @Description: @@ -18,16 +20,24 @@ public interface LawsTaskTransferMapper { /** * 任务转交-基础库信息分页查询 * @param queryWrapper - * @param objectPage + * @param page * @return */ - IPage queryBaseDB(@Param(Constants.WRAPPER) QueryWrapper queryWrapper, IPage objectPage); + IPage queryBaseDB(@Param(Constants.WRAPPER) QueryWrapper queryWrapper, IPage page); + + /** + * 任务转交-基础库信息分页查询 + * @param queryWrapper + * @return + */ + List queryBaseDB(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); + /** * 任务转交-流程信息分页查询 * @param queryWrapper - * @param objectPage + * @param page * @return */ - IPage queryProcessDB(@Param(Constants.WRAPPER) QueryWrapper queryWrapper, IPage objectPage); + IPage queryProcessDB(@Param(Constants.WRAPPER) QueryWrapper queryWrapper, IPage page); } 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 478302bb..e66305c6 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 @@ -23,6 +23,13 @@ public interface ILawsTaskTransferService { */ IPage queryBaseDB(LawsBaseDB lawsBaseDB, Integer pageNo, Integer pageSize); + /** + * 任务转交-基础库信息列表查询 + * @param lawsBaseDB + * @return + */ + List queryBaseDB(LawsBaseDB lawsBaseDB); + /** * 任务转交-基础库信息转交 * @param lawsBaseDB @@ -55,4 +62,10 @@ public interface ILawsTaskTransferService { * @param lawsProcessDBList */ void processDBTransferBatch(List lawsProcessDBList); + + /** + * 任务转交-是否水平越权 + * @param ids + */ + void isHorizontalOverstep(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 ed7890bb..7f0ef52c 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 @@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.common.constant.enums.LanguageEnum; import com.jero.common.constant.enums.YesOrNoEnum; +import com.jero.common.exception.JeroBootException; import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.MessageUtils; import com.jero.modules.activiti.enums.FinishFlagEnum; import com.jero.modules.activiti.enums.ProcessStatusEnum; import com.jero.modules.activiti.enums.ProcessTypeEnum; @@ -28,10 +31,12 @@ import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; +import org.jetbrains.annotations.NotNull; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -76,6 +81,12 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService { @Override public IPage queryBaseDB(LawsBaseDB lawsBaseDB, Integer pageNo, Integer pageSize) { + QueryWrapper queryWrapper = getLawsBaseDBQueryWrapper(lawsBaseDB); + return lawsTaskTransferMapper.queryBaseDB(queryWrapper, new Page<>(pageNo, pageSize)); + } + + @NotNull + private static QueryWrapper getLawsBaseDBQueryWrapper(LawsBaseDB lawsBaseDB) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(lawsBaseDB.getUser()), "u.realname", lawsBaseDB.getUser()); queryWrapper.eq(StringUtils.isNotBlank(lawsBaseDB.getType()), "t.type", lawsBaseDB.getType()); @@ -86,7 +97,16 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService { if (!roleIds.contains("admin")){ queryWrapper.eq("t.user", loginUser.getId()); } - return lawsTaskTransferMapper.queryBaseDB(queryWrapper, new Page<>(pageNo, pageSize)); + if (StringUtils.isNotBlank(lawsBaseDB.getIds())){ + queryWrapper.in("t.id", Arrays.asList(lawsBaseDB.getIds().split(","))); + } + return queryWrapper; + } + + @Override + public List queryBaseDB(LawsBaseDB lawsBaseDB) { + QueryWrapper queryWrapper = getLawsBaseDBQueryWrapper(lawsBaseDB); + return lawsTaskTransferMapper.queryBaseDB(queryWrapper); } @Override @@ -130,6 +150,20 @@ public class LawsTaskTransferServiceImpl implements ILawsTaskTransferService { } } + @Override + public void isHorizontalOverstep(String ids) { + LawsBaseDB lawsBaseDB = new LawsBaseDB(); + lawsBaseDB.setIds(ids); + List lawsBaseDBList = queryBaseDB(lawsBaseDB); + if (Objects.isNull(lawsBaseDBList) || lawsBaseDBList.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<>();