From 2c7324f3b7862999139075fd35032be885fc9c31 Mon Sep 17 00:00:00 2001 From: wangwh <2397901735@qq.com> Date: Tue, 22 Oct 2024 15:03:47 +0800 Subject: [PATCH] feat:增加网格待办相关功能 --- dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridToDoService.java | 150 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 141 insertions(+), 9 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 6484a52..55e7353 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 @@ -2,21 +2,39 @@ import cn.huge.base.common.bo.R; import cn.huge.base.common.utils.HttpClientUtils; +import cn.huge.base.common.utils.ObjectUtils; +import cn.huge.module.grid.domain.po.GridCaseTask; +import cn.huge.module.sys.vo.*; import cn.huge.module.grid.domain.vo.*; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; +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.ArrayList; import java.util.HashMap; import java.util.List; import java.util.UUID; +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; + + @Autowired + private GridCaseTaskService gridCaseTaskService; + @Autowired + private GridUserService gridUserService; public R<GridToDoVo> createToDo(GridToDoVo gridToDoVo) { HeadVo headVo = initHeadVo(); @@ -24,7 +42,7 @@ requestVo.setHeadVo(headVo); requestVo.setBodyVo(gridToDoVo); log.info("xsd:{}", JSON.toJSONString(requestVo)); - log.info("xsd:{}",gridUrl + "/sysUserTodo/save"); + log.info("xsd:{}", gridUrl + "/sysUserTodo/save"); String s = null; try { s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/save", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8"); @@ -34,8 +52,40 @@ } 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<List<GridToDoVo>> batchCreateToDo(GridToDoBacthVo gridToDoVo) { + HeadVo headVo = initHeadVo(); + 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"); + } 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> gridToDoVos = data.toJavaList(GridToDoVo.class); + return R.ok(gridToDoVos); + } else { + return R.fail("获取失败"); + } + } + + public R<GridToDoVo> updateToDo(GridToDoVo gridToDoVo) { HeadVo headVo = initHeadVo(); @@ -44,7 +94,7 @@ requestVo.setBodyVo(gridToDoVo); String s = null; log.info("xsd:{}", JSON.toJSONString(requestVo)); - log.info("xsd:{}",gridUrl + "/sysUserTodo/update"); + log.info("xsd:{}", gridUrl + "/sysUserTodo/update"); try { s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/update", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8"); } catch (Exception e) { @@ -52,8 +102,38 @@ throw new RuntimeException(e); } log.info("xsd:{}", s); - gridToDoVo = JSONObject.parseObject(s).getObject("data", GridToDoVo.class); - return R.ok(gridToDoVo); + 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)); + log.info("xsd:{}", gridUrl + "/sysUserTodo/updateBatch"); + try { + s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/updateBatch", JSON.toJSONString(requestVo), 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) { @@ -65,7 +145,7 @@ log.info("xsd:{}", gridUrl + "/sysUserTodo/batchDel"); String s = null; try { - s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/batchDel", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8"); + s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/batchDel", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8"); } catch (Exception e) { log.info("xsderror:{}", e); throw new RuntimeException(e); @@ -82,8 +162,8 @@ 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; @@ -100,7 +180,7 @@ log.info("xsd:{}", gridUrl + "/sysUserTodo/page"); String s = null; try { - s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/page", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8"); + s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/page", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8"); } catch (Exception e) { log.info("xsderror:{}", e); throw new RuntimeException(e); @@ -117,4 +197,56 @@ } } + + public R<List<GridToDoVo>> updateTaskToDo(GridToDoVo gridToDoVo, String previousTaskId) { + //修改网格系统工单 + List<GridToDoVo> gridToDoVoList = new ArrayList<>(); + List<GridCaseTask> gridCaseTaskList = gridCaseTaskService.listGridCaseTask(gridToDoVo.getCaseId(), 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); + gridCaseTaskListNew.add(gridCaseTask); + } + gridCaseTaskService.updateBatchById(gridCaseTaskListNew); + return resultData; + } + + public R<List<GridToDoVo>> createTaskToDo(GridToDoBacthVo gridToDoBacthVo, String unitId) { + GridOrgUsersVo gridOrgUsersVo = new GridOrgUsersVo(); + gridOrgUsersVo.setCurrOrgId(unitId); + List<GridUserVo> gridUserVoList = gridUserService.getUserListByOrg(gridOrgUsersVo).getData(); + List<String> userIdList = gridUserVoList.stream().map(GridUserVo:: getId).collect(Collectors.toList()); + gridToDoBacthVo.setUserIdList(userIdList); + R<List<GridToDoVo>> resultData = this.batchCreateToDo(gridToDoBacthVo); + //保存待办工单 + List<GridToDoVo> GridToDoVoResult = resultData.getData(); + List<GridCaseTask> gridCaseTaskListNew = new ArrayList<>(); + for(GridToDoVo gridToDoVoResult: GridToDoVoResult){ + GridCaseTask gridCaseTask = new GridCaseTask(); + BeanUtils.copyProperties(gridToDoVoResult, gridCaseTask); + gridCaseTaskListNew.add(gridCaseTask); + } + BeanUtils.copyProperties(GridToDoVoResult, gridCaseTaskListNew); + gridCaseTaskService.saveBatch(gridCaseTaskListNew); + return resultData; + } + + public R<String> deleteTaskToDo(GridTaskVo gridTaskVo) { + List<GridCaseTask> gridCaseTaskList = gridCaseTaskService.listGridCaseTask(gridTaskVo.getCaseId(), gridTaskVo.getCaseTaskId()); + List<String> idList = gridCaseTaskList.stream().map(GridCaseTask::getId).collect(Collectors.toList()); + GridIdsVo gridIdsVo = new GridIdsVo(); + gridIdsVo.setIds(idList); + R<String> result = this.deleteToDo(gridIdsVo); + gridCaseTaskService.removeByIds(idList); + return result; + } } -- Gitblit v1.8.0