Commit 727faac8d829daab32e8955a39bf0689274023e8
1 parent
6d44bf0d
BPM:增加流程表达式的管理
Showing
11 changed files
with
365 additions
and
3 deletions
yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java
| ... | ... | @@ -72,4 +72,7 @@ public interface ErrorCodeConstants { |
| 72 | 72 | ErrorCode PROCESS_LISTENER_CLASS_IMPLEMENTS_ERROR = new ErrorCode(1_009_013_002, "流程监听器类({})没有实现接口({})"); |
| 73 | 73 | ErrorCode PROCESS_LISTENER_EXPRESSION_INVALID = new ErrorCode(1_009_013_003, "流程监听器表达式({})不合法"); |
| 74 | 74 | |
| 75 | + // ========== BPM 流程表达式 1-009-014-000 ========== | |
| 76 | + ErrorCode PROCESS_EXPRESSION_NOT_EXISTS = new ErrorCode(1_009_014_000, "流程表达式不存在"); | |
| 77 | + | |
| 75 | 78 | } | ... | ... |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessExpressionController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.bpm.controller.admin.definition; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | |
| 4 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 5 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | |
| 6 | +import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.expression.BpmProcessExpressionPageReqVO; | |
| 7 | +import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.expression.BpmProcessExpressionRespVO; | |
| 8 | +import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.expression.BpmProcessExpressionSaveReqVO; | |
| 9 | +import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessExpressionDO; | |
| 10 | +import cn.iocoder.yudao.module.bpm.service.definition.BpmProcessExpressionService; | |
| 11 | +import io.swagger.v3.oas.annotations.Operation; | |
| 12 | +import io.swagger.v3.oas.annotations.Parameter; | |
| 13 | +import io.swagger.v3.oas.annotations.tags.Tag; | |
| 14 | +import jakarta.annotation.Resource; | |
| 15 | +import jakarta.validation.Valid; | |
| 16 | +import org.springframework.security.access.prepost.PreAuthorize; | |
| 17 | +import org.springframework.validation.annotation.Validated; | |
| 18 | +import org.springframework.web.bind.annotation.*; | |
| 19 | + | |
| 20 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | |
| 21 | + | |
| 22 | +@Tag(name = "管理后台 - BPM 流程表达式") | |
| 23 | +@RestController | |
| 24 | +@RequestMapping("/bpm/process-expression") | |
| 25 | +@Validated | |
| 26 | +public class BpmProcessExpressionController { | |
| 27 | + | |
| 28 | + @Resource | |
| 29 | + private BpmProcessExpressionService processExpressionService; | |
| 30 | + | |
| 31 | + @PostMapping("/create") | |
| 32 | + @Operation(summary = "创建流程表达式") | |
| 33 | + @PreAuthorize("@ss.hasPermission('bpm:process-expression:create')") | |
| 34 | + public CommonResult<Long> createProcessExpression(@Valid @RequestBody BpmProcessExpressionSaveReqVO createReqVO) { | |
| 35 | + return success(processExpressionService.createProcessExpression(createReqVO)); | |
| 36 | + } | |
| 37 | + | |
| 38 | + @PutMapping("/update") | |
| 39 | + @Operation(summary = "更新流程表达式") | |
| 40 | + @PreAuthorize("@ss.hasPermission('bpm:process-expression:update')") | |
| 41 | + public CommonResult<Boolean> updateProcessExpression(@Valid @RequestBody BpmProcessExpressionSaveReqVO updateReqVO) { | |
| 42 | + processExpressionService.updateProcessExpression(updateReqVO); | |
| 43 | + return success(true); | |
| 44 | + } | |
| 45 | + | |
| 46 | + @DeleteMapping("/delete") | |
| 47 | + @Operation(summary = "删除流程表达式") | |
| 48 | + @Parameter(name = "id", description = "编号", required = true) | |
| 49 | + @PreAuthorize("@ss.hasPermission('bpm:process-expression:delete')") | |
| 50 | + public CommonResult<Boolean> deleteProcessExpression(@RequestParam("id") Long id) { | |
| 51 | + processExpressionService.deleteProcessExpression(id); | |
| 52 | + return success(true); | |
| 53 | + } | |
| 54 | + | |
| 55 | + @GetMapping("/get") | |
| 56 | + @Operation(summary = "获得流程表达式") | |
| 57 | + @Parameter(name = "id", description = "编号", required = true, example = "1024") | |
| 58 | + @PreAuthorize("@ss.hasPermission('bpm:process-expression:query')") | |
| 59 | + public CommonResult<BpmProcessExpressionRespVO> getProcessExpression(@RequestParam("id") Long id) { | |
| 60 | + BpmProcessExpressionDO processExpression = processExpressionService.getProcessExpression(id); | |
| 61 | + return success(BeanUtils.toBean(processExpression, BpmProcessExpressionRespVO.class)); | |
| 62 | + } | |
| 63 | + | |
| 64 | + @GetMapping("/page") | |
| 65 | + @Operation(summary = "获得流程表达式分页") | |
| 66 | + @PreAuthorize("@ss.hasPermission('bpm:process-expression:query')") | |
| 67 | + public CommonResult<PageResult<BpmProcessExpressionRespVO>> getProcessExpressionPage( | |
| 68 | + @Valid BpmProcessExpressionPageReqVO pageReqVO) { | |
| 69 | + PageResult<BpmProcessExpressionDO> pageResult = processExpressionService.getProcessExpressionPage(pageReqVO); | |
| 70 | + return success(BeanUtils.toBean(pageResult, BpmProcessExpressionRespVO.class)); | |
| 71 | + } | |
| 72 | + | |
| 73 | +} | |
| 0 | 74 | \ No newline at end of file | ... | ... |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/expression/BpmProcessExpressionPageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.expression; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | |
| 4 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | |
| 5 | +import cn.iocoder.yudao.framework.common.validation.InEnum; | |
| 6 | +import io.swagger.v3.oas.annotations.media.Schema; | |
| 7 | +import lombok.Data; | |
| 8 | +import lombok.EqualsAndHashCode; | |
| 9 | +import lombok.ToString; | |
| 10 | +import org.springframework.format.annotation.DateTimeFormat; | |
| 11 | + | |
| 12 | +import java.time.LocalDateTime; | |
| 13 | + | |
| 14 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | |
| 15 | + | |
| 16 | +@Schema(description = "管理后台 - BPM 流程表达式分页 Request VO") | |
| 17 | +@Data | |
| 18 | +@EqualsAndHashCode(callSuper = true) | |
| 19 | +@ToString(callSuper = true) | |
| 20 | +public class BpmProcessExpressionPageReqVO extends PageParam { | |
| 21 | + | |
| 22 | + @Schema(description = "表达式名字", example = "李四") | |
| 23 | + private String name; | |
| 24 | + | |
| 25 | + @Schema(description = "表达式状态", example = "1") | |
| 26 | + @InEnum(CommonStatusEnum.class) | |
| 27 | + private Integer status; | |
| 28 | + | |
| 29 | + @Schema(description = "创建时间") | |
| 30 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | |
| 31 | + private LocalDateTime[] createTime; | |
| 32 | + | |
| 33 | +} | |
| 0 | 34 | \ No newline at end of file | ... | ... |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/expression/BpmProcessExpressionRespVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.expression; | |
| 2 | + | |
| 3 | +import com.alibaba.excel.annotation.ExcelProperty; | |
| 4 | +import io.swagger.v3.oas.annotations.media.Schema; | |
| 5 | +import lombok.Data; | |
| 6 | + | |
| 7 | +import java.time.LocalDateTime; | |
| 8 | + | |
| 9 | +@Schema(description = "管理后台 - BPM 流程表达式 Response VO") | |
| 10 | +@Data | |
| 11 | +public class BpmProcessExpressionRespVO { | |
| 12 | + | |
| 13 | + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3870") | |
| 14 | + @ExcelProperty("编号") | |
| 15 | + private Long id; | |
| 16 | + | |
| 17 | + @Schema(description = "表达式名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") | |
| 18 | + @ExcelProperty("表达式名字") | |
| 19 | + private String name; | |
| 20 | + | |
| 21 | + @Schema(description = "表达式状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 22 | + private Integer status; | |
| 23 | + | |
| 24 | + @Schema(description = "表达式", requiredMode = Schema.RequiredMode.REQUIRED) | |
| 25 | + private String expression; | |
| 26 | + | |
| 27 | + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) | |
| 28 | + private LocalDateTime createTime; | |
| 29 | + | |
| 30 | +} | |
| 0 | 31 | \ No newline at end of file | ... | ... |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/expression/BpmProcessExpressionSaveReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.expression; | |
| 2 | + | |
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | |
| 4 | +import jakarta.validation.constraints.NotEmpty; | |
| 5 | +import jakarta.validation.constraints.NotNull; | |
| 6 | +import lombok.Data; | |
| 7 | + | |
| 8 | +@Schema(description = "管理后台 - BPM 流程表达式新增/修改 Request VO") | |
| 9 | +@Data | |
| 10 | +public class BpmProcessExpressionSaveReqVO { | |
| 11 | + | |
| 12 | + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3870") | |
| 13 | + private Long id; | |
| 14 | + | |
| 15 | + @Schema(description = "表达式名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") | |
| 16 | + @NotEmpty(message = "表达式名字不能为空") | |
| 17 | + private String name; | |
| 18 | + | |
| 19 | + @Schema(description = "表达式状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 20 | + @NotNull(message = "表达式状态不能为空") | |
| 21 | + private Integer status; | |
| 22 | + | |
| 23 | + @Schema(description = "表达式", requiredMode = Schema.RequiredMode.REQUIRED) | |
| 24 | + @NotEmpty(message = "表达式不能为空") | |
| 25 | + private String expression; | |
| 26 | + | |
| 27 | +} | |
| 0 | 28 | \ No newline at end of file | ... | ... |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/definition/BpmProcessExpressionDO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.bpm.dal.dataobject.definition; | |
| 2 | + | |
| 3 | +import lombok.*; | |
| 4 | +import java.util.*; | |
| 5 | +import java.time.LocalDateTime; | |
| 6 | +import java.time.LocalDateTime; | |
| 7 | +import com.baomidou.mybatisplus.annotation.*; | |
| 8 | +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | |
| 9 | + | |
| 10 | +/** | |
| 11 | + * BPM 流程表达式 DO | |
| 12 | + * | |
| 13 | + * @author 芋道源码 | |
| 14 | + */ | |
| 15 | +@TableName("bpm_process_expression") | |
| 16 | +@KeySequence("bpm_process_expression_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | |
| 17 | +@Data | |
| 18 | +@EqualsAndHashCode(callSuper = true) | |
| 19 | +@ToString(callSuper = true) | |
| 20 | +@Builder | |
| 21 | +@NoArgsConstructor | |
| 22 | +@AllArgsConstructor | |
| 23 | +public class BpmProcessExpressionDO extends BaseDO { | |
| 24 | + | |
| 25 | + /** | |
| 26 | + * 编号 | |
| 27 | + */ | |
| 28 | + @TableId | |
| 29 | + private Long id; | |
| 30 | + /** | |
| 31 | + * 表达式名字 | |
| 32 | + */ | |
| 33 | + private String name; | |
| 34 | + /** | |
| 35 | + * 表达式状态 | |
| 36 | + * | |
| 37 | + * 枚举 {@link TODO common_status 对应的类} | |
| 38 | + */ | |
| 39 | + private Integer status; | |
| 40 | + /** | |
| 41 | + * 表达式 | |
| 42 | + */ | |
| 43 | + private String expression; | |
| 44 | + | |
| 45 | +} | |
| 0 | 46 | \ No newline at end of file | ... | ... |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/definition/BpmProcessExpressionMapper.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.bpm.dal.mysql.definition; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 4 | +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | |
| 5 | +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | |
| 6 | +import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.expression.BpmProcessExpressionPageReqVO; | |
| 7 | +import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessExpressionDO; | |
| 8 | +import org.apache.ibatis.annotations.Mapper; | |
| 9 | + | |
| 10 | +/** | |
| 11 | + * BPM 流程表达式 Mapper | |
| 12 | + * | |
| 13 | + * @author 芋道源码 | |
| 14 | + */ | |
| 15 | +@Mapper | |
| 16 | +public interface BpmProcessExpressionMapper extends BaseMapperX<BpmProcessExpressionDO> { | |
| 17 | + | |
| 18 | + default PageResult<BpmProcessExpressionDO> selectPage(BpmProcessExpressionPageReqVO reqVO) { | |
| 19 | + return selectPage(reqVO, new LambdaQueryWrapperX<BpmProcessExpressionDO>() | |
| 20 | + .likeIfPresent(BpmProcessExpressionDO::getName, reqVO.getName()) | |
| 21 | + .eqIfPresent(BpmProcessExpressionDO::getStatus, reqVO.getStatus()) | |
| 22 | + .betweenIfPresent(BpmProcessExpressionDO::getCreateTime, reqVO.getCreateTime()) | |
| 23 | + .orderByDesc(BpmProcessExpressionDO::getId)); | |
| 24 | + } | |
| 25 | + | |
| 26 | +} | |
| 0 | 27 | \ No newline at end of file | ... | ... |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/candidate/expression/BpmTaskAssignLeaderExpression.java
| ... | ... | @@ -34,7 +34,7 @@ public class BpmTaskAssignLeaderExpression { |
| 34 | 34 | @Resource |
| 35 | 35 | private BpmProcessInstanceService processInstanceService; |
| 36 | 36 | |
| 37 | - protected Set<Long> calculateUsers(DelegateExecution execution, int level) { | |
| 37 | + public Set<Long> calculateUsers(DelegateExecution execution, int level) { | |
| 38 | 38 | Assert.isTrue(level > 0, "level 必须大于 0"); |
| 39 | 39 | // 获得发起人 |
| 40 | 40 | ProcessInstance processInstance = processInstanceService.getProcessInstance(execution.getProcessInstanceId()); | ... | ... |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/candidate/expression/BpmTaskAssignStartUserExpression.java
| ... | ... | @@ -4,7 +4,6 @@ import cn.iocoder.yudao.framework.common.util.collection.SetUtils; |
| 4 | 4 | import cn.iocoder.yudao.framework.common.util.number.NumberUtils; |
| 5 | 5 | import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService; |
| 6 | 6 | import jakarta.annotation.Resource; |
| 7 | -import org.flowable.engine.delegate.DelegateExecution; | |
| 8 | 7 | import org.flowable.engine.runtime.ProcessInstance; |
| 9 | 8 | import org.springframework.stereotype.Component; |
| 10 | 9 | |
| ... | ... | @@ -21,7 +20,7 @@ public class BpmTaskAssignStartUserExpression { |
| 21 | 20 | @Resource |
| 22 | 21 | private BpmProcessInstanceService processInstanceService; |
| 23 | 22 | |
| 24 | - public Set<Long> calculateUsers(DelegateExecution execution) { | |
| 23 | + public Set<Long> calculateUsers(org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl execution) { | |
| 25 | 24 | ProcessInstance processInstance = processInstanceService.getProcessInstance(execution.getProcessInstanceId()); |
| 26 | 25 | Long startUserId = NumberUtils.parseLong(processInstance.getStartUserId()); |
| 27 | 26 | return SetUtils.asSet(startUserId); | ... | ... |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmProcessExpressionService.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.bpm.service.definition; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.expression.BpmProcessExpressionPageReqVO; | |
| 4 | +import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.expression.BpmProcessExpressionSaveReqVO; | |
| 5 | +import jakarta.validation.*; | |
| 6 | +import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessExpressionDO; | |
| 7 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * BPM 流程表达式 Service 接口 | |
| 11 | + * | |
| 12 | + * @author 芋道源码 | |
| 13 | + */ | |
| 14 | +public interface BpmProcessExpressionService { | |
| 15 | + | |
| 16 | + /** | |
| 17 | + * 创建流程表达式 | |
| 18 | + * | |
| 19 | + * @param createReqVO 创建信息 | |
| 20 | + * @return 编号 | |
| 21 | + */ | |
| 22 | + Long createProcessExpression(@Valid BpmProcessExpressionSaveReqVO createReqVO); | |
| 23 | + | |
| 24 | + /** | |
| 25 | + * 更新流程表达式 | |
| 26 | + * | |
| 27 | + * @param updateReqVO 更新信息 | |
| 28 | + */ | |
| 29 | + void updateProcessExpression(@Valid BpmProcessExpressionSaveReqVO updateReqVO); | |
| 30 | + | |
| 31 | + /** | |
| 32 | + * 删除流程表达式 | |
| 33 | + * | |
| 34 | + * @param id 编号 | |
| 35 | + */ | |
| 36 | + void deleteProcessExpression(Long id); | |
| 37 | + | |
| 38 | + /** | |
| 39 | + * 获得流程表达式 | |
| 40 | + * | |
| 41 | + * @param id 编号 | |
| 42 | + * @return 流程表达式 | |
| 43 | + */ | |
| 44 | + BpmProcessExpressionDO getProcessExpression(Long id); | |
| 45 | + | |
| 46 | + /** | |
| 47 | + * 获得流程表达式分页 | |
| 48 | + * | |
| 49 | + * @param pageReqVO 分页查询 | |
| 50 | + * @return 流程表达式分页 | |
| 51 | + */ | |
| 52 | + PageResult<BpmProcessExpressionDO> getProcessExpressionPage(BpmProcessExpressionPageReqVO pageReqVO); | |
| 53 | + | |
| 54 | +} | |
| 0 | 55 | \ No newline at end of file | ... | ... |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmProcessExpressionServiceImpl.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.bpm.service.definition; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.expression.BpmProcessExpressionPageReqVO; | |
| 4 | +import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.expression.BpmProcessExpressionSaveReqVO; | |
| 5 | +import org.springframework.stereotype.Service; | |
| 6 | +import jakarta.annotation.Resource; | |
| 7 | +import org.springframework.validation.annotation.Validated; | |
| 8 | + | |
| 9 | +import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessExpressionDO; | |
| 10 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 11 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | |
| 12 | + | |
| 13 | +import cn.iocoder.yudao.module.bpm.dal.mysql.definition.BpmProcessExpressionMapper; | |
| 14 | + | |
| 15 | +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | |
| 16 | +import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*; | |
| 17 | + | |
| 18 | +/** | |
| 19 | + * BPM 流程表达式 Service 实现类 | |
| 20 | + * | |
| 21 | + * @author 芋道源码 | |
| 22 | + */ | |
| 23 | +@Service | |
| 24 | +@Validated | |
| 25 | +public class BpmProcessExpressionServiceImpl implements BpmProcessExpressionService { | |
| 26 | + | |
| 27 | + @Resource | |
| 28 | + private BpmProcessExpressionMapper processExpressionMapper; | |
| 29 | + | |
| 30 | + @Override | |
| 31 | + public Long createProcessExpression(BpmProcessExpressionSaveReqVO createReqVO) { | |
| 32 | + // 插入 | |
| 33 | + BpmProcessExpressionDO processExpression = BeanUtils.toBean(createReqVO, BpmProcessExpressionDO.class); | |
| 34 | + processExpressionMapper.insert(processExpression); | |
| 35 | + // 返回 | |
| 36 | + return processExpression.getId(); | |
| 37 | + } | |
| 38 | + | |
| 39 | + @Override | |
| 40 | + public void updateProcessExpression(BpmProcessExpressionSaveReqVO updateReqVO) { | |
| 41 | + // 校验存在 | |
| 42 | + validateProcessExpressionExists(updateReqVO.getId()); | |
| 43 | + // 更新 | |
| 44 | + BpmProcessExpressionDO updateObj = BeanUtils.toBean(updateReqVO, BpmProcessExpressionDO.class); | |
| 45 | + processExpressionMapper.updateById(updateObj); | |
| 46 | + } | |
| 47 | + | |
| 48 | + @Override | |
| 49 | + public void deleteProcessExpression(Long id) { | |
| 50 | + // 校验存在 | |
| 51 | + validateProcessExpressionExists(id); | |
| 52 | + // 删除 | |
| 53 | + processExpressionMapper.deleteById(id); | |
| 54 | + } | |
| 55 | + | |
| 56 | + private void validateProcessExpressionExists(Long id) { | |
| 57 | + if (processExpressionMapper.selectById(id) == null) { | |
| 58 | + throw exception(PROCESS_EXPRESSION_NOT_EXISTS); | |
| 59 | + } | |
| 60 | + } | |
| 61 | + | |
| 62 | + @Override | |
| 63 | + public BpmProcessExpressionDO getProcessExpression(Long id) { | |
| 64 | + return processExpressionMapper.selectById(id); | |
| 65 | + } | |
| 66 | + | |
| 67 | + @Override | |
| 68 | + public PageResult<BpmProcessExpressionDO> getProcessExpressionPage(BpmProcessExpressionPageReqVO pageReqVO) { | |
| 69 | + return processExpressionMapper.selectPage(pageReqVO); | |
| 70 | + } | |
| 71 | + | |
| 72 | +} | |
| 0 | 73 | \ No newline at end of file | ... | ... |