Bladeren bron

fix: 正启之星失败状态处理

lixuesong 1 jaar geleden
bovenliggende
commit
2cbb618bd3

+ 12 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmPayOffServiceImpl.java

@@ -1793,8 +1793,19 @@ public class WmPayOffServiceImpl extends ServiceImpl<WmPayOffMapper, WmPayOff> i
 					//streamId 获取不到
 					if (dataJsonObj != null) {
 						String requestId = dataJsonObj.getStr("requestId");
+						String data = dataJsonObj.getStr("data");
+						String respMessage = dataJsonObj.getStr("resp_message");
 						if (StrUtil.isNotBlank(requestId)) {
-							note.setSettleNoteStatus(DingEnum.NOTE_STATUS_SUBMIT.getType());
+							JSONObject dataJson = JSONUtil.parseObj(data);
+							String orderStatus = dataJson.getStr("order_status");
+							if ("-1".equals(orderStatus) || "2".equals(orderStatus) || "-10".equals(orderStatus)) {
+								// 订单失败的状态(-1-创建订单成功,子任务状态校验异常,可做失败处理, 2-创建订单成功待支付,支付状态待确认,订单被驳回, -10-下发至个人失败)
+								note.setSettleNoteStatus(DingEnum.NOTE_STATUS_FAIL.getType());
+								log.warn("政企之星结算提交失败: {}", respMessage);
+								noticeInfo.append(sysUser.getRealname()).append(":提交结算失败,请联系管理员;");
+							} else {
+								note.setSettleNoteStatus(DingEnum.NOTE_STATUS_SUBMIT.getType());
+							}
 							// 新增字段streamId
 							note.setStreamId(requestId);
 							noticeInfo.append(sysUser.getRealname()).append(":提交结算成功;");

+ 27 - 6
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageSettleNoteServiceImpl.java

@@ -2149,8 +2149,18 @@ public class WmScorePackageSettleNoteServiceImpl extends ServiceImpl<WmScorePack
 						note.setSubToGigTime(now);
 
 						String requestId = dataJsonObj.getStr("requestId");
+						String data = dataJsonObj.getStr("data");
+						String respMessage = dataJsonObj.getStr("resp_message");
 						if (StrUtil.isNotBlank(requestId)) {
-							note.setSettleNoteStatus(DingEnum.NOTE_STATUS_SUBMIT.getType());
+							JSONObject dataJson = JSONUtil.parseObj(data);
+							String orderStatus = dataJson.getStr("order_status");
+							if ("-1".equals(orderStatus) || "2".equals(orderStatus) || "-10".equals(orderStatus)) {
+								// 订单失败的状态(-1-创建订单成功,子任务状态校验异常,可做失败处理, 2-创建订单成功待支付,支付状态待确认,订单被驳回, -10-下发至个人失败)
+								note.setSettleNoteStatus(DingEnum.NOTE_STATUS_FAIL.getType());
+								log.warn("政企之星结算提交失败: {}", respMessage);
+							} else {
+								note.setSettleNoteStatus(DingEnum.NOTE_STATUS_SUBMIT.getType());
+							}
 							// 新增字段streamId
 							note.setStreamId(requestId);
 						} else {
@@ -3343,21 +3353,32 @@ public class WmScorePackageSettleNoteServiceImpl extends ServiceImpl<WmScorePack
 				//data 获取不到
 				if (dataJsonObj != null) {
 					String requestId = dataJsonObj.getStr("requestId");
+					String data = dataJsonObj.getStr("data");
+					String respMessage = dataJsonObj.getStr("resp_message");
 					if (StrUtil.isNotBlank(requestId)) {
-						note.setSettleNoteStatus(DingEnum.NOTE_STATUS_SUBMIT.getType());
+						JSONObject dataJson = JSONUtil.parseObj(data);
+						String orderStatus = dataJson.getStr("order_status");
+						if ("-1".equals(orderStatus) || "2".equals(orderStatus) || "-10".equals(orderStatus)) {
+							// 订单失败的状态(-1-创建订单成功,子任务状态校验异常,可做失败处理, 2-创建订单成功待支付,支付状态待确认,订单被驳回, -10-下发至个人失败)
+							note.setSettleNoteStatus(DingEnum.NOTE_STATUS_FAIL.getType());
+							log.warn("政企之星结算提交失败: {}", respMessage);
+							noticeInfo.append(sysUser.getRealname()).append(":提交结算失败,请联系管理员;");
+						} else {
+							note.setSettleNoteStatus(DingEnum.NOTE_STATUS_SUBMIT.getType());
+						}
 						// 新增字段streamId
 						note.setStreamId(requestId);
 						noticeInfo.append(sysUser.getRealname()).append(":提交结算成功;");
 					} else {
 						note.setSettleNoteStatus(DingEnum.NOTE_STATUS_FAIL.getType());
-						log.warn("政企之星结算提交成功 requestId 获取不到: {}", note.getSettleNo());
-						noticeInfo.append(sysUser.getRealname()).append(":提交结算成功,业务流水号获取不到,请联系管理员;");
+						log.warn("政企之星结算提交失败: {}", respMessage);
+						noticeInfo.append(sysUser.getRealname()).append(":提交结算失败,请联系管理员;");
 						redisTemplate.delete(CacheConstants.SETTLE_PACKAGE_KEY + note.getId());
 					}
 				} else {
 					note.setSettleNoteStatus(DingEnum.NOTE_STATUS_FAIL.getType());
-					log.warn("政企之星结算提交成功 data 获取不到: {}", note.getSettleNo());
-					noticeInfo.append(sysUser.getRealname()).append(":提交结算成功,业务流水号获取不到,请联系管理员;");
+					log.warn("政企之星结算提交失败 data 获取不到: {}", note.getSettleNo());
+					noticeInfo.append(sysUser.getRealname()).append(":提交结算失败,请联系管理员;");
 					redisTemplate.delete(CacheConstants.SETTLE_PACKAGE_KEY + note.getId());
 				}
 			} else {