diff --git a/muyu-auth/src/main/resources/bootstrap.yml b/muyu-auth/src/main/resources/bootstrap.yml index b309a3d..a7fc5a3 100644 --- a/muyu-auth/src/main/resources/bootstrap.yml +++ b/muyu-auth/src/main/resources/bootstrap.yml @@ -14,10 +14,11 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.37.54:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.37.54:8848 + namespace: a7ca2016-3e34-485e-95ea-e0ea98d6c647 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-gateway/src/main/resources/bootstrap.yml b/muyu-gateway/src/main/resources/bootstrap.yml index d7367b4..2cdf880 100644 --- a/muyu-gateway/src/main/resources/bootstrap.yml +++ b/muyu-gateway/src/main/resources/bootstrap.yml @@ -14,10 +14,11 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.37.54:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.37.54:8848 + namespace: a7ca2016-3e34-485e-95ea-e0ea98d6c647 # 配置文件格式 file-extension: yml # 共享配置 @@ -28,12 +29,12 @@ spring: eager: true transport: # 控制台地址 - dashboard: 127.0.0.1:8718 + dashboard: 111.229.37.54:8718 # nacos配置持久化 datasource: ds1: nacos: - server-addr: 127.0.0.1:8848 + server-addr: 111.229.37.54:8848 dataId: sentinel-muyu-gateway groupId: DEFAULT_GROUP data-type: json diff --git a/muyu-modules/muyu-file/src/main/resources/bootstrap.yml b/muyu-modules/muyu-file/src/main/resources/bootstrap.yml index 0cb85bd..37586f2 100644 --- a/muyu-modules/muyu-file/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-file/src/main/resources/bootstrap.yml @@ -14,10 +14,11 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.37.54:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.37.54:8848 + namespace: a7ca2016-3e34-485e-95ea-e0ea98d6c647 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml b/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml index b628931..02fc5c7 100644 --- a/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml @@ -14,10 +14,11 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.37.54:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.37.54:8848 + namespace: a7ca2016-3e34-485e-95ea-e0ea98d6c647 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-job/src/main/resources/bootstrap.yml b/muyu-modules/muyu-job/src/main/resources/bootstrap.yml index 618f3e8..a73aa5c 100644 --- a/muyu-modules/muyu-job/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-job/src/main/resources/bootstrap.yml @@ -14,10 +14,11 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.37.54:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.37.54:8848 + namespace: a7ca2016-3e34-485e-95ea-e0ea98d6c647 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/AsProductAttributeInfo.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/AsProductAttributeInfo.java index 49f25a8..7ef1332 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/AsProductAttributeInfo.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/AsProductAttributeInfo.java @@ -1,10 +1,13 @@ package com.muyu.product.domain; import java.util.Date; +import java.util.function.Supplier; + import com.fasterxml.jackson.annotation.JsonFormat; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.product.domain.model.AttrValueModel; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; @@ -51,4 +54,12 @@ public class AsProductAttributeInfo extends BaseEntity { @ApiModelProperty(name = "属性值", value = "属性值", required = true) private String value; + public static AsProductAttributeInfo attrValueModelBuild(AttrValueModel attrValueModel, Supplier projectId){ + return AsProductAttributeInfo.builder() + .productId(projectId.get()) + .attributeId(attrValueModel.getId()) + .value(attrValueModel.getValue()) + .build(); + } + } diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/BrandInfo.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/BrandInfo.java index d94d3af..0c20c69 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/BrandInfo.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/BrandInfo.java @@ -44,7 +44,7 @@ public class BrandInfo extends BaseEntity { */ @Excel(name = "品牌名称") @ApiModelProperty(name = "品牌名称", value = "品牌名称", required = true) - private String nam; + private String name; /** * LOGO @@ -72,7 +72,7 @@ public class BrandInfo extends BaseEntity { */ public static BrandInfo queryBuild(BrandInfoQueryReq brandInfoQueryReq) { return BrandInfo.builder() - .nam(brandInfoQueryReq.getNam()) + .name(brandInfoQueryReq.getName()) .logo(brandInfoQueryReq.getLogo()) .start(brandInfoQueryReq.getStart()) .introduction(brandInfoQueryReq.getIntroduction()) @@ -84,7 +84,7 @@ public class BrandInfo extends BaseEntity { */ public static BrandInfo saveBuild(BrandInfoSaveReq brandInfoSaveReq) { return BrandInfo.builder() - .nam(brandInfoSaveReq.getNam()) + .name(brandInfoSaveReq.getName()) .logo(brandInfoSaveReq.getLogo()) .start(brandInfoSaveReq.getStart()) .introduction(brandInfoSaveReq.getIntroduction()) @@ -98,7 +98,7 @@ public class BrandInfo extends BaseEntity { public static BrandInfo editBuild(Long id, BrandInfoEditReq brandInfoEditReq) { return BrandInfo.builder() .id(id) - .nam(brandInfoEditReq.getNam()) + .name(brandInfoEditReq.getName()) .logo(brandInfoEditReq.getLogo()) .start(brandInfoEditReq.getStart()) .introduction(brandInfoEditReq.getIntroduction()) diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectInfo.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectInfo.java index 2688652..1108fe1 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectInfo.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectInfo.java @@ -3,6 +3,7 @@ package com.muyu.product.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.product.domain.model.ProjectAddModel; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; @@ -11,10 +12,11 @@ import lombok.experimental.SuperBuilder; import io.swagger.annotations.*; import com.muyu.common.core.annotation.Excel; import com.muyu.product.domain.req.ProjectInfoQueryReq; -import com.muyu.product.domain.req.ProjectInfoSaveReq; -import com.muyu.product.domain.req.ProjectInfoEditReq; import com.muyu.common.core.web.domain.BaseEntity; +import java.util.Date; +import java.util.function.Supplier; + /** * 商品信息对象 project_info * @@ -50,7 +52,7 @@ public class ProjectInfo extends BaseEntity { /** 主类型 */ @Excel(name = "主类型") @ApiModelProperty(name = "主类型", value = "主类型") - private String mianType; + private String mainType; /** 父类型 */ @Excel(name = "父类型") @@ -94,7 +96,7 @@ public class ProjectInfo extends BaseEntity { return ProjectInfo.builder() .name(projectInfoQueryReq.getName()) .introduction(projectInfoQueryReq.getIntroduction()) - .mianType(projectInfoQueryReq.getMianType()) + .mainType(projectInfoQueryReq.getMainType()) .parentType(projectInfoQueryReq.getParentType()) .type(projectInfoQueryReq.getType()) .image(projectInfoQueryReq.getImage()) @@ -108,38 +110,39 @@ public class ProjectInfo extends BaseEntity { /** * 添加构造器 */ - public static ProjectInfo saveBuild(ProjectInfoSaveReq projectInfoSaveReq){ + public static ProjectInfo saveModelBuild(ProjectAddModel projectAddModel, Supplier createBy){ return ProjectInfo.builder() - .name(projectInfoSaveReq.getName()) - .introduction(projectInfoSaveReq.getIntroduction()) - .mianType(projectInfoSaveReq.getMianType()) - .parentType(projectInfoSaveReq.getParentType()) - .type(projectInfoSaveReq.getType()) - .image(projectInfoSaveReq.getImage()) - .carouselImages(projectInfoSaveReq.getCarouselImages()) - .status(projectInfoSaveReq.getStatus()) - .ruleId(projectInfoSaveReq.getRuleId()) - .brandId(projectInfoSaveReq.getBrandId()) + .name(projectAddModel.getName()) + .introduction(projectAddModel.getIntroduction()) + .mainType(projectAddModel.getMainType()) + .parentType(projectAddModel.getParentType()) + .type(projectAddModel.getType()) + .image(projectAddModel.getImage()) + .carouselImages(projectAddModel.getCarouselImages()) + .status(projectAddModel.getStatus()) + .ruleId(projectAddModel.getRuleId()) + .brandId(projectAddModel.getBrandId()) + .createBy(createBy.get()) + .createTime(new Date()) .build(); } /** * 修改构造器 */ - public static ProjectInfo editBuild(Long id, ProjectInfoEditReq projectInfoEditReq){ + public static ProjectInfo editBuild(Long id, ProjectAddModel projectAddModel){ return ProjectInfo.builder() .id(id) - .name(projectInfoEditReq.getName()) - .introduction(projectInfoEditReq.getIntroduction()) - .mianType(projectInfoEditReq.getMianType()) - .parentType(projectInfoEditReq.getParentType()) - .type(projectInfoEditReq.getType()) - .image(projectInfoEditReq.getImage()) - .carouselImages(projectInfoEditReq.getCarouselImages()) - .status(projectInfoEditReq.getStatus()) - .ruleId(projectInfoEditReq.getRuleId()) - .brandId(projectInfoEditReq.getBrandId()) + .name(projectAddModel.getName()) + .introduction(projectAddModel.getIntroduction()) + .mainType(projectAddModel.getMainType()) + .parentType(projectAddModel.getParentType()) + .type(projectAddModel.getType()) + .image(projectAddModel.getImage()) + .carouselImages(projectAddModel.getCarouselImages()) + .status(projectAddModel.getStatus()) + .ruleId(projectAddModel.getRuleId()) + .brandId(projectAddModel.getBrandId()) .build(); } - } diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectSkuInfo.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectSkuInfo.java index 3ea0dcb..a7a5718 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectSkuInfo.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectSkuInfo.java @@ -1,9 +1,12 @@ package com.muyu.product.domain; import java.math.BigDecimal; +import java.util.function.Supplier; + import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.product.domain.model.ProjectSkuModel; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; @@ -103,4 +106,14 @@ public class ProjectSkuInfo extends BaseEntity { .build(); } + public static ProjectSkuInfo projectSkuModelBuild(ProjectSkuModel projectSkuModel, Supplier projectId){ + return ProjectSkuInfo.builder() + .projectId(projectId.get()) + .sku(projectSkuModel.getSku()) + .stock(projectSkuModel.getStock()) + .image(projectSkuModel.getImage()) + .price(projectSkuModel.getPrice()) + .build(); + } + } diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/AttrValueModel.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/AttrValueModel.java new file mode 100644 index 0000000..184df1e --- /dev/null +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/AttrValueModel.java @@ -0,0 +1,22 @@ +package com.muyu.product.domain.model; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class AttrValueModel { + /** + * ID + */ + private Long id; + + /** + * 值 + */ + private String value; +} diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/ProjectAddModel.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/ProjectAddModel.java new file mode 100644 index 0000000..9bc7330 --- /dev/null +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/ProjectAddModel.java @@ -0,0 +1,56 @@ +package com.muyu.product.domain.model; + +import com.muyu.common.core.web.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@ApiModel(value = "ProjectAddModel", description = "商品信息") +public class ProjectAddModel extends BaseEntity { + /** 商品名称 */ + @ApiModelProperty(name = "商品名称", value = "商品名称") + private String name; + + /** 商品描述 */ + @ApiModelProperty(name = "商品描述", value = "商品描述") + private String introduction; + + /** 主类型 */ + @ApiModelProperty(name = "主类型", value = "主类型") + private String mainType; + + /** 父类型 */ + @ApiModelProperty(name = "父类型", value = "父类型") + private String parentType; + + /** 商品类型 */ + @ApiModelProperty(name = "商品类型", value = "商品类型") + private String type; + + /** 商品图片 */ + @ApiModelProperty(name = "商品图片", value = "商品图片") + private String image; + + /** 商品轮播图 */ + @ApiModelProperty(name = "商品轮播图", value = "商品轮播图") + private String carouselImages; + + /** 商品状态 */ + @ApiModelProperty(name = "商品状态", value = "商品状态") + private String status; + + /** 规格 */ + @ApiModelProperty(name = "规格", value = "规格") + private Long ruleId; + + /** 品牌 */ + @ApiModelProperty(name = "品牌", value = "品牌") + private Long brandId; +} diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/ProjectSkuModel.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/ProjectSkuModel.java new file mode 100644 index 0000000..356c035 --- /dev/null +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/ProjectSkuModel.java @@ -0,0 +1,35 @@ +package com.muyu.product.domain.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.muyu.common.core.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class ProjectSkuModel { + + /** sku */ + @ApiModelProperty(name = "sku", value = "sku", required = true) + private String sku; + + /** 商品库存 */ + @ApiModelProperty(name = "商品库存", value = "商品库存", required = true) + private Long stock; + + /** 商品价格 */ + @ApiModelProperty(name = "商品价格", value = "商品价格", required = true) + private BigDecimal price; + + /** 规格图片 */ + @ApiModelProperty(name = "规格图片", value = "规格图片", required = true) + private String image; +} diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/BrandInfoEditReq.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/BrandInfoEditReq.java index b9b6c4d..7ac5cfa 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/BrandInfoEditReq.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/BrandInfoEditReq.java @@ -25,7 +25,7 @@ public class BrandInfoEditReq extends BaseEntity { /** 品牌名称 */ @ApiModelProperty(name = "品牌名称", value = "品牌名称", required = true) - private String nam; + private String name; /** LOGO */ @ApiModelProperty(name = "LOGO", value = "LOGO", required = true) diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/BrandInfoQueryReq.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/BrandInfoQueryReq.java index 5c17d05..540b07f 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/BrandInfoQueryReq.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/BrandInfoQueryReq.java @@ -25,7 +25,7 @@ public class BrandInfoQueryReq extends BaseEntity { /** 品牌名称 */ @ApiModelProperty(name = "品牌名称", value = "品牌名称") - private String nam; + private String name; /** LOGO */ @ApiModelProperty(name = "LOGO", value = "LOGO") diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/BrandInfoSaveReq.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/BrandInfoSaveReq.java index 15d7c84..4a3ac9d 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/BrandInfoSaveReq.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/BrandInfoSaveReq.java @@ -31,7 +31,7 @@ public class BrandInfoSaveReq extends BaseEntity { /** 品牌名称 */ @ApiModelProperty(name = "品牌名称", value = "品牌名称", required = true) - private String nam; + private String name; /** LOGO */ diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoEditReq.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoEditReq.java index f6dc539..b432b9e 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoEditReq.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoEditReq.java @@ -1,13 +1,17 @@ package com.muyu.product.domain.req; +import com.muyu.product.domain.model.AttrValueModel; +import com.muyu.product.domain.model.ProjectAddModel; +import com.muyu.product.domain.model.ProjectSkuModel; import lombok.Data; -import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.AllArgsConstructor; import lombok.experimental.SuperBuilder; import io.swagger.annotations.*; import com.muyu.common.core.web.domain.BaseEntity; +import java.util.List; + /** * 商品信息对象 project_info * @@ -23,44 +27,19 @@ public class ProjectInfoEditReq extends BaseEntity { private static final long serialVersionUID = 1L; - /** 商品名称 */ - @ApiModelProperty(name = "商品名称", value = "商品名称") - private String name; - /** 商品描述 */ - @ApiModelProperty(name = "商品描述", value = "商品描述") - private String introduction; + /** + * 商品基本属性 + */ + private ProjectAddModel projectAddModel; - /** 主类型 */ - @ApiModelProperty(name = "主类型", value = "主类型") - private String mianType; - - /** 父类型 */ - @ApiModelProperty(name = "父类型", value = "父类型") - private String parentType; - - /** 商品类型 */ - @ApiModelProperty(name = "商品类型", value = "商品类型") - private String type; - - /** 商品图片 */ - @ApiModelProperty(name = "商品图片", value = "商品图片") - private String image; - - /** 商品轮播图 */ - @ApiModelProperty(name = "商品轮播图", value = "商品轮播图") - private String carouselImages; - - /** 商品状态 */ - @ApiModelProperty(name = "商品状态", value = "商品状态") - private String status; - - /** 规格 */ - @ApiModelProperty(name = "规格", value = "规格") - private Long ruleId; - - /** 品牌 */ - @ApiModelProperty(name = "品牌", value = "品牌") - private Long brandId; + /** + * 商品属性 + */ + private List attrValueList; + /** + * 商品sku + */ + private List projectSkuList; } diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoQueryReq.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoQueryReq.java index 72f5185..b731f2c 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoQueryReq.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoQueryReq.java @@ -33,7 +33,7 @@ public class ProjectInfoQueryReq extends BaseEntity { /** 主类型 */ @ApiModelProperty(name = "主类型", value = "主类型") - private String mianType; + private String mainType; /** 父类型 */ @ApiModelProperty(name = "父类型", value = "父类型") diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoSaveReq.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoSaveReq.java index 8907e6d..08d3216 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoSaveReq.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoSaveReq.java @@ -1,5 +1,8 @@ package com.muyu.product.domain.req; +import com.muyu.product.domain.model.AttrValueModel; +import com.muyu.product.domain.model.ProjectAddModel; +import com.muyu.product.domain.model.ProjectSkuModel; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; @@ -8,6 +11,8 @@ import lombok.experimental.SuperBuilder; import io.swagger.annotations.*; import com.muyu.common.core.web.domain.BaseEntity; +import java.util.List; + /** * 商品信息对象 project_info * @@ -23,59 +28,19 @@ public class ProjectInfoSaveReq extends BaseEntity { private static final long serialVersionUID = 1L; - /** 主键 */ + /** + * 商品基本属性 + */ + private ProjectAddModel projectAddModel; - @ApiModelProperty(name = "主键", value = "主键") - private Long id; + /** + * 商品属性 + */ + private List attrValueList; - /** 商品名称 */ - - @ApiModelProperty(name = "商品名称", value = "商品名称") - private String name; - - /** 商品描述 */ - - @ApiModelProperty(name = "商品描述", value = "商品描述") - private String introduction; - - /** 主类型 */ - - @ApiModelProperty(name = "主类型", value = "主类型") - private String mianType; - - /** 父类型 */ - - @ApiModelProperty(name = "父类型", value = "父类型") - private String parentType; - - /** 商品类型 */ - - @ApiModelProperty(name = "商品类型", value = "商品类型") - private String type; - - /** 商品图片 */ - - @ApiModelProperty(name = "商品图片", value = "商品图片") - private String image; - - /** 商品轮播图 */ - - @ApiModelProperty(name = "商品轮播图", value = "商品轮播图") - private String carouselImages; - - /** 商品状态 */ - - @ApiModelProperty(name = "商品状态", value = "商品状态") - private String status; - - /** 规格 */ - - @ApiModelProperty(name = "规格", value = "规格") - private Long ruleId; - - /** 品牌 */ - - @ApiModelProperty(name = "品牌", value = "品牌") - private Long brandId; + /** + * 商品sku + */ + private List projectSkuList; } diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/ProjectInfoEditResp.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/ProjectInfoEditResp.java new file mode 100644 index 0000000..1992d9e --- /dev/null +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/ProjectInfoEditResp.java @@ -0,0 +1,69 @@ +package com.muyu.product.domain.resp; + +import com.muyu.product.domain.AsProductAttributeInfo; +import com.muyu.product.domain.ProjectInfo; +import com.muyu.product.domain.ProjectSkuInfo; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.List; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class ProjectInfoEditResp { + private static final long serialVersionUID = 1L; + + /** + * 商品基本属性 + */ + private ProjectInfo projectInfo; +// private ProjectEditModel projectEditModel; + + /** + * 商品属性 + */ + private List asProductAttributeInfoList; +// private List attrValueList; + + /** + * 商品SKu + */ + private List projectSkuInfoList; +// private List projectSkuList; + + public static ProjectInfoEditResp allBuild(ProjectInfo projectInfo, List asProductAttributeInfoList, List projectSkuInfoList) { + return ProjectInfoEditResp.builder() + .projectInfo(projectInfo) + .asProductAttributeInfoList(asProductAttributeInfoList) + .projectSkuInfoList(projectSkuInfoList) + .build(); + } + +// public static ProjectInfoEditResp projectBuilder(ProjectInfo projectInfo, List attrValueList, List projectSkuModelList) { +// return ProjectInfoEditResp.builder() +// .projectEditModel(ProjectInfoEditResp.projectEditBuilder(projectInfo)) +// .attrValueList(attrValueList) +// .projectSkuList(projectSkuModelList) +// .build(); +// } +// +// private static ProjectEditModel projectEditBuilder(ProjectInfo projectInfo) { +// return ProjectEditModel.builder() +// .id(projectInfo.getId()) +// .name(projectInfo.getName()) +// .introduction(projectInfo.getIntroduction()) +// .mainType(projectInfo.getMainType()) +// .parentType(projectInfo.getParentType()) +// .type(projectInfo.getType()) +// .image(projectInfo.getImage()) +// .carouselImages(projectInfo.getCarouselImages()) +// .status(projectInfo.getStatus()) +// .ruleId(projectInfo.getRuleId()) +// .brandId(projectInfo.getBrandId()) +// .build(); +// } +} diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java index e0fd126..492cadb 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java @@ -3,6 +3,7 @@ package com.muyu.product.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.muyu.product.domain.resp.ProjectInfoEditResp; import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -71,8 +72,8 @@ public class ProjectInfoController extends BaseController { @RequiresPermissions("product:info:query") @GetMapping(value = "/{id}") @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) - public Result getInfo(@PathVariable("id") Long id) { - return Result.success(projectInfoService.getById(id)); + public Result getInfo(@PathVariable("id") Long id) { + return Result.success(projectInfoService.getDetailById(id)); } /** @@ -83,7 +84,7 @@ public class ProjectInfoController extends BaseController { @PostMapping @ApiOperation("新增商品信息") public Result add(@RequestBody ProjectInfoSaveReq projectInfoSaveReq) { - return toAjax(projectInfoService.save(ProjectInfo.saveBuild(projectInfoSaveReq))); + return toAjax(projectInfoService.save(projectInfoSaveReq)); } /** @@ -94,7 +95,7 @@ public class ProjectInfoController extends BaseController { @PutMapping("/{id}") @ApiOperation("修改商品信息") public Result edit(@PathVariable Long id, @RequestBody ProjectInfoEditReq projectInfoEditReq) { - return toAjax(projectInfoService.updateById(ProjectInfo.editBuild(id,projectInfoEditReq))); + return toAjax(projectInfoService.updateById(id,projectInfoEditReq)); } /** diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java index f4ea950..f6231d5 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java @@ -3,6 +3,9 @@ package com.muyu.product.service; import java.util.List; import com.muyu.product.domain.ProjectInfo; import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.product.domain.req.ProjectInfoEditReq; +import com.muyu.product.domain.req.ProjectInfoSaveReq; +import com.muyu.product.domain.resp.ProjectInfoEditResp; /** * 商品信息Service接口 @@ -19,4 +22,14 @@ public interface ProjectInfoService extends IService { */ public List list(ProjectInfo projectInfo); + /** + * 保存商品信息 + * @param projectInfoSaveReq + * @return + */ + boolean save(ProjectInfoSaveReq projectInfoSaveReq); + + boolean updateById(Long id, ProjectInfoEditReq projectInfoEditReq); + + ProjectInfoEditResp getDetailById(Long id); } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/BrandInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/BrandInfoServiceImpl.java index 3c2f6c9..f499ed7 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/BrandInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/BrandInfoServiceImpl.java @@ -34,8 +34,8 @@ public class BrandInfoServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); - if (ObjUtils.notNull(brandInfo.getNam())){ - queryWrapper.like(BrandInfo::getNam, brandInfo.getNam()); + if (ObjUtils.notNull(brandInfo.getName())){ + queryWrapper.like(BrandInfo::getName, brandInfo.getName()); } if (ObjUtils.notNull(brandInfo.getLogo())){ diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/ProjectInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/ProjectInfoServiceImpl.java index 37d05e1..fd40f8f 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/ProjectInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/ProjectInfoServiceImpl.java @@ -3,11 +3,19 @@ package com.muyu.product.service.impl; import java.util.List; import com.muyu.common.core.utils.ObjUtils; +import com.muyu.common.security.utils.SecurityUtils; +import com.muyu.product.domain.*; +import com.muyu.product.domain.model.AttrValueModel; +import com.muyu.product.domain.model.ProjectAddModel; +import com.muyu.product.domain.model.ProjectSkuModel; +import com.muyu.product.domain.req.ProjectInfoEditReq; +import com.muyu.product.domain.req.ProjectInfoSaveReq; +import com.muyu.product.domain.resp.ProjectInfoEditResp; +import com.muyu.product.service.*; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.muyu.product.mapper.ProjectInfoMapper; -import com.muyu.product.domain.ProjectInfo; -import com.muyu.product.service.ProjectInfoService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -21,6 +29,18 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @Service public class ProjectInfoServiceImpl extends ServiceImpl implements ProjectInfoService { + @Autowired + private AsProductAttributeInfoService asProductAttributeInfoService; + + @Autowired + private ProjectSkuInfoService projectSkuInfoService; + + @Autowired + private AttributeInfoService attributeInfoService; + + @Autowired + private AsBrandProjectService asBrandProjectService; + /** * 查询商品信息列表 * @@ -40,8 +60,8 @@ public class ProjectInfoServiceImpl extends ServiceImpl attrValueList = projectInfoSaveReq.getAttrValueList(); + List asProductAttributeInfoList = attrValueList.stream() + .map(attrValueModel -> AsProductAttributeInfo.attrValueModelBuild(attrValueModel, projectInfo::getId)) + .toList(); + if(!asProductAttributeInfoList.isEmpty()){ + asProductAttributeInfoService.saveBatch(asProductAttributeInfoList); + } + + // 商品sku + List projectSkuList = projectInfoSaveReq.getProjectSkuList(); + List projectSkuInfoList = projectSkuList.stream() + .map(projectSkuModel -> ProjectSkuInfo.projectSkuModelBuild(projectSkuModel, projectInfo::getId)) + .toList(); + if(!projectSkuInfoList.isEmpty()){ + projectSkuInfoService.saveBatch(projectSkuInfoList); + } + } + return save; + } + + + @Override + public ProjectInfoEditResp getDetailById(Long id) { + // 获取商品基本信息 + ProjectInfo projectInfo = this.getById(id); + + // 商品属性 + LambdaQueryWrapper asProductAttributeInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); + asProductAttributeInfoLambdaQueryWrapper.eq(AsProductAttributeInfo::getProductId, id); + List asProductAttributeInfoList = asProductAttributeInfoService.list(asProductAttributeInfoLambdaQueryWrapper); + + // 商品规格信息 + LambdaQueryWrapper projectSkuInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); + projectSkuInfoLambdaQueryWrapper.eq(ProjectSkuInfo::getProjectId, id); + List projectSkuInfoList = projectSkuInfoService.list(projectSkuInfoLambdaQueryWrapper); + + ProjectInfoEditResp projectInfoEditResp = ProjectInfoEditResp.allBuild(projectInfo, asProductAttributeInfoList, projectSkuInfoList); + + return projectInfoEditResp; + } + + @Override + public boolean updateById(Long id, ProjectInfoEditReq projectInfoEditReq) { + ProjectAddModel projectAddModel = projectInfoEditReq.getProjectAddModel(); + + // 删除品牌中间表 + LambdaQueryWrapper asBrandProjectLambdaQueryWrapper = new LambdaQueryWrapper<>(); + asBrandProjectLambdaQueryWrapper.eq(AsBrandProject::getProjectId,id); + asBrandProjectService.remove(asBrandProjectLambdaQueryWrapper); + + asBrandProjectService.save(AsBrandProject.builder() + .brandId(projectAddModel.getBrandId()) + .projectId(String.valueOf(id)) + .build() + ); + + ProjectInfo projectInfo = ProjectInfo.editBuild(id, projectAddModel); + boolean update = this.updateById(projectInfo); + if(update){ + //删除属性值 + LambdaQueryWrapper asProductAttributeInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); + asProductAttributeInfoLambdaQueryWrapper.eq(AsProductAttributeInfo::getProductId,id); + asProductAttributeInfoService.remove(asProductAttributeInfoLambdaQueryWrapper); + + //添加属性值 + List attrValueList = projectInfoEditReq.getAttrValueList(); + List asProductAttributeInfoList = attrValueList.stream() + .map(attrValueModel -> AsProductAttributeInfo.attrValueModelBuild(attrValueModel, projectInfo::getId)) + .toList(); + if(!asProductAttributeInfoList.isEmpty()){ + asProductAttributeInfoService.saveBatch(asProductAttributeInfoList); + } + + // 删除sku + LambdaQueryWrapper projectSkuInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); + projectSkuInfoLambdaQueryWrapper.eq(ProjectSkuInfo::getProjectId,id); + projectSkuInfoService.remove(projectSkuInfoLambdaQueryWrapper); + + //添加sku + List projectSkuList = projectInfoEditReq.getProjectSkuList(); + List projectSkuInfoList = projectSkuList.stream() + .map(projectSkuModel -> ProjectSkuInfo.projectSkuModelBuild(projectSkuModel, projectInfo::getId)) + .toList(); + if(!projectSkuInfoList.isEmpty()){ + projectSkuInfoService.saveBatch(projectSkuInfoList); + } + } + + return update; + +// // 删除商品属性 +// LambdaQueryWrapper asProductAttributeInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); +// asProductAttributeInfoLambdaQueryWrapper.eq(AsProductAttributeInfo::getProductId,id); +// asProductAttributeInfoService.remove(asProductAttributeInfoLambdaQueryWrapper); +// +// // 删除商品sku +// LambdaQueryWrapper projectSkuInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); +// projectSkuInfoLambdaQueryWrapper.eq(ProjectSkuInfo::getProjectId,id); +// projectSkuInfoService.remove(projectSkuInfoLambdaQueryWrapper); +// +// // 修改商品基本属性 +// ProjectEditModel projectEditModel = projectInfoEditReq.getProjectEditModel(); +// ProjectInfo projectInfo = ProjectInfo.editBuild(id, projectEditModel); +// boolean update = this.updateById(projectInfo); +// if(update){ +// // 添加商品属性 +// List attrValueList = projectInfoEditReq.getAttrValueList(); +// List asProductAttributeInfoList = attrValueList.stream() +// .map(attrValueModel -> AsProductAttributeInfo.attrValueModelBuild(attrValueModel,projectInfo::getId)) +// .toList(); +// if(!asProductAttributeInfoList.isEmpty()){ +// asProductAttributeInfoService.saveBatch(asProductAttributeInfoList); +// } +// +// // 添加商品sku +// List projectSkuList = projectInfoEditReq.getProjectSkuList(); +// List projectSkuInfoList = projectSkuList.stream() +// .map(projectSkuModel -> ProjectSkuInfo.projectSkuModelBuild(projectSkuModel, projectInfo::getId)) +// .toList(); +// if(!projectSkuInfoList.isEmpty()){ +// projectSkuInfoService.saveBatch(projectSkuInfoList); +// } +// } +// return update; + } } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml index e8bd02d..21b44d1 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml @@ -14,10 +14,11 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.37.54:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.37.54:8848 + namespace: a7ca2016-3e34-485e-95ea-e0ea98d6c647 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-system/src/main/resources/bootstrap.yml b/muyu-modules/muyu-system/src/main/resources/bootstrap.yml index a66fd4c..66c97af 100644 --- a/muyu-modules/muyu-system/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-system/src/main/resources/bootstrap.yml @@ -14,10 +14,11 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.37.54:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.37.54:8848 + namespace: a7ca2016-3e34-485e-95ea-e0ea98d6c647 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml b/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml index 1276c8e..9e80431 100644 --- a/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml +++ b/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml @@ -1,6 +1,6 @@ # Tomcat server: - port: 9100 + port: 9101 # Spring spring: @@ -14,10 +14,11 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.37.54:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 111.229.37.54:8848 + namespace: a7ca2016-3e34-485e-95ea-e0ea98d6c647 # 配置文件格式 file-extension: yml # 共享配置