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 c9e98f39e..fb41a80ea 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -11,7 +11,6 @@ import com.google.common.collect.Lists; import com.google.common.collect.Sets; import com.huifu.adapay.core.AdapayCore; import com.huifu.adapay.core.util.AdapaySign; -import com.jsowell.adapay.response.PaymentReverseResponse; import com.jsowell.common.constant.Constants; import com.jsowell.common.core.domain.vo.AuthorizedDeptVO; import com.jsowell.common.core.domain.ykc.RealTimeMonitorData; @@ -1106,13 +1105,19 @@ public class OrderService { /** * 支付撤销成功 */ - private void paymentReverseSucceeded(String data) throws JsonProcessingException { + private void paymentReverseSucceeded(String data) { log.info("支付撤销成功 data:{}", JSON.toJSONString(data)); JSONObject jsonObject = JSON.parseObject(data); - ObjectMapper mapper = new ObjectMapper(); - mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE); - PaymentReverseResponse paymentReverseResponse = mapper.readValue(jsonObject.toJSONString(), PaymentReverseResponse.class); - log.info("支付撤销成功 paymentReverseResponse:{}", JSON.toJSONString(paymentReverseResponse)); + JSONObject reason = jsonObject.getJSONObject("reason"); + if (ScenarioEnum.BALANCE.getValue().equals(reason.getString("scenarioType"))) { + // 这笔支付订单原来是充值余额的,退款成功了,需要扣掉会员的本金金额 + UpdateMemberBalanceDTO dto = new UpdateMemberBalanceDTO(); + dto.setMemberId(reason.getString("memberId")); + dto.setUpdatePrincipalBalance(new BigDecimal(jsonObject.getString("reverse_amt"))); // 更新会员本金金额,单位元 + dto.setType(MemberWalletEnum.TYPE_OUT.getValue()); + dto.setSubType(MemberWalletEnum.SUBTYPE_USER_REFUND.getValue()); + memberBasicInfoService.updateMemberBalance(dto); + } } diff --git a/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayMemberService.java b/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayMemberService.java index b6bfdec4f..c671755c9 100644 --- a/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayMemberService.java +++ b/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayMemberService.java @@ -684,7 +684,7 @@ public class AdapayMemberService { expendMap.put("orderCode", orderCode); } reverseParams.put("expand", expendMap); - // reverseParams.put("reason", "reason"); + reverseParams.put("reason", expendMap); Map paymentReverse = null; try { paymentReverse = PaymentReverse.create(reverseParams, config.getWechatAppId());