From 8fd3db7778b3991810d33ac4dffd2f9031b106fc Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期六, 11 十月 2025 16:37:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/user_action' into user_action
---
framework/src/main/java/cn/lili/modules/goods/entity/dos/Goods.java | 63 +++++++++++++++++++++++++++++++
1 files changed, 63 insertions(+), 0 deletions(-)
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 029a66c..72a1f33 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
@@ -13,19 +13,26 @@
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;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
import com.xkcoding.http.util.StringUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
+import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
import java.util.Map;
/**
@@ -87,12 +94,15 @@
private Double grade;
@ApiModelProperty(value = "缂╃暐鍥捐矾寰�")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
private String thumbnail;
@ApiModelProperty(value = "灏忓浘璺緞")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
private String small;
@ApiModelProperty(value = "鍘熷浘璺緞")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
private String original;
@ApiModelProperty(value = "搴楅摵鍒嗙被id")
@@ -129,6 +139,7 @@
private String mobileIntro;
@ApiModelProperty(value = "鍟嗗搧瑙嗛")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
private String goodsVideo;
@@ -151,6 +162,33 @@
@ApiModelProperty(value = "鍟嗗搧鍙傛暟json", hidden = true)
private String params;
+ @ApiModelProperty(value = "棰勫敭缁撴潫鏃堕棿")
+ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Date preSaleEndDate;
+
+ @ApiModelProperty(value = "棰勫敭寮�濮嬫椂闂�")
+ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Date preSaleBeginDate;
+ @ApiModelProperty(value = "鎶芥垚姣斾緥")
+ private BigDecimal commission;
+
+ @ApiModelProperty(value = "鍟嗗搧鎺掑簭")
+ private Integer goodsSort;
+
+ @ApiModelProperty(value ="琛ㄧず铏氭嫙鍟嗗搧绫诲瀷 鐜版湁绫诲瀷锛欳OUPON浼樻儬鍔�")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private String virtualGoodsType;
+
+ @ApiModelProperty(value ="琛ㄧず铏氭嫙瀹氬埗鍟嗗搧绫诲瀷 鐜版湁绫诲瀷锛氬畾鍒跺晢鍝�")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ /**
+ * @see CustomizeFlagEnum
+ */
+ private String customizeFlag;
public Goods() {
}
@@ -169,6 +207,18 @@
this.mobileIntro = goodsOperationDTO.getMobileIntro();
this.goodsVideo = goodsOperationDTO.getGoodsVideo();
this.price = goodsOperationDTO.getPrice();
+ this.virtualGoodsType = goodsOperationDTO.getVirtualGoodsType();
+ this.customizeFlag = goodsOperationDTO.getCustomizeFlag();
+
+ //涓嶆槸棰勫敭鍟嗗搧棰勫敭鏃堕棿缃┖
+ if (!GoodsSalesModeEnum.PRESALE.name().equals(goodsOperationDTO.getSalesModel())) {
+ goodsOperationDTO.setPreSaleBeginDate(null);
+ goodsOperationDTO.setPreSaleEndDate(null);
+ }
+ this.preSaleEndDate = goodsOperationDTO.getPreSaleEndDate();
+ this.preSaleBeginDate = goodsOperationDTO.getPreSaleBeginDate();
+ this.commission = goodsOperationDTO.getCommission();
+ this.goodsSort = goodsOperationDTO.getGoodsSort();
if (goodsOperationDTO.getGoodsParamsDTOList() != null && goodsOperationDTO.getGoodsParamsDTOList().isEmpty()) {
this.params = JSONUtil.toJsonStr(goodsOperationDTO.getGoodsParamsDTOList());
}
@@ -196,6 +246,19 @@
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");
+ }
+ Object templateId = sku.get("customizeTemplateId");
+ if (templateId == null || StringUtil.isEmpty(templateId.toString())) {
+ sku.remove("customizeTemplateId");
+ sku.remove("customizeTemplateName");
+ }
+
+
sku.values().forEach(i -> {
if (CharSequenceUtil.isBlank(i.toString())) {
throw new ServiceException(ResultCode.MUST_HAVE_GOODS_SKU_VALUE);
--
Gitblit v1.8.0