feat: There is no way the task exec

This commit is contained in:
super_liu
2021-09-25 11:43:43 +08:00
parent 86397d169d
commit 5bbe5f42c0
8 changed files with 209 additions and 5 deletions
@@ -0,0 +1,21 @@
package com.ydw.bat.wkflow.business_main.datas.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* OA 干活任务执行表 前端控制器
* </p>
*
* @author Super_liu
* @since 2021-09-24
*/
@RestController
@RequestMapping("/oaTaskExec")
public class OaTaskExecController {
}
@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -92,4 +94,17 @@ public class BusProcessNew implements Serializable {
@TableField( exist = false)
@ApiModelProperty(value = "OA link")
private String link;
@TableField( exist = false)
@ApiModelProperty(value = "干活任务截止时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private String endTime;
@TableField( exist = false)
@ApiModelProperty(value = "任务状态 1 审批任务 2 干活任务")
private int taskStatus;
@TableField( exist = false)
@ApiModelProperty(value = "维度 1 3天内 2 3天外")
private int execType;
}
@@ -0,0 +1,85 @@
package com.ydw.bat.wkflow.business_main.datas.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* OA 干活任务执行表
* </p>
*
* @author Super_liu
* @since 2021-09-24
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="OaTaskExec对象", description="OA 干活任务执行表")
public class OaTaskExec implements Serializable {
private static final long serialVersionUID=1L;
@ApiModelProperty(value = "主键")
@TableId("ID")
private String id;
@ApiModelProperty(value = "执行维度 1 3天内 2 3天外")
@TableField("EXEC_TYPE")
private int execType;
@ApiModelProperty(value = "待办ID")
@TableField("TODO_ID")
private String todoId;
@ApiModelProperty(value = "待办用户ID")
@TableField("USER_ID")
private String userId;
@ApiModelProperty(value = "待办对象JSON")
@TableField("MESG")
private String mesg;
@ApiModelProperty(value = "执行状态 0 未启动 1 已启动 2 已完成")
@TableField("EXEC_STATUS")
private int execStatus;
@ApiModelProperty(value = "执行时间")
@TableField("EXEC_TIME")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private String execTime;
@ApiModelProperty(value = "截止时间")
@TableField("END_TIME")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private String endTime;
@ApiModelProperty(value = "创建时间")
@TableField("CREATE_TIME")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private String createTime;
@ApiModelProperty(value = "更新时间")
@TableField("UPDATE_TIME")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private String updateTime;
@ApiModelProperty(value = "参数1")
@TableField("PARAM1")
private int param1;
@ApiModelProperty(value = "参数2")
@TableField("PARAM2")
private String param2;
}
@@ -0,0 +1,16 @@
package com.ydw.bat.wkflow.business_main.datas.mapper;
import com.ydw.bat.wkflow.business_main.datas.entity.OaTaskExec;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* OA 干活任务执行表 Mapper 接口
* </p>
*
* @author Super_liu
* @since 2021-09-24
*/
public interface OaTaskExecMapper extends BaseMapper<OaTaskExec> {
}
@@ -0,0 +1,16 @@
package com.ydw.bat.wkflow.business_main.datas.service;
import com.ydw.bat.wkflow.business_main.datas.entity.OaTaskExec;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* OA 干活任务执行表 服务类
* </p>
*
* @author Super_liu
* @since 2021-09-24
*/
public interface IOaTaskExecService extends IService<OaTaskExec> {
}
@@ -0,0 +1,20 @@
package com.ydw.bat.wkflow.business_main.datas.service.impl;
import com.ydw.bat.wkflow.business_main.datas.entity.OaTaskExec;
import com.ydw.bat.wkflow.business_main.datas.mapper.OaTaskExecMapper;
import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* OA 干活任务执行表 服务实现类
* </p>
*
* @author Super_liu
* @since 2021-09-24
*/
@Service
public class OaTaskExecServiceImpl extends ServiceImpl<OaTaskExecMapper, OaTaskExec> implements IOaTaskExecService {
}
@@ -3,15 +3,14 @@ package com.ydw.bat.wkflow.business_mq.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.rabbitmq.client.Channel;
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage;
import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog;
import com.ydw.bat.wkflow.business_main.datas.entity.UserVO;
import com.ydw.bat.wkflow.business_main.datas.entity.*;
import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper;
import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService;
import com.ydw.bat.wkflow.business_oa.utils.EmailUtils;
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -25,6 +24,9 @@ import org.springframework.messaging.Message;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -46,6 +48,9 @@ public class SendMQService {
@Autowired
private SendTodoLogMapper sendTodoLogMapper;
@Autowired
private IOaTaskExecService oaTaskExecService;
@Autowired
private LawsUserInfoService lawsUserInfoService;
@@ -57,7 +62,28 @@ public class SendMQService {
try{
try{
Thread.sleep(5000);
insertOrUpdateInfo(object);
if(object.getTaskStatus() == 2 && object.getEndTime() != null && StringUtils.isNotBlank(object.getEndTime())){
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd");
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
LocalDate startDate = LocalDate.parse(new SimpleDateFormat("yyyy-MM-dd").format(new Date()),fmt);
LocalDate endDate = LocalDate.parse(object.getEndTime(),fmt);
int days = (int) startDate.until(endDate, ChronoUnit.DAYS);
// 3 天 外
if(days > 3){
// 待
OaTaskExec oaTaskExec = new OaTaskExec();
oaTaskExec.setExecType(2);
oaTaskExec.setCreateTime(sdf.format(new Date()));
oaTaskExec.setUpdateTime(sdf.format(new Date()));
oaTaskExecService.save(oaTaskExec);
}else {
// 3 天 内 发送 OA 待办
insertOrUpdateInfo(object);
}
}else {
// 正常逻辑发送 OA 待办
insertOrUpdateInfo(object);
}
}catch(InterruptedException e){
logger.error(e.toString());
Thread.currentThread().interrupt();
@@ -0,0 +1,5 @@
<?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.ydw.bat.wkflow.business_main.datas.mapper.OaTaskExecMapper">
</mapper>