微信支付部分退款问题处理

This commit is contained in:
Chopper 2021-09-27 18:19:20 +08:00
parent d432b0a183
commit a550e4051d
3 changed files with 31 additions and 10 deletions

View File

@ -215,7 +215,7 @@ public interface OrderService extends IService<Order> {
/**
* 获取待发货订单编号列表
*
* @param response 响应
* @param response 响应
* @param logisticsName 店铺已选择物流公司列表
*/
void getBatchDeliverList(HttpServletResponse response, List<String> logisticsName);
@ -227,4 +227,12 @@ public interface OrderService extends IService<Order> {
*/
void batchDeliver(MultipartFile files);
/**
* 获取订单实际支付的总金额
*
* @param orderSn 订单sn
* @return 金额
*/
Double getPaymentTotal(String orderSn);
}

View File

@ -23,6 +23,7 @@ import cn.lili.modules.order.order.aop.OrderLogPoint;
import cn.lili.modules.order.order.entity.dos.Order;
import cn.lili.modules.order.order.entity.dos.OrderItem;
import cn.lili.modules.order.order.entity.dos.Receipt;
import cn.lili.modules.order.order.entity.dos.Trade;
import cn.lili.modules.order.order.entity.dto.OrderBatchDeliverDTO;
import cn.lili.modules.order.order.entity.dto.OrderExportDTO;
import cn.lili.modules.order.order.entity.dto.OrderMessage;
@ -33,10 +34,7 @@ import cn.lili.modules.order.order.entity.vo.OrderSimpleVO;
import cn.lili.modules.order.order.entity.vo.OrderVO;
import cn.lili.modules.order.order.mapper.OrderItemMapper;
import cn.lili.modules.order.order.mapper.OrderMapper;
import cn.lili.modules.order.order.service.OrderItemService;
import cn.lili.modules.order.order.service.OrderService;
import cn.lili.modules.order.order.service.ReceiptService;
import cn.lili.modules.order.order.service.StoreFlowService;
import cn.lili.modules.order.order.service.*;
import cn.lili.modules.order.trade.entity.dos.OrderLog;
import cn.lili.modules.order.trade.service.OrderLogService;
import cn.lili.modules.payment.kit.enums.PaymentMethodEnum;
@ -144,11 +142,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
*/
@Autowired
private PintuanService pintuanService;
/**
* 规格商品
*/
@Autowired
private GoodsSkuService goodsSkuService;
private TradeService tradeService;
@Override
public void intoDB(TradeDTO tradeDTO) {
@ -592,6 +588,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
}
}
@Override
public Double getPaymentTotal(String orderSn) {
Order order = this.getBySn(orderSn);
Trade trade = tradeService.getBySn(order.getTradeSn());
if (trade.getPayStatus().equals(PayStatusEnum.PAID.name())) {
return trade.getFlowPrice();
}
return order.getFlowPrice();
}
/**
* 循环检查批量发货订单列表
*

View File

@ -20,6 +20,7 @@ import cn.lili.common.enums.ClientTypeEnum;
import cn.lili.modules.connect.entity.Connect;
import cn.lili.modules.connect.entity.enums.ConnectEnum;
import cn.lili.modules.connect.service.ConnectService;
import cn.lili.modules.order.order.service.OrderService;
import cn.lili.modules.payment.entity.RefundLog;
import cn.lili.modules.payment.kit.CashierSupport;
import cn.lili.modules.payment.kit.Payment;
@ -100,6 +101,11 @@ public class WechatPlugin implements Payment {
*/
@Autowired
private ConnectService connectService;
/**
* 联合登陆
*/
@Autowired
private OrderService orderService;
@Override
@ -497,7 +503,7 @@ public class WechatPlugin implements Payment {
try {
Amount amount = new Amount().setRefund(CurrencyUtil.fen(refundLog.getTotalAmount()))
.setTotal(CurrencyUtil.fen(refundLog.getPayPrice()));
.setTotal(CurrencyUtil.fen(orderService.getPaymentTotal(refundLog.getOrderSn())));
//退款参数准备
RefundModel refundModel = new RefundModel()