package com.fzzy.push.sx2023; import com.fzzy.api.data.ApiParam; import com.fzzy.api.data.PushProtocol; import com.fzzy.api.entity.ApiConfs; import com.fzzy.api.utils.RedisConst; import com.fzzy.api.utils.RedisUtil; import com.fzzy.order.ordersx2023.OrderSxService; import com.fzzy.order.ordersx2023.data.OrderSxConstant; import com.fzzy.order.ordersx2023.data.OrderSxReq; import com.fzzy.push.impl.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.time.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.ParseException; /** * @Description 陕西省平台2023版-指令解析 * @Author CZT * @Date 2024/4/23 11:48 */ @Slf4j @Service public class SX2023OrderServiceImpl implements OrderSxService { @Autowired private RedisUtil redisUtil; @Autowired private SX2023ApiRemoteService apiRemoteService; @Autowired private ComPushService11 pushService11; @Autowired private ComPushService12 pushService12; @Autowired private ComPushService13 pushService13; @Autowired private ComPushService14 pushService14; @Autowired private ComPushService15 pushService15; @Override public String getProtocol() { return PushProtocol.SB_SX_2023.getCode(); } @Override public void execute(OrderSxReq req, ApiConfs apiConfs) throws ParseException { // 若指令类型不为1,则返回 if (!OrderSxConstant.ORDER_SX_TYPE_1.equals(req.getType())) { log.error("陕西省平台:收到指令,指令类型不为1,不执行数据上报!,指令类型={}", req.getType()); return; } String datas = req.getData(); if (StringUtils.isEmpty(datas)) { log.error("陕西省平台:收到指令,指令内容为空,不执行数据上报!"); return; } //指令存入缓存,时效24小时 String key = RedisConst.buildKey(RedisConst.KYE_ORDER, apiConfs.getKqdm()); redisUtil.set(key, req.getOrderid(), 59 * 60 * 24); ApiParam param = new ApiParam(); param.setPushProtocol(apiConfs.getPushProtocol()); param.setKqdm(apiConfs.getKqdm()); param.setStart(DateUtils.parseDate(req.getStartTime(), new String[]{"yyyy-MM-dd HH:mm:ss"})); param.setEnd(DateUtils.parseDate(req.getEndTime(), new String[]{"yyyy-MM-dd HH:mm:ss"})); param.setDeptId(apiConfs.getDeptId()); log.info("接收的指令中接口内容为={}", datas); String[] interfaces = datas.split(","); for (String inteId : interfaces) { log.info("执行接口={}的数据上报", inteId); getDataToPush(param, inteId); } } private void getDataToPush(ApiParam param, String inteId) { switch (inteId) { case "ODS_UP_DWXXJK": pushService11.pushData1101(apiRemoteService, param); break; case "ODS_UP_KQXXJK": pushService11.pushData1102(apiRemoteService, param); break; case "ODS_UP_CFXXJK": pushService11.pushData1103(apiRemoteService, param); break; case "ODS_UP_AJXXJK": pushService11.pushData1104(apiRemoteService, param); break; case "ODS_UP_HWXXJK": pushService11.pushData1105(apiRemoteService, param); break; case "ODS_UP_YGXXJK": pushService11.pushData1106(apiRemoteService, param); break; case "ODS_UP_SBXXJK": pushService11.pushData1107(apiRemoteService, param); break; case "ODS_UP_YJXXJK": pushService11.pushData1108(apiRemoteService, param); break; case "ODS_UP_WJXXJK": pushService12.pushData1109(apiRemoteService, param); break; case "ODS_UP_KQTCFDWBZSJXXJK": pushService11.pushData1110(apiRemoteService, param); break; case "ODS_UP_KQTSPJKSBDWBZSJXXJK": pushService11.pushData1111(apiRemoteService, param); break; case "ODS_UP_RYXXJK": pushService11.pushData1112(apiRemoteService, param); break; case "ODS_UP_CWBBXXJK": pushService15.pushData1500(apiRemoteService, param); break; case "ODS_UP_HTXXJK": pushService12.pushData1201(apiRemoteService, param); break; case "ODS_UP_LSRKXXJK": pushService12.pushData1202(apiRemoteService, param); break; case "ODS_UP_LSRKJYXXJK": pushService12.pushData1203(apiRemoteService, param); break; case "ODS_UP_LSRKJSXXJK": pushService12.pushData1204(apiRemoteService, param); break; case "ODS_UP_LSCKXXJK": pushService12.pushData1205(apiRemoteService, param); break; case "ODS_UP_LSCKJSXXJK": pushService12.pushData1206(apiRemoteService, param); break; case "ODS_UP_DCXXJK": pushService12.pushData1207(apiRemoteService, param); break; case "ODS_UP_LSKCXXJK": pushService12.pushData1208(apiRemoteService, param); break; case "ODS_UP_SYDXXJK": pushService12.pushData1209(apiRemoteService, param); break; case "ODS_UP_LSXZZBDXXJK": pushService12.pushData1210(apiRemoteService, param); break; case "ODS_UP_ZMKCXXJK": pushService12.pushData1211(apiRemoteService, param); break; case "ODS_UP_KHXXJK": pushService12.pushData1212(apiRemoteService, param); break; case "ODS_UP_AQGLXXJK": pushService13.pushData1301(apiRemoteService, param); break; case "ODS_UP_WSDJCXXJK": pushService13.pushData1302(apiRemoteService, param); break; case "ODS_UP_CHJCXXJK": pushService13.pushData1303(apiRemoteService, param); break; case "ODS_UP_QTJCXXJK": pushService13.pushData1304(apiRemoteService, param); break; case "ODS_UP_TFZYXXJK": pushService13.pushData1305(apiRemoteService, param); break; case "ODS_UP_XZZYXXJK": pushService13.pushData1306(apiRemoteService, param); break; case "ODS_UP_CNSPTXXXJK": pushService13.pushData1307(apiRemoteService, param); break; case "ODS_UP_SPJKYCSJGJJBXXJK": pushService13.pushData1308(apiRemoteService, param); break; case "ODS_UP_WGYJXXJK": pushService13.pushData1309(apiRemoteService, param); break; case "ODS_UP_ZJXXJK": pushService13.pushData1310(apiRemoteService, param); break; case "ODS_UP_CBGMXXJK": pushService14.pushData1401(apiRemoteService, param); break; case "ODS_UP_LHJHXXJK": pushService14.pushData1403(apiRemoteService, param); break; case "ODS_UP_LHJHMXXXJK": pushService14.pushData1404(apiRemoteService, param); break; default: log.error("-----陕西省平台:未匹配到接口编码,不推送-----"); break; } } }