|
@@ -136,25 +136,29 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
|
|
|
//题库商品
|
|
|
|
|
|
}
|
|
|
- OrderGoodsRefund add = BeanUtil.toBean(bo, OrderGoodsRefund.class);
|
|
|
- validEntityBeforeSave(add);
|
|
|
- add.setCreateTime(DateUtils.getNowTime());
|
|
|
- add.setUpdateTime(DateUtils.getNowTime());
|
|
|
- //退款单号
|
|
|
- String out_trade_no = DateUtils.getDateOrderSn();
|
|
|
- add.setRefundSn(out_trade_no);
|
|
|
- add.setRefundFee(orderGoods.getGoodsReceived());
|
|
|
- add.setUserId(order.getUserId());
|
|
|
- if(this.save(add)){
|
|
|
- Map<String, String> payResult = iWxPayService.refund(out_trade_no,order.getTransid(),add.getRefundFee(),order.getPayPrice());
|
|
|
- if("OK".equals(payResult.get("return_msg"))&&StrUtil.isNotEmpty(payResult.get("refund_id"))){
|
|
|
- return refundCall(payResult.get("refund_id"),add.getRefundId(),orderGoods.getOrderGoodsId(),order);
|
|
|
- }else{
|
|
|
-
|
|
|
- throw new CustomException("退款错误"+ JSON.toJSONString(payResult));
|
|
|
- }
|
|
|
+ OrderGoodsRefund add = getOne(new LambdaQueryWrapper<OrderGoodsRefund>().eq(OrderGoodsRefund::getGoodsId,bo.getGoodsId()).eq(OrderGoodsRefund::getOrderSn,bo.getOrderSn()));
|
|
|
+ String out_trade_no = null;
|
|
|
+ if(Validator.isNotEmpty(add)){
|
|
|
+ out_trade_no = add.getRefundSn();
|
|
|
+ }else{
|
|
|
+ add = BeanUtil.toBean(bo, OrderGoodsRefund.class);
|
|
|
+ validEntityBeforeSave(add);
|
|
|
+ add.setCreateTime(DateUtils.getNowTime());
|
|
|
+ add.setUpdateTime(DateUtils.getNowTime());
|
|
|
+ //退款单号
|
|
|
+ out_trade_no = DateUtils.getDateOrderSn();
|
|
|
+ add.setRefundSn(out_trade_no);
|
|
|
+ add.setRefundFee(orderGoods.getGoodsReceived());
|
|
|
+ add.setUserId(order.getUserId());
|
|
|
+ this.save(add);
|
|
|
+ }
|
|
|
+ Map<String, String> payResult = iWxPayService.refund(out_trade_no,order.getTransid(),add.getRefundFee(),order.getPayPrice());
|
|
|
+ if("OK".equals(payResult.get("return_msg"))&&Validator.isNotEmpty(payResult.get("refund_id"))){
|
|
|
+ return refundCall(payResult.get("refund_id"),add.getRefundId(),orderGoods.getOrderGoodsId(),order);
|
|
|
+ }else{
|
|
|
+
|
|
|
+ throw new CustomException("退款错误"+ JSON.toJSONString(payResult));
|
|
|
}
|
|
|
- return false;
|
|
|
}
|
|
|
|
|
|
public Boolean refundCall(String WxpayRefundId,Long refundId,Long orderGoodsId,Order order){
|