dyh-service/dyh-base/src/main/java/cn/huge/base/common/bo/R.java
New file @@ -0,0 +1,142 @@ package cn.huge.base.common.bo; import lombok.Data; /** * @title: api请求返回公共类 * @description: api请求返回公共类 * @company: hugeinfo * @author: liyj * @time: 2021-11-05 16:51:48 * @version: 1.0.0 */ @Data public class R<T> { private static final long serialVersionUID = 1L; /** 成功 */ public static final int SUCCESS = 200; /** 失败 */ public static final int FAIL = 500; private int code; private String msg; private T data; public static <T> R<T> ok() { return restResult(null, SUCCESS, null); } public static <T> R<T> ok(T data) { return restResult(data, SUCCESS, null); } public static <T> R<T> ok(T data, String msg) { return restResult(data, SUCCESS, msg); } public static <T> R<T> fail() { return restResult(null, FAIL, null); } public static <T> R<T> fail(String msg) { return restResult(null, FAIL, msg); } public static <T> R<T> fail(T data) { return restResult(data, FAIL, null); } public static <T> R<T> fail(T data, String msg) { return restResult(data, FAIL, msg); } public static <T> R<T> fail(int code, String msg) { return restResult(null, code, msg); } private static <T> R<T> restResult(T data, int code, String msg) { R<T> apiResult = new R<>(); apiResult.setCode(code); apiResult.setData(data); apiResult.setMsg(msg); return apiResult; } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public T getData() { return data; } public void setData(T data) { this.data = data; } public static <T> Boolean isError(R<T> ret) { return !isSuccess(ret); } public static <T> Boolean isSuccess(R<T> ret) { return R.SUCCESS == ret.getCode(); } } /** * -------------------_ooOoo_------------------- * ------------------o8888888o------------------ * ------------------88" . "88------------------ * ------------------(| -_- |)------------------ * ------------------O\ = /O------------------ * ---------------____/`---'\____--------------- * -------------.' \\| |// `.------------- * ------------/ \\||| : |||// \------------ * -----------/ _||||| -:- |||||- \----------- * -----------| | \\\ - /// | |----------- * -----------| \_| ''\---/'' | |----------- * -----------\ .-\__ `-` ___/-. /----------- * ---------___`. .' /--.--\ `. . __---------- * ------."" '< `.___\_<|>_/___.' >'"".------- * -----| | : `- \`.;`\ _ /`;.`/ - ` : | |----- * -----\ \ `-. \_ __\ /__ _/ .-` / /----- * ======`-.____`-.___\_____/___.-`____.-'====== * -------------------`=---=' * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * ---------佛祖保佑---hugeinfo---永无BUG---------- */ dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/HttpClientUtils.java
@@ -1,5 +1,6 @@ package cn.huge.base.common.utils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; @@ -34,6 +35,7 @@ * @time: 2021-11-05 16:51:48 * @version: 1.0.0 */ @Slf4j public class HttpClientUtils { /** @@ -93,7 +95,6 @@ } CloseableHttpClient closeableHttpClient = HttpClients.createDefault(); HttpPost httpost = new HttpPost(url); //设置header if (ObjectUtils.isNotEmpty(headers)) { for (Map.Entry<String, String> entry : headers.entrySet()) { @@ -102,6 +103,7 @@ } //组织请求参数 List<NameValuePair> paramList = new ArrayList <NameValuePair>(); if(ObjectUtils.isNotEmpty(params)){ Set<String> keySet = params.keySet(); for(String key : keySet) { @@ -126,6 +128,7 @@ httpResponse.close(); } catch (IOException e) { e.printStackTrace(); } } try { //关闭连接、释放资源 dyh-service/dyh-sys/src/main/java/cn/huge/module/file/utils/FtpUtils.java
@@ -118,6 +118,7 @@ clientConfig.setLenientFutureDates(true); ftpClient.configure(clientConfig); // 连接ftp log.info("连接ftp"+FtpFileConfig.getHostname(), FtpFileConfig.getPort()); ftpClient.connect(FtpFileConfig.getHostname(), FtpFileConfig.getPort()); if (FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) { log.info("连接ftp成功!"); dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/DTOConverter.java
New file @@ -0,0 +1,30 @@ package cn.huge.module.thrid; import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; public class DTOConverter { public static Map<String, String> convertToMap(Object dto) { Map<String, String> map = new HashMap<>(); // 获取该对象的所有字段(包括私有字段) Field[] fields = dto.getClass().getDeclaredFields(); for (Field field : fields) { try { field.setAccessible(true); // 允许访问私有字段 Object value = field.get(dto); // 获取字段值 if (value != null) { map.put(field.getName(), value.toString()); // 放入 Map 中 } else { map.put(field.getName(), null); // 如果字段值为 null } } catch (IllegalAccessException e) { e.printStackTrace(); // 处理反射异常 } } return map; } } dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/controller/GridToDoController.java
New file @@ -0,0 +1,61 @@ package cn.huge.module.thrid.controller; import cn.huge.base.common.bo.R; import cn.huge.module.thrid.domain.vo.GridGetToDoVo; import cn.huge.module.thrid.domain.vo.GridIdsVo; import cn.huge.module.thrid.domain.vo.GridToDoVo; import cn.huge.module.thrid.service.GridToDoService; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; @Slf4j @RestController @RequestMapping("/api/thrid/grid/todo") public class GridToDoController { @Resource private GridToDoService gridToDoService; /** * 创建待办 * * @param gridToDoVo * @return */ @PostMapping("/create-todo") public R<GridToDoVo> createToDo(@RequestBody GridToDoVo gridToDoVo) { return gridToDoService.createToDo(gridToDoVo); } @PostMapping("/get-todo") public R<List<GridToDoVo>> getToDo(@RequestBody GridGetToDoVo gridGetToDoVo) { return gridToDoService.getToDo(gridGetToDoVo); } /** * 更新待办 * * @param gridToDoVo * @return */ @PostMapping("/update-todo") public R<GridToDoVo> updateTodo(@RequestBody GridToDoVo gridToDoVo) { return gridToDoService.updateToDo(gridToDoVo); } /** * 删除待办 * * @param gridIdsVo * @return */ @PostMapping("/delete-todo") public R<String> deleteTodo(@RequestBody GridIdsVo gridIdsVo) { return gridToDoService.deleteToDo(gridIdsVo); } } dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/controller/GridUserInfoController.java
New file @@ -0,0 +1,36 @@ package cn.huge.module.thrid.controller; import cn.huge.base.common.bo.R; import cn.huge.base.common.utils.ReturnFailUtils; import cn.huge.base.common.utils.ReturnSucUtils; import cn.huge.module.thrid.domain.vo.GridIdsVo; import cn.huge.module.thrid.domain.vo.GridToDoVo; import cn.huge.module.thrid.domain.vo.GridUserVo; import cn.huge.module.thrid.service.GridToDoService; import cn.huge.module.thrid.service.GridUserService; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.Map; @Slf4j @RestController @RequestMapping("/api/thrid/grid/user") public class GridUserInfoController { @Resource private GridUserService gridUserService; /** * 根据用户token获取用户信息 * @param token * @return */ @PostMapping("/get-userinfo") public R<GridUserVo> getUserInfo(@RequestBody String token) { return gridUserService.getUserInfo(token); } } dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/domain/vo/GridGetToDoVo.java
New file @@ -0,0 +1,46 @@ package cn.huge.module.thrid.domain.vo; import lombok.Data; @Data public class GridGetToDoVo { /** * 1 待分派事件 * 2 待受理事件 * 3 待处理事件 * 4 待评价事件 * 5 待审批延期 * 6 待审核问题 * 7 待受理线索 * 8 待审核任务 * 9 待办任务 */ private String objType; private String todoType; /** * 1 事件工单 * 2 任务交办 * 3 预警线索 * 4 群众问题 * 5: 矛盾纠纷 基本上我们就填5 */ /** * 2024-08-27 15:34:51 */ private String startTime; private String endTime; private int current; private int size; /** * 用户id */ private String userId; } dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/domain/vo/GridIdsVo.java
New file @@ -0,0 +1,10 @@ package cn.huge.module.thrid.domain.vo; import lombok.Data; import java.util.List; @Data public class GridIdsVo { private List<String> ids; } dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/domain/vo/GridToDoDeleteRequestVo.java
New file @@ -0,0 +1,10 @@ package cn.huge.module.thrid.domain.vo; import lombok.Data; @Data public class GridToDoDeleteRequestVo { private HeadVo headVo; private GridIdsVo bodyVo; } dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/domain/vo/GridToDoGetRequestVo.java
New file @@ -0,0 +1,9 @@ package cn.huge.module.thrid.domain.vo; import lombok.Data; @Data public class GridToDoGetRequestVo { private HeadVo headVo; private GridGetToDoVo bodyVo; } dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/domain/vo/GridToDoRequestVo.java
New file @@ -0,0 +1,9 @@ package cn.huge.module.thrid.domain.vo; import lombok.Data; @Data public class GridToDoRequestVo { private HeadVo headVo; private GridToDoVo bodyVo; } dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/domain/vo/GridToDoVo.java
New file @@ -0,0 +1,59 @@ package cn.huge.module.thrid.domain.vo; import lombok.Data; @Data public class GridToDoVo { /** * 亿迅那边的住主键id */ private String id; /** * 待办任务id */ private String objId; /** * 1 待分派事件 * 2 待受理事件 * 3 待处理事件 * 4 待评价事件 * 5 待审批延期 * 6 待审核问题 * 7 待受理线索 * 8 待审核任务 * 9 待办任务 */ private String objType; /** * 1 事件工单 * 2 任务交办 * 3 预警线索 * 4 群众问题 * 5: 矛盾纠纷 基本上我们就填5 */ private String todoType; private String sysContent; private String yzyContent; private String objTag; private String title; /** * 2024-08-27 15:34:51 */ private String limitTime; /** * 用户id */ private String userId; /** * 接收用户手机号 */ private String mobile; } dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/domain/vo/GridUserVo.java
New file @@ -0,0 +1,14 @@ package cn.huge.module.thrid.domain.vo; import lombok.Data; @Data public class GridUserVo { private String id; private String gridCode; private String account; private String name; private String mobile; private String idNumber; } dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/domain/vo/HeadVo.java
New file @@ -0,0 +1,15 @@ package cn.huge.module.thrid.domain.vo; import lombok.Data; import java.util.UUID; @Data public class HeadVo { private String requestId; private String username; private String apiName = "reportEvent"; private String password; private String source; } dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/service/GridToDoService.java
New file @@ -0,0 +1,119 @@ package cn.huge.module.thrid.service; import cn.huge.base.common.bo.R; import cn.huge.base.common.utils.HttpClientUtils; import cn.huge.module.thrid.DTOConverter; import cn.huge.module.thrid.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.stereotype.Service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.UUID; @Slf4j @Service public class GridToDoService { private String gridUrl = "http://219.137.166.84:8061"; public R<GridToDoVo> createToDo(GridToDoVo gridToDoVo) { HeadVo headVo = iniHeadVo(); GridToDoRequestVo requestVo = new GridToDoRequestVo(); requestVo.setHeadVo(headVo); requestVo.setBodyVo(gridToDoVo); log.info("xsd:{}", JSON.toJSONString(requestVo)); log.info("xsd:{}",gridUrl + "/sysUserTodo/save"); String s = null; try { s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/save", JSON.toJSONString(requestVo), 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); return R.ok(gridToDoDto); } public R<GridToDoVo> updateToDo(GridToDoVo gridToDoVo) { HeadVo headVo = iniHeadVo(); GridToDoRequestVo requestVo = new GridToDoRequestVo(); requestVo.setHeadVo(headVo); requestVo.setBodyVo(gridToDoVo); String s = null; try { s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/update", JSON.toJSONString(requestVo), 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); } public R<String> deleteToDo(GridIdsVo gridIdsVo) { HeadVo headVo = iniHeadVo(); 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"); } 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) { return R.ok("", "删除成功"); } else { return R.fail(object.getString("data"), "删除失败"); } } public HeadVo iniHeadVo() { HeadVo headVo = new HeadVo(); headVo.setUsername("mtxt001"); headVo.setPassword("aek8CdcaM"); headVo.setRequestId(UUID.randomUUID().toString()); headVo.setSource("string"); return headVo; } public R<List<GridToDoVo>> getToDo(GridGetToDoVo gridGetToDoVo) { HeadVo headVo = iniHeadVo(); 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"); String s = null; try { s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/page", 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) { JSONObject data = object.getJSONObject("data"); JSONArray records = data.getJSONArray("records"); List<GridToDoVo> gridToDoVos = records.toJavaList(GridToDoVo.class); return R.ok(gridToDoVos); } else { return R.fail("获取失败"); } } } dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/service/GridUserService.java
New file @@ -0,0 +1,36 @@ package cn.huge.module.thrid.service; import cn.huge.base.common.bo.R; import cn.huge.base.common.utils.HttpClientUtils; import cn.huge.module.thrid.DTOConverter; import cn.huge.module.thrid.domain.vo.GridToDoRequestVo; import cn.huge.module.thrid.domain.vo.GridToDoVo; import cn.huge.module.thrid.domain.vo.GridUserVo; import cn.huge.module.thrid.domain.vo.HeadVo; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.Map; @Slf4j @Service public class GridUserService { private String gridUrl = "http://219.137.166.84:8061"; public R<GridUserVo> getUserInfo(String token) { String s = null; try { log.info("xsd:{}",JSON.toJSONString(token)); log.info("xsdurl:{}",gridUrl + "/sys/getUserByToken"); s = HttpClientUtils.httpPostRaw(gridUrl + "/sys/getUserByToken", JSON.toJSONString(token), new HashMap<>(), "utf-8"); log.info("xsd:{}",s); } catch (Exception e) { log.info("xsderror:{}",e.getLocalizedMessage()); throw new RuntimeException(e); } GridUserVo gridUserVo = JSONObject.parseObject(s).getObject("data", GridUserVo.class); return R.ok(gridUserVo); } }