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 | 168 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 145 insertions(+), 23 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 64af9c7..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,18 +1,25 @@ 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 @@ -23,23 +30,35 @@ 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 = initHeadVo(); GridToDoRequestVo requestVo = new GridToDoRequestVo(); requestVo.setHeadVo(headVo); requestVo.setBodyVo(gridToDoVo); - log.info("xsd:{}", JSON.toJSONString(requestVo)); + 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); } @@ -48,11 +67,18 @@ GridToDoBatchRequestVo requestVo = new GridToDoBatchRequestVo(); requestVo.setHeadVo(headVo); requestVo.setBodyVo(gridToDoVo); - log.info("xsd:{}", JSON.toJSONString(requestVo)); - log.info("xsd:{}", gridUrl + "/sysUserTodo/saveBatch"); + String s = null; try { - s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/saveBatch", 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); @@ -69,17 +95,16 @@ } - 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)); + log.info("xsd:{}", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty)); log.info("xsd:{}", gridUrl + "/sysUserTodo/update"); try { - s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/update", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8"); + 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); @@ -100,10 +125,15 @@ requestVo.setHeadVo(headVo); requestVo.setBodyVo(gridToDoVos); String s = null; - log.info("xsd:{}", JSON.toJSONString(requestVo)); + log.info("xsd:{}", JSON.toJSONString(requestVo, SerializerFeature.WriteNullStringAsEmpty)); log.info("xsd:{}", gridUrl + "/sysUserTodo/updateBatch"); try { - s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/updateBatch", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8"); + 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); @@ -124,11 +154,16 @@ 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); @@ -159,11 +194,14 @@ 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); @@ -171,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