InterfaceCheckServer.java 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. package com.jkcredit.invoice.credit;
  2. import com.jkcredit.invoice.common.DataResult;
  3. import com.jkcredit.invoice.component.StatisRequestIdTimeComp;
  4. import com.jkcredit.invoice.credit.interserver.CustomerInterLowerService;
  5. import com.jkcredit.invoice.credit.interserver.NoCarInterService;
  6. import com.jkcredit.invoice.credit.interserver.SelfCarInterService;
  7. import lombok.extern.slf4j.Slf4j;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Service;
  10. @Service("interfaceCheckServer")
  11. @Slf4j
  12. public class InterfaceCheckServer {
  13. @Autowired
  14. CustomerInterLowerService customerInterLowerService;
  15. @Autowired
  16. SelfCarInterService selfCarInterService;
  17. @Autowired
  18. NoCarInterService noCarInterService;
  19. @Autowired
  20. StatisRequestIdTimeComp statisRequestIdTimeComp;
  21. //跳转到对应的Service服务处理逻辑
  22. public DataResult doJumpHandler(String appKey, String api, String data,String requestid ) {
  23. log.info("[-InterfaceCheckServer.doJumpHandler-] request appKey=" + appKey + " ,api=" + api + " ,data=" +data + " ,requestid=" +requestid);
  24. long startTime = System.currentTimeMillis();
  25. DataResult resultTimeOut = new DataResult();
  26. resultTimeOut.setData(3);
  27. resultTimeOut.setCode(200);
  28. resultTimeOut.setRequestid(requestid);
  29. resultTimeOut.setMsg("网络异常");
  30. DataResult result;
  31. switch (api){
  32. //----------------------------自有车、无车公共接口---------------------------------//
  33. case "COMPANY_ADD_V1"://无车、自有车企业注册
  34. if(StatisRequestIdTimeComp.isLimit){
  35. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  36. result = resultTimeOut;
  37. }else{
  38. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  39. result = customerInterLowerService.customeInterRec(appKey,api,data,requestid);
  40. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  41. }
  42. break;
  43. case "PROTOCOL_ADD_V1"://无车、自有车协议上传
  44. if(StatisRequestIdTimeComp.isLimit){
  45. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  46. result = resultTimeOut;
  47. }else{
  48. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  49. result = customerInterLowerService.customeProtocolUpLoad(appKey,api,data,requestid);
  50. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  51. }
  52. break;
  53. case "COMPANY_QUERY_V1"://无车、自有车企业查询
  54. if(StatisRequestIdTimeComp.isLimit){
  55. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  56. result = resultTimeOut;
  57. }else{
  58. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  59. result = customerInterLowerService.customeInterRecQuery(appKey,api,data,requestid);
  60. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  61. }
  62. break;
  63. case "PROTOCOL_STATUS_V1"://自有车 无车、协议上传状态查询
  64. if(StatisRequestIdTimeComp.isLimit){
  65. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  66. result = resultTimeOut;
  67. }else{
  68. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  69. result = customerInterLowerService.customeProtocolStatus(appKey,api,data,requestid);
  70. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  71. }
  72. break;
  73. //----------------------------自有车下游接口---------------------------------//
  74. case "CARD_BIND_QUERY_LIST_V1"://自有车 用户卡列表查询
  75. if(StatisRequestIdTimeComp.isLimit){
  76. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  77. result = resultTimeOut;
  78. }else{
  79. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  80. result = selfCarInterService.customerETCQuery(appKey,api,data,requestid);
  81. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  82. }
  83. break;
  84. case "CARD_QUERY_CARD_V1"://自有车 卡信息查询
  85. if(StatisRequestIdTimeComp.isLimit){
  86. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  87. result = resultTimeOut;
  88. }else{
  89. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  90. result = selfCarInterService.customerQueryEtcInfo(appKey,api,data,requestid);
  91. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  92. }
  93. break;
  94. case "CARD_BINDING_V1"://自有车 下发短信验证码
  95. if(StatisRequestIdTimeComp.isLimit){
  96. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  97. result = resultTimeOut;
  98. }else{
  99. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  100. result = selfCarInterService.customerETCRec(appKey,api,data,requestid);
  101. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  102. }
  103. break;
  104. case "CARD_VALID_CODE_V1"://自有车 卡绑定接口 渠道调用此接口,上传用户收到的短信验证码
  105. if(StatisRequestIdTimeComp.isLimit){
  106. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  107. result = resultTimeOut;
  108. }else{
  109. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  110. result = selfCarInterService.customerETCRecValid(appKey,api,data,requestid);
  111. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  112. }
  113. break;
  114. case "CARD_TRADE_V1"://自有车 交易查询接口 渠道通过此接口可以查询单张卡连续90天内的交易(待开票、开票中、已开票)
  115. if(StatisRequestIdTimeComp.isLimit){
  116. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  117. result = resultTimeOut;
  118. }else{
  119. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  120. result = selfCarInterService.getTradeList(appKey,api,data,requestid);
  121. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  122. }
  123. break;
  124. case "B2B_INVOICE_APPLY_V1"://自有车 申请开票接口 渠道通过此接口可以对该公司绑定的单张卡连续90天内的交易进行开票。
  125. if(StatisRequestIdTimeComp.isLimit){
  126. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  127. result = resultTimeOut;
  128. }else{
  129. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  130. result = selfCarInterService.applInvoice(appKey,api,data,requestid);
  131. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  132. }
  133. break;
  134. case "B2B_INVOICE_QUERY_V1"://自有车 已开发票查询接口 渠道通过此接口可以根据该公司绑定的单张卡查询此卡在某个月开具的发票。
  135. if(StatisRequestIdTimeComp.isLimit){
  136. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  137. result = resultTimeOut;
  138. }else{
  139. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  140. result = selfCarInterService.getSelfCarInvoicesByTime(appKey,api,data,requestid);
  141. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  142. }
  143. break;
  144. case "B2B_INVOICE_PACKAGE_V1"://自有车 发票下载 渠道通过此接口可以下载某公司某个月份开具的发票。
  145. if(StatisRequestIdTimeComp.isLimit){
  146. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  147. result = resultTimeOut;
  148. }else{
  149. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  150. result = selfCarInterService.getSelfCarInvoicePackage(appKey,api,data,requestid);
  151. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  152. }
  153. break;
  154. case "CARD_UNBIND_V1"://自有车 卡解绑接口。
  155. result = selfCarInterService.customerCarUnRec(appKey,api,data,requestid);
  156. break;
  157. case "B2B_CHANGE_CARD_V1":
  158. result = selfCarInterService.customerCardChange(appKey,api,data,requestid);
  159. break;
  160. case "B2B_CHANGE_CARD_QUERY_V1":
  161. result = selfCarInterService.customerCardChangeQuery(appKey,api,data,requestid);
  162. break;
  163. //----------------------------无车下游接口---------------------------------//
  164. case "VEHICLE_REGISTER"://无车 车辆备案接口
  165. if(StatisRequestIdTimeComp.isLimit){
  166. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  167. result = resultTimeOut;
  168. }else{
  169. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  170. result = noCarInterService.customerCarRec(appKey,api,data,requestid);
  171. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  172. }
  173. break;
  174. case "VEHICLE_REGISTER_QUERY"://无车 车辆备案查询接口
  175. if(StatisRequestIdTimeComp.isLimit){
  176. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  177. result = resultTimeOut;
  178. }else{
  179. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  180. result = noCarInterService.customeRecUpperQuery(appKey,api,data,requestid);
  181. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  182. }
  183. break;
  184. case "WAY_BILL_START"://无车 实时运单开始指令
  185. if(StatisRequestIdTimeComp.isLimit){
  186. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  187. result = resultTimeOut;
  188. }else{
  189. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  190. result = noCarInterService.noCarBillStart(appKey,api,data,requestid);
  191. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  192. }
  193. break;
  194. case "WAY_BILL_END"://无车 实时运单结束指令
  195. if(StatisRequestIdTimeComp.isLimit){
  196. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  197. result = resultTimeOut;
  198. }else{
  199. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  200. result = noCarInterService.noCarBillEnd(appKey,api,data,requestid);
  201. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  202. }
  203. break;
  204. case "WAY_BILL_HISTORY_START"://无车 历史运单开始指令
  205. if(StatisRequestIdTimeComp.isLimit){
  206. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  207. result = resultTimeOut;
  208. }else{
  209. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  210. result = noCarInterService.noCarHisWaybillStart(appKey,api,data,requestid);
  211. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  212. }
  213. break;
  214. case "WAY_BILL_HISTORY_END"://无车 历史运单结束指令
  215. if(StatisRequestIdTimeComp.isLimit){
  216. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  217. result = resultTimeOut;
  218. }else{
  219. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  220. result = noCarInterService.noCarHisWaybillEnd(appKey,api,data,requestid);
  221. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  222. }
  223. break;
  224. case "WAY_BILL_NUM_FIND_INVOICE"://无车 运单号查询发票数据
  225. result = noCarInterService.noCarVoiceQuery(appKey,api,data,requestid);
  226. break;
  227. case "FIND_NO_SEARCH_NUM"://无车 获取未查询过发票的运单编号
  228. if(StatisRequestIdTimeComp.isLimit){
  229. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  230. result = resultTimeOut;
  231. }else{
  232. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  233. result = noCarInterService.noCarNoVoiceQuery(appKey,api,data,requestid);
  234. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  235. }
  236. break;
  237. case "BALANCE_QUERY"://无车 账号余额查询接口
  238. if(StatisRequestIdTimeComp.isLimit){
  239. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  240. result = resultTimeOut;
  241. }else{
  242. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  243. result = noCarInterService.balanceQuery(appKey,api,data,requestid);
  244. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  245. }
  246. break;
  247. case "RED_INK_INVOICE_QUERY"://无车 红冲发票查询接口
  248. if(StatisRequestIdTimeComp.isLimit){
  249. log.info("InterfaceCheckServer.doJumpHandler,appKey=" + appKey + " ,api="+api + " ,data=" + data + " ,requestid=" + requestid +"=被拒绝");
  250. result = resultTimeOut;
  251. }else{
  252. statisRequestIdTimeComp.putReQuestIdAndTime(requestid);
  253. result = noCarInterService.redInkInvoiceQuery(appKey,api,data,requestid);
  254. statisRequestIdTimeComp.removeReQuestIdAndTime(requestid);
  255. }
  256. break;
  257. default:
  258. result = null;
  259. break;
  260. }
  261. log.info("[-InterfaceCheckServer.doJumpHandler-] result appKey=" + appKey + " ,api=" + api + " ,data=" +data + " ,requestid=" +requestid+ " ,result="+result + " ,costTime="+(System.currentTimeMillis()-startTime) );
  262. return result;
  263. }
  264. }