商品信息添加和修改
parent
cd0304954a
commit
1abaaad9c5
|
@ -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
|
||||
# 共享配置
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
# 共享配置
|
||||
|
|
|
@ -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
|
||||
# 共享配置
|
||||
|
|
|
@ -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
|
||||
# 共享配置
|
||||
|
|
|
@ -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<Long> projectId){
|
||||
return AsProductAttributeInfo.builder()
|
||||
.productId(projectId.get())
|
||||
.attributeId(attrValueModel.getId())
|
||||
.value(attrValueModel.getValue())
|
||||
.build();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -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<String> 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();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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<Long> projectId){
|
||||
return ProjectSkuInfo.builder()
|
||||
.projectId(projectId.get())
|
||||
.sku(projectSkuModel.getSku())
|
||||
.stock(projectSkuModel.getStock())
|
||||
.image(projectSkuModel.getImage())
|
||||
.price(projectSkuModel.getPrice())
|
||||
.build();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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)
|
||||
|
|
|
@ -25,7 +25,7 @@ public class BrandInfoQueryReq extends BaseEntity {
|
|||
|
||||
/** 品牌名称 */
|
||||
@ApiModelProperty(name = "品牌名称", value = "品牌名称")
|
||||
private String nam;
|
||||
private String name;
|
||||
|
||||
/** LOGO */
|
||||
@ApiModelProperty(name = "LOGO", value = "LOGO")
|
||||
|
|
|
@ -31,7 +31,7 @@ public class BrandInfoSaveReq extends BaseEntity {
|
|||
/** 品牌名称 */
|
||||
|
||||
@ApiModelProperty(name = "品牌名称", value = "品牌名称", required = true)
|
||||
private String nam;
|
||||
private String name;
|
||||
|
||||
/** LOGO */
|
||||
|
||||
|
|
|
@ -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<AttrValueModel> attrValueList;
|
||||
|
||||
/**
|
||||
* 商品sku
|
||||
*/
|
||||
private List<ProjectSkuModel> projectSkuList;
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ public class ProjectInfoQueryReq extends BaseEntity {
|
|||
|
||||
/** 主类型 */
|
||||
@ApiModelProperty(name = "主类型", value = "主类型")
|
||||
private String mianType;
|
||||
private String mainType;
|
||||
|
||||
/** 父类型 */
|
||||
@ApiModelProperty(name = "父类型", value = "父类型")
|
||||
|
|
|
@ -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<AttrValueModel> 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<ProjectSkuModel> projectSkuList;
|
||||
|
||||
}
|
||||
|
|
|
@ -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<AsProductAttributeInfo> asProductAttributeInfoList;
|
||||
// private List<AttrValueModel> attrValueList;
|
||||
|
||||
/**
|
||||
* 商品SKu
|
||||
*/
|
||||
private List<ProjectSkuInfo> projectSkuInfoList;
|
||||
// private List<ProjectSkuModel> projectSkuList;
|
||||
|
||||
public static ProjectInfoEditResp allBuild(ProjectInfo projectInfo, List<AsProductAttributeInfo> asProductAttributeInfoList, List<ProjectSkuInfo> projectSkuInfoList) {
|
||||
return ProjectInfoEditResp.builder()
|
||||
.projectInfo(projectInfo)
|
||||
.asProductAttributeInfoList(asProductAttributeInfoList)
|
||||
.projectSkuInfoList(projectSkuInfoList)
|
||||
.build();
|
||||
}
|
||||
|
||||
// public static ProjectInfoEditResp projectBuilder(ProjectInfo projectInfo, List<AttrValueModel> attrValueList, List<ProjectSkuModel> 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();
|
||||
// }
|
||||
}
|
|
@ -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<ProjectInfo> getInfo(@PathVariable("id") Long id) {
|
||||
return Result.success(projectInfoService.getById(id));
|
||||
public Result<ProjectInfoEditResp> getInfo(@PathVariable("id") Long id) {
|
||||
return Result.success(projectInfoService.getDetailById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -83,7 +84,7 @@ public class ProjectInfoController extends BaseController {
|
|||
@PostMapping
|
||||
@ApiOperation("新增商品信息")
|
||||
public Result<String> 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<String> edit(@PathVariable Long id, @RequestBody ProjectInfoEditReq projectInfoEditReq) {
|
||||
return toAjax(projectInfoService.updateById(ProjectInfo.editBuild(id,projectInfoEditReq)));
|
||||
return toAjax(projectInfoService.updateById(id,projectInfoEditReq));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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<ProjectInfo> {
|
|||
*/
|
||||
public List<ProjectInfo> list(ProjectInfo projectInfo);
|
||||
|
||||
/**
|
||||
* 保存商品信息
|
||||
* @param projectInfoSaveReq
|
||||
* @return
|
||||
*/
|
||||
boolean save(ProjectInfoSaveReq projectInfoSaveReq);
|
||||
|
||||
boolean updateById(Long id, ProjectInfoEditReq projectInfoEditReq);
|
||||
|
||||
ProjectInfoEditResp getDetailById(Long id);
|
||||
}
|
||||
|
|
|
@ -34,8 +34,8 @@ public class BrandInfoServiceImpl extends ServiceImpl<BrandInfoMapper, BrandInfo
|
|||
LambdaQueryWrapper<BrandInfo> 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())){
|
||||
|
|
|
@ -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<ProjectInfoMapper, ProjectInfo> 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<ProjectInfoMapper, Proje
|
|||
queryWrapper.eq(ProjectInfo::getIntroduction, projectInfo.getIntroduction());
|
||||
}
|
||||
|
||||
if (ObjUtils.notNull(projectInfo.getMianType())){
|
||||
queryWrapper.eq(ProjectInfo::getMianType, projectInfo.getMianType());
|
||||
if (ObjUtils.notNull(projectInfo.getMainType())){
|
||||
queryWrapper.eq(ProjectInfo::getMainType, projectInfo.getMainType());
|
||||
}
|
||||
|
||||
if (ObjUtils.notNull(projectInfo.getParentType())){
|
||||
|
@ -72,10 +92,139 @@ public class ProjectInfoServiceImpl extends ServiceImpl<ProjectInfoMapper, Proje
|
|||
queryWrapper.eq(ProjectInfo::getBrandId, projectInfo.getBrandId());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return list(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean save(ProjectInfoSaveReq projectInfoSaveReq) {
|
||||
ProjectAddModel projectAddModel = projectInfoSaveReq.getProjectAddModel();
|
||||
ProjectInfo projectInfo = ProjectInfo.saveModelBuild(projectAddModel, SecurityUtils::getUsername);
|
||||
boolean save = this.save(projectInfo);
|
||||
if(save){
|
||||
// 商品属性
|
||||
List<AttrValueModel> attrValueList = projectInfoSaveReq.getAttrValueList();
|
||||
List<AsProductAttributeInfo> asProductAttributeInfoList = attrValueList.stream()
|
||||
.map(attrValueModel -> AsProductAttributeInfo.attrValueModelBuild(attrValueModel, projectInfo::getId))
|
||||
.toList();
|
||||
if(!asProductAttributeInfoList.isEmpty()){
|
||||
asProductAttributeInfoService.saveBatch(asProductAttributeInfoList);
|
||||
}
|
||||
|
||||
// 商品sku
|
||||
List<ProjectSkuModel> projectSkuList = projectInfoSaveReq.getProjectSkuList();
|
||||
List<ProjectSkuInfo> 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<AsProductAttributeInfo> asProductAttributeInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
asProductAttributeInfoLambdaQueryWrapper.eq(AsProductAttributeInfo::getProductId, id);
|
||||
List<AsProductAttributeInfo> asProductAttributeInfoList = asProductAttributeInfoService.list(asProductAttributeInfoLambdaQueryWrapper);
|
||||
|
||||
// 商品规格信息
|
||||
LambdaQueryWrapper<ProjectSkuInfo> projectSkuInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
projectSkuInfoLambdaQueryWrapper.eq(ProjectSkuInfo::getProjectId, id);
|
||||
List<ProjectSkuInfo> 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<AsBrandProject> 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<AsProductAttributeInfo> asProductAttributeInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
asProductAttributeInfoLambdaQueryWrapper.eq(AsProductAttributeInfo::getProductId,id);
|
||||
asProductAttributeInfoService.remove(asProductAttributeInfoLambdaQueryWrapper);
|
||||
|
||||
//添加属性值
|
||||
List<AttrValueModel> attrValueList = projectInfoEditReq.getAttrValueList();
|
||||
List<AsProductAttributeInfo> asProductAttributeInfoList = attrValueList.stream()
|
||||
.map(attrValueModel -> AsProductAttributeInfo.attrValueModelBuild(attrValueModel, projectInfo::getId))
|
||||
.toList();
|
||||
if(!asProductAttributeInfoList.isEmpty()){
|
||||
asProductAttributeInfoService.saveBatch(asProductAttributeInfoList);
|
||||
}
|
||||
|
||||
// 删除sku
|
||||
LambdaQueryWrapper<ProjectSkuInfo> projectSkuInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
projectSkuInfoLambdaQueryWrapper.eq(ProjectSkuInfo::getProjectId,id);
|
||||
projectSkuInfoService.remove(projectSkuInfoLambdaQueryWrapper);
|
||||
|
||||
//添加sku
|
||||
List<ProjectSkuModel> projectSkuList = projectInfoEditReq.getProjectSkuList();
|
||||
List<ProjectSkuInfo> projectSkuInfoList = projectSkuList.stream()
|
||||
.map(projectSkuModel -> ProjectSkuInfo.projectSkuModelBuild(projectSkuModel, projectInfo::getId))
|
||||
.toList();
|
||||
if(!projectSkuInfoList.isEmpty()){
|
||||
projectSkuInfoService.saveBatch(projectSkuInfoList);
|
||||
}
|
||||
}
|
||||
|
||||
return update;
|
||||
|
||||
// // 删除商品属性
|
||||
// LambdaQueryWrapper<AsProductAttributeInfo> asProductAttributeInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
// asProductAttributeInfoLambdaQueryWrapper.eq(AsProductAttributeInfo::getProductId,id);
|
||||
// asProductAttributeInfoService.remove(asProductAttributeInfoLambdaQueryWrapper);
|
||||
//
|
||||
// // 删除商品sku
|
||||
// LambdaQueryWrapper<ProjectSkuInfo> 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<AttrValueModel> attrValueList = projectInfoEditReq.getAttrValueList();
|
||||
// List<AsProductAttributeInfo> asProductAttributeInfoList = attrValueList.stream()
|
||||
// .map(attrValueModel -> AsProductAttributeInfo.attrValueModelBuild(attrValueModel,projectInfo::getId))
|
||||
// .toList();
|
||||
// if(!asProductAttributeInfoList.isEmpty()){
|
||||
// asProductAttributeInfoService.saveBatch(asProductAttributeInfoList);
|
||||
// }
|
||||
//
|
||||
// // 添加商品sku
|
||||
// List<ProjectSkuModel> projectSkuList = projectInfoEditReq.getProjectSkuList();
|
||||
// List<ProjectSkuInfo> projectSkuInfoList = projectSkuList.stream()
|
||||
// .map(projectSkuModel -> ProjectSkuInfo.projectSkuModelBuild(projectSkuModel, projectInfo::getId))
|
||||
// .toList();
|
||||
// if(!projectSkuInfoList.isEmpty()){
|
||||
// projectSkuInfoService.saveBatch(projectSkuInfoList);
|
||||
// }
|
||||
// }
|
||||
// return update;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
# 共享配置
|
||||
|
|
|
@ -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
|
||||
# 共享配置
|
||||
|
|
|
@ -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
|
||||
# 共享配置
|
||||
|
|
Loading…
Reference in New Issue