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 ed66fea6f..a35439841 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -1326,17 +1326,17 @@ public class OrderService { return; } - if (StringUtils.equals(AdapayEventEnum.payment_succeeded.getValue(), type)) { + if (AdapayEventEnum.payment_succeeded.getValue().equals(type)) { + // 支付成功 paymentSucceeded(data); + } else if (AdapayEventEnum.refund_succeeded.getValue().equals(type)) { + // 退款成功 + adapayRefundRecordService.saveAdapayRefundRecord(data); + } else if (AdapayEventEnum.corp_member_failed.getValue().equals(type)) { + // 开户失败 删除 + corpMemberFailed(data); } - // switch (type) { - // case AdapayEventEnum.payment_succeeded.getValue(): - // - // } - - - } private void paymentSucceeded(String data) throws JsonProcessingException { @@ -1403,6 +1403,15 @@ public class OrderService { memberTransactionRecordService.insertSelective(record); } + private void corpMemberFailed(String data) { + // 删除表中的记录 + JSONObject jsonObject = JSON.parseObject(data); + String memberId = jsonObject.getString("member_id"); + if (StringUtils.isNotBlank(memberId)) { + adapayMemberAccountService.deleteByMemberId(memberId); + } + } + /** * 汇付支付 退款回调 * @param request diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/AdapayMemberAccountMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/AdapayMemberAccountMapper.java index edc77960c..d8cd1db44 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/AdapayMemberAccountMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/AdapayMemberAccountMapper.java @@ -62,4 +62,6 @@ public interface AdapayMemberAccountMapper { public int deleteAdapayMemberAccountByIds(Long[] ids); AdapayMemberAccount selectByMerchantId(String merchantId); + + void deleteByMemberId(String memberId); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IAdapayMemberAccountService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IAdapayMemberAccountService.java index 426968865..db8fb8720 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IAdapayMemberAccountService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IAdapayMemberAccountService.java @@ -62,4 +62,6 @@ public interface IAdapayMemberAccountService { AdapayMemberAccount selectByMerchantId(String merchantId); String selectAdapayMemberIdByStationId(String stationId); + + void deleteByMemberId(String memberId); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java index d5135dbbf..00b934234 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java @@ -126,4 +126,9 @@ public class AdapayMemberAccountServiceImpl implements IAdapayMemberAccountServi } return adapayMemberAccount.getAdapayMemberId(); } + + @Override + public void deleteByMemberId(String memberId) { + adapayMemberAccountMapper.deleteByMemberId(memberId); + } } 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 330147733..4de304336 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 @@ -17,7 +17,6 @@ import com.huifu.adapay.model.Refund; import com.jsowell.adapay.common.CreateAdaPaymentParam; import com.jsowell.common.constant.CacheConstants; import com.jsowell.common.constant.Constants; -import com.jsowell.common.core.domain.entity.SysDictData; import com.jsowell.common.core.domain.vo.AuthorizedDeptVO; import com.jsowell.common.core.domain.ykc.RealTimeMonitorData; import com.jsowell.common.core.domain.ykc.TransactionRecordsData; @@ -95,6 +94,9 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { @Value("${adapay.callback}") private String ADAPAY_CALLBACK_URL; + @Value("${adapay.refundCallback}") + private String ADAPAY_REFUND_CALLBACK_URL; + @Autowired private WxAppletRemoteService wxAppletRemoteService; @@ -146,9 +148,6 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { @Autowired private IMemberPlateNumberRelationService memberPlateNumberRelationService; - @Value("${adapay.refundCallback}") - private String ADAPAY_REFUND_CALLBACK_URL; - @Autowired private IMemberTransactionRecordService memberTransactionRecordService; @@ -1950,7 +1949,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { Map refundParams = Maps.newHashMap(); refundParams.put("refund_amt", amount); refundParams.put("refund_order_no", snowflakeId); - refundParams.put("notify_url", ADAPAY_REFUND_CALLBACK_URL); + refundParams.put("notify_url", ADAPAY_CALLBACK_URL); try { Map response = Refund.create(id, refundParams); logger.info("汇付支付创建退款对象:{}", JSON.toJSONString(response)); @@ -1964,6 +1963,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { reverseParams.put("payment_id", id); reverseParams.put("reverse_amt", amount); reverseParams.put("order_no", snowflakeId); + reverseParams.put("notify_url", ADAPAY_CALLBACK_URL); try { Map paymentReverse = PaymentReverse.create(reverseParams); logger.info("汇付支付创建交易撤销对象:{}", JSON.toJSONString(paymentReverse)); diff --git a/jsowell-pile/src/main/resources/mapper/pile/AdapayMemberAccountMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/AdapayMemberAccountMapper.xml index e78dc681a..6bff73b0a 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/AdapayMemberAccountMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/AdapayMemberAccountMapper.xml @@ -101,4 +101,8 @@ where del_flag = '0' and merchant_id = #{merchantId,jdbcType=VARCHAR} + + + delete from adapay_member_account where adapay_member_id = #{memberId,jdbcType=VARCHAR} + \ No newline at end of file