czt
2024-04-23 f55b2623f09b0b902f991c701c67a2a6f2577057
调整order指令包结构
已重命名8个文件
已删除3个文件
已添加5个文件
已修改3个文件
367 ■■■■ 文件已修改
src/main/java/com/fzzy/order/OrderApiService.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/order/OrderServer.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/order/common/OrderCommonController.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/order/common/OrderCommonManager.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/order/common/OrderCommonService.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/order/common/data/OrderCommonConstant.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/order/common/data/OrderCommonData.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/order/common/data/OrderCommonReq.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/order/common/data/OrderCommonResp.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/order/common/data/OrderCommonResult.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/order/common/package-info.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/order/data/OrderResult.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/gd2022/GD2022OrderServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/nx2023/NX2023ApiRemoteService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/nx2023/NX2023OrderServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/SH2023OrderServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sx2023/package-info.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/whhpjl/WhjlOrderApiServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/order/OrderApiService.java
ÎļþÒÑɾ³ý
src/main/java/com/fzzy/order/OrderServer.java
ÎļþÒÑɾ³ý
src/main/java/com/fzzy/order/common/OrderCommonController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
package com.fzzy.order.common;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.order.common.data.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
 * ä¸‹å‘指令接收入口 --- ç›®å‰ä¸Šæµ·ä½¿ç”¨
 *
 * @author czt
 * @date 2023/8/17
 */
@Slf4j
@Controller
@RequestMapping("service/api")
public class OrderCommonController {
    @Autowired
    private OrderCommonManager orderManager;
    /**
     * ç™»å½•入口
     * @param req
     * @return
     */
    @SuppressWarnings("unchecked")
    @ResponseBody
    @RequestMapping("/order")
    public OrderCommonResp order(@RequestBody OrderCommonReq<JSONObject> req){
        log.info("接收的指令信息={}", req);
        //判断参数
        if(null == req){
            return new OrderCommonResp(OrderCommonResult.ORDER_CODE_500.getCode(), OrderCommonResult.ORDER_CODE_500.getResult());
        }
        //心跳指令,直接返回
        if(OrderCommonConstant.ORDER_TYPE_0.equals(req.getType())){
            OrderCommonResp resp = new OrderCommonResp(OrderCommonResult.ORDER_CODE_200.getCode(), OrderCommonResult.ORDER_CODE_200.getResult());
            log.info("心跳指令返回信息={}", resp);
            return resp;
        }
        try {
            //异步执行
            orderManager.execute(req);
            return new OrderCommonResp(OrderCommonResult.ORDER_CODE_200.getCode(), OrderCommonResult.ORDER_CODE_200.getResult());
        } catch (Exception e) {
            return new OrderCommonResp(OrderCommonResult.ORDER_CODE_500.getCode(), OrderCommonResult.ORDER_CODE_500.getResult());
        }
    }
}
src/main/java/com/fzzy/order/common/OrderCommonManager.java
ÎļþÃû´Ó src/main/java/com/fzzy/order/OrderManager.java ÐÞ¸Ä
@@ -1,10 +1,10 @@
package com.fzzy.order;
package com.fzzy.order.common;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.api.entity.ApiConfs;
import com.fzzy.api.view.pr.ApiConfsPR;
import com.fzzy.order.data.OrderData;
import com.fzzy.order.data.OrderReq;
import com.fzzy.order.common.data.OrderCommonData;
import com.fzzy.order.common.data.OrderCommonReq;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
@@ -23,18 +23,18 @@
 * @date 2023/8/17
 */
