diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index 757faf40d..4e7597355 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -980,16 +980,30 @@ public class OrderService { ObjectMapper mapper = new ObjectMapper(); mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE); AdapayCallbackRecord adapayCallbackRecord = mapper.readValue(jsonObject.toJSONString(), AdapayCallbackRecord.class); - adapayCallbackRecord.setExpend(jsonObject.getString("expend")); - adapayCallbackRecord.setPaymentId(jsonObject.getString("id")); + // 支付扩展域 + adapayCallbackRecord.setExpend(jsonObject.getString("expend")); + + // 支付id + String paymentId = jsonObject.getString("id"); + adapayCallbackRecord.setPaymentId(paymentId); + + // 订单附加说明 JSONObject descJson = JSON.parseObject(adapayCallbackRecord.getDescription()); - String type = descJson.getString("type"); - adapayCallbackRecord.setPayScenario(type); + + // 支付回调中包含的场景类型 + String scenarioType = descJson.getString("type"); + adapayCallbackRecord.setPayScenario(scenarioType); + + // 支付回调中包含的会员id String memberId = descJson.getString("memberId"); adapayCallbackRecord.setMemberId(memberId); + + // 支付回调中包含的订单编号 String orderCode = descJson.getString("orderCode"); adapayCallbackRecord.setOrderCode(orderCode); + + // 支付金额 BigDecimal amount = adapayCallbackRecord.getPayAmt(); // 保存到数据库 @@ -998,7 +1012,7 @@ public class OrderService { // 微信支付订单 记录会员交易流水 MemberTransactionRecord record = MemberTransactionRecord.builder() .orderCode(orderCode) - .scenarioType(type) + .scenarioType(scenarioType) .memberId(memberId) .actionType(ActionTypeEnum.FORWARD.getValue()) .payMode(PayModeEnum.PAYMENT_OF_WECHATPAY.getValue()) @@ -1009,9 +1023,7 @@ public class OrderService { .build(); memberTransactionRecordService.insertSelective(record); - String scenarioType = null; - if (StringUtils.equals(type, ScenarioEnum.ORDER.getValue())) { // 1-订单支付 - scenarioType = ScenarioEnum.ORDER.getValue(); + if (StringUtils.equals(scenarioType, ScenarioEnum.ORDER.getValue())) { // 1-订单支付 // 支付订单成功 PayOrderSuccessCallbackDTO callbackDTO = PayOrderSuccessCallbackDTO.builder() .orderCode(orderCode) @@ -1031,8 +1043,7 @@ public class OrderService { // .createBy(null) // .build(); // orderPayRecordService.batchInsert(Lists.newArrayList(orderPayRecord)); - } else if (StringUtils.equals(type, ScenarioEnum.BALANCE.getValue())) { // 2-充值余额 - scenarioType = ScenarioEnum.BALANCE.getValue(); + } else if (StringUtils.equals(scenarioType, ScenarioEnum.BALANCE.getValue())) { // 2-充值余额 // 充值余额成功 UpdateMemberBalanceDTO dto = new UpdateMemberBalanceDTO(); dto.setMemberId(memberId); @@ -1051,6 +1062,7 @@ public class OrderService { memberAdapayRecord.setPayAmt(amount); memberAdapayRecord.setRefundAmt(BigDecimal.ZERO); memberAdapayRecord.setSpendAmt(BigDecimal.ZERO); + memberAdapayRecord.setFreezeAmt(BigDecimal.ZERO); memberAdapayRecord.setBalanceAmt(amount); memberAdapayRecordService.insertSelective(memberAdapayRecord); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 4d4e27a12..c75091662 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -2830,6 +2830,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { this.updateOrderBasicInfo(orderInfo); // 记录订单支付流水 + List orderPayRecordList = Lists.newArrayList(); OrderPayRecord orderPayRecord = OrderPayRecord.builder() .orderCode(dto.getOrderCode()) .payMode(dto.getPayMode()) @@ -2837,7 +2838,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { .acquirer(dto.getAcquirer()) .createBy(null) .build(); - orderPayRecordService.batchInsert(Lists.newArrayList(orderPayRecord)); + orderPayRecordList.add(orderPayRecord); + orderPayRecordService.batchInsert(orderPayRecordList); // 是否发送启动指令 boolean sendStartCharging = true;