From 236f80305991d3517c84e70b2645a80a52ad1294 Mon Sep 17 00:00:00 2001
From: wangwh <2397901735@qq.com>
Date: Mon, 28 Oct 2024 14:42:57 +0800
Subject: [PATCH] fix: 1、添加日志记录; 2、修改请求网格系统待办接口的传参objId值为本系统caseId; 3、添加办理中时联合处置申请的网格待办。
---
dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridToDoService.java | 246 +++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 217 insertions(+), 29 deletions(-)
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridToDoService.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridToDoService.java
index f792cf3..b88d4af 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridToDoService.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridToDoService.java
@@ -1,68 +1,169 @@
package cn.huge.module.grid.service;
import cn.huge.base.common.bo.R;
-import cn.huge.base.common.utils.HttpClientUtils;
+import cn.huge.base.common.utils.*;
+import cn.huge.module.grid.dao.mapper.GridCaseTaskMapper;
+import cn.huge.module.grid.domain.po.GridCaseTask;
+import cn.huge.module.sys.vo.*;
import cn.huge.module.grid.domain.vo.*;
+import com.alibaba.druid.support.logging.Log;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.serializer.SerializerFeature;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
-import java.util.HashMap;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
+import java.util.stream.Collectors;
@Slf4j
@Service
public class GridToDoService {
- private String gridUrl = "http://219.137.166.84:8061";
+ @Value("${grid.url:http://219.137.166.84:8061}")
+ private String gridUrl;
+ @Value("${grid.username:mtxt0011}")
+ private String userName;
+ @Value("${grid.password}")
+ private String passWord;
+ private String testUrl = "http://183.2.142.21:9007";
+ @Autowired
+ private GridCaseTaskService gridCaseTaskService;
+ @Autowired
+ private GridUserService gridUserService;
+ @Autowired
+ private GridCaseTaskMapper gridCaseTaskMapper;
public R<GridToDoVo> createToDo(GridToDoVo gridToDoVo) {
- HeadVo headVo = iniHeadVo();
+ HeadVo headVo = initHeadVo();
GridToDoRequestVo requestVo = new GridToDoRequestVo();
requestVo.setHeadVo(headVo);
requestVo.setBodyVo(gridToDoVo);
- log.info("xsd:{}", JSON.toJSONString(requestVo));
- log.info("xsd:{}",gridUrl + "/sysUserTodo/save");
+ log.info("xsd:{}", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty));
+ log.info("xsd:{}", gridUrl + "/sysUserTodo/save");
String s = null;
try {
- s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/save", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
+ s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/save", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
} catch (Exception e) {
log.info("xsderror:{}", e);
throw new RuntimeException(e);
}
log.info("xsd:{}", s);
GridToDoVo gridToDoDto = JSONObject.parseObject(s).getObject("data", GridToDoVo.class);
+ if (ObjectUtils.isNotEmpty(gridToDoDto)) {
+ GridCaseTask gridCaseTask = new GridCaseTask();
+ BeanUtils.copyProperties(gridToDoDto, gridCaseTask);
+ gridCaseTaskService.save(gridCaseTask);
+ }
return R.ok(gridToDoDto);
}
- public R<GridToDoVo> updateToDo(GridToDoVo gridToDoVo) {
- HeadVo headVo = iniHeadVo();
- GridToDoRequestVo requestVo = new GridToDoRequestVo();
+ public R<List<GridToDoVo>> batchCreateToDo(GridToDoBacthVo gridToDoVo) {
+ HeadVo headVo = initHeadVo();
+ GridToDoBatchRequestVo requestVo = new GridToDoBatchRequestVo();
requestVo.setHeadVo(headVo);
requestVo.setBodyVo(gridToDoVo);
+
String s = null;
try {
- s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/update", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
+ if (SpringContextUtil.checkDev()) {
+ log.info("xsd:{}", JSON.toJSONString(gridToDoVo, SerializerFeature.WriteNullStringAsEmpty));
+ log.info("xsd:{}", testUrl + "/api/thrid/grid/todo/batch-create-todo" + JSON.toJSONString(gridToDoVo, SerializerFeature.WriteNullStringAsEmpty));
+ s = HttpClientUtils.httpPostRaw(testUrl + "/api/thrid/grid/todo/batch-create-todo", JSON.toJSONString(gridToDoVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
+ } else {
+ log.info("xsd:{}", JSON.toJSONString(gridToDoVo, SerializerFeature.WriteNullStringAsEmpty));
+ log.info("xsd:{}", gridUrl + "/sysUserTodo/saveBatch" + JSON.toJSONString(gridToDoVo, SerializerFeature.WriteNullStringAsEmpty));
+ s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/saveBatch", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
+ }
} catch (Exception e) {
log.info("xsderror:{}", e);
throw new RuntimeException(e);
}
- gridToDoVo = JSONObject.parseObject(s, GridToDoVo.class);
- return R.ok(gridToDoVo);
+ log.info("xsd:{}", s);
+ JSONObject object = JSONObject.parseObject(s);
+ if (object.getInteger("code") != null && object.getInteger("code") == 0) {
+ JSONArray data = object.getJSONArray("data");
+ List<GridToDoVo> gridToDoVos = data.toJavaList(GridToDoVo.class);
+ return R.ok(gridToDoVos);
+ } else {
+ return R.fail("获取失败");
+ }
+ }
+
+
+ public R<GridToDoVo> updateToDo(GridToDoVo gridToDoVo) {
+ HeadVo headVo = initHeadVo();
+ GridToDoRequestVo requestVo = new GridToDoRequestVo();
+ requestVo.setHeadVo(headVo);
+ requestVo.setBodyVo(gridToDoVo);
+ String s = null;
+ log.info("xsd:{}", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty));
+ log.info("xsd:{}", gridUrl + "/sysUserTodo/update");
+ try {
+ s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/update", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
+ } catch (Exception e) {
+ log.info("xsderror:{}", e);
+ throw new RuntimeException(e);
+ }
+ log.info("xsd:{}", s);
+ JSONObject object = JSONObject.parseObject(s);
+ if (object.getInteger("code") != null && object.getInteger("code") == 0) {
+ gridToDoVo = object.getObject("data", GridToDoVo.class);
+ return R.ok(gridToDoVo, "创建待办成功");
+ } else {
+ return R.fail("创建待办失败");
+ }
+ }
+
+ public R<List<GridToDoVo>> batchUpdateToDo(List<GridToDoVo> gridToDoVos) {
+ HeadVo headVo = initHeadVo();
+ GridToDoBatchUpdateRequestVo requestVo = new GridToDoBatchUpdateRequestVo();
+ requestVo.setHeadVo(headVo);
+ requestVo.setBodyVo(gridToDoVos);
+ String s = null;
+ log.info("xsd:{}", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty));
+ log.info("xsd:{}", gridUrl + "/sysUserTodo/updateBatch");
+ try {
+ if (SpringContextUtil.checkDev()) {
+ log.info("xsdurl:{}", testUrl + "/api/thrid/grid/todo/batch-update-todo");
+ s = HttpClientUtils.httpPostRaw(testUrl + "/api/thrid/grid/todo/batch-update-todo", JSON.toJSONString(gridToDoVos, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
+ } else {
+ s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/updateBatch", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
+ }
+ } catch (Exception e) {
+ log.info("xsderror:{}", e);
+ throw new RuntimeException(e);
+ }
+ log.info("xsd:{}", s);
+ JSONObject object = JSONObject.parseObject(s);
+ if (object.getInteger("code") != null && object.getInteger("code") == 0) {
+ JSONArray data = object.getJSONArray("data");
+ List<GridToDoVo> list = data.toJavaList(GridToDoVo.class);
+ return R.ok(list);
+ } else {
+ return R.fail("获取失败");
+ }
}
public R<String> deleteToDo(GridIdsVo gridIdsVo) {
- HeadVo headVo = iniHeadVo();
+ HeadVo headVo = initHeadVo();
GridToDoDeleteRequestVo requestVo = new GridToDoDeleteRequestVo();
requestVo.setHeadVo(headVo);
requestVo.setBodyVo(gridIdsVo);
- log.info("xsd:{}", requestVo);
- log.info("xsd:{}", gridUrl + "/sysUserTodo/batchDel");
String s = null;
try {
- s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/batchDel", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
+ if (SpringContextUtil.checkDev()) {
+ log.info("xsd:{}", requestVo);
+ log.info("xsd:{}", testUrl + "/api/thrid/grid/todo/delete-todo" + JSON.toJSONString(gridIdsVo, SerializerFeature.WriteNullStringAsEmpty));
+ s = HttpClientUtils.httpPostRaw(testUrl + "/api/thrid/grid/todo/delete-todo", JSON.toJSONString(gridIdsVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
+ } else {
+ log.info("xsd:{}", gridUrl + "/sysUserTodo/batchDel" + JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty));
+ s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/batchDel", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
+ }
} catch (Exception e) {
log.info("xsderror:{}", e);
throw new RuntimeException(e);
@@ -77,27 +178,30 @@
}
- public HeadVo iniHeadVo() {
+ public HeadVo initHeadVo() {
HeadVo headVo = new HeadVo();
- headVo.setUsername("mtxt001");
- headVo.setPassword("aek8CdcaM");
+ headVo.setUsername(userName);
+ headVo.setPassword(passWord);
headVo.setRequestId(UUID.randomUUID().toString());
headVo.setSource("string");
return headVo;
}
public R<List<GridToDoVo>> getToDo(GridGetToDoVo gridGetToDoVo) {
- HeadVo headVo = iniHeadVo();
+ HeadVo headVo = initHeadVo();
GridToDoGetRequestVo requestVo = new GridToDoGetRequestVo();
gridGetToDoVo.setCurrent(1);
gridGetToDoVo.setSize(10);
requestVo.setHeadVo(headVo);
requestVo.setBodyVo(gridGetToDoVo);
- log.info("xsd:{}", JSON.toJSONString(requestVo));
- log.info("xsd:{}", gridUrl + "/sysUserTodo/page");
+ log.info("xsd:{}", testUrl + "/api/thrid/grid/todo/get-todo" + JSON.toJSONString(gridGetToDoVo, SerializerFeature.WriteNullStringAsEmpty));
String s = null;
try {
- s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/page", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8");
+ if (SpringContextUtil.checkDev()) {
+ s = HttpClientUtils.httpPostRaw(testUrl + "/api/thrid/grid/todo/get-todo", JSON.toJSONString(gridGetToDoVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
+ } else {
+ s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/page", JSON.toJSONString(gridGetToDoVo, SerializerFeature.WriteNullStringAsEmpty), new HashMap<>(), "utf-8");
+ }
} catch (Exception e) {
log.info("xsderror:{}", e);
throw new RuntimeException(e);
@@ -105,13 +209,97 @@
log.info("xsd:{}", s);
JSONObject object = JSONObject.parseObject(s);
if (object.getInteger("code") != null && object.getInteger("code") == 0) {
- JSONObject data = object.getJSONObject("data");
- JSONArray records = data.getJSONArray("records");
- List<GridToDoVo> gridToDoVos = records.toJavaList(GridToDoVo.class);
+ JSONArray data = JSONObject.parseObject(s).getJSONArray("data");
+ List<GridToDoVo> gridToDoVos = data.toJavaList(GridToDoVo.class);
return R.ok(gridToDoVos);
} else {
return R.fail("获取失败");
}
}
+
+ public R<List<GridToDoVo>> updateTaskToDo(GridToDoVo gridToDoVo, String previousTaskId) {
+ //修改网格系统工单
+ List<GridToDoVo> gridToDoVoList = new ArrayList<>();
+ List<GridCaseTask> gridCaseTaskList = gridCaseTaskService.listGridCaseTask(gridToDoVo.getObjId(), previousTaskId);
+ for (GridCaseTask gridCaseTask : gridCaseTaskList) {
+ gridToDoVo.setId(gridCaseTask.getId());
+ gridToDoVo.setMobile(gridCaseTask.getMobile());
+ gridToDoVoList.add(gridToDoVo);
+ }
+ R<List<GridToDoVo>> resultData = this.batchUpdateToDo(gridToDoVoList);
+ //修改保存的待办工单
+ List<GridToDoVo> GridToDoVoResult = resultData.getData();
+ List<GridCaseTask> gridCaseTaskListNew = new ArrayList<>();
+ for (GridToDoVo gridToDoVoResult : GridToDoVoResult) {
+ GridCaseTask gridCaseTask = new GridCaseTask();
+ BeanUtils.copyProperties(gridToDoVoResult, gridCaseTask);
+ gridCaseTask.setCaseId(gridToDoVo.getObjId());
+ gridCaseTask.setCaseTaskId(gridToDoVo.getCaseTaskId());
+ gridCaseTaskListNew.add(gridCaseTask);
+ }
+ gridCaseTaskService.updateBatchById(gridCaseTaskListNew);
+ return resultData;
+ }
+
+ public R<List<GridToDoVo>> createTaskToDo(GridToDoBacthVo gridToDoBacthVo, String unitId) {
+ Date now = DateUtils.getNowDate();
+ //查询网格组织编号
+ String gridUnitId = gridCaseTaskMapper.getGridUnitIdByUnitId(unitId);
+ log.info("caseId:" + gridToDoBacthVo.getObjId() + "查询到网格组织编号为:" + gridUnitId);
+ if(org.apache.commons.lang3.StringUtils.isNotBlank(gridUnitId)){
+ //查询组织下用户
+ GridOrgUsersVo gridOrgUsersVo = new GridOrgUsersVo();
+ gridOrgUsersVo.setCurrOrgId(gridUnitId);
+ List<GridUserVo> gridUserVoList = gridUserService.getUserListByOrg(gridOrgUsersVo).getData();
+ log.info("caseId:" + gridToDoBacthVo.getObjId() + "查询到网格编号为:"+gridUnitId+ "下的用户有:"+ gridUserVoList.stream().map(GridUserVo:: getId).collect(Collectors.joining(",")));
+ if(CollectionUtils.isNotEmpty(gridUserVoList)){
+ //创建待办工单
+ List<String> userIdList = gridUserVoList.stream().map(GridUserVo::getId).collect(Collectors.toList());
+ gridToDoBacthVo.setUserIdList(userIdList);
+ R<List<GridToDoVo>> resultData = this.batchCreateToDo(gridToDoBacthVo);
+ log.info("caseId:" + gridToDoBacthVo.getObjId() + "批量添加网格任务成功");
+ //保存待办工单
+ List<GridToDoVo> GridToDoVoResult = resultData.getData();
+ if(CollectionUtils.isNotEmpty(GridToDoVoResult)) {
+ List<GridCaseTask> gridCaseTaskListNew = new ArrayList<>();
+ for (GridToDoVo gridToDoVoResult : GridToDoVoResult) {
+ GridCaseTask gridCaseTask = new GridCaseTask();
+ BeanUtils.copyProperties(gridToDoVoResult, gridCaseTask);
+ gridCaseTask.setCaseId(gridToDoBacthVo.getObjId());
+ gridCaseTask.setCaseTaskId(gridToDoBacthVo.getCaseTaskId());
+ gridCaseTask.setCreateTime(now);
+ gridCaseTask.setUpdateTime(now);
+ gridCaseTaskListNew.add(gridCaseTask);
+ }
+ BeanUtils.copyProperties(GridToDoVoResult, gridCaseTaskListNew);
+ gridCaseTaskService.saveBatch(gridCaseTaskListNew);
+ log.info("caseId:" + gridToDoBacthVo.getObjId() + "成功在本系统添加网格待办信息");
+ }
+ return resultData;
+ }
+ }
+ return R.ok();
+ }
+
+ public R<String> deleteTaskToDo(GridTaskVo gridTaskVo) {
+ try {
+ List<GridCaseTask> gridCaseTaskList = gridCaseTaskService.listGridCaseTask(gridTaskVo.getCaseId(), gridTaskVo.getCaseTaskId());
+ List<String> idList = gridCaseTaskList.stream().map(GridCaseTask::getId).collect(Collectors.toList());
+ String ids = gridCaseTaskList.stream().map(GridCaseTask::getId).collect(Collectors.joining(","));
+ log.info("caseId:" + gridTaskVo.getCaseId() + "查询到本系统保存的编号" + ids);
+
+ GridIdsVo gridIdsVo = new GridIdsVo();
+ gridIdsVo.setIds(idList);
+ R<String> result = this.deleteToDo(gridIdsVo);
+ log.info("caseId:" + gridTaskVo.getCaseId() + "成功删除网格系统的待办任务,编号为:" + ids);
+ gridCaseTaskService.removeByIds(idList);
+ log.info("caseId:" + gridTaskVo.getCaseId() + "成功删除本系统保存的网格任务,编号为:" + ids);
+ return result;
+ }catch (Exception e){
+ log.info("xsderror:{}", e);
+ throw new RuntimeException(e);
+ }
+
+ }
}
--
Gitblit v1.8.0