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

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 店铺已选择物流公司列表 * @param logisticsName 店铺已选择物流公司列表
*/ */
void getBatchDeliverList(HttpServletResponse response, List<String> logisticsName); void getBatchDeliverList(HttpServletResponse response, List<String> logisticsName);
@ -227,4 +227,12 @@ public interface OrderService extends IService<Order> {
*/ */
void batchDeliver(MultipartFile files); 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.Order;
import cn.lili.modules.order.order.entity.dos.OrderItem; 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.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.OrderBatchDeliverDTO;
import cn.lili.modules.order.order.entity.dto.OrderExportDTO; import cn.lili.modules.order.order.entity.dto.OrderExportDTO;
import cn.lili.modules.order.order.entity.dto.OrderMessage; 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.entity.vo.OrderVO;
import cn.lili.modules.order.order.mapper.OrderItemMapper; import cn.lili.modules.order.order.mapper.OrderItemMapper;
import cn.lili.modules.order.order.mapper.OrderMapper; import cn.lili.modules.order.order.mapper.OrderMapper;
import cn.lili.modules.order.order.service.OrderItemService; import cn.lili.modules.order.order.service.*;
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.trade.entity.dos.OrderLog; import cn.lili.modules.order.trade.entity.dos.OrderLog;
import cn.lili.modules.order.trade.service.OrderLogService; import cn.lili.modules.order.trade.service.OrderLogService;
import cn.lili.modules.payment.kit.enums.PaymentMethodEnum; import cn.lili.modules.payment.kit.enums.PaymentMethodEnum;
@ -144,11 +142,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
*/ */
@Autowired @Autowired
private PintuanService pintuanService; private PintuanService pintuanService;
/**
* 规格商品
*/
@Autowired @Autowired
private GoodsSkuService goodsSkuService; private TradeService tradeService;
@Override @Override
public void intoDB(TradeDTO tradeDTO) { 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.Connect;
import cn.lili.modules.connect.entity.enums.ConnectEnum; import cn.lili.modules.connect.entity.enums.ConnectEnum;
import cn.lili.modules.connect.service.ConnectService; 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.entity.RefundLog;
import cn.lili.modules.payment.kit.CashierSupport; import cn.lili.modules.payment.kit.CashierSupport;
import cn.lili.modules.payment.kit.Payment; import cn.lili.modules.payment.kit.Payment;
@ -100,6 +101,11 @@ public class WechatPlugin implements Payment {
*/ */
@Autowired @Autowired
private ConnectService connectService; private ConnectService connectService;
/**
* 联合登陆
*/
@Autowired
private OrderService orderService;
@Override @Override
@ -497,7 +503,7 @@ public class WechatPlugin implements Payment {
try { try {
Amount amount = new Amount().setRefund(CurrencyUtil.fen(refundLog.getTotalAmount())) 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() RefundModel refundModel = new RefundModel()