From b0b1e641a31a0494262187f97034807fc53515dd Mon Sep 17 00:00:00 2001
From: xusd <hugeinfo123>
Date: Mon, 28 Oct 2024 15:49:39 +0800
Subject: [PATCH] Merge branch 'gzdyh_test' into gzdyh_grid

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java |  289 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 273 insertions(+), 16 deletions(-)

diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
index ab04871..741e627 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
@@ -1,25 +1,25 @@
 package cn.huge.module.client.api.impl;
 
+import cn.huge.base.common.bo.R;
 import cn.huge.base.common.bo.ReturnBO;
 import cn.huge.base.common.constant.ReturnConsts;
-import cn.huge.base.common.exception.ClientException;
-import cn.huge.base.common.exception.ServiceException;
+import cn.huge.base.common.utils.DateUtils;
 import cn.huge.base.common.utils.ObjectUtils;
+import cn.huge.module.sys.vo.GridIdsVo;
+import cn.huge.module.sys.vo.GridTaskVo;
+import cn.huge.module.sys.vo.GridToDoBacthVo;
+import cn.huge.module.sys.vo.GridToDoVo;
+import cn.huge.module.cases.domain.dto.FileRelateDTO;
 import cn.huge.module.client.api.SysClient;
-import cn.huge.module.sys.dto.FileIdInfoBaseDTO;
-import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO;
-import cn.huge.module.sys.dto.FileInfoBaseDTO;
-import cn.huge.module.sys.dto.FileTypeInfoBaseDTO;
+import cn.huge.module.sys.constant.TimeUnitConsts;
+import cn.huge.module.sys.dto.*;
 import com.alibaba.fastjson.JSON;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.RequestBody;
 
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
+import java.util.*;
 
 /**
  * @title: 系统公共服务微服务调用接口
@@ -47,13 +47,13 @@
 
     /**
      * 附件中心-根据多个所属编号查询附件并根据先根据ownerId再根据附件类型分组
-     * @param ownerIdList 所属业务编号
+     * @param term 所属业务编号
      * @return List
      */
