From 74ae262e79dcf122b0502eb6c79e701ee7eed66e Mon Sep 17 00:00:00 2001 From: Chopper Date: Mon, 21 Jun 2021 17:12:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E4=BF=9D=E5=AD=98=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E9=83=A8=E5=88=86=E5=8F=82=E6=95=B0=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/lili/common/enums/ResultCode.java | 3 ++- .../lili/modules/goods/entity/dos/Goods.java | 20 ++++++++++++++++++- .../serviceimpl/GoodsSkuServiceImpl.java | 4 ---- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/framework/src/main/java/cn/lili/common/enums/ResultCode.java b/framework/src/main/java/cn/lili/common/enums/ResultCode.java index 677ea0f6..f2e8bd4d 100644 --- a/framework/src/main/java/cn/lili/common/enums/ResultCode.java +++ b/framework/src/main/java/cn/lili/common/enums/ResultCode.java @@ -57,7 +57,8 @@ public enum ResultCode { GOODS_UPPER_ERROR(11004, "商品上架失败"), GOODS_AUTH_ERROR(11005, "商品审核失败"), POINT_GOODS_ERROR(11006, "积分商品业务异常,请稍后重试"), - GOODS_SKU_ERROR(11007, "SKU信息均为必填项,不能为空"), + GOODS_SKU_SN_ERROR(11007, "商品SKU编号不能为空"), + GOODS_SKU_PRICE_ERROR(11008, "商品SKU价格不能小于等于0"), /** * 参数 diff --git a/framework/src/main/java/cn/lili/modules/goods/entity/dos/Goods.java b/framework/src/main/java/cn/lili/modules/goods/entity/dos/Goods.java index 512d4498..333d9eb8 100644 --- a/framework/src/main/java/cn/lili/modules/goods/entity/dos/Goods.java +++ b/framework/src/main/java/cn/lili/modules/goods/entity/dos/Goods.java @@ -2,11 +2,14 @@ package cn.lili.modules.goods.entity.dos; import cn.hutool.json.JSONUtil; import cn.lili.base.BaseEntity; +import cn.lili.common.enums.ResultCode; +import cn.lili.common.exception.ServiceException; import cn.lili.modules.goods.entity.dto.GoodsOperationDTO; import cn.lili.modules.goods.entity.enums.GoodsAuthEnum; import cn.lili.modules.goods.entity.enums.GoodsStatusEnum; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.xkcoding.http.util.StringUtil; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -16,6 +19,7 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; import javax.validation.constraints.Max; +import java.util.Map; /** * 商品 @@ -222,6 +226,20 @@ public class Goods extends BaseEntity { } //如果立即上架则 this.marketEnable = goodsOperationDTO.isRelease() ? GoodsStatusEnum.UPPER.name() : GoodsStatusEnum.DOWN.name(); - this.goodsType=goodsOperationDTO.getGoodsType(); + this.goodsType = goodsOperationDTO.getGoodsType(); + + // quantity/weight/cost + + //循环sku,判定sku是否有效 + for (Map sku : goodsOperationDTO.getSkuList()) { + //判定参数不能为空 + if (sku.get("sn") == null) { + throw new ServiceException(ResultCode.GOODS_SKU_SN_ERROR); + } + if (StringUtil.isEmpty(sku.get("price").toString()) || Integer.parseInt( sku.get("price").toString()) <= 0) { + throw new ServiceException(ResultCode.GOODS_SKU_PRICE_ERROR); + } + + } } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java index 0a4c2694..57613d4c 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java @@ -5,7 +5,6 @@ import cn.hutool.core.util.NumberUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import cn.lili.common.cache.Cache; -import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.common.rocketmq.RocketmqSendCallbackBuilder; import cn.lili.common.rocketmq.tags.GoodsTagsEnum; @@ -604,9 +603,6 @@ public class GoodsSkuServiceImpl extends ServiceImpl i for (Map.Entry m : map.entrySet()) { //保存规格信息 if (m.getKey().equals("id") || m.getKey().equals("sn") || m.getKey().equals("cost") || m.getKey().equals("price") || m.getKey().equals("quantity") || m.getKey().equals("weight")) { - if (null == m.getValue()) { - throw new ServiceException(ResultCode.GOODS_SKU_ERROR); - } continue; } else { specMap.put(m.getKey(), m.getValue());