forked from gzzfw/backEnd/gz-dyh

xusd
2024-09-13 a1e2570096a99c127d2bb75c9e4bac99a78aa5e0
亿迅对接接口增加
14 files added
2 files modified
602 ■■■■■ changed files
dyh-service/dyh-base/src/main/java/cn/huge/base/common/bo/R.java 142 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/HttpClientUtils.java 5 ●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/file/utils/FtpUtils.java 1 ●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/DTOConverter.java 30 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/controller/GridToDoController.java 61 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/controller/GridUserInfoController.java 36 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/domain/vo/GridGetToDoVo.java 46 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/domain/vo/GridIdsVo.java 10 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/domain/vo/GridToDoDeleteRequestVo.java 10 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/domain/vo/GridToDoGetRequestVo.java 9 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/domain/vo/GridToDoRequestVo.java 9 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/domain/vo/GridToDoVo.java 59 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/domain/vo/GridUserVo.java 14 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/domain/vo/HeadVo.java 15 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/service/GridToDoService.java 119 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/thrid/service/GridUserService.java 36 ●●●●● patch | view | raw | blame | history
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);
    }
}