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.OrderApiService; import com.fzzy.order.data.OrderConstant; import com.fzzy.order.data.OrderData; 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 NX2023OrderApiServiceImpl implements OrderApiService { @Autowired private RedisUtil redisUtil; @Autowired private NX2023ApiRemoteService apiRemoteService; @Autowired private NX2023PushService11 nX2023PushService11; @Autowired private NX2023PushService12 nX2023PushService12; @Autowired private NX2023PushService13 nX2023PushService13; @Autowired private NX2023PushService14 nX2023PushService14; @Override public String getProtocol() { return PushProtocol.SB_NX_2023.getCode(); } @Override public void execute(OrderData req, String orderType, ApiConfs conf, String orderid) throws ParseException { // 若指令类型不为1,则返回 if(!OrderConstant.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, 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": nX2023PushService11.pushData1101(apiRemoteService, param); break; case "1102": nX2023PushService11.pushData1102(apiRemoteService, param); break; case "1103": nX2023PushService11.pushData1103(apiRemoteService, param); break; case "1104": nX2023PushService11.pushData1104(apiRemoteService, param); break; case "1105": nX2023PushService11.pushData1105(apiRemoteService, param); break; case "1106": nX2023PushService11.pushData1106(apiRemoteService, param); break; case "1107": nX2023PushService11.pushData1107(apiRemoteService, param); break; case "1108": nX2023PushService11.pushData1108(apiRemoteService, param); break; case "1109": nX2023PushService12.pushData1109(apiRemoteService, param); break; case "1110": nX2023PushService11.pushData1110(apiRemoteService, param); break; case "1111": nX2023PushService11.pushData1111(apiRemoteService, param); break; case "1112": nX2023PushService11.pushData1112(apiRemoteService, param); break; case "1114": nX2023PushService11.pushData1114(apiRemoteService, param); break; case "1201": nX2023PushService12.pushData1201(apiRemoteService, param); break; case "1202": nX2023PushService12.pushData1202(apiRemoteService, param); break; case "1203": nX2023PushService12.pushData1203(apiRemoteService, param); break; case "1204": nX2023PushService12.pushData1204(apiRemoteService, param); break; case "1205": nX2023PushService12.pushData1205(apiRemoteService, param); break; case "1206": nX2023PushService12.pushData1206(apiRemoteService, param); break; case "1207": nX2023PushService12.pushData1207(apiRemoteService, param); break; case "1208": nX2023PushService12.pushData1208(apiRemoteService, param); break; case "1209": nX2023PushService12.pushData1209(apiRemoteService, param); break; case "1210": nX2023PushService12.pushData1210(apiRemoteService, param); break; case "1211": nX2023PushService12.pushData1211(apiRemoteService, param); break; case "1212": nX2023PushService12.pushData1212(apiRemoteService, param); break; case "1301": nX2023PushService13.pushData1301(apiRemoteService, param); break; case "1302": nX2023PushService13.pushData1302(apiRemoteService, param); break; case "1303": nX2023PushService13.pushData1303(apiRemoteService, param); break; case "1304": nX2023PushService13.pushData1304(apiRemoteService, param); break; case "1305": nX2023PushService13.pushData1305(apiRemoteService, param); break; case "1306": nX2023PushService13.pushData1306(apiRemoteService, param); break; case "1307": nX2023PushService13.pushData1307(apiRemoteService, param); break; case "1308": nX2023PushService13.pushData1308(apiRemoteService, param); break; case "1309": nX2023PushService13.pushData1309(apiRemoteService, param); break; case "1310": nX2023PushService13.pushData1310(apiRemoteService, param); break; case "1403": nX2023PushService14.pushData1403(apiRemoteService, param); break; case "1404": nX2023PushService14.pushData1404(apiRemoteService, param); break; default: log.error("-----宁夏省平台:未匹配到接口编码,不推送-----"); break; } } }