czt
2024-05-07 5f94cc1e92d0b31905d927602d095ac3a0a3711a
陕西省平台提交4-接口联调
已修改11个文件
已添加1个文件
163 ■■■■ 文件已修改
src/main/java/com/fzzy/Application.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1208.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1302.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/conf/WebMvcConfig.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/order/ordersx2023/OrderSxController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/order/ordersx2023/data/OrderSxReq.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/order/ordersx2023/data/OrderSxResp.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sx2023/SX2023ApiRemoteService.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sx2023/SX2023OrderServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sx2023/data/SX2023ReqDto.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-pro5349.yml 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/Application.java
@@ -6,23 +6,23 @@
import com.bstek.dorado.web.loader.DoradoLoader;
import com.bstek.dorado.web.servlet.DoradoServlet;
import com.fzzy.dorado.DoradoApplicationContextInilializer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import java.util.LinkedHashSet;
import java.util.Set;
@EnableTransactionManagement
@EnableScheduling
@SpringBootApplication
@EnableAsync
public class Application {
    @Bean
@@ -39,6 +39,7 @@
    
    /**
     * è°ƒæ•´FASTJSON的注解支持
     *
     * @return
     */
    @Bean
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1208.java
@@ -114,12 +114,17 @@
                } else {
                    apiData.setLqgsdwdm(fz40DepotStore.getLqgsdwdm());
                }
                //粮权行政区划代码,省级储备粮粮权为省级
                if (apiData.getLsxzdm().equals("121")) {
                    apiData.setLqxzqhdm(api1102.getXzqhdm().substring(0, 2) + "0000");
                } else {
                    apiData.setLqxzqhdm(api1102.getXzqhdm());
                if (apiData.getLsxzdm().equals("121")) {
                    //省级储备粮-粮权行政区划代码为省级
                    apiData.setLqxzqhdm(api1102.getXzqhdm().substring(0, 2) + "0000");
                }
                if (apiData.getLsxzdm().equals("122")) {
                    //市级储备粮-粮权行政区划代码为市级
                    apiData.setLqxzqhdm(api1102.getXzqhdm().substring(0, 4) + "00");
                }
                //管理方式-默认直储
                if (StringUtils.isEmpty(fz40DepotStore.getManageType())) {
                    apiData.setGlfs("01");
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1302.java
@@ -61,13 +61,12 @@
        apiLog.setId(ContextUtil.getUUID());
        try {
            List<Fz40Grain> list = fzzySync1302Rep.findByReceiveDate(start, end);
            log.info(DateUtils.format("yyyy-MM-dd HH:mm:ss", start));
            log.info(DateUtils.format("yyyy-MM-dd HH:mm:ss", end));
            if (null == list || list.isEmpty()) {
                log.info("1302---同步数据:没有查询到需要同步的数据");
                return;
            }
            log.info(JSONObject.toJSONString(list));
            Date syncTime = new Date();
            Api1302 api1302;
            Api1105 api1105;
src/main/java/com/fzzy/conf/WebMvcConfig.java
@@ -54,6 +54,7 @@
                .addPathPatterns("/home2")
                .addPathPatterns("/home-whjl")
                .excludePathPatterns("login")
                .excludePathPatterns("/service/api/order");
                .excludePathPatterns("/service/api/order")
                .excludePathPatterns("/Acquisition");
    }
}
src/main/java/com/fzzy/order/ordersx2023/OrderSxController.java
@@ -23,13 +23,13 @@
    @Autowired
    private OrderSxManager orderSxManager;
    /**
     * ç™»å½•入口
     * æŒ‡ä»¤å…¥å£
     * @param req
     * @return
     */
    @SuppressWarnings("unchecked")
    @ResponseBody
    @RequestMapping("/")
    @RequestMapping("")
    public OrderSxResp order(@RequestBody OrderSxReq req){
        log.debug("陕西省平台:接收的指令信息={}", req);
        //判断参数
src/main/java/com/fzzy/order/ordersx2023/data/OrderSxReq.java
@@ -1,5 +1,6 @@
package com.fzzy.order.ordersx2023.data;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serializable;
@@ -14,32 +15,38 @@
    /**
     * æŒ‡ä»¤ID
     */
    private String Orderid;
    @JsonProperty("Orderid")
    private String orderid;
    /**
     * æŒ‡ä»¤å†…容:心跳指令时,内容为空
     */
    private String Data;
    @JsonProperty("Data")
    private String data;
    /**
     * æŒ‡ä»¤ç±»åž‹ï¼š0-心跳;1-数据
     */
    private String Type;
    @JsonProperty("Type")
    private String type;
    /**
     * å¼€å§‹æ—¶é—´
     */
    private String StartTime;
    @JsonProperty("StartTime")
    private String startTime;
    /**
     * æˆªæ­¢æ—¶é—´
     */
    private String EndTime;
    @JsonProperty("EndTime")
    private String endTime;
    /**
     * å•位代码,18位统一信用码
     */
    private String Dwdm;
    @JsonProperty("Dwdm")
    private String dwdm;
    /**
     * æ“ä½œæ ‡å¿—:a:未上传和已上传的数据(包括数据池中操作标志为d的数据) c:未上传和已上传的数据(不包括数据池中操作标志为d的数据) n:未上传过的数据
src/main/java/com/fzzy/order/ordersx2023/data/OrderSxResp.java
@@ -1,5 +1,7 @@
package com.fzzy.order.ordersx2023.data;
import lombok.Data;
import java.io.Serializable;
/**
@@ -7,6 +9,7 @@
 * @Author CZT
 * @Date 2024/4/23 11:16
 */
@Data
public class OrderSxResp implements Serializable {
    /**
     *
@@ -14,6 +17,7 @@
    private static final long serialVersionUID = -6714158228489303453L;
    private String code;
    public OrderSxResp() {
    }
src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
@@ -1368,7 +1368,7 @@
    }
    private String getYwdh(String wjlx, String wjmc, String ywdh) {
        String[] s = wjmc.split("_");
        if ("2".equals(wjlx) || "3".equals(wjlx)) {
        if ("2".equals(wjlx) || "3".equals(wjlx) || "4".equals(wjlx) || "5".equals(wjlx)) {
            ywdh = s[1];
        }
        return ywdh;
src/main/java/com/fzzy/push/sx2023/SX2023ApiRemoteService.java
@@ -84,9 +84,8 @@
                return responseDto;
            }
            List<Map<String, Object>> listData = getListData(param.getInteId(), data, conf);
            log.info("接口数据信息=" + listData);
            apiLog.setData(listData.toString());
            String jsonData = getListData(param.getInteId(), data, conf);
            apiLog.setData(jsonData);
            apiLog.setKqdm(kqdm);
            apiLog.setUploadTime(new Date());
@@ -117,9 +116,13 @@
            //18位单位代码
            reqData.setDwdm(conf.getKqdm().substring(0, 18));
            //加密数据主体
//            reqData.setBody(listData);
            reqData.setBody(SXAESUtils.encryptByAES(conf.getPublicKey(), listData.toString()));
            log.debug("上报数据信息=" + JSON.toJSONString(reqData));
            reqData.setBody(jsonData);
            log.info("上报数据信息-加密前=" + JSON.toJSONString(reqData));
            reqData.setBody(SXAESUtils.encryptByAES(conf.getPublicKey(), jsonData));
            log.info("上报数据信息-加密后=" + JSON.toJSONString(reqData));
            reqData.setBody(SXAESUtils.encryptByAES(conf.getPublicKey(), jsonData));
            String resp = SX2023HttpClientUtil.postPushData(conf.getApiUrl(), JSON.toJSONString(reqData));
            if (StringUtils.isEmpty(resp)) {
                log.error("数据上传陕西省平台失败,数据={}", reqData);
@@ -129,8 +132,8 @@
                apiLogRep.save(apiLog);
                return responseDto;
            }
            resp = SXAESUtils.decryptByAES(conf.getPassword(), resp);
            SX2023RespDto sx2023RespDto = JSONObject.parseObject(JSONObject.toJSONString(resp), SX2023RespDto.class);
            SX2023RespDto sx2023RespDto = JSONObject.parseObject(resp, SX2023RespDto.class);
            if (null == sx2023RespDto || null == sx2023RespDto.getMsgBody()) {
                log.error("数据上传陕西省平台失败,数据={}", reqData);
@@ -177,7 +180,7 @@
     * @param conf
     * @return
     */
    private List<Map<String, Object>> getListData(String inteId, Object data, ApiConfs conf) {
    private String getListData(String inteId, Object data, ApiConfs conf) {
        List<Map<String, Object>> result = new ArrayList<>();
        Map<String, Object> map = new HashMap<>();
        String inteIdUrl = getInteId(inteId);
@@ -198,7 +201,7 @@
            map.put(inteIdUrl, list);
        }
        result.add(map);
        return result;
        return JSON.toJSONString(result);
    }
    /**
@@ -252,8 +255,12 @@
            return apiData;
        }
        if (Constant.API_CODE_1109.equals(inteId)) {
            Api1109 api1109 = (Api1109) data;
            SX2023Api1109 apiData = new SX2023Api1109();
            BeanUtils.copyProperties(data, apiData);
            BeanUtils.copyProperties(api1109, apiData);
            //设置文件流
            apiData.setWjl(FileUtils.fileToByteString(api1109.getWjdz()));
            return apiData;
        }
        if (Constant.API_CODE_1110.equals(inteId)) {
@@ -362,8 +369,12 @@
            return apiData;
        }
        if (Constant.API_CODE_1307.equals(inteId)) {
            Api1307 api1307 = (Api1307) data;
            SX2023Api1307 apiData = new SX2023Api1307();
            BeanUtils.copyProperties(data, apiData);
            BeanUtils.copyProperties(api1307, apiData);
            //设置文件流
            apiData.setCntxwjl(FileUtils.fileToByteString(api1307.getWjdz()));
            return apiData;
        }
        if (Constant.API_CODE_1308.equals(inteId)) {
src/main/java/com/fzzy/push/sx2023/SX2023OrderServiceImpl.java
@@ -59,7 +59,7 @@
        //指令存入缓存,时效24小时
        String key = RedisConst.buildKey(RedisConst.KYE_ORDER, apiConfs.getKqdm());
        redisUtil.set(key, req, 59 * 60 * 24);
        redisUtil.set(key, req.getOrderid(), 59 * 60 * 24);
        ApiParam param = new ApiParam();
        param.setPushProtocol(apiConfs.getPushProtocol());
src/main/java/com/fzzy/push/sx2023/data/SX2023ReqDto.java
@@ -1,5 +1,6 @@
package com.fzzy.push.sx2023.data;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serializable;
@@ -9,7 +10,7 @@
 * @Date 2024/4/23 15:02
 */
@Data
public class SX2023ReqDto<T> implements Serializable {
public class SX2023ReqDto implements Serializable {
    /**
     * æŠ¥æ–‡æ ‡è¯†
@@ -24,17 +25,20 @@
    /**
     * å•位编码:11位
     */
    private String OrgNo;
    @JsonProperty("OrgNo")
    private String orgNo;
    /**
     * å•位名称
     */
    private String OrgName;
    @JsonProperty("OrgName")
    private String orgName;
    /**
     * å‘èµ·æ—¶é—´
     */
    private String SendTime;
    @JsonProperty("SendTime")
    private String sendTime;
    /**
     * å•位代码
@@ -44,6 +48,7 @@
    /**
     * æ•°æ®ä¸»ä½“内容:加密
     */
    private T Body;
    @JsonProperty("Body")
    private String body;
}
src/main/resources/application-pro5349.yml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
##########################  é™•西柞水县   ##########################
server:
  port: 8090
  jetty:
    max-http-post-size: 209715200
  tomcat:
    max-http-post-size: 209715200
spring:
  datasource:
    #主数据源
    primary:
      url: jdbc:mysql://127.0.0.1:3306/igds_api?useUnicode=true&characterEncoding=utf-8&useSSL=false
      driver-class-name: com.mysql.jdbc.Driver
      username: root
      password: Fzzy@#$%5432..K
    #次数据源
    secondary:
      url: jdbc:mysql://127.0.0.1:3306/igds_master?useUnicode=true&characterEncoding=utf-8&useSSL=false
      driver-class-name: com.mysql.jdbc.Driver
      username: root
      password: Fzzy@#$%5432..K
  jpa:
    #主jpa配置
    primary:
      show-sql: true
      properties:
        hibernate:
          hbm2ddl:
            auto: update
          dialect: org.hibernate.dialect.MySQL5InnoDBDialect
    #次jpa配置
    secondary:
      show-sql: true
      properties:
        hibernate:
          hbm2ddl:
            auto: none
          dialect: org.hibernate.dialect.MySQL5InnoDBDialect
  # Redis相关配置
  redis:
    database: 1
    host: 127.0.0.1
    port: 6379
    password: Redispwd..
    # è¿žæŽ¥æ± æœ€å¤§è¿žæŽ¥æ•°ï¼ˆä½¿ç”¨è´Ÿå€¼è¡¨ç¤ºæ²¡æœ‰é™åˆ¶ï¼‰
    pool:
      max-active: 200
      max-wait: -1
      max-idle: 10
      min-idle: 0
      timeout: 6000
igds:
  default:
    companyId: 5348
  file-path: D:/IGDS-API/FILE/
  img-path: D:/IGDS/FILE/