package com.fzzy.push.nx2024; 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.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; import org.apache.commons.lang.time.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.ParseException; /** * @Description 宁夏省平台2024版-指令解析 * @Author CZT * @Date 2024/7/25 15:30 */ @Slf4j @Service public class NX2024OrderServiceImpl implements OrderCommonService { @Autowired private RedisUtil redisUtil; @Autowired private NX2024ApiRemoteService 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_NX_2024.getCode(); } @Override public void execute(OrderCommonData req, String orderType, ApiConfs conf, String orderid) throws ParseException { // 若指令类型不为1,则返回 if(!OrderCommonConstant.ORDER_TYPE_1.equals(orderType)){ log.error("指令类型不为1,不进行数据上报={}", req); return; } String ids = req.getContent(); if(StringUtils.isEmpty(ids)){ log.error("指令接口为空,不进行数据上报={}", req); return; } //指令存入缓存,时效24小时 String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm()); redisUtil.set(key, req.getOrderid(), 59 * 60 * 24); ApiParam param = new ApiParam(); param.setPushProtocol(conf.getPushProtocol()); param.setKqdm(conf.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(conf.getDeptId()); log.info("接收的指令中接口内容为={}", req.getContent()); String[] interfaces = ids.split(";"); for (String inteId : interfaces) { log.info("执行接口={}的数据上报", inteId); getDataToPush(param, inteId); } } private void getDataToPush(ApiParam param, String inteId) { switch (inteId) { case "2401": pushService11.pushData1101(apiRemoteService, param); break; case "2402": pushService11.pushData1102(apiRemoteService, param); break; case "2403": pushService11.pushData1103(apiRemoteService, param); break; case "2404": pushService11.pushData1104(apiRemoteService, param); break; case "2405": pushService11.pushData1105(apiRemoteService, param); break; case "2406": pushService11.pushData1106(apiRemoteService, param); break; case "2407": pushService11.pushData1107(apiRemoteService, param); break; case "2408": pushService11.pushData1108(apiRemoteService, param); break; case "2409": pushService12.pushData1109(apiRemoteService, param); break; case "2410": pushService11.pushData1110(apiRemoteService, param); break; case "2411": pushService11.pushData1111(apiRemoteService, param); break; case "2412": pushService11.pushData1112(apiRemoteService, param); break; case "2413": pushService11.pushData1113(apiRemoteService, param); break; case "2414": pushService12.pushData1201(apiRemoteService, param); break; case "2415": pushService12.pushData1202(apiRemoteService, param); break; case "2416": pushService12.pushData1203(apiRemoteService, param); break; case "2417": pushService12.pushData1204(apiRemoteService, param); break; case "2418": pushService12.pushData1205(apiRemoteService, param); break; case "2419": pushService12.pushData1206(apiRemoteService, param); break; case "2420": pushService12.pushData1207(apiRemoteService, param); break; case "2421": pushService12.pushData1208(apiRemoteService, param); break; case "2422": pushService12.pushData1209(apiRemoteService, param); break; case "2423": pushService12.pushData1210(apiRemoteService, param); break; case "2424": pushService12.pushData1211(apiRemoteService, param); break; case "2425": pushService12.pushData1212(apiRemoteService, param); break; case "2426": pushService13.pushData1301(apiRemoteService, param); break; case "2427": pushService13.pushData1302(apiRemoteService, param); break; case "2428": pushService13.pushData1303(apiRemoteService, param); break; case "2429": pushService13.pushData1304(apiRemoteService, param); break; case "2430": pushService13.pushData1305(apiRemoteService, param); break; case "2431": pushService13.pushData1306(apiRemoteService, param); break; case "2432": pushService13.pushData1307(apiRemoteService, param); break; case "2433": pushService13.pushData1308(apiRemoteService, param); break; case "2434": pushService13.pushData1309(apiRemoteService, param); break; case "2435": pushService13.pushData1310(apiRemoteService, param); break; case "2436": pushService14.pushData1401(apiRemoteService, param); break; case "2437": pushService14.pushData1402(apiRemoteService, param); break; case "2438": pushService14.pushData1403(apiRemoteService, param); break; case "2439": pushService14.pushData1404(apiRemoteService, param); break; case "2440": pushService14.pushData1405(apiRemoteService, param); break; case "2441": pushService15.pushData1500(apiRemoteService, param); break; default: log.error("-----宁夏省平台2024版:未匹配到接口编码,不推送-----"); break; } } }