add:待办推送记录推送结果
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
DROP TABLE IF EXISTS `laws_unified_todo_log`;
|
||||
CREATE TABLE `laws_unified_todo_log` (
|
||||
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '推送地址',
|
||||
`json_str` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '推送内容',
|
||||
`response_body` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '返回值',
|
||||
`state` int NULL DEFAULT NULL COMMENT '状态1成功,2失败',
|
||||
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
|
||||
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
|
||||
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
||||
`message_type` int NULL DEFAULT NULL COMMENT '消息类型1:OA消息 2:飞书',
|
||||
`type` int NULL DEFAULT NULL COMMENT '消息处理类型: 1待办,2已办,3结束,6删除,其他是待办已办',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '统一代办推送日志表' ROW_FORMAT = DYNAMIC;
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
INSERT INTO `sys_dict`(`id`, `dict_name`, `dict_en_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `type`, `is_tag_dict`, `is_read_only`, `attribute_type`, `order_num`) VALUES ('1816762153966465026', '任务类型', NULL, 'task_type', '', 0, 'admin', '2024-07-26 17:07:06', NULL, NULL, NULL, 0, 0, NULL, NULL);
|
||||
INSERT INTO `sys_dict_item`(`id`, `dict_id`, `parent_id`, `item_text`, `en_name`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `stat_node`) VALUES ('1816762430140411905', '1816762153966465026', '0', '删除', NULL, '6', '', 6, 1, 'admin', '2024-07-26 17:08:12', NULL, NULL, 0, 0, NULL, '0', NULL);
|
||||
INSERT INTO `sys_dict_item`(`id`, `dict_id`, `parent_id`, `item_text`, `en_name`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `stat_node`) VALUES ('1816762385068421122', '1816762153966465026', '0', '结束', NULL, '3', '', 3, 1, 'admin', '2024-07-26 17:08:01', NULL, NULL, 0, 0, NULL, '0', NULL);
|
||||
INSERT INTO `sys_dict_item`(`id`, `dict_id`, `parent_id`, `item_text`, `en_name`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `stat_node`) VALUES ('1816762266797436930', '1816762153966465026', '0', '已办', NULL, '2', '', 2, 1, 'admin', '2024-07-26 17:07:33', NULL, NULL, 0, 0, NULL, '0', NULL);
|
||||
INSERT INTO `sys_dict_item`(`id`, `dict_id`, `parent_id`, `item_text`, `en_name`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `stat_node`) VALUES ('1816762222031630337', '1816762153966465026', '0', '待办', NULL, '1', '', 1, 1, 'admin', '2024-07-26 17:07:22', NULL, NULL, 0, 0, NULL, '0', NULL);
|
||||
|
||||
+164
@@ -0,0 +1,164 @@
|
||||
package com.jero.modules.docking.hiwork.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.docking.hiwork.entity.LawsUnifiedTodoLog;
|
||||
import com.jero.modules.docking.hiwork.service.LawsUnifiedTodoLogService;
|
||||
import com.jero.modules.docking.hiwork.service.impl.LawsUnifiedTodoLogServiceImpl;
|
||||
import com.jero.modules.system.vo.IdMapBody;
|
||||
import com.jero.modules.system.vo.IdsMapBody;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 统一代办推送日志表(laws_unified_todo_log)表控制层
|
||||
*
|
||||
* @author xxxxx
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "统一代办推送日志表")
|
||||
@RestController
|
||||
@RequestMapping("/lawsUnifiedTodoLog")
|
||||
public class LawsUnifiedTodoLogController extends JeroController<LawsUnifiedTodoLog, LawsUnifiedTodoLogServiceImpl> {
|
||||
/**
|
||||
* 服务对象
|
||||
*/
|
||||
@Resource
|
||||
private LawsUnifiedTodoLogService lawsUnifiedTodoLogService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*/
|
||||
@ApiOperation(value = "统一代办推送日志表-分页列表查询", notes = "统一代办推送日志表-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<IPage<LawsUnifiedTodoLog>> queryPageList(LawsUnifiedTodoLog lawsUnifiedTodoLog,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
return lawsUnifiedTodoLogService.getPage(lawsUnifiedTodoLog,pageNo,pageSize,req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*/
|
||||
@ApiOperation(value = "统一代办推送日志表-列表查询", notes = "统一代办推送日志表-列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<LawsUnifiedTodoLog>> queryList(LawsUnifiedTodoLog lawsUnifiedTodoLog,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<LawsUnifiedTodoLog> queryWrapper = QueryGenerator.initQueryWrapper(lawsUnifiedTodoLog, req.getParameterMap());
|
||||
List<LawsUnifiedTodoLog> list = lawsUnifiedTodoLogService.list(queryWrapper);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*/
|
||||
@AutoLog(value = "统一代办推送日志表-添加")
|
||||
@ApiOperation(value = "统一代办推送日志表-添加", notes = "统一代办推送日志表-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<String> add(@Validated @RequestBody LawsUnifiedTodoLog lawsUnifiedTodoLog) {
|
||||
lawsUnifiedTodoLogService.add(lawsUnifiedTodoLog);
|
||||
return Result.OK(ResultCommon.OK);
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*/
|
||||
@AutoLog(value = "统一代办推送日志表-编辑")
|
||||
@ApiOperation(value = "统一代办推送日志表-编辑", notes = "统一代办推送日志表-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<String> edit(@Validated @RequestBody LawsUnifiedTodoLog lawsUnifiedTodoLog) {
|
||||
lawsUnifiedTodoLogService.editById(lawsUnifiedTodoLog);
|
||||
return Result.OK(ResultCommon.EDIT_OK);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*/
|
||||
@AutoLog(value = "统一代办推送日志表-通过id删除")
|
||||
@ApiOperation(value = "统一代办推送日志表-通过id删除", notes = "统一代办推送日志表-通过id删除")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<String> delete(@RequestBody IdMapBody map) {
|
||||
String id = map.getId();
|
||||
if (StringUtils.isBlank(id)) {
|
||||
return Result.error(ResultCommon.PLEASE_SELECT_DATA);
|
||||
}
|
||||
lawsUnifiedTodoLogService.deleteById(id);
|
||||
return Result.OK(ResultCommon.SUCCESSFULLY_DELETED);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*/
|
||||
@AutoLog(value = "统一代办推送日志表-批量删除")
|
||||
@ApiOperation(value = "统一代办推送日志表-批量删除", notes = "统一代办推送日志表-批量删除")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
public Result<String> deleteBatch(@RequestBody IdsMapBody map) {
|
||||
String ids = map.getIds();
|
||||
if (StringUtils.isBlank(ids)) {
|
||||
return Result.error(ResultCommon.PLEASE_SELECT_DATA);
|
||||
}
|
||||
List<String> idList = Arrays.asList(map.getIds().split(","));
|
||||
this.lawsUnifiedTodoLogService.deleteByIds(idList);
|
||||
return Result.OK(ResultCommon.SUCCESSFULLY_DELETED_IN_BULK);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*/
|
||||
@AutoLog(value = "统一代办推送日志表-通过id查询")
|
||||
@ApiOperation(value = "统一代办推送日志表-通过id查询", notes = "统一代办推送日志表-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<LawsUnifiedTodoLog> queryById(@RequestParam(name = "id") String id) {
|
||||
LawsUnifiedTodoLog lawsUnifiedTodoLog = lawsUnifiedTodoLogService.queryById(id);
|
||||
if (lawsUnifiedTodoLog == null) {
|
||||
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
|
||||
}
|
||||
return Result.OK(lawsUnifiedTodoLog);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*/
|
||||
@ApiOperation(value = "统一代办推送日志表-导出excel")
|
||||
@GetMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, LawsUnifiedTodoLog lawsUnifiedTodoLog) {
|
||||
return super.exportXls(request, lawsUnifiedTodoLog, LawsUnifiedTodoLog.class, "统一代办推送日志表");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过excel导入数据
|
||||
*/
|
||||
@ApiOperation(value = "统一代办推送日志表-通过excel导入数据")
|
||||
@PostMapping(value = "/importExcel")
|
||||
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||
return super.importExcel(request, response, LawsUnifiedTodoLog.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送
|
||||
*/
|
||||
@AutoLog(value = "统一代办推送日志表-发送")
|
||||
@ApiOperation(value = "统一代办推送日志表-发送", notes = "统一代办推送日志表-发送")
|
||||
@PostMapping(value = "/send")
|
||||
public Result<String> send(@RequestBody LawsUnifiedTodoLog lawsUnifiedTodoLog) {
|
||||
return lawsUnifiedTodoLogService.send(lawsUnifiedTodoLog);
|
||||
}
|
||||
|
||||
}
|
||||
+96
@@ -0,0 +1,96 @@
|
||||
package com.jero.modules.docking.hiwork.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 com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
*统一代办推送日志表
|
||||
*@author liJiaRao
|
||||
*@date 2024-07-12 14:02
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(description="统一代办推送日志表")
|
||||
@TableName(value = "laws_unified_todo_log")
|
||||
public class LawsUnifiedTodoLog {
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value="")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 推送地址
|
||||
*/
|
||||
@TableField(value = "url")
|
||||
@ApiModelProperty(value="推送地址")
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* 推送内容
|
||||
*/
|
||||
@TableField(value = "json_str")
|
||||
@ApiModelProperty(value="推送内容")
|
||||
private String jsonStr;
|
||||
/**
|
||||
* 返回内容
|
||||
*/
|
||||
@TableField(value = "response_body")
|
||||
@ApiModelProperty(value="返回内容")
|
||||
private String responseBody;
|
||||
|
||||
/**
|
||||
* 状态1成功,2失败
|
||||
*/
|
||||
@TableField(value = "`state`")
|
||||
@ApiModelProperty(value="状态1成功,2失败")
|
||||
@Dict(dicCode = "msgSendStatus")
|
||||
private Integer state;
|
||||
|
||||
/**
|
||||
* 任务处理类型: 1待办,2已办,3结束,6删除,其他是待办已办
|
||||
*/
|
||||
@ApiModelProperty(value="消息处理类型: 1待办,2已办,3结束,6删除,其他是待办已办")
|
||||
@Dict(dicCode = "task_type")
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 消息类型1:OA消息
|
||||
*/
|
||||
@ApiModelProperty(value="消息类型1:OA消息")
|
||||
private Integer messageType;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField(value = "create_by")
|
||||
@ApiModelProperty(value="创建人")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time")
|
||||
@ApiModelProperty(value="创建时间")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField(value = "update_by")
|
||||
@ApiModelProperty(value="更新人")
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(value = "update_time")
|
||||
@ApiModelProperty(value="更新时间")
|
||||
private Date updateTime;
|
||||
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package com.jero.modules.docking.hiwork.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.docking.hiwork.entity.LawsUnifiedTodoLog;
|
||||
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
*@date 2024-07-12 14:02
|
||||
*/
|
||||
public interface LawsUnifiedTodoLogMapper extends BaseMapper<LawsUnifiedTodoLog> {
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
<?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.docking.hiwork.mapper.LawsUnifiedTodoLogMapper">
|
||||
<resultMap id="BaseResultMap" type="com.jero.modules.docking.hiwork.entity.LawsUnifiedTodoLog">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table laws_unified_todo_log-->
|
||||
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||
<result column="url" jdbcType="VARCHAR" property="url" />
|
||||
<result column="type" jdbcType="INTEGER" property="type" />
|
||||
<result column="json_str" jdbcType="VARCHAR" property="jsonStr" />
|
||||
<result column="state" jdbcType="INTEGER" property="state" />
|
||||
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
id, url, `type`, json_str, `state`, create_by, create_time, update_by, update_time
|
||||
</sql>
|
||||
</mapper>
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
package com.jero.modules.docking.hiwork.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.docking.hiwork.entity.LawsUnifiedTodoLog;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
*@date 2024-07-12 14:02
|
||||
*/
|
||||
public interface LawsUnifiedTodoLogService extends IService<LawsUnifiedTodoLog> {
|
||||
|
||||
/**
|
||||
* 分页
|
||||
* @param lawsUnifiedTodoLog
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
Result<IPage<LawsUnifiedTodoLog>> getPage(LawsUnifiedTodoLog lawsUnifiedTodoLog, Integer pageNo,Integer pageSize,
|
||||
HttpServletRequest req);
|
||||
|
||||
void add(LawsUnifiedTodoLog lawsUnifiedTodoLog);
|
||||
|
||||
void editById(LawsUnifiedTodoLog lawsUnifiedTodoLog);
|
||||
|
||||
void deleteById(String id);
|
||||
|
||||
void deleteByIds(List<String> idList);
|
||||
|
||||
LawsUnifiedTodoLog queryById(String id);
|
||||
|
||||
/**
|
||||
* 发送
|
||||
* @param lawsUnifiedTodoLog
|
||||
* @return
|
||||
*/
|
||||
Result<String> send(LawsUnifiedTodoLog lawsUnifiedTodoLog);
|
||||
}
|
||||
+45
-22
@@ -18,6 +18,8 @@ import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeService;
|
||||
import com.jero.modules.docking.hiwork.entity.HiworkTodo;
|
||||
import com.jero.modules.docking.hiwork.entity.LawsUnifiedTodoLog;
|
||||
import com.jero.modules.docking.hiwork.service.LawsUnifiedTodoLogService;
|
||||
import com.jero.modules.docking.hiwork.util.HiworkPostUtil;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
@@ -27,7 +29,6 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.Instant;
|
||||
import java.util.ArrayList;
|
||||
@@ -56,6 +57,8 @@ public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
||||
private ProcessAllService processAllService;
|
||||
@Resource
|
||||
private RestTemplate restTemplate;
|
||||
@Resource
|
||||
private LawsUnifiedTodoLogService unifiedTodoLogService;
|
||||
|
||||
@Value("${hiwork.ip}")
|
||||
private String ip;
|
||||
@@ -97,13 +100,8 @@ public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
||||
List<HiworkTodo> hiworkTodoList = getHiworkTodos(hiworkTodoAddList);
|
||||
log.info("统一待办推送入参" + JSON.toJSONString(hiworkTodoList));
|
||||
log.info("统一待办推送url" + ip + todoUrl);
|
||||
// 远程调用
|
||||
JSONObject json = restTemplate.postForObject(ip + todoUrl,hiworkTodoList, JSONObject.class);
|
||||
if(!Objects.isNull(json) && json.containsKey("success") && Objects.equals("true",json.getString("success"))){
|
||||
log.info("统一待办推送成功");
|
||||
}else{
|
||||
log.info("统一待办推送失败{}",json);
|
||||
}
|
||||
String isTodo = hiworkTodoList.get(0).getIsTodo();
|
||||
push(ip + todoUrl,JSON.toJSONString(hiworkTodoAddList),isTodo);
|
||||
}catch (Exception e){
|
||||
log.error("统一待办推送异常",e);
|
||||
}
|
||||
@@ -119,15 +117,11 @@ public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
||||
hiworkTodoAdd.setType(TODO_TYPE_3);
|
||||
}
|
||||
List<HiworkTodo> hiworkTodoList = getHiworkTodos(hiworkTodoAddList);
|
||||
log.info("统一待办推送入参" + JSON.toJSONString(hiworkTodoList));
|
||||
log.info("统一待办推送入参" + JSON.toJSONString(hiworkTodoAddList));
|
||||
log.info("统一待办推送url" + ip + todoUrl);
|
||||
// 远程调用
|
||||
JSONObject json = restTemplate.postForObject(ip + todoUrl,hiworkTodoList, JSONObject.class);
|
||||
if(!Objects.isNull(json) && json.containsKey("success") && Objects.equals("true",json.getString("success"))){
|
||||
log.info("统一待办推送成功");
|
||||
}else{
|
||||
log.info("统一待办推送失败{}",json);
|
||||
}
|
||||
|
||||
String isTodo = hiworkTodoList.get(0).getIsTodo();
|
||||
push(ip + todoUrl,JSON.toJSONString(hiworkTodoAddList),isTodo);
|
||||
}catch (Exception e){
|
||||
log.error("统一待办推送异常",e);
|
||||
}
|
||||
@@ -146,17 +140,46 @@ public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
||||
log.info("统一待办删除推送入参" + JSON.toJSONString(hiworkTodoList));
|
||||
log.info("统一待办推送url" + ip + todoUrl);
|
||||
// 远程调用
|
||||
JSONObject json = restTemplate.postForObject(ip + todoUrl,hiworkTodoList, JSONObject.class);
|
||||
if(!Objects.isNull(json) && json.containsKey("success") && Objects.equals("true",json.getString("success"))){
|
||||
log.info("统一待办删除推送成功");
|
||||
}else{
|
||||
log.info("统一待办删除推送失败{}",json);
|
||||
}
|
||||
String isTodo = hiworkTodoList.get(0).getIsTodo();
|
||||
push(ip + todoUrl,JSON.toJSONString(hiworkTodoAddList),isTodo);
|
||||
}catch (Exception e){
|
||||
log.error("统一待办删除推送异常",e);
|
||||
}
|
||||
}
|
||||
|
||||
private void push(String url, String jsonString, String type) {
|
||||
// 设置最大重试次数
|
||||
int maxRetries = 3;
|
||||
// 当前重试次数
|
||||
int retries = 0;
|
||||
LawsUnifiedTodoLog lawsUnifiedTodoLog = new LawsUnifiedTodoLog();
|
||||
lawsUnifiedTodoLog.setType(Integer.valueOf(type));
|
||||
while (retries < maxRetries) {
|
||||
// 远程调用
|
||||
// JSONObject json = new JSONObject();
|
||||
// json.put("success5", true);
|
||||
JSONObject json = restTemplate.postForObject(url,jsonString, JSONObject.class);
|
||||
if(!Objects.isNull(json) && json.containsKey("success") && Objects.equals("true",json.getString("success"))){
|
||||
log.info("统一待办推送成功");
|
||||
lawsUnifiedTodoLog.setResponseBody(JSON.toJSONString(json));
|
||||
break;
|
||||
}else{
|
||||
lawsUnifiedTodoLog.setResponseBody(JSON.toJSONString(json));
|
||||
log.info("统一待办推送失败{}",json);
|
||||
retries++;
|
||||
}
|
||||
}
|
||||
lawsUnifiedTodoLog.setUrl(url);
|
||||
lawsUnifiedTodoLog.setJsonStr(jsonString);
|
||||
if (retries == maxRetries){
|
||||
lawsUnifiedTodoLog.setState(2);
|
||||
}else {
|
||||
lawsUnifiedTodoLog.setState(1);
|
||||
}
|
||||
unifiedTodoLogService.add(lawsUnifiedTodoLog);
|
||||
}
|
||||
|
||||
|
||||
@NotNull
|
||||
private List<HiworkTodo> getHiworkTodos(List<HiworkTodoAdd> hiworkTodoAddList) {
|
||||
List<HiworkTodo> hiworkTodoList = new ArrayList<>();
|
||||
|
||||
+114
@@ -0,0 +1,114 @@
|
||||
package com.jero.modules.docking.hiwork.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alibaba.fastjson.TypeReference;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.PushWorkflowIntegrationAPI;
|
||||
import com.jero.common.api.dto.message.HiworkTodoAdd;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.docking.hiwork.entity.HiworkTodo;
|
||||
import com.jero.modules.docking.hiwork.entity.LawsUnifiedTodoLog;
|
||||
import com.jero.modules.docking.hiwork.enums.IsTodoEnum;
|
||||
import com.jero.modules.docking.hiwork.mapper.LawsUnifiedTodoLogMapper;
|
||||
import com.jero.modules.docking.hiwork.service.LawsUnifiedTodoLogService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
*@date 2024-07-12 14:02
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class LawsUnifiedTodoLogServiceImpl extends ServiceImpl<LawsUnifiedTodoLogMapper, LawsUnifiedTodoLog>
|
||||
implements LawsUnifiedTodoLogService{
|
||||
|
||||
@Resource
|
||||
private PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI;
|
||||
@Value("${hiwork.ip}")
|
||||
private String ip;
|
||||
@Value("${hiwork.todoUrl}")
|
||||
private String todoUrl;
|
||||
@Value("${hiwork.isWorkflow}")
|
||||
private boolean isWorkflow;
|
||||
|
||||
|
||||
private static final String TODO_TYPE_2 = "2";
|
||||
private static final String TODO_TYPE_3 = "3";
|
||||
private static final String TODO_TYPE_6 = "6";
|
||||
|
||||
@Override
|
||||
public Result<IPage<LawsUnifiedTodoLog>> getPage(LawsUnifiedTodoLog lawsUnifiedTodoLog, Integer pageNo,
|
||||
Integer pageSize, HttpServletRequest req) {
|
||||
QueryWrapper<LawsUnifiedTodoLog> queryWrapper = QueryGenerator.initQueryWrapper(lawsUnifiedTodoLog, req.getParameterMap());
|
||||
Page<LawsUnifiedTodoLog> page = new Page<>(pageNo, pageSize);
|
||||
IPage<LawsUnifiedTodoLog> pageList = page(page, queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
@Override
|
||||
public void add(LawsUnifiedTodoLog lawsUnifiedTodoLog) {
|
||||
this.save(lawsUnifiedTodoLog);
|
||||
}
|
||||
@Override
|
||||
public void editById(LawsUnifiedTodoLog lawsUnifiedTodoLog) {
|
||||
this.updateById(lawsUnifiedTodoLog);
|
||||
}
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
this.removeById(id);
|
||||
}
|
||||
@Override
|
||||
public void deleteByIds(List<String> idList) {
|
||||
for (String id : idList) {
|
||||
deleteById(id);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public LawsUnifiedTodoLog queryById(String id) {
|
||||
LawsUnifiedTodoLog lawsUnifiedTodoLog = this.getById(id);
|
||||
return lawsUnifiedTodoLog;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<String> send(LawsUnifiedTodoLog lawsUnifiedTodoLog) {
|
||||
LawsUnifiedTodoLog lawsUnifiedTodoLogObj = getById(lawsUnifiedTodoLog.getId());
|
||||
if(Objects.isNull(lawsUnifiedTodoLogObj)){
|
||||
return Result.error("数据不存在");
|
||||
}
|
||||
|
||||
String jsonStr = lawsUnifiedTodoLog.getJsonStr();
|
||||
String type = lawsUnifiedTodoLog.getType().toString(); // 当前任务的状态类型
|
||||
// 转换为List<HiworkTodo>
|
||||
List<HiworkTodoAdd> hiworkTodoAddList = JSON.parseObject(jsonStr, new TypeReference<List<HiworkTodoAdd>>() {});
|
||||
if (IsTodoEnum.TODO.getValue().equals(type) || IsTodoEnum.DONE.getValue().equals(type)) {
|
||||
// 如果是待办或已办,走待办发送消息
|
||||
pushWorkflowIntegrationAPI.sendTodoTask(hiworkTodoAddList);
|
||||
}else if (IsTodoEnum.FINISH.getValue().equals(type)) {
|
||||
// 如果是结束,调用流程结束的发送消息
|
||||
pushWorkflowIntegrationAPI.sendActivityComplete(hiworkTodoAddList);
|
||||
}else {
|
||||
// 如果是删除,走删除发送消息
|
||||
pushWorkflowIntegrationAPI.sendDeleteTask(hiworkTodoAddList);
|
||||
}
|
||||
LambdaUpdateWrapper<LawsUnifiedTodoLog> queryLawsUnifiedTodoLog = new LambdaUpdateWrapper<>();
|
||||
queryLawsUnifiedTodoLog.eq(LawsUnifiedTodoLog::getId,lawsUnifiedTodoLog.getId());
|
||||
queryLawsUnifiedTodoLog.set(LawsUnifiedTodoLog::getState,1);
|
||||
update(queryLawsUnifiedTodoLog);
|
||||
return Result.OK("操作成功");
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user