退款调试

This commit is contained in:
2023-12-25 08:00:51 +08:00
parent df7eefc754
commit 1a7216a2cc
3 changed files with 99 additions and 1 deletions

View File

@@ -156,7 +156,7 @@ public class OrderService extends BaseServiceImpl {
/**
* 根据用户Id订单号查询订单
*/
Order findOrderSn(String orderSn,Integer memberId){
public Order findOrderSn(String orderSn,Integer memberId){
return orderMapper.findOrderSn( orderSn, memberId);
}

View File

@@ -248,6 +248,47 @@ public class WechatPayService extends BaseServiceImpl {
}
}
/**
* 退款接口
*/
public void refundInputMoney(MemberRefund memberRefund,BigDecimal aMoney){
OrderPaySignResponse.WechatPayParam wechatPayParam;
try {
PayConfig payConfig = payConfigService.findKey("face");
Assert.hasText(payConfig.getCert(), "证书找不到");
String nonceStr = CommonUtils.CreateNonceStr(30);
WeChatPayHelper weChatPayHelper = new WeChatPayHelper(payConfig.getCert());
weChatPayHelper.setAppId(payConfig.getAppId());
weChatPayHelper.setMchId(payConfig.getMchId());
weChatPayHelper.setKey(payConfig.getKey());
Integer payMoney = Integer.valueOf(memberRefund.getMoney().multiply(new BigDecimal(100)).setScale(0, BigDecimal.ROUND_HALF_UP).toString());
Integer refundMoney = Integer.valueOf(aMoney.multiply(new BigDecimal(100)).setScale(0, BigDecimal.ROUND_HALF_UP).toString());
weChatPayHelper.setParameter("notify_url", payConfig.getNotifyUrl());
logger.info("申请退款请求参数" + ToStringBuilder.reflectionToString(weChatPayHelper));
// 调用申请退款
// String notifyUrl = "https://api.smartvenue.ydd100.cn//weixin/order/refund";
OrderResponse response = weChatPayHelper.refund("",memberRefund.getOrderSn(),memberRefund.getOutRefundNo(),payMoney,refundMoney,payConfig.getCancel());
logger.info(ToStringBuilder.reflectionToString(response));
System.out.println(ToStringBuilder.reflectionToString(response));
if (response.isSuccess()) {
String refundId = response.getRefundId();
//更新‘用户退款记录表’中微信退款单号
memberRefund.setRefundId(refundId);
memberRefundService.update(memberRefund);
}else{
logger.error("返回的结果为:"+ToStringBuilder.reflectionToString(response));
throw new RuntimeException("申请退款订单创建失败,请重试!");
}
} catch (Exception e) {
e.printStackTrace();
logger.error("申请退款支持订单接口异常", e);
throw new ServiceException("");
}
}
@Transactional
public void notifyRefund(Map<String,String> params,Integer platformId ) throws IOException {
logger.info("微信退款回调参数:" + JsonMapper.nonNullMapper().toJson(params));