正在显示
1 个修改的文件
包含
49 行增加
和
31 行删除
@@ -3,6 +3,7 @@ package com.sy.service.router; | @@ -3,6 +3,7 @@ package com.sy.service.router; | ||
3 | import com.alibaba.fastjson.JSON; | 3 | import com.alibaba.fastjson.JSON; |
4 | import com.sy.bwAnalysis.CommandInfoAnalysis; | 4 | import com.sy.bwAnalysis.CommandInfoAnalysis; |
5 | import com.sy.bwAssist.Message; | 5 | import com.sy.bwAssist.Message; |
6 | +import com.sy.model.G2Bean; | ||
6 | import com.sy.model.GatherInfo; | 7 | import com.sy.model.GatherInfo; |
7 | import com.sy.model.LandBusinessTypeList; | 8 | import com.sy.model.LandBusinessTypeList; |
8 | import com.sy.model.CommandInfoX22; | 9 | import com.sy.model.CommandInfoX22; |
@@ -20,6 +21,14 @@ import org.springframework.stereotype.Service; | @@ -20,6 +21,14 @@ import org.springframework.stereotype.Service; | ||
20 | @Slf4j | 21 | @Slf4j |
21 | public class MessageRouterX22 implements MessageRouter { | 22 | public class MessageRouterX22 implements MessageRouter { |
22 | 23 | ||
24 | + /** | ||
25 | + * 金二与本地认证兼容性开关 | ||
26 | + * Y 是金二业务必须走金二 | ||
27 | + * N 车辆扫二维码或本地和金二都可进出区验放 | ||
28 | + */ | ||
29 | + @Autowired | ||
30 | + private G2Bean g2Bean; | ||
31 | + | ||
23 | @Autowired | 32 | @Autowired |
24 | private RedisService redisService; | 33 | private RedisService redisService; |
25 | 34 | ||
@@ -44,47 +53,56 @@ public class MessageRouterX22 implements MessageRouter { | @@ -44,47 +53,56 @@ public class MessageRouterX22 implements MessageRouter { | ||
44 | @Override | 53 | @Override |
45 | public void route(Message message) { | 54 | public void route(Message message) { |
46 | try { | 55 | try { |
47 | - log.info("处理X22:CommandInfo"); | 56 | + log.info("[X22]-处理CommandInfo;\n[switch]-G2开关状态:[{}]",g2Bean.getOnoff()); |
48 | CommandInfoAnalysis commandInfoAnalysis = new CommandInfoAnalysis(); | 57 | CommandInfoAnalysis commandInfoAnalysis = new CommandInfoAnalysis(); |
49 | CommandInfoX22 commandInfoX22 = commandInfoAnalysis.toJavaBean(message); | 58 | CommandInfoX22 commandInfoX22 = commandInfoAnalysis.toJavaBean(message); |
50 | 59 | ||
51 | - if (commandInfoX22!=null){ | ||
52 | - /** | ||
53 | - * 根据SEQNO 读取缓存 确定是否金二指令 | ||
54 | - */ | ||
55 | - GatherInfo gatherInfo = readCacheWithSeqno(commandInfoX22); | ||
56 | - //是金二指令 | ||
57 | - if (gatherInfo!=null && gatherInfo.getChnlno().equals(commandInfoX22.getChnlNo())){ | 60 | + /** |
61 | + * 如果金二验放关闭,则不用再处理X22指令报文. | ||
62 | + */ | ||
63 | + if (g2Bean.getOnoff()) { | ||
64 | + if (commandInfoX22!=null){ | ||
58 | /** | 65 | /** |
59 | - * 1. 判断指令是否放行 | 66 | + * 根据SEQNO 读取缓存 确定是否金二指令 |
60 | */ | 67 | */ |
61 | - if (commandInfoX22.getCheckResult().equals(CODE_RELEASE_I) || commandInfoX22.getCheckResult().equals(CODE_RELEASE_E)) { | ||
62 | - /** | ||
63 | - * todo:第一种.收到G2指令直接放行.并记录过卡与流转申请的核销 | ||
64 | - */ | ||
65 | - | ||
66 | - | ||
67 | - /** | ||
68 | - * 第二种,结合本地指令进行放行. | ||
69 | - */ | ||
70 | - record(gatherInfo,true,commandInfoX22.getOpHint(),null); | ||
71 | - GatherInfoHandle gatherInfoHandle = new GatherInfoHandle(); | ||
72 | - gatherInfoHandle.handel(gatherInfo); | ||
73 | - return; | ||
74 | - }else { | 68 | + GatherInfo gatherInfo = readCacheWithSeqno(commandInfoX22); |
69 | + //是金二指令 | ||
70 | + if (gatherInfo!=null && gatherInfo.getChnlno().equals(commandInfoX22.getChnlNo())){ | ||
75 | /** | 71 | /** |
76 | - * 是金二指令,但是是未放行指令 | ||
77 | - * 记录未放行原因. | ||
78 | - * 通知卡口 | 72 | + * 1. 判断指令是否放行 |
79 | */ | 73 | */ |
80 | - CommandClient.Client(gatherInfo,commandInfoX22.getOpHint()); | ||
81 | - record(gatherInfo,false,gatherInfo.getSeqno()+"-金二验放失败:"+commandInfoX22.getOpHint(),null); | 74 | + if (commandInfoX22.getCheckResult().equals(CODE_RELEASE_I) || commandInfoX22.getCheckResult().equals(CODE_RELEASE_E)) { |
75 | + /** | ||
76 | + * todo:第一种.收到G2指令直接放行.并记录过卡与流转申请的核销 | ||
77 | + */ | ||
78 | + | ||
79 | + | ||
80 | + /** | ||
81 | + * 第二种,结合本地指令进行放行. | ||
82 | + */ | ||
83 | + record(gatherInfo,true,commandInfoX22.getOpHint(),null); | ||
84 | + GatherInfoHandle gatherInfoHandle = new GatherInfoHandle(); | ||
85 | + gatherInfoHandle.handel(gatherInfo); | ||
86 | + return; | ||
87 | + }else { | ||
88 | + /** | ||
89 | + * 是金二指令,但是是未放行指令 | ||
90 | + * 记录未放行原因. | ||
91 | + * 通知卡口 | ||
92 | + */ | ||
93 | + CommandClient.Client(gatherInfo,commandInfoX22.getOpHint()); | ||
94 | + record(gatherInfo,false,gatherInfo.getSeqno()+"-金二验放失败:"+commandInfoX22.getOpHint(),null); | ||
95 | + } | ||
96 | + } | ||
97 | + else{ | ||
98 | + log.info("[X22-ERROR]:未找到对应的SEQNO:[{}]及通道的过卡缓存数据,不属于金二验放指令,不进行处理",commandInfoX22.getSeqNo()); | ||
82 | } | 99 | } |
83 | } | 100 | } |
84 | - else{ | ||
85 | - log.info("[X22-ERROR]:未找到对应的SEQNO:[{}]及通道的过卡缓存数据,不属于金二验放指令,不进行处理",commandInfoX22.getSeqNo()); | ||
86 | - } | 101 | + }else{ |
102 | + log.info("[X22]-金二开关状态为{}关闭,本地验放不处理X22指令.",g2Bean.getOnoff()); | ||
87 | } | 103 | } |
104 | + | ||
105 | + | ||
88 | }catch (Exception e){ | 106 | }catch (Exception e){ |
89 | log.error("[X22-ERROR]:",e); | 107 | log.error("[X22-ERROR]:",e); |
90 | } | 108 | } |
-
请 注册 或 登录 后发表评论