remove monitor 增加充值管理 修复拼团等轮播不能修改的问题
This commit is contained in:
@ -18,6 +18,7 @@ import co.yixiang.common.web.vo.Paging;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
import co.yixiang.domain.AlipayConfig;
|
||||
import co.yixiang.domain.vo.TradeVo;
|
||||
import co.yixiang.enums.BillDetailEnum;
|
||||
import co.yixiang.enums.BillEnum;
|
||||
import co.yixiang.enums.OrderInfoEnum;
|
||||
import co.yixiang.exception.ErrorRequestException;
|
||||
@ -62,13 +63,10 @@ import co.yixiang.modules.user.service.YxWechatUserService;
|
||||
import co.yixiang.modules.user.web.vo.YxUserAddressQueryVo;
|
||||
import co.yixiang.modules.user.web.vo.YxUserQueryVo;
|
||||
import co.yixiang.modules.user.web.vo.YxWechatUserQueryVo;
|
||||
import co.yixiang.modules.wechat.entity.YxWechatTemplate;
|
||||
import co.yixiang.modules.wechat.service.YxWechatTemplateService;
|
||||
import co.yixiang.mp.service.WxMpTemplateMessageService;
|
||||
import co.yixiang.mp.service.YxPayService;
|
||||
import co.yixiang.mp.service.YxTemplateService;
|
||||
import co.yixiang.service.AlipayService;
|
||||
import co.yixiang.utils.OrderUtil;
|
||||
import co.yixiang.utils.RedisUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@ -128,8 +126,6 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<YxStoreOrderMapper,
|
||||
private YxUserBillService billService;
|
||||
@Autowired
|
||||
private YxStoreProductReplyService storeProductReplyService;
|
||||
// @Autowired
|
||||
//private WxPayService wxPayService;
|
||||
@Autowired
|
||||
private YxWechatUserService wechatUserService;
|
||||
@Autowired
|
||||
@ -149,10 +145,6 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<YxStoreOrderMapper,
|
||||
@Autowired
|
||||
private YxStoreBargainService storeBargainService;
|
||||
@Autowired
|
||||
private WxMpTemplateMessageService templateMessageService;
|
||||
@Autowired
|
||||
private YxWechatTemplateService yxWechatTemplateService;
|
||||
@Autowired
|
||||
private YxExpressService expressService;
|
||||
@Autowired
|
||||
private AlipayService alipayService;
|
||||
@ -168,6 +160,8 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<YxStoreOrderMapper,
|
||||
|
||||
@Autowired
|
||||
private YxPayService payService;
|
||||
@Autowired
|
||||
private YxTemplateService templateService;
|
||||
|
||||
|
||||
|
||||
@ -233,21 +227,12 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<YxStoreOrderMapper,
|
||||
}
|
||||
|
||||
//模板消息通知
|
||||
String siteUrl = RedisUtil.get("site_url");
|
||||
YxWechatUserQueryVo wechatUser = wechatUserService.getYxWechatUserById(orderQueryVo.getUid());
|
||||
if(ObjectUtil.isNotNull(wechatUser)){
|
||||
if(StrUtil.isNotBlank(wechatUser.getOpenid())){
|
||||
YxWechatTemplate WechatTemplate = yxWechatTemplateService.getOne(
|
||||
new QueryWrapper<YxWechatTemplate>().eq("tempkey","OPENTM410119152"));
|
||||
Map<String,String> map = new HashMap<>();
|
||||
map.put("first","您在yshop的订单退款申请被通过,钱款将很快还至您的支付账户。");
|
||||
map.put("keyword1",orderQueryVo.getOrderId());//订单号
|
||||
map.put("keyword2",orderQueryVo.getPayPrice().toString());
|
||||
map.put("keyword3",OrderUtil.stampToDate(orderQueryVo.getAddTime().toString()));
|
||||
map.put("remark","yshop电商系统为你服务!");
|
||||
templateMessageService.sendWxMpTemplateMessage( wechatUser.getOpenid()
|
||||
,WechatTemplate.getTempid(),
|
||||
siteUrl+"/order/detail/"+orderQueryVo.getOrderId(),map);
|
||||
templateService.refundSuccessNotice(orderQueryVo.getOrderId(),
|
||||
orderQueryVo.getPayPrice().toString(),wechatUser.getOpenid(),
|
||||
OrderUtil.stampToDate(orderQueryVo.getAddTime().toString()));
|
||||
}else if(StrUtil.isNotBlank(wechatUser.getRoutineOpenid())){
|
||||
//todo 小程序通知
|
||||
}
|
||||
@ -290,22 +275,11 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<YxStoreOrderMapper,
|
||||
"已发货 快递公司:"+expressQueryVo.getName()+"快递单号:" +param.getDeliveryId());
|
||||
|
||||
//模板消息通知
|
||||
String siteUrl = RedisUtil.get("site_url");
|
||||
YxWechatUserQueryVo wechatUser = wechatUserService.getYxWechatUserById(orderQueryVo.getUid());
|
||||
if(ObjectUtil.isNotNull(wechatUser)){
|
||||
if(StrUtil.isNotBlank(wechatUser.getOpenid())){
|
||||
YxWechatTemplate WechatTemplate = yxWechatTemplateService.getOne(
|
||||
new QueryWrapper<YxWechatTemplate>().eq("tempkey","OPENTM200565259"));
|
||||
//付款成功微信模板通知用户
|
||||
Map<String,String> map = new HashMap<>();
|
||||
map.put("first","亲,宝贝已经启程了,好想快点来到你身边。");
|
||||
map.put("keyword1",storeOrder.getOrderId());//订单号
|
||||
map.put("keyword2",expressQueryVo.getName());
|
||||
map.put("keyword3",param.getDeliveryId());
|
||||
map.put("remark","yshop电商系统为你服务!");
|
||||
templateMessageService.sendWxMpTemplateMessage( wechatUser.getOpenid()
|
||||
,WechatTemplate.getTempid(),
|
||||
siteUrl+"/order/detail/"+orderQueryVo.getOrderId(),map);
|
||||
templateService.deliverySuccessNotice(storeOrder.getOrderId(),
|
||||
expressQueryVo.getName(),param.getDeliveryId(),wechatUser.getOpenid());
|
||||
}else if(StrUtil.isNotBlank(wechatUser.getRoutineOpenid())){
|
||||
//todo 小程序通知
|
||||
}
|
||||
@ -979,23 +953,12 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<YxStoreOrderMapper,
|
||||
orderInfo.getUid());
|
||||
}
|
||||
//模板消息推送
|
||||
//读取redis配置
|
||||
String siteUrl = RedisUtil.get("site_url");
|
||||
YxWechatUserQueryVo wechatUser = wechatUserService.getYxWechatUserById(orderInfo.getUid());
|
||||
if(ObjectUtil.isNotNull(wechatUser)){
|
||||
//公众号模板通知
|
||||
if(StrUtil.isNotBlank(wechatUser.getOpenid())){
|
||||
YxWechatTemplate WechatTemplate = yxWechatTemplateService.getOne(
|
||||
new QueryWrapper<YxWechatTemplate>().eq("tempkey","OPENTM207791277"));
|
||||
//付款成功微信模板通知用户
|
||||
Map<String,String> map = new HashMap<>();
|
||||
map.put("first","您的订单已支付成功,我们会尽快为您发货。");
|
||||
map.put("keyword1",orderInfo.getOrderId());//订单号
|
||||
map.put("keyword2",orderInfo.getPayPrice().toString());
|
||||
map.put("remark","yshop电商系统为你服务!");
|
||||
templateMessageService.sendWxMpTemplateMessage( wechatUser.getOpenid()
|
||||
,WechatTemplate.getTempid(),
|
||||
siteUrl+"/order/detail/"+orderInfo.getOrderId(),map);
|
||||
templateService.paySuccessNotice(orderInfo.getOrderId(),
|
||||
orderInfo.getPayPrice().toString(),wechatUser.getOpenid());
|
||||
}else if(StrUtil.isNotBlank(wechatUser.getRoutineOpenid())){
|
||||
//todo 小程序模板通知
|
||||
|
||||
@ -1049,7 +1012,8 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<YxStoreOrderMapper,
|
||||
BigDecimal bigDecimal = new BigDecimal(100);
|
||||
|
||||
return payService.wxH5Pay(orderId,"H5商品购买",
|
||||
bigDecimal.multiply(orderInfo.getPayPrice()).intValue(),1);
|
||||
bigDecimal.multiply(orderInfo.getPayPrice()).intValue(),
|
||||
BillDetailEnum.TYPE_3.getValue());
|
||||
}
|
||||
|
||||
|
||||
@ -1077,7 +1041,8 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<YxStoreOrderMapper,
|
||||
BigDecimal bigDecimal = new BigDecimal(100);
|
||||
|
||||
return payService.wxPay(orderId,wechatUser.getRoutineOpenid(),"小程序商品购买",
|
||||
bigDecimal.multiply(orderInfo.getPayPrice()).intValue(),1);
|
||||
bigDecimal.multiply(orderInfo.getPayPrice()).intValue(),
|
||||
BillDetailEnum.TYPE_3.getValue());
|
||||
}
|
||||
|
||||
|
||||
@ -1101,7 +1066,8 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<YxStoreOrderMapper,
|
||||
BigDecimal bigDecimal = new BigDecimal(100);
|
||||
|
||||
return payService.wxPay(orderId,wechatUser.getOpenid(),"公众号商品购买",
|
||||
bigDecimal.multiply(orderInfo.getPayPrice()).intValue(),1);
|
||||
bigDecimal.multiply(orderInfo.getPayPrice()).intValue(),
|
||||
BillDetailEnum.TYPE_3.getValue());
|
||||
|
||||
}
|
||||
|
||||
|
@ -31,6 +31,9 @@ public class YxUserRecharge extends BaseEntity {
|
||||
@ApiModelProperty(value = "充值用户UID")
|
||||
private Integer uid;
|
||||
|
||||
@ApiModelProperty(value = "充值用户")
|
||||
private String nickname;
|
||||
|
||||
@ApiModelProperty(value = "订单号")
|
||||
private String orderId;
|
||||
|
||||
|
@ -27,8 +27,13 @@ import java.io.Serializable;
|
||||
*/
|
||||
public interface YxUserRechargeService extends BaseService<YxUserRecharge> {
|
||||
|
||||
void updateRecharge(YxUserRecharge userRecharge);
|
||||
|
||||
YxUserRecharge getInfoByOrderId(String orderId);
|
||||
|
||||
void addRecharge(RechargeParam param,int uid);
|
||||
|
||||
|
||||
/**
|
||||
* 根据ID获取查询对象
|
||||
* @param id
|
||||
|
@ -8,10 +8,19 @@
|
||||
*/
|
||||
package co.yixiang.modules.user.service.impl;
|
||||
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.common.web.vo.Paging;
|
||||
import co.yixiang.enums.AppFromEnum;
|
||||
import co.yixiang.enums.BillEnum;
|
||||
import co.yixiang.enums.OrderInfoEnum;
|
||||
import co.yixiang.enums.PayTypeEnum;
|
||||
import co.yixiang.modules.user.entity.YxUser;
|
||||
import co.yixiang.modules.user.entity.YxUserBill;
|
||||
import co.yixiang.modules.user.entity.YxUserRecharge;
|
||||
import co.yixiang.modules.user.mapper.YxUserMapper;
|
||||
import co.yixiang.modules.user.mapper.YxUserRechargeMapper;
|
||||
import co.yixiang.modules.user.service.YxUserBillService;
|
||||
import co.yixiang.modules.user.service.YxUserRechargeService;
|
||||
import co.yixiang.modules.user.web.param.RechargeParam;
|
||||
import co.yixiang.modules.user.web.param.YxUserRechargeQueryParam;
|
||||
@ -19,6 +28,7 @@ import co.yixiang.modules.user.web.vo.YxUserRechargeQueryVo;
|
||||
import co.yixiang.utils.OrderUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -35,7 +45,7 @@ import java.math.BigDecimal;
|
||||
* </p>
|
||||
*
|
||||
* @author hupeng
|
||||
* @since 2019-12-08
|
||||
* @since 2020-03-02
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@ -44,21 +54,60 @@ import java.math.BigDecimal;
|
||||
public class YxUserRechargeServiceImpl extends BaseServiceImpl<YxUserRechargeMapper, YxUserRecharge> implements YxUserRechargeService {
|
||||
|
||||
private final YxUserRechargeMapper yxUserRechargeMapper;
|
||||
private final YxUserBillService billService;
|
||||
private final YxUserMapper yxUserMapper;
|
||||
|
||||
@Override
|
||||
public void updateRecharge(YxUserRecharge userRecharge) {
|
||||
YxUser user = yxUserMapper.selectById(userRecharge.getUid());
|
||||
|
||||
//修改状态
|
||||
userRecharge.setPaid(OrderInfoEnum.PAY_STATUS_1.getValue());
|
||||
userRecharge.setPayTime(OrderUtil.getSecondTimestampTwo());
|
||||
userRecharge.setNickname(user.getNickname());
|
||||
yxUserRechargeMapper.updateById(userRecharge);
|
||||
|
||||
//增加流水
|
||||
YxUserBill userBill = new YxUserBill();
|
||||
userBill.setUid(userRecharge.getUid());
|
||||
userBill.setTitle("用户余额充值");
|
||||
userBill.setLinkId(userRecharge.getId().toString());
|
||||
userBill.setCategory("now_money");
|
||||
userBill.setType("recharge");
|
||||
userBill.setNumber(userRecharge.getPrice());
|
||||
userBill.setBalance(NumberUtil.add(userRecharge.getPrice(),user.getNowMoney()));
|
||||
userBill.setMark("成功充值余额"+userRecharge.getPrice());
|
||||
userBill.setStatus(BillEnum.STATUS_1.getValue());
|
||||
userBill.setPm(BillEnum.PM_1.getValue());
|
||||
userBill.setAddTime(OrderUtil.getSecondTimestampTwo());
|
||||
billService.save(userBill);
|
||||
|
||||
//update 余额
|
||||
user.setNowMoney(NumberUtil.add(userRecharge.getPrice(),user.getNowMoney()));
|
||||
yxUserMapper.updateById(user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public YxUserRecharge getInfoByOrderId(String orderId) {
|
||||
YxUserRecharge userRecharge = new YxUserRecharge();
|
||||
userRecharge.setOrderId(orderId);
|
||||
|
||||
return yxUserRechargeMapper.selectOne(Wrappers.query(userRecharge));
|
||||
}
|
||||
|
||||
/**
|
||||
* 充值(废弃掉)
|
||||
* 充值
|
||||
* @param param
|
||||
*/
|
||||
@Override
|
||||
public void addRecharge(RechargeParam param,int uid) {
|
||||
YxUserRecharge yxUserRecharge = new YxUserRecharge();
|
||||
String orderId = "re_"+OrderUtil.orderSn();
|
||||
yxUserRecharge.setOrderId(orderId);
|
||||
|
||||
yxUserRecharge.setOrderId(param.getOrderSn());
|
||||
yxUserRecharge.setUid(uid);
|
||||
yxUserRecharge.setPrice(BigDecimal.valueOf(param.getPrice()));
|
||||
yxUserRecharge.setRechargeType("weixin");
|
||||
yxUserRecharge.setPaid(0);
|
||||
yxUserRecharge.setRechargeType(PayTypeEnum.WEIXIN.getValue());
|
||||
yxUserRecharge.setPaid(OrderInfoEnum.PAY_STATUS_0.getValue());
|
||||
yxUserRecharge.setAddTime(OrderUtil.getSecondTimestampTwo());
|
||||
|
||||
yxUserRechargeMapper.insert(yxUserRecharge);
|
||||
|
@ -14,6 +14,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.common.api.ApiResult;
|
||||
import co.yixiang.common.web.controller.BaseController;
|
||||
import co.yixiang.enums.BillDetailEnum;
|
||||
import co.yixiang.exception.ErrorRequestException;
|
||||
import co.yixiang.modules.shop.service.YxSystemConfigService;
|
||||
import co.yixiang.modules.user.entity.YxUser;
|
||||
@ -48,7 +49,7 @@ import java.util.Map;
|
||||
* </p>
|
||||
*
|
||||
* @author hupeng
|
||||
* @since 2019-03-01
|
||||
* @since 2020-03-01
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@ -78,17 +79,22 @@ public class UserRechargeController extends BaseController {
|
||||
|
||||
//生成分布式唯一值
|
||||
String orderSn = IdUtil.getSnowflake(0,0).nextIdStr();
|
||||
|
||||
param.setOrderSn(orderSn);
|
||||
userRechargeService.addRecharge(param,uid);
|
||||
|
||||
BigDecimal bigDecimal = new BigDecimal(100);
|
||||
int price = bigDecimal.multiply(BigDecimal.valueOf(param.getPrice())).intValue();
|
||||
try{
|
||||
if(param.getFrom().equals("weixinh5")){
|
||||
WxPayMwebOrderResult result = payService.wxH5Pay(orderSn,"H5充值", price,2);
|
||||
WxPayMwebOrderResult result = payService.wxH5Pay(orderSn,"H5充值", price,
|
||||
BillDetailEnum.TYPE_1.getValue());
|
||||
map.put("data",result.getMwebUrl());
|
||||
}else{
|
||||
YxWechatUser wechatUser = wechatUserService.getById(uid);
|
||||
if(ObjectUtil.isNull(wechatUser)) throw new ErrorRequestException("用户错误");
|
||||
WxPayMpOrderResult result = payService.wxPay(orderSn,wechatUser.getOpenid(),
|
||||
"H5充值", price,2);
|
||||
"公众号充值", price,BillDetailEnum.TYPE_1.getValue());
|
||||
Map<String,String> jsConfig = new HashMap<>();
|
||||
jsConfig.put("appId",result.getAppId());
|
||||
jsConfig.put("timeStamp",result.getTimeStamp());
|
||||
|
@ -18,4 +18,6 @@ public class RechargeParam implements Serializable {
|
||||
@NotNull(message = "金额必填")
|
||||
@Min(value = 1,message = "充值金额不能低于1")
|
||||
private Double price;
|
||||
|
||||
private String orderSn;
|
||||
}
|
||||
|
@ -12,11 +12,16 @@ import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.annotation.AnonymousAccess;
|
||||
import co.yixiang.common.api.ApiResult;
|
||||
import co.yixiang.common.web.controller.BaseController;
|
||||
import co.yixiang.enums.BillDetailEnum;
|
||||
import co.yixiang.enums.OrderInfoEnum;
|
||||
import co.yixiang.modules.order.entity.YxStoreOrder;
|
||||
import co.yixiang.modules.order.service.YxStoreOrderService;
|
||||
import co.yixiang.modules.order.web.vo.YxStoreOrderQueryVo;
|
||||
import co.yixiang.modules.shop.service.YxSystemConfigService;
|
||||
import co.yixiang.modules.user.entity.YxUserRecharge;
|
||||
import co.yixiang.modules.user.service.YxUserRechargeService;
|
||||
import co.yixiang.mp.config.WxMpConfiguration;
|
||||
import co.yixiang.mp.config.WxPayConfiguration;
|
||||
import co.yixiang.utils.RedisUtil;
|
||||
import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
|
||||
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
|
||||
@ -53,9 +58,9 @@ import java.util.Map;
|
||||
@Api(value = "微信模块", tags = "微信:微信模块", description = "微信模块")
|
||||
public class WechatController extends BaseController {
|
||||
|
||||
private final WxPayService wxPayService;
|
||||
private final YxStoreOrderService orderService;
|
||||
private final YxSystemConfigService systemConfigService;
|
||||
private final YxUserRechargeService userRechargeService;
|
||||
|
||||
|
||||
/**
|
||||
@ -95,6 +100,7 @@ public class WechatController extends BaseController {
|
||||
@ApiOperation(value = "微信支付回调",notes = "微信支付回调")
|
||||
public String notify(@RequestBody String xmlData) {
|
||||
try {
|
||||
WxPayService wxPayService = WxPayConfiguration.getPayService();
|
||||
WxPayOrderNotifyResult notifyResult = wxPayService.parseOrderNotifyResult(xmlData);
|
||||
String orderId = notifyResult.getOutTradeNo();
|
||||
YxStoreOrderQueryVo orderInfo = orderService.getOrderInfo(orderId,0);
|
||||
@ -112,6 +118,44 @@ public class WechatController extends BaseController {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 微信支付充值回调
|
||||
*/
|
||||
@AnonymousAccess
|
||||
@PostMapping("/wechat/renotify")
|
||||
@ApiOperation(value = "微信支付充值回调",notes = "微信支付充值回调")
|
||||
public String renotify(@RequestBody String xmlData) {
|
||||
try {
|
||||
WxPayService wxPayService = WxPayConfiguration.getPayService();
|
||||
WxPayOrderNotifyResult notifyResult = wxPayService.parseOrderNotifyResult(xmlData);
|
||||
String orderId = notifyResult.getOutTradeNo();
|
||||
String attach = notifyResult.getAttach();
|
||||
if(BillDetailEnum.TYPE_3.getValue().equals(attach)){
|
||||
YxStoreOrderQueryVo orderInfo = orderService.getOrderInfo(orderId,0);
|
||||
if(orderInfo == null) return WxPayNotifyResponse.success("处理成功!");
|
||||
if(OrderInfoEnum.PAY_STATUS_1.getValue().equals(orderInfo.getPaid())){
|
||||
return WxPayNotifyResponse.success("处理成功!");
|
||||
}
|
||||
orderService.paySuccess(orderInfo.getOrderId(),"weixin");
|
||||
}else if(BillDetailEnum.TYPE_1.getValue().equals(attach)){
|
||||
//处理充值
|
||||
YxUserRecharge userRecharge = userRechargeService.getInfoByOrderId(orderId);
|
||||
if(userRecharge == null) return WxPayNotifyResponse.success("处理成功!");
|
||||
if(OrderInfoEnum.PAY_STATUS_1.getValue().equals(userRecharge.getPaid())){
|
||||
return WxPayNotifyResponse.success("处理成功!");
|
||||
}
|
||||
|
||||
userRechargeService.updateRecharge(userRecharge);
|
||||
}
|
||||
|
||||
return WxPayNotifyResponse.success("处理成功!");
|
||||
} catch (WxPayException e) {
|
||||
log.error(e.getMessage());
|
||||
return WxPayNotifyResponse.fail(e.getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 微信退款回调
|
||||
* @param xmlData
|
||||
@ -123,6 +167,7 @@ public class WechatController extends BaseController {
|
||||
@PostMapping("/notify/refund")
|
||||
public String parseRefundNotifyResult(@RequestBody String xmlData) {
|
||||
try {
|
||||
WxPayService wxPayService = WxPayConfiguration.getPayService();
|
||||
WxPayRefundNotifyResult result = wxPayService.parseRefundNotifyResult(xmlData);
|
||||
String orderId = result.getReqInfo().getOutTradeNo();
|
||||
Integer refundFee = result.getReqInfo().getRefundFee()/100;
|
||||
|
Reference in New Issue
Block a user