Browse Source

Merge branch 'dev/2024/0607/update-app-Y' of feifan/mall-backend-app into master

添加积分商城所需的参数
Yangzw 9 months ago
parent
commit
6afabcfc99

+ 5 - 0
feifan-module-mall/feifan-module-product-biz/src/main/java/cn/newfeifan/mall/module/product/controller/app/spu/vo/AppProductSpuDetailRespVO.java

@@ -104,4 +104,9 @@ public class AppProductSpuDetailRespVO {
 
     }
 
+    @Schema(description = "商品类别")
+    private Integer spuType;
+    @Schema(description = "商品支付类别")
+    private Integer spuPayType;
+
 }

+ 8 - 0
feifan-module-mall/feifan-module-product-biz/src/main/java/cn/newfeifan/mall/module/product/dal/dataobject/spu/ProductSpuDO.java

@@ -173,4 +173,12 @@ public class ProductSpuDO extends BaseDO {
      * 浏览量
      */
     private Integer browseCount;
+    /**
+     * 商品类别
+     */
+    private Integer spuType;
+    /**
+     * 商品支付类别
+     */
+    private Integer spuPayType;
 }

+ 3 - 1
feifan-module-mall/feifan-module-trade-api/src/main/java/cn/newfeifan/mall/module/trade/enums/delivery/DeliveryTypeEnum.java

@@ -16,7 +16,9 @@ import java.util.Arrays;
 public enum DeliveryTypeEnum implements IntArrayValuable {
 
     EXPRESS(1, "快递发货"),
-    PICK_UP(2, "用户自提"),;
+    PICK_UP(2, "用户自提"),
+    VIRTUAL_PRODUCT(3,"虚拟商品收货")
+    ;
 
     public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(DeliveryTypeEnum::getType).toArray();
 

+ 4 - 0
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/order/TradeOrderUpdateServiceImpl.java

@@ -776,6 +776,10 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
         } else if (Objects.equals(createReqVO.getDeliveryType(), DeliveryTypeEnum.PICK_UP.getType())) {
             order.setReceiverName(createReqVO.getReceiverName()).setReceiverMobile(createReqVO.getReceiverMobile());
             order.setPickUpVerifyCode(RandomUtil.randomNumbers(8)); // 随机一个核销码,长度为 8 位
+        } else if(Objects.equals(createReqVO.getDeliveryType(), DeliveryTypeEnum.VIRTUAL_PRODUCT.getType())){
+            MemberAddressRespDTO address = addressApi.getAddress(createReqVO.getAddressId(), userId);
+            order.setReceiverName(createReqVO.getReceiverName()).setReceiverMobile(createReqVO.getReceiverMobile())
+                    .setReceiverDetailAddress(address.getDetailAddress());
         }
         return order;
     }

+ 3 - 1
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/price/calculator/TradeDeliveryPriceCalculator.java

@@ -8,7 +8,6 @@ import cn.newfeifan.mall.module.member.api.address.MemberAddressApi;
 import cn.newfeifan.mall.module.member.api.address.dto.MemberAddressRespDTO;
 import cn.newfeifan.mall.module.sale.dal.dataobject.shop.ShopDO;
 import cn.newfeifan.mall.module.sale.dal.mysql.shop.ShopMapper;
-import cn.newfeifan.mall.module.trade.dal.dataobject.config.TradeConfigDO;
 import cn.newfeifan.mall.module.trade.dal.dataobject.delivery.DeliveryPickUpStoreDO;
 import cn.newfeifan.mall.module.trade.enums.delivery.DeliveryExpressChargeModeEnum;
 import cn.newfeifan.mall.module.trade.enums.delivery.DeliveryTypeEnum;
@@ -64,6 +63,9 @@ public class TradeDeliveryPriceCalculator implements TradePriceCalculator {
             calculateByPickUp(param);
         } else if (DeliveryTypeEnum.EXPRESS.getType().equals(param.getDeliveryType())) {
             calculateExpress(param, result);
+        } else if (DeliveryTypeEnum.VIRTUAL_PRODUCT.getType().equals(param.getDeliveryType())) {
+            // 虚拟商品不需要计算运费
+            calculateByPickUp(param);
         }
     }