From ff55c5334fc35594d2f0c680c29afd309cf367a2 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 22 May 2025 10:51:36 +0800
Subject: [PATCH] feat(mall): 添加商品佣金设置并调整相关功能

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java |   27 ++++++++++++++++++++-------
 1 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
index 6187d7e..d2a5c45 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
@@ -126,11 +126,15 @@
                     if (StrUtil.isEmpty(presentPrice)) {
                         return new FebsResponse().fail().message("商品规格现价不能为空");
                     }
-//                    if (StrUtil.isEmpty(addSku.getLevelOnePrice())
-//                    || StrUtil.isEmpty(addSku.getLevelTwoPrice())
-//                            || StrUtil.isEmpty(addSku.getLevelThreePrice())) {
-//                        return new FebsResponse().fail().message("商品规格级别价格不能为空");
-//                    }
+                    if (StrUtil.isEmpty(addSku.getLevelOnePrice())) {
+                        return new FebsResponse().fail().message("佣金不能为空");
+                    }
+
+                    BigDecimal costPrice = addSku.getCostPrice();
+                    BigDecimal levelOnePrice = new BigDecimal(addSku.getLevelOnePrice());
+                    if (levelOnePrice.compareTo(costPrice) >= 0) {
+                        return new FebsResponse().fail().message("佣金要小于成本价");
+                    }
                     BigDecimal goodsWeight = addSku.getGoodsWeight();
                     if(BigDecimal.ZERO.compareTo(goodsWeight) > 0){
                         return new FebsResponse().fail().message("重量不能小于零");
@@ -200,7 +204,7 @@
             sku.setCostPrice(mallGoods.getCostPrice());
             sku.setPresentPrice(new BigDecimal(mallGoods.getPresentPrice()));
             sku.setOriginalPrice(new BigDecimal(mallGoods.getOriginalPrice()));
-//            sku.setLevelOnePrice(mallGoods.getLevelOnePrice());
+            sku.setLevelOnePrice(mallGoods.getLevelOnePrice());
 //            sku.setLevelTwoPrice(mallGoods.getLevelTwoPrice());
 //            sku.setLevelThreePrice(mallGoods.getLevelThreePrice());
             sku.setSkuVolume(mallGoods.getVolume());
@@ -241,7 +245,7 @@
                 mallGoodsSku.setOriginalPrice(new BigDecimal(addMallGoodsSkuDto.getOriginalPrice()));
                 mallGoodsSku.setPresentPrice(new BigDecimal(addMallGoodsSkuDto.getPresentPrice()));
 //                mallGoodsSku.setPresentPrice(new BigDecimal(addMallGoodsSkuDto.getOriginalPrice()));
-//                mallGoodsSku.setLevelOnePrice(new BigDecimal(addMallGoodsSkuDto.getLevelOnePrice()));
+                mallGoodsSku.setLevelOnePrice(new BigDecimal(addMallGoodsSkuDto.getLevelOnePrice()));
 //                mallGoodsSku.setLevelTwoPrice(new BigDecimal(addMallGoodsSkuDto.getLevelTwoPrice()));
 //                mallGoodsSku.setLevelThreePrice(new BigDecimal(addMallGoodsSkuDto.getLevelThreePrice()));
                 mallGoodsSku.setStyleId(mallGoodsStyleSku.getId());
@@ -402,6 +406,15 @@
                     if (presentPrice.compareTo(BigDecimal.ZERO) < 0) {
                         return new FebsResponse().fail().message("商品规格现价不能小于0");
                     }
+                    if (ObjectUtil.isEmpty(addSku.getLevelOnePrice())) {
+                        return new FebsResponse().fail().message("佣金不能为空");
+                    }
+
+                    BigDecimal costPrice = addSku.getCostPrice();
+                    BigDecimal levelOnePrice = addSku.getLevelOnePrice();
+                    if (levelOnePrice.compareTo(costPrice) >= 0) {
+                        return new FebsResponse().fail().message("佣金要小于成本价");
+                    }
                     BigDecimal goodsWeight = addSku.getGoodsWeight();
                     if(BigDecimal.ZERO.compareTo(goodsWeight) > 0){
                         return new FebsResponse().fail().message("重量不能小于零");

--
Gitblit v1.9.1