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();
|
String userId = UserUtils.getUserId();
|
||||||
return this.taskInfoList(userId, centerQueryVO, pageNo, pageSize);
|
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;
|
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.jero.common.exception.JeroBootException;
|
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.ActFlowCommonService;
|
||||||
import com.jero.modules.activiti.process.common.service.IActFlowCustomService;
|
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.entity.ProcessEsInitChange;
|
||||||
import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChangeService;
|
import com.jero.modules.activiti.process.esInitChange.service.ProcessEsInitChangeService;
|
||||||
import com.jero.modules.activiti.process.esInitChange.mapper.ProcessEsInitChangeMapper;
|
import com.jero.modules.activiti.process.esInitChange.mapper.ProcessEsInitChangeMapper;
|
||||||
@@ -17,6 +21,7 @@ import org.springframework.util.CollectionUtils;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author ThinkBook
|
* @author ThinkBook
|
||||||
@@ -29,6 +34,9 @@ import java.util.*;
|
|||||||
public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitChangeMapper, ProcessEsInitChange>
|
public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitChangeMapper, ProcessEsInitChange>
|
||||||
implements ProcessEsInitChangeService, IActFlowCustomService {
|
implements ProcessEsInitChangeService, IActFlowCustomService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ProcessDraftService processDraftService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private ActFlowCommonService actFlowCommonService;
|
private ActFlowCommonService actFlowCommonService;
|
||||||
|
|
||||||
@@ -140,16 +148,28 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl<ProcessEsInitCha
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void saveToWait(String taskId, List<ProcessEsInitChange> esInitChangeList) {
|
public void saveToWait(String taskId, List<ProcessEsInitChange> esInitChangeList) {
|
||||||
// TODO 检查任务是否存在
|
|
||||||
// 检查任务是否存在
|
// 检查任务是否存在
|
||||||
|
if (!actFlowCommonService.taskExists(taskId)) {
|
||||||
|
throw new JeroBootException("任务不存在");
|
||||||
|
}
|
||||||
saveOrUpdateBatch(esInitChangeList);
|
saveOrUpdateBatch(esInitChangeList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void saveToDraft(List<ProcessEsInitChange> esInitChange) {
|
public void saveToDraft(List<ProcessEsInitChange> esInitChange) {
|
||||||
// TODO 保存到草稿
|
|
||||||
|
|
||||||
saveOrUpdateBatch(esInitChange);
|
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