feat(flow): FlowableUtils添加getFlowParamMap方法统一处理流程发起人参数

- BpmOaLeaveEntity继承BizFlowBaseDto以复用流程基础字段
- 新增BizFlowBaseDto作为流程基础数据传输对象
-
- 优化BpmOaLeaveServiceImpl流程启动逻辑,使用工具类简化代码
This commit is contained in:
claudecode committed 2025-10-17 08:56:09 +08:00
1 parent ed6138b566
commit 883293cc2a
4 files changed
+834 -803

No files matched your search

@@ -0,0 +1,31 @@
package com.pig4cloud.pigx.flow.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.HashMap;
import java.util.Map;
/**
* 自定义业务流基础数据传输对象
*
* @author lengleng
* @date 2025/10/16
*/
@Data
public class BizFlowBaseDto {
/**
* 流程实例的编号
*/
@Schema(description = "流程实例的编号")
private String processInstanceId;
/**
* 流程参数 (用于存储用户选择的审批人等信息)
*/
@TableField(exist = false)
@Schema(description = "流程参数(审批人信息)")
private Map<String, Object> flowParamMap = new HashMap<>();
}
@@ -2,6 +2,7 @@ package com.pig4cloud.pigx.flow.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.pig4cloud.pigx.common.core.util.TenantTable;
import com.pig4cloud.pigx.flow.dto.BizFlowBaseDto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -15,103 +16,99 @@ import java.time.LocalDateTime;
@TenantTable
@TableName("bpm_oa_leave")
@Schema(description = "请假表单")
public class BpmOaLeaveEntity {
public class BpmOaLeaveEntity extends BizFlowBaseDto {
/**
* 请假表单主键
*/
@TableId(type = IdType.ASSIGN_ID)
@Schema(description = "请假表单主键")
private Long id;
/**
* 请假表单主键
*/
@TableId(type = IdType.ASSIGN_ID)
@Schema(description = "请假表单主键")
private Long id;
/**
* 申请人的用户编号
*/
@Schema(description = "申请人的用户编号")
private String username;
/**
* 申请人的用户编号
*/
@Schema(description = "申请人的用户编号")
private String username;
/**
* 请假类型
*/
@Schema(description = "请假类型")
private Integer leaveType;
/**
* 请假类型
*/
@Schema(description = "请假类型")
private Integer leaveType;
/**
* 请假原因
*/
@Schema(description = "请假原因")
private String leaveReason;
/**
* 请假原因
*/
@Schema(description = "请假原因")
private String leaveReason;
/**
* 开始时间
*/
@Schema(description = "开始时间")
private LocalDateTime startTime;
/**
* 开始时间
*/
@Schema(description = "开始时间")
private LocalDateTime startTime;
/**
* 结束时间
*/
@Schema(description = "结束时间")
private LocalDateTime endTime;
/**
* 结束时间
*/
@Schema(description = "结束时间")
private LocalDateTime endTime;
/**
* 请假天数
*/
@Schema(description = "请假天数")
private Integer leaveDay;
/**
* 请假天数
*/
@Schema(description = "请假天数")
private Integer leaveDay;
/**
* 请假结果
*/
@Schema(description = "请假结果")
private Integer leaveStatus;
/**
* 请假结果
*/
@Schema(description = "请假结果")
private Integer leaveStatus;
/**
* 流程实例的编号
*/
@Schema(description = "流程实例的编号")
private String processInstanceId;
/**
* 创建者
*/
@TableField(fill = FieldFill.INSERT)
@Schema(description = "创建者")
private String createBy;
/**
* 创建者
*/
@TableField(fill = FieldFill.INSERT)
@Schema(description = "创建者")
private String createBy;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
@Schema(description = "创建时间")
private LocalDateTime createTime;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
@Schema(description = "创建时间")
private LocalDateTime createTime;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@Schema(description = "更新者")
private String updateBy;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@Schema(description = "更新者")
private String updateBy;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@Schema(description = "更新时间")
private LocalDateTime updateTime;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@Schema(description = "更新时间")
private LocalDateTime updateTime;
/**
* 是否删除
*/
@TableLogic
@TableField(fill = FieldFill.INSERT)
@Schema(description = "是否删除")
private String delFlag;
/**
* 是否删除
*/
@TableLogic
@TableField(fill = FieldFill.INSERT)
@Schema(description = "是否删除")
private String delFlag;
/**
* 租户编号
*/
@Schema(description = "租户编号")
private Long tenantId;
/**
* 租户编号
*/
@Schema(description = "租户编号")
private Long tenantId;
}