Преглед на файлове

1.提供商品是否有关联供应企业dubbo接口
2.商品、订单相关接口请求参数量和价格校验必须大于0

yzc преди 2 години
родител
ревизия
7d138e243e

+ 9 - 0
sckw-modules-api/sckw-product-api/src/main/java/com/sckw/product/api/dubbo/GoodsInfoService.java

@@ -60,4 +60,13 @@ public interface GoodsInfoService {
      * @return: java.lang.Boolean
      */
     Boolean associateManager(Long userId);
+
+    /**
+     * @desc: 是否有关联供应企业 true是,false否
+     * @author: yzc
+     * @date: 2023-08-29 9:48
+     * @Param entId:  企业id
+     * @return: java.lang.Boolean
+     */
+    Boolean associateSupplyEnt(Long entId);
 }

+ 1 - 1
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/GoodsInfo.java

@@ -44,7 +44,7 @@ public class GoodsInfo {
      * 订单成交单价
      */
     @NotNull(message = "订单成交单价不能为空")
-    @DecimalMin(value = "0.00",message = "订单成交单价最小为零")
+    @DecimalMin(value = "0.01",message = "订单成交单价必须大于零")
     private BigDecimal unitPrice;
 
 }

+ 2 - 2
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/PurchaseOrderDraftParam.java

