| | |
| | | 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 = 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<List<GridToDoVo>> batchCreateToDo(GridToDoBacthVo gridToDoVo) { |
| | | HeadVo headVo = initHeadVo(); |
| | | GridToDoBatchRequestVo requestVo = new GridToDoBatchRequestVo(); |
| | | requestVo.setHeadVo(headVo); |
| | | requestVo.setBodyVo(gridToDoVo); |
| | | |
| | | String s = null; |
| | | try { |
| | | 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); |
| | | } |
| | | 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(); |
| | |
| | | requestVo.setHeadVo(headVo); |
| | | requestVo.setBodyVo(gridToDoVo); |
| | | String s = null; |
| | | log.info("xsd:{}", JSON.toJSONString(requestVo)); |
| | | log.info("xsd:{}",gridUrl + "/sysUserTodo/update"); |
| | | 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); |
| | | } |
| | | 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, 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) { |
| | |
| | | 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); |
| | |
| | | |
| | | 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; |
| | |
| | | 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); |
| | |
| | | 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); |
| | | } |
| | | |
| | | } |
| | | } |