package com.fzzy.push.nx2023; 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; /** * 宁夏省平台2023版-指令解析 * * @author czt * @date 2023/11/09 */ @Slf4j @Service public class NX2023OrderServiceImpl implements OrderCommonService { @Autowired private RedisUtil redisUtil; @Autowired private NX2023ApiRemoteService 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_2023.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 "1101": pushService11.pushData1101(apiRemoteService, param); break; case "1102": pushService11.pushData1102(apiRemoteService, param); break; case "1103": pushService11.pushData1103(apiRemoteService, param); break; case "1104": pushService11.pushData1104(apiRemoteService, param); break; case "1105": pushService11.pushData1105(apiRemoteService, param); break; case "1106": pushService11.pushData1106(apiRemoteService, param); break; case "1107": pushService11.pushData1107(apiRemoteService, param); break; case "1108": pushService11.pushData1108(apiRemoteService, param); break; case "1109": pushService12.pushData1109(apiRemoteService, param); break; case "1110": pushService11.pushData1110(apiRemoteService, param); break; case "1111": pushService11.pushData1111(apiRemoteService, param); break; case "1112": pushService11.pushData1112(apiRemoteService, param); break; case "1201": pushService12.pushData1201(apiRemoteService, param); break; case "1202": pushService12.pushData1202(apiRemoteService, param); break; case "1203": pushService12.pushData1203(apiRemoteService, param); break; case "1204": pushService12.pushData1204(apiRemoteService, param); break; case "1205": pushService12.pushData1205(apiRemoteService, param); break; case "1206": pushService12.pushData1206(apiRemoteService, param); break; case "1207": pushService12.pushData1207(apiRemoteService, param); break; case "1208": pushService12.pushData1208(apiRemoteService, param); break; case "1209": pushService12.pushData1209(apiRemoteService, param); break; case "1210": pushService12.pushData1210(apiRemoteService, param); break; case "1211": pushService12.pushData1211(apiRemoteService, param); break; case "1212": pushService12.pushData1212(apiRemoteService, param); break; case "1301": pushService13.pushData1301(apiRemoteService, param); break; case "1302": pushService13.pushData1302(apiRemoteService, param); break; case "1303": pushService13.pushData1303(apiRemoteService, param); break; case "1304": pushService13.pushData1304(apiRemoteService, param); break; case "1305": pushService13.pushData1305(apiRemoteService, param); break; case "1306": pushService13.pushData1306(apiRemoteService, param); break; case "1307": pushService13.pushData1307(apiRemoteService, param); break; case "1308": pushService13.pushData1308(apiRemoteService, param); break; case "1309": pushService13.pushData1309(apiRemoteService, param); break; case "1310": pushService13.pushData1310(apiRemoteService, param); break; case "1404": pushService14.pushData1404(apiRemoteService, param); break; case "2442": pushService12.pushData1213(apiRemoteService, param); break; case "2443": pushService15.pushData1504(apiRemoteService, param); break; case "2444": pushService15.pushData1505(apiRemoteService, param); break; case "2445": pushService15.pushData1506(apiRemoteService, param); break; case "2446": pushService15.pushData1507(apiRemoteService, param); break; case "2447": pushService15.pushData1508(apiRemoteService, param); break; case "2448": pushService15.pushData1509(apiRemoteService, param); break; case "2449": pushService15.pushData1510(apiRemoteService, param); break; default: log.error("-----宁夏省平台:未匹配到接口编码,不推送-----"); break; } } }