-    public List<FileIdTypeInfoBaseDTO> listIdTypeInfoByOwnerIdList(List<String> ownerIdList){
+    public List<FileIdTypeInfoBaseDTO> listIdTypeInfoByOwnerIdList(Map<String, Object> term){
         List<FileIdTypeInfoBaseDTO> fileIdTypeInfoBaseDTOList = new ArrayList<>();
         try{
-            ReturnBO returnBo = sysClient.listTypeInfoByOwnerIdList(ownerIdList);
+            ReturnBO returnBo = sysClient.listTypeInfoByOwnerIdList(term);
             if (ReturnConsts.OK == returnBo.getCode()){
                 if (ObjectUtils.isNotEmpty(returnBo.getData())){
                     List<LinkedHashMap> list = (List<LinkedHashMap>) returnBo.getData();
@@ -71,13 +71,13 @@
 
     /**
      * 附件中心-根据业务编号查询固定格式所有附件
-     * @param ownerIdList 所属业务编号
+     * @param term 所属业务编号
      * @return List
      */
-    public List<FileIdInfoBaseDTO> listIdInfoByOwnerIdList(List<String> ownerIdList){
+    public List<FileIdInfoBaseDTO> listIdInfoByOwnerIdList(Map<String, Object> term){
         List<FileIdInfoBaseDTO> fileIdInfoBaseDTOList = new ArrayList<>();
         try{
-            ReturnBO returnBo = sysClient.listInfoByOwnerIdList(ownerIdList);
+            ReturnBO returnBo = sysClient.listInfoByOwnerIdList(term);
             if (ReturnConsts.OK == returnBo.getCode()){
                 if (ObjectUtils.isNotEmpty(returnBo.getData())){
                     List<LinkedHashMap> list = (List<LinkedHashMap>) returnBo.getData();
@@ -92,4 +92,261 @@
         }
         return fileIdInfoBaseDTOList;
     }
+
+    /**
+     * 获取时限
+     * @param limitType  时限类型
+     * @return List
+     */
+    public Integer getTimeLimitHour(String limitType){
+        int timeTerm = 0;
+        try{
+            ReturnBO returnBo = sysClient.getExpireTime(limitType);
+            if (ReturnConsts.OK == returnBo.getCode()){
+                if (ObjectUtils.isNotEmpty(returnBo.getData())){
+                    SyTimeLimitDTO syTimeLimitDTO = objectMapper.convertValue(returnBo.getData(), SyTimeLimitDTO.class);
+                    if (ObjectUtils.isNotEmpty(syTimeLimitDTO)){
+                        if (ObjectUtils.isNotEmpty(syTimeLimitDTO)){
+                            if (TimeUnitConsts.TIME_UNIT_1.equals(syTimeLimitDTO.getTermUnit())){
+                                timeTerm = syTimeLimitDTO.getTimeTerm()*24*365;
+                            }
+                            if (TimeUnitConsts.TIME_UNIT_2.equals(syTimeLimitDTO.getTermUnit())){
+                                timeTerm = syTimeLimitDTO.getTimeTerm()*24*30;
+                            }
+                            if (TimeUnitConsts.TIME_UNIT_3.equals(syTimeLimitDTO.getTermUnit())){
+                                timeTerm = syTimeLimitDTO.getTimeTerm()*24;
+                            }
+                            if (TimeUnitConsts.TIME_UNIT_4.equals(syTimeLimitDTO.getTermUnit())){
+                                timeTerm = syTimeLimitDTO.getTimeTerm();
+                            }
+                            if (TimeUnitConsts.TIME_UNIT_5.equals(syTimeLimitDTO.getTermUnit())){
+                                timeTerm = syTimeLimitDTO.getTimeTerm()/60;
+                            }
+                        }
+                    }
+                }
+            }
+        }catch (Exception e){
+            log.error("service方法[SysClientImpl.listIdInfoByOwnerIdList]调用异常:"+e, e);
+        }
+        return timeTerm;
+    }
+
+    /**
+     * 获取时限
+     * @url {ctx}/api/web/syTimeLimit/getExpireTime
+     * @param computeTime
+     * @param limitType
+     * @return
+     */
+    public Date getExpireTime(Date computeTime, String limitType){
+        Date expireTime = null;
+        try{
+            ReturnBO returnBo = sysClient.getExpireTime(limitType);
+            if (ReturnConsts.OK == returnBo.getCode()){
+                if (ObjectUtils.isNotEmpty(returnBo.getData())){
+                    SyTimeLimitDTO syTimeLimitDTO = objectMapper.convertValue(returnBo.getData(), SyTimeLimitDTO.class);
+                    if (ObjectUtils.isNotEmpty(syTimeLimitDTO)){
+                        if (ObjectUtils.isNotEmpty(syTimeLimitDTO)){
+                            if (TimeUnitConsts.TIME_UNIT_1.equals(syTimeLimitDTO.getTermUnit())){
+                                expireTime = DateUtils.addYear(computeTime, syTimeLimitDTO.getTimeTerm());
+                            }
+                            if (TimeUnitConsts.TIME_UNIT_2.equals(syTimeLimitDTO.getTermUnit())){
+                                expireTime = DateUtils.addMonth(computeTime, syTimeLimitDTO.getTimeTerm());
+                            }
+                            if (TimeUnitConsts.TIME_UNIT_3.equals(syTimeLimitDTO.getTermUnit())){
+                                expireTime = DateUtils.addDay(computeTime, syTimeLimitDTO.getTimeTerm());
+                            }
+                            if (TimeUnitConsts.TIME_UNIT_4.equals(syTimeLimitDTO.getTermUnit())){
+                                expireTime = DateUtils.addHour(computeTime, syTimeLimitDTO.getTimeTerm());
+                            }
+                            if (TimeUnitConsts.TIME_UNIT_5.equals(syTimeLimitDTO.getTermUnit())){
+                                expireTime = DateUtils.addMonth(computeTime, syTimeLimitDTO.getTimeTerm());
+                            }
+                        }
+                    }
+                }
+            }
+        }catch (Exception e){
+            log.error("service方法[SysClientImpl.getExpireTime]调用异常:"+e, e);
+        }
+        return expireTime;
+    }
+
+    /**
+     * 根据条件删除附件关系
+     * @param fileTypeTermsDTO 条件
+     * @return Object
+     */
+    public void removeFileRelate(FileTypeTermsDTO fileTypeTermsDTO) {
+        try {
+            ReturnBO returnBo = sysClient.removeFileRelate(fileTypeTermsDTO);
+            if (ReturnConsts.OK != returnBo.getCode()){
+                log.error("Client外服务接口[SysClientImpl.removeFileRelate]请求异常:" + returnBo.getMsg(), returnBo.getMsg());
+            }
+        } catch (Exception e) {
+            log.error("service方法[SysClientImpl.removeFileRelate]请求异常:"+e, e);
+        }
+    }
+
+    /**
+     * 根据百度地图经纬度获取街道
+     * @url {ctx}/api/client/syRegion/getTownByBaiduiLngLat
+     * @param lng 经度
+     * @param lat 维度
+     * @return
+     */
+    public QueAddrBaseDTO getQueAddrByBaiduiLngLat(String lng, String lat){
+        QueAddrBaseDTO queAddrBaseDTO = new QueAddrBaseDTO();
+        try{
+            ReturnBO returnBo = sysClient.getQueAddrByBaiduiLngLat(lng, lat);
+            if (ReturnConsts.OK == returnBo.getCode()){
+                if (ObjectUtils.isNotEmpty(returnBo.getData())){
+                    queAddrBaseDTO = objectMapper.convertValue(returnBo.getData(), QueAddrBaseDTO.class);
+                }
+            }
+        }catch (Exception e){
+            log.error("service方法[SysClientImpl.getQueAddrByBaiduiLngLat]调用异常:"+e, e);
+        }
+        return queAddrBaseDTO;
+    }
+
+    /**
+     * 根据关系编号查询附件关系信息
+     * @param ownerId 附件关系编号
+     * @return List
+     */
+    public List<FileRelateDTO> listFileRelateByOwnerId(String ownerId){
+        List<FileRelateDTO> fileRelateDTOList = new ArrayList<>();
+        try{
+            ReturnBO returnBo = sysClient.listFileRelateByOwnerId(ownerId);
+            if (ReturnConsts.OK == returnBo.getCode()){
+                if (ObjectUtils.isNotEmpty(returnBo.getData())){
+                    List<LinkedHashMap> list = (List<LinkedHashMap>) returnBo.getData();
+                    for (LinkedHashMap map : list) {
+                        FileRelateDTO fileRelateDTO = JSON.parseObject(JSON.toJSONString(map), FileRelateDTO.class);
+                        fileRelateDTOList.add(fileRelateDTO);
+                    }
+                }
+            }
+        }catch (Exception e){
+            log.error("service方法[SysClientImpl.listFileRelateByOwnerId]调用异常:"+e, e);
+        }
+        return fileRelateDTOList;
+    }
+
+    /**
+     * 插入多条附件关系记录
+     * @param fileRelateList 附件关系
+     * @return Object
+     */
+    public void saveFileRelateList(List<FileRelateDTO> fileRelateList) {
+        try {
+            ReturnBO returnBo = sysClient.saveFileRelateList(fileRelateList);
+            if (ReturnConsts.OK != returnBo.getCode()){
+                log.error("Client外服务接口[SysClientImpl.saveFileRelateList]请求异常:" + returnBo.getMsg(), returnBo.getMsg());
+            }
+        } catch (Exception e) {
+            log.error("service方法[SysClientImpl.saveFileRelateList]请求异常:"+e, e);
+        }
+    }
+
+    public List<QueAreaDTO> listByParentId(String parentId){
+        List<QueAreaDTO> queAreaDTOList = new ArrayList<>();
+        try{
+            ReturnBO returnBo = sysClient.listByParentId(parentId);
+            if (ReturnConsts.OK == returnBo.getCode()){
+                if (ObjectUtils.isNotEmpty(returnBo.getData())){
+                    List<LinkedHashMap> list = (List<LinkedHashMap>) returnBo.getData();
+                    for (LinkedHashMap map : list) {
+                        QueAreaDTO queAreaDTO = JSON.parseObject(JSON.toJSONString(map), QueAreaDTO.class);
+                        queAreaDTOList.add(queAreaDTO);
+                    }
+                }
+            }
+        }catch (Exception e){
+            log.error("service方法[SysClientImpl.listFileRelateByOwnerId]调用异常:"+e, e);
+        }
+        return queAreaDTOList;
+    }
+
+    /**
+     * 创建待办
+     * @url {ctx}/api/thrid/grid/todo/create-task-todo
+     * @param gridToDoBacthVo
+     * @param unitId
+     * @return
+     */
+    public void createTaskToDo(GridToDoBacthVo gridToDoBacthVo, String unitId){
+        try{
+            R<List<GridToDoVo>> gridToDoBo = sysClient.createTaskToDo(gridToDoBacthVo, unitId);
+            if (ReturnConsts.OK != gridToDoBo.getCode()){
+                log.error("Client外服务接口[SysClientImpl.createToDo]请求异常:" + gridToDoBo.getMsg());
+            }else {
+                log.info("创建工单成功");
+            }
+        }catch (Exception e){
+            log.error("service方法[SysClientImpl.createToDo]调用异常:"+e, e);
+        }
+    }
+
+    /**
+     * 更新待办
+     * @url {ctx}/api/thrid/grid/todo/update-task-todo
+     * @param gridToDoVo
+     * @return
+     */
+    public void updateTaskTodo(GridToDoVo gridToDoVo, String previousTaskId){
+        try{
+            R<List<GridToDoVo>> gridToDoBo = sysClient.updateTaskTodo(gridToDoVo, previousTaskId);
+            if (ReturnConsts.OK != gridToDoBo.getCode()){
+                log.error("Client外服务接口[SysClientImpl.updateTodo]请求异常:" + gridToDoBo.getMsg());
+            }else{
+                log.info("修改工单成功");
+            }
+        }catch (Exception e){
+            log.error("service方法[SysClientImpl.updateTodo]调用异常:"+e, e);
+        }
+    }
+
+    /**
+     * 批量删除待办
+     * @url {ctx}/api/thrid/grid/todo/delete-task-todo
+     * @param gridTaskVo
+     * @return
+     */
+    public void deleteTaskTodo(GridTaskVo gridTaskVo){
+        try{
+            R<String> gridToDoBo = sysClient.deleteTaskTodo(gridTaskVo);
+            if (ReturnConsts.OK != gridToDoBo.getCode()){
+                log.error("Client外服务接口[SysClientImpl.deleteTaskTodo]请求异常:" + gridToDoBo.getMsg());
+            }else{
+                log.info("批量删除待办成功");
+            }
+        }catch (Exception e){
+            log.error("service方法[SysClientImpl.deleteTaskTodo]调用异常:"+e, e);
+        }
+    }
+    /**
+     * 根据id查询附件信息
+     * @url {ctx}/api/client/fileInfo/getFileInfoById
+     * @param id 条件
+     * @return
+     */
+    public FileInfoBaseDTO getFileInfoById(String id){
+        FileInfoBaseDTO fileInfoBaseDTO = null;
+        try{
+            ReturnBO returnBo = sysClient.getFileInfoById(id);
+            if (ReturnConsts.OK == returnBo.getCode()){
+                if (ObjectUtils.isNotEmpty(returnBo.getData())){
+                    fileInfoBaseDTO = new FileInfoBaseDTO();
+                    fileInfoBaseDTO = objectMapper.convertValue(returnBo.getData(), FileInfoBaseDTO.class);
+                }
+            }
+        }catch (Exception e){
+            log.error("service方法[SysClientImpl.getFileInfoById]调用异常:"+e, e);
+        }
+        return fileInfoBaseDTO;
+    }
+
 }

--
Gitblit v1.8.0