Browse Source

Merge branch 'hotfix-20230908-zhengqizhixingsettle' into temp-pre

lixuesong 1 year ago
parent
commit
c2d123aff2

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

@@ -1793,8 +1793,25 @@ 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) || "-10".equals(orderStatus)) {
+								// 订单失败的状态(-1-创建订单成功,子任务状态校验异常,可做失败处理, -10-下发至个人失败)
+								note.setSettleNoteStatus(DingEnum.NOTE_STATUS_FAIL.getType());
+								log.warn("政企之星结算提交失败: {}", respMessage);
+								noticeInfo.append(sysUser.getRealname()).append(":提交结算失败,请联系管理员;");
+							} else {
+								note.setSettleNoteStatus(DingEnum.NOTE_STATUS_SUBMIT.getType());
+							}
+							if ("2".equals(orderStatus)) {
+								//  2-创建订单成功待支付,支付状态待确认,订单被驳回
+								//  (一个是订单的支付状态没有成功,还有一种情况就是供应商驳回了你的订单 都是2
+								// 订单不是失败的,只是没付款成功  不排除银行极端情况出现,所以你要是把2当成失败的话就10分钟之后再查下状态判断)
+								note.setRemark(data);
+							}
 							// 新增字段streamId
 							note.setStreamId(requestId);
 							noticeInfo.append(sysUser.getRealname()).append(":提交结算成功;");

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

@@ -2149,8 +2149,24 @@ 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());
+							}
+							if ("2".equals(orderStatus)) {
+								//  2-创建订单成功待支付,支付状态待确认,订单被驳回
+								//  (一个是订单的支付状态没有成功,还有一种情况就是供应商驳回了你的订单 都是2
+								// 订单不是失败的,只是没付款成功  不排除银行极端情况出现,所以你要是把2当成失败的话就10分钟之后再查下状态判断)
+								note.setRemark(data);
+							}
 							// 新增字段streamId
 							note.setStreamId(requestId);
 						} else {
@@ -3343,21 +3359,38 @@ 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());
+						}
+						if ("2".equals(orderStatus)) {
+							//  2-创建订单成功待支付,支付状态待确认,订单被驳回
+							//  (一个是订单的支付状态没有成功,还有一种情况就是供应商驳回了你的订单 都是2
+							// 订单不是失败的,只是没付款成功  不排除银行极端情况出现,所以你要是把2当成失败的话就10分钟之后再查下状态判断)
+							note.setRemark(data);
+						}
 						// 新增字段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 {