wangming 4 өдөр өмнө
parent
commit
4349baf1b0

+ 10 - 0
yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderRefundController.java

@@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.google.common.collect.Lists;
 import com.yami.shop.bean.app.dto.ApiOrderRefundDto;
 import com.yami.shop.bean.app.param.OrderRefundExpressParam;
 import com.yami.shop.bean.app.param.OrderRefundParam;
@@ -12,6 +13,8 @@ import com.yami.shop.bean.dto.OrderRefundDto;
 import com.yami.shop.bean.enums.*;
 import com.yami.shop.bean.model.*;
 import com.yami.shop.bean.param.OrderDto;
+import com.yami.shop.bean.param.OrderRefundAmountDTO;
+import com.yami.shop.bean.param.OrderRefundAmountParam;
 import com.yami.shop.common.config.Constant;
 import com.yami.shop.common.exception.GlobalException;
 import com.yami.shop.common.util.Arith;
@@ -377,6 +380,13 @@ public class OrderRefundController {
             });
         }
 
+        List<OrderRefundAmountParam> skuList = Lists.newArrayList();
+        List<OrderRefundSku> requestSkuList = orderRefundParam.getOrderRefundSkuList();
+        requestSkuList.forEach(c-> skuList.add(new OrderRefundAmountParam(c.getSkuId(),c.getProductCount())));
+        OrderRefundAmountDTO dto = orderService.computeOrderRefundAmount(orderRefundParam.getOrderNumber(), skuList);
+        newOrderRefund.setOffsetPoints(dto.getOffsetPoints());
+        newOrderRefund.setRefundAmount(dto.getOrderRefundAmount().doubleValue());
+
         //生成退款记录
         //生成申请退款记录
         OrderRefundRecord orderRefundRecord = new OrderRefundRecord();

+ 4 - 2
yami-shop-bean/src/main/java/com/yami/shop/bean/param/OrderRefundAmountParam.java

@@ -1,8 +1,8 @@
 package com.yami.shop.bean.param;
 
+import lombok.AllArgsConstructor;
 import lombok.Data;
-
-import java.math.BigDecimal;
+import lombok.NoArgsConstructor;
 
 /**
  * TODO
@@ -12,6 +12,8 @@ import java.math.BigDecimal;
  * @since 2025-10-22
  */
 @Data
+@AllArgsConstructor
+@NoArgsConstructor
 public class OrderRefundAmountParam {
     private Long skuId;
     //sku退单数量