@Slf4j
@Component(OrderManager.BEAN_ID)
public class OrderManager implements ApplicationContextAware {
@Component(OrderCommonManager.BEAN_ID)
public class OrderCommonManager implements ApplicationContextAware {
    public static final String BEAN_ID = "order.orderManager";
    private static Map<String, OrderApiService> serviceMap;
    private static Map<String, OrderCommonService> serviceMap;
    @Autowired
    private ApiConfsPR apiConfsPR;
    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        Map<String, OrderApiService> map = applicationContext.getBeansOfType(OrderApiService.class);
        Map<String, OrderCommonService> map = applicationContext.getBeansOfType(OrderCommonService.class);
        serviceMap = new HashMap<>();
        for (String key : map.keySet()) {
            serviceMap.put(map.get(key).getProtocol(), map.get(key));
@@ -47,7 +47,7 @@
     * @param req
     */
    @Async
    public void execute(OrderReq<JSONObject> req){
    public void execute(OrderCommonReq<JSONObject> req){
        try{
            //获取配置信息
@@ -55,10 +55,10 @@
            if(null == apiConfList || apiConfList.isEmpty()){
                return;
            }
            OrderData data = JSONObject.parseObject(req.getData().toString(), OrderData.class);
            OrderCommonData data = JSONObject.parseObject(req.getData().toString(), OrderCommonData.class);
            data.setOrderid(req.getOrderid());
            //根据配置信息执行
            OrderApiService service;
            OrderCommonService service;
            for (ApiConfs conf : apiConfList) {
                service = serviceMap.get(conf.getPushProtocol());
src/main/java/com/fzzy/order/common/OrderCommonService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
package com.fzzy.order.common;
import com.fzzy.api.entity.ApiConfs;
import com.fzzy.order.common.data.OrderCommonData;
import java.text.ParseException;
/**
 * æ ¹æ®åè®®è§£æžæŒ‡ä»¤
 *
 * @author czt
 */
public interface OrderCommonService {
    /**
     * èŽ·å–åè®®ç¼–ç 
     *
     * @return
     */
    public String getProtocol();
    /**
     * è§£æžæŒ‡ä»¤
     * @param req
     * @return
     * @throws Exception
     */
    public void execute(OrderCommonData req, String orderType, ApiConfs apiConfs, String orderid) throws ParseException;
}
src/main/java/com/fzzy/order/common/data/OrderCommonConstant.java
ÎļþÃû´Ó src/main/java/com/fzzy/order/data/OrderConstant.java ÐÞ¸Ä
@@ -1,11 +1,11 @@
package com.fzzy.order.data;
package com.fzzy.order.common.data;
/**
 * æŒ‡ä»¤-常量类
 * @author czt
 * @date 2023/8/17
 */
public class OrderConstant {
public class OrderCommonConstant {
    /**
     * æŒ‡ä»¤ç±»åž‹
src/main/java/com/fzzy/order/common/data/OrderCommonData.java
ÎļþÃû´Ó src/main/java/com/fzzy/order/data/OrderData.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.fzzy.order.data;
package com.fzzy.order.common.data;
import lombok.Data;
import java.io.Serializable;
@@ -9,7 +9,7 @@
 * @date 2023/08/17
 */
@Data
public class OrderData implements Serializable {
public class OrderCommonData implements Serializable {
    /**
     * æŽ¥å£å†…容,多个中间用英文逗号隔开
src/main/java/com/fzzy/order/common/data/OrderCommonReq.java
ÎļþÃû´Ó src/main/java/com/fzzy/order/data/OrderReq.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.fzzy.order.data;
package com.fzzy.order.common.data;
import lombok.Data;
import java.io.Serializable;
@@ -9,7 +9,7 @@
 * @date 2023/08/17
 */
@Data
public class OrderReq<T> implements Serializable {
public class OrderCommonReq<T> implements Serializable {
    /**
     * æŒ‡ä»¤id
src/main/java/com/fzzy/order/common/data/OrderCommonResp.java
ÎļþÃû´Ó src/main/java/com/fzzy/order/data/OrderResp.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.fzzy.order.data;
package com.fzzy.order.common.data;
import lombok.Data;
@@ -10,7 +10,7 @@
 * @date 2023/08/17
 */
@Data
public class OrderResp<T> implements Serializable {
public class OrderCommonResp<T> implements Serializable {
    /**
     *
     */
@@ -21,10 +21,10 @@
    private String result;
    public OrderResp() {
    public OrderCommonResp() {
    }
    public OrderResp(String code, String result) {
    public OrderCommonResp(String code, String result) {
        this.code = code;
        this.result = result;
    }
src/main/java/com/fzzy/order/common/data/OrderCommonResult.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
package com.fzzy.order.common.data;
/**
 * æŒ‡ä»¤åé¦ˆç 
 */
public enum OrderCommonResult {
    ORDER_CODE_200("200", "指令解析成功"),
    ORDER_CODE_500("500", "指令解析失败");
    private String code;
    private String result;
    OrderCommonResult(String code, String msg) {
        this.code = code;
        this.result = msg;
    }
    public String getCode() {
        return code;
    }
    public String getResult() {
        return result;
    }
    public static String getMsg(String code) {
        if(null == code) return null;
        if(OrderCommonResult.ORDER_CODE_200.getCode().equals(code)) return OrderCommonResult.ORDER_CODE_200.getResult();
        if(OrderCommonResult.ORDER_CODE_500.getCode().equals(code)) return OrderCommonResult.ORDER_CODE_500.getResult();
        return code;
    }
}
src/main/java/com/fzzy/order/common/package-info.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
/**
 * @Description å…¬å…±æŒ‡ä»¤åŒ…:指令路径自定义。上海使用,广东测试使用;
 * @Author CZT
 * @Date 2024/4/23 9:45
 */
package com.fzzy.order.common;
src/main/java/com/fzzy/order/data/OrderResult.java
ÎļþÒÑɾ³ý
src/main/java/com/fzzy/push/gd2022/GD2022OrderServiceImpl.java
ÎļþÃû´Ó src/main/java/com/fzzy/push/gd2022/GD2022OrderApiServiceImpl.java ÐÞ¸Ä
@@ -3,9 +3,9 @@
import com.fzzy.api.data.ApiParam;
import com.fzzy.api.data.PushProtocol;
import com.fzzy.api.entity.ApiConfs;
import com.fzzy.order.OrderApiService;
import com.fzzy.order.data.OrderConstant;
import com.fzzy.order.data.OrderData;
import com.fzzy.order.common.OrderCommonService;
import com.fzzy.order.common.data.OrderCommonConstant;
import com.fzzy.order.common.data.OrderCommonData;
import com.fzzy.push.impl.ComPushService11;
import com.fzzy.push.impl.ComPushService12;
import com.fzzy.push.impl.ComPushService13;
@@ -26,7 +26,7 @@
 */
@Slf4j
@Service
public class GD2022OrderApiServiceImpl implements OrderApiService {
public class GD2022OrderServiceImpl implements OrderCommonService {
    @Autowired
    private GD2022ApiRemoteService2022 apiRemoteService;
@@ -46,10 +46,10 @@
    @Override
    public void execute(OrderData req, String orderType, ApiConfs conf, String orderid) throws ParseException {
    public void execute(OrderCommonData req, String orderType, ApiConfs conf, String orderid) throws ParseException {
        // è‹¥æŒ‡ä»¤ç±»åž‹ä¸ä¸º1,则返回
        if(!OrderConstant.ORDER_TYPE_1.equals(orderType)){
        if(!OrderCommonConstant.ORDER_TYPE_1.equals(orderType)){
            log.error("指令类型不为1,不进行数据上报={}", req);
            return;
        }
src/main/java/com/fzzy/push/nx2023/NX2023ApiRemoteService.java
@@ -10,7 +10,7 @@
import com.fzzy.api.service.ApiTriggerService;
import com.fzzy.api.utils.*;
import com.fzzy.api.view.repository.*;
import com.fzzy.order.data.OrderData;
import com.fzzy.order.common.data.OrderCommonData;
import com.fzzy.push.nx2023.dto.*;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@@ -119,9 +119,9 @@
            //指令id
            String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm());
            String orderId = reqData.getId();
            OrderData orderData = (OrderData) redisUtil.get(key);
            if (null != orderData && StringUtils.isNotEmpty(orderData.getOrderid())) {
                orderId = orderData.getOrderid();
            OrderCommonData orderCommonData = (OrderCommonData) redisUtil.get(key);
            if (null != orderCommonData && StringUtils.isNotEmpty(orderCommonData.getOrderid())) {
                orderId = orderCommonData.getOrderid();
            }
            reqData.setOrderid(orderId);
src/main/java/com/fzzy/push/nx2023/NX2023OrderServiceImpl.java
ÎļþÃû´Ó src/main/java/com/fzzy/push/nx2023/NX2023OrderApiServiceImpl.java ÐÞ¸Ä
@@ -5,9 +5,9 @@
import com.fzzy.api.entity.ApiConfs;
import com.fzzy.api.utils.RedisConst;
import com.fzzy.api.utils.RedisUtil;
import com.fzzy.order.OrderApiService;
import com.fzzy.order.data.OrderConstant;
import com.fzzy.order.data.OrderData;
import com.fzzy.order.common.OrderCommonService;
import com.fzzy.order.common.data.OrderCommonConstant;
import com.fzzy.order.common.data.OrderCommonData;
import com.fzzy.push.impl.ComPushService11;
import com.fzzy.push.impl.ComPushService12;
import com.fzzy.push.impl.ComPushService13;
@@ -27,7 +27,7 @@
 */
@Slf4j
@Service
public class NX2023OrderApiServiceImpl implements OrderApiService {
public class NX2023OrderServiceImpl implements OrderCommonService {
    @Autowired
    private RedisUtil redisUtil;
@@ -49,10 +49,10 @@
    @Override
    public void execute(OrderData req, String orderType, ApiConfs conf, String orderid) throws ParseException {
    public void execute(OrderCommonData req, String orderType, ApiConfs conf, String orderid) throws ParseException {
        // è‹¥æŒ‡ä»¤ç±»åž‹ä¸ä¸º1,则返回
        if(!OrderConstant.ORDER_TYPE_1.equals(orderType)){
        if(!OrderCommonConstant.ORDER_TYPE_1.equals(orderType)){
            log.error("指令类型不为1,不进行数据上报={}", req);
            return;
        }
src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
@@ -10,7 +10,7 @@
import com.fzzy.api.service.ApiTriggerService;
import com.fzzy.api.utils.*;
import com.fzzy.api.view.repository.*;
import com.fzzy.order.data.OrderData;
import com.fzzy.order.common.data.OrderCommonData;
import com.fzzy.push.sh2023.dto.*;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@@ -123,8 +123,8 @@
            //获取指令id
            String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm());
            OrderData orderData = (OrderData) redisUtil.get(key);
            if (null == orderData || StringUtils.isEmpty(orderData.getOrderid())) {
            OrderCommonData orderCommonData = (OrderCommonData) redisUtil.get(key);
            if (null == orderCommonData || StringUtils.isEmpty(orderCommonData.getOrderid())) {
                log.error("指令id失效=" + jsonData);
                ResponseDto responseDto = new ResponseDto(99, "指令id失效");
                apiLog.setStatus(99);
@@ -139,7 +139,7 @@
            //获取身份ID,即行政区划码
            reqData.setUid(conf.getUserName());
            //指令id
            reqData.setOrderid(orderData.getOrderid());
            reqData.setOrderid(orderCommonData.getOrderid());
            //身份签名,使用自有RSA私钥进行加密(地区行政区划代码_当天日期)
            reqData.setAccess_token(ShRSAUtils.sign(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPassword()));
src/main/java/com/fzzy/push/sh2023/SH2023OrderServiceImpl.java
ÎļþÃû´Ó src/main/java/com/fzzy/push/sh2023/SH2023OrderApiServiceImpl.java ÐÞ¸Ä
@@ -5,9 +5,9 @@
import com.fzzy.api.entity.ApiConfs;
import com.fzzy.api.utils.RedisConst;
import com.fzzy.api.utils.RedisUtil;
import com.fzzy.order.OrderApiService;
import com.fzzy.order.data.OrderConstant;
import com.fzzy.order.data.OrderData;
import com.fzzy.order.common.OrderCommonService;
import com.fzzy.order.common.data.OrderCommonConstant;
import com.fzzy.order.common.data.OrderCommonData;
import com.fzzy.push.impl.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
@@ -25,7 +25,7 @@
 */
@Slf4j
@Service
public class SH2023OrderApiServiceImpl implements OrderApiService {
public class SH2023OrderServiceImpl implements OrderCommonService {
    @Autowired
    private RedisUtil redisUtil;
@@ -49,10 +49,10 @@
    @Override
    public void execute(OrderData req, String orderType, ApiConfs conf, String orderid) throws ParseException {
    public void execute(OrderCommonData req, String orderType, ApiConfs conf, String orderid) throws ParseException {
        // è‹¥æŒ‡ä»¤ç±»åž‹ä¸ä¸º1,则返回
        if(!OrderConstant.ORDER_TYPE_1.equals(orderType)){
        if(!OrderCommonConstant.ORDER_TYPE_1.equals(orderType)){
            log.error("指令类型不为1,不进行数据上报={}", req);
            return;
        }
src/main/java/com/fzzy/push/sx2023/package-info.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
/**
 * @Description é™•西省平台接口服务
 * @Author CZT
 * @Date 2024/4/22 19:45
 */
package com.fzzy.push.sx2023;
src/main/java/com/fzzy/push/whhpjl/WhjlOrderApiServiceImpl.java
@@ -2,8 +2,8 @@
import com.fzzy.api.data.PushProtocol;
import com.fzzy.api.entity.ApiConfs;
import com.fzzy.order.OrderApiService;
import com.fzzy.order.data.OrderData;
import com.fzzy.order.common.OrderCommonService;
import com.fzzy.order.common.data.OrderCommonData;
import org.springframework.stereotype.Service;
/**
@@ -13,7 +13,7 @@
 * @date 2023/08/17
 */
@Service
public class WhjlOrderApiServiceImpl implements OrderApiService {
public class WhjlOrderApiServiceImpl implements OrderCommonService {
    @Override
    public String getProtocol() {
@@ -22,7 +22,7 @@
    @Override
    public void execute(OrderData req, String orderType, ApiConfs apiConfs, String orderid) {
    public void execute(OrderCommonData req, String orderType, ApiConfs apiConfs, String orderid) {
        //TODO å¾…实现