feat: 完善保存接口逻辑
This commit is contained in:
+61
@@ -0,0 +1,61 @@
|
||||
package com.jero.modules.activiti.process.common.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*
|
||||
* @TableName process_draft
|
||||
*/
|
||||
@TableName(value ="process_draft")
|
||||
@Data
|
||||
public class ProcessDraft implements Serializable {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 创建人ID
|
||||
*/
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 修改人ID
|
||||
*/
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 部门code
|
||||
*/
|
||||
private String orgCode;
|
||||
|
||||
/**
|
||||
* 草稿Id
|
||||
*/
|
||||
private String draftId;
|
||||
|
||||
/**
|
||||
* 实体类Id
|
||||
*/
|
||||
private String businessId;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package com.jero.modules.activiti.process.common.mapper;
|
||||
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_draft】的数据库操作Mapper
|
||||
* @createDate 2023-10-12 10:45:38
|
||||
* @Entity com.jero.modules.activiti.process.common.entity.ProcessDraft
|
||||
*/
|
||||
public interface ProcessDraftMapper extends BaseMapper<ProcessDraft> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.modules.activiti.process.common.mapper.ProcessDraftMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="com.jero.modules.activiti.process.common.entity.ProcessDraft">
|
||||
<id property="id" column="id" jdbcType="VARCHAR"/>
|
||||
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
|
||||
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
|
||||
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="orgCode" column="org_code" jdbcType="VARCHAR"/>
|
||||
<result property="draftId" column="draft_id" jdbcType="VARCHAR"/>
|
||||
<result property="businessId" column="business_id" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,create_by,create_time,
|
||||
update_by,update_time,org_code,
|
||||
draft_id,business_id
|
||||
</sql>
|
||||
</mapper>
|
||||
+9
@@ -175,4 +175,13 @@ public class ActFlowCommonService {
|
||||
String userId = UserUtils.getUserId();
|
||||
return this.taskInfoList(userId, centerQueryVO, pageNo, pageSize);
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断任务是否存在
|
||||
* @param taskId
|
||||
* @return
|
||||
*/
|
||||
public boolean taskExists(String taskId) {
|
||||
return taskService.createTaskQuery().taskId(taskId).singleResult() != null;
|
||||
}
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package com.jero.modules.activiti.process.common.service;
|
||||
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_draft】的数据库操作Service
|
||||
* @createDate 2023-10-12 10:45:38
|
||||
*/
|
||||
public interface ProcessDraftService extends IService<ProcessDraft> {
|
||||
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package com.jero.modules.activiti.process.common.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
import com.jero.modules.activiti.process.common.mapper.ProcessDraftMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_draft】的数据库操作Service实现
|
||||
* @createDate 2023-10-12 10:45:38
|
||||
*/
|
||||
@Service
|
||||
public class ProcessDraftServiceImpl extends ServiceImpl<ProcessDraftMapper, ProcessDraft>
|
||||
implements ProcessDraftService {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+23
-3
@@ -1,9 +1,13 @@
|
||||
package com.jero.modules.activiti.process.esInitChange.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.common.service.IActFlowCustomService;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
import com.jero.modules.activiti.process.esInitChange.entity.ProcessEsInitChange;
|
||||
import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChangeService;
|
||||
import com.jero.modules.activiti.process.esInitChange.mapper.ProcessEsInitChangeMapper;
|
||||
@@ -17,6 +21,7 @@ import org.springframework.util.CollectionUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
@@ -29,6 +34,9 @@ import java.util.*;
|
||||
public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitChangeMapper, ProcessEsInitChange>
|
||||
implements ProcessEsInitChangeService, IActFlowCustomService {
|
||||
|
||||
@Resource
|
||||
private ProcessDraftService processDraftService;
|
||||
|
||||
@Resource
|
||||
private ActFlowCommonService actFlowCommonService;
|
||||
|
||||
@@ -140,16 +148,28 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
|
||||
|
||||
@Override
|
||||
public void saveToWait(String taskId, List<ProcessEsInitChange> esInitChangeList) {
|
||||
// TODO 检查任务是否存在
|
||||
// 检查任务是否存在
|
||||
if (!actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("任务不存在");
|
||||
}
|
||||
saveOrUpdateBatch(esInitChangeList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveToDraft(List<ProcessEsInitChange> esInitChange) {
|
||||
// TODO 保存到草稿
|
||||
|
||||
saveOrUpdateBatch(esInitChange);
|
||||
// 先删后增
|
||||
LambdaUpdateWrapper<ProcessDraft> draftWrapper = new LambdaUpdateWrapper<>();
|
||||
draftWrapper.in(ProcessDraft::getBusinessId, esInitChange.stream().map(ProcessEsInitChange::getId).collect(Collectors.toList()));
|
||||
processDraftService.remove(draftWrapper);
|
||||
List<ProcessDraft> draftList = new ArrayList<>();
|
||||
for (ProcessEsInitChange esInitChangeItem : esInitChange) {
|
||||
ProcessDraft draft = new ProcessDraft();
|
||||
draft.setDraftId(UUID.randomUUID().toString());
|
||||
draft.setBusinessId(esInitChangeItem.getId());
|
||||
draftList.add(draft);
|
||||
}
|
||||
processDraftService.saveBatch(draftList);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user