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;
|
}
|
|
}
|
}
|