@@ -32,12 +32,12 @@ public class PurchaseOrderDraftParam {
     /**
      * 订单总量
      */
-    @DecimalMin(value = "0.00",message = "订单总量最小为零")
+    @DecimalMin(value = "0.01",message = "订单总量必须大于零")
     private BigDecimal amount;
     /**
      * 订单金额
      */
-    @DecimalMin(value = "0.00",message = "订单金额最小为零")
+    @DecimalMin(value = "0.01",message = "订单金额必须大于零")
     private BigDecimal price;
 
     /**

+ 2 - 2
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/PurchaseOrderParam.java

@@ -33,13 +33,13 @@ public class PurchaseOrderParam {
      * 订单总量
      */
     @NotNull(message = "订单总量不能为空")
-    @DecimalMin(value = "0.00",message = "订单总量最小为零")
+    @DecimalMin(value = "0.01",message = "订单总量必须大于零")
     private BigDecimal amount;
     /**
      * 订单金额
      */
     @NotNull(message = "订单金额不能为空")
-    @DecimalMin(value = "0.00",message = "订单金额最小为零")
+    @DecimalMin(value = "0.01",message = "订单金额必须大于零")
     private BigDecimal price;
 
     /**

+ 6 - 2
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/UpdateOrderParam.java

@@ -21,6 +21,10 @@ import java.util.List;
 @Setter
 @ToString
 public class UpdateOrderParam {
+    public UpdateOrderParam(){
+        this.amount = new BigDecimal("0.00");
+        this.price = new BigDecimal("0.00");
+    }
 
     @NotNull(message = "订单id不能为空")
     private Long id;
@@ -40,13 +44,13 @@ public class UpdateOrderParam {
     /**
      * 订单总量
      */
-    @DecimalMin(value = "0.00",message = "订单总量最小为零")
+    @DecimalMin(value = "0.01",message = "订单总量必须大于零")
     private BigDecimal amount;
 
     /**
      * 订单金额
      */
-    @DecimalMin(value = "0.00",message = "订单金额最小为零")
+    @DecimalMin(value = "0.01",message = "订单金额必须大于零")
     private BigDecimal price;
 
     /**

+ 4 - 4
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

@@ -639,10 +639,10 @@ public class KwoTradeOrderService {
 
     private void checkParams(UpdateOrderParam param, String source) {
         if (Objects.isNull(param.getAmount())) {
-            throw new BusinessException("订单总量不能为空!");
+            throw new BusinessException("订单总量不能为空!");
         }
         if (Objects.isNull(param.getPrice())) {
-            throw new BusinessException("订单金额不能为空!");
+            throw new BusinessException("订单金额不能为空!");
         }
         if (StringUtils.isBlank(param.getTrading())) {
             throw new BusinessException("交易方式不能为空!");
@@ -693,8 +693,8 @@ public class KwoTradeOrderService {
         if (Objects.isNull(goodsInfo.getPriceRangeId()) && Objects.equals(source, DictEnum.TORDER_SOURCE_1.getValue())) {
             throw new BusinessException("价格段id不能为空!");
         }
-        if (Objects.isNull(goodsInfo.getUnitPrice()) || goodsInfo.getUnitPrice().compareTo(BigDecimal.ZERO) < 0) {
-            throw new BusinessException("订单成交单价不能为空且不能为负数!");
+        if (Objects.isNull(goodsInfo.getUnitPrice()) || goodsInfo.getUnitPrice().compareTo(BigDecimal.ZERO) <= 0) {
+            throw new BusinessException("订单成交单价不能为空且必须大于零!");
         }
 
         List<UnitInfo> unitInfos = param.getUnitInfo();

+ 6 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/dubbo/GoodsInfoServiceImpl.java

@@ -82,4 +82,10 @@ public class GoodsInfoServiceImpl implements GoodsInfoService {
         Long count = kwpGoodsService.getCountByManager(userId);
         return Objects.nonNull(count) && count > 0L;
     }
+
+    @Override
+    public Boolean associateSupplyEnt(Long entId) {
+        Long count = kwpGoodsService.getCountBySupplyEnt(entId);
+        return Objects.nonNull(count) && count > 0L;
+    }
 }

+ 2 - 2
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/AddGoodsDraftParam.java

@@ -49,7 +49,7 @@ public class AddGoodsDraftParam {
     /**
      * 库存数量
      */
-    @DecimalMin(value = "0.00", message = "库存数量最小为零")
+    @DecimalMin(value = "0.01", message = "库存数量必须大于零")
     private BigDecimal amount;
 
     /**
@@ -73,7 +73,7 @@ public class AddGoodsDraftParam {
     /**
      * 预付款最低限额(万元)
      */
-    @DecimalMin(value = "0.00", message = "预付款最低限额最小为零")
+    @DecimalMin(value = "0.01", message = "预付款最低限额必须大于零")
     private BigDecimal advancePrice;
 
     /**

+ 2 - 2
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/AddGoodsParam.java

@@ -54,7 +54,7 @@ public class AddGoodsParam {
      * 库存数量
      */
     @NotNull(message = "库存数量不能为空")
-    @DecimalMin(value = "0.00", message = "库存数量最小为零")
+    @DecimalMin(value = "0.01", message = "库存数量必须大于零")
     private BigDecimal amount;
 
     /**
@@ -80,7 +80,7 @@ public class AddGoodsParam {
     /**
      * 预付款最低限额(万元)
      */
-    @DecimalMin(value = "0.00", message = "预付款最低限额最小为零")
+    @DecimalMin(value = "0.01", message = "预付款最低限额必须大于零")
     private BigDecimal advancePrice;
 
     /**

+ 2 - 2
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/GoodsPriceRanges.java

@@ -21,7 +21,7 @@ public class GoodsPriceRanges {
      * 起售量
      */
     @NotNull(message = "起售量不能为空")
-    @DecimalMin(value = "0.00",message = "起售量最小为零")
+    @DecimalMin(value = "0.01", message = "起售量必须大于零")
     private BigDecimal startAmount;
 
     /**
@@ -40,7 +40,7 @@ public class GoodsPriceRanges {
      * 含税价
      */
     @NotNull(message = "含税价不能为空")
-    @DecimalMin(value = "0.00", message = "含税价最低为零")
+    @DecimalMin(value = "0.01", message = "含税价必须大于零")
     private BigDecimal price;
 
     /**

+ 2 - 2
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/UpdateGoodsParam.java

@@ -56,7 +56,7 @@ public class UpdateGoodsParam {
     /**
      * 库存数量
      */
-    @DecimalMin(value = "0.00", message = "库存数量最小为零")
+    @DecimalMin(value = "0.01", message = "库存数量必须大于零")
     private BigDecimal amount;
 
     /**
@@ -80,7 +80,7 @@ public class UpdateGoodsParam {
     /**
      * 预付款最低限额(万元)
      */
-    @DecimalMin(value = "0.00", message = "预付款最低限额最小为零")
+    @DecimalMin(value = "0.01", message = "预付款最低限额必须大于零")
     private BigDecimal advancePrice;
 
     /**

+ 19 - 5
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java

@@ -406,14 +406,14 @@ public class KwpGoodsService {
             return "价格梯度不能为空!";
         }
         for (GoodsPriceRanges e : priceRanges) {
-            if (Objects.isNull(e.getStartAmount()) || e.getStartAmount().compareTo(BigDecimal.ZERO) < 0) {
-                return "起售量不能为空且最小为零!";
+            if (Objects.isNull(e.getStartAmount()) || e.getStartAmount().compareTo(BigDecimal.ZERO) <= 0) {
+                return "起售量不能为空且必须大于零!";
             }
             if (Objects.isNull(e.getEndAmount()) || e.getEndAmount().compareTo(new BigDecimal("-1.00")) < 0) {
-                return "上限售量不能为空且最小为零!";
+                return "上限售量不能为空且必须大于零!";
             }
-            if (Objects.isNull(e.getPrice()) || e.getStartAmount().compareTo(BigDecimal.ZERO) < 0) {
-                return "含税价不能为空且最低为零!";
+            if (Objects.isNull(e.getPrice()) || e.getStartAmount().compareTo(BigDecimal.ZERO) <= 0) {
+                return "含税价不能为空且必须大于零!";
             }
             if (Objects.isNull(e.getSort())) {
                 return "价格梯度顺序不能为空!";
@@ -1008,4 +1008,18 @@ public class KwpGoodsService {
         Long count = kwpGoodsMapper.selectCount(wrapper);
         return Objects.nonNull(count) && count > 0L;
     }
+
+    /**
+     * @desc: 根据供应企业id获取未删除非草稿的商品数量
+     * @author: yzc
+     * @date: 2023-08-29 9:51
+     * @Param supplyEntId:  供应企业id
+     * @return: java.lang.Long
+     */
+    public Long getCountBySupplyEnt(Long supplyEntId) {
+        LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(KwpGoods::getSupplyEntId,supplyEntId).eq(KwpGoods::getDelFlag, Global.NO).
+                ne(KwpGoods::getStatus, GoodsStatusEnum.SAVED.getCode());
+        return kwpGoodsMapper.selectCount(wrapper);
+    }
 }