zxl
2025-10-11 3b2c5fb47caca6ab286e0c8ed8c0575024c528d0
framework/src/main/java/cn/lili/modules/goods/entity/dos/Goods.java
@@ -13,6 +13,7 @@
import cn.lili.modules.goods.entity.enums.GoodsSalesModeEnum;
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
import cn.lili.modules.goods.entity.enums.GoodsTypeEnum;
import cn.lili.modules.order.order.entity.enums.CustomizeFlagEnum;
import cn.lili.mybatis.BaseEntity;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
@@ -179,7 +180,15 @@
    private Integer goodsSort;
    @ApiModelProperty(value ="表示虚拟商品类型 现有类型:COUPON优惠劵")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String virtualGoodsType;
    @ApiModelProperty(value ="表示虚拟定制商品类型 现有类型:定制商品")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    /**
     * @see CustomizeFlagEnum
     */
    private String customizeFlag;
    public Goods() {
    }
@@ -199,6 +208,7 @@
        this.goodsVideo = goodsOperationDTO.getGoodsVideo();
        this.price = goodsOperationDTO.getPrice();
        this.virtualGoodsType = goodsOperationDTO.getVirtualGoodsType();
        this.customizeFlag = goodsOperationDTO.getCustomizeFlag();
        //不是预售商品预售时间置空
        if (!GoodsSalesModeEnum.PRESALE.name().equals(goodsOperationDTO.getSalesModel())) {
@@ -236,6 +246,12 @@
            if (!sku.containsKey("quantity") || StringUtil.isEmpty(sku.get("quantity").toString()) || Convert.toInt(sku.get("quantity").toString()) < 0) {
                throw new ServiceException(ResultCode.GOODS_SKU_QUANTITY_ERROR);
            }
            //没有优惠卷的商品需要移除优惠卷信息
            Object couponId = sku.get("couponId");
            if (couponId == null || StringUtil.isEmpty(couponId.toString())) {
                sku.remove("couponId");
                sku.remove("couponName");
            }
            sku.values().forEach(i -> {
                if (CharSequenceUtil.isBlank(i.toString())) {
                    throw new ServiceException(ResultCode.MUST_HAVE_GOODS_SKU_VALUE);