商品规格回显
parent
106eac1803
commit
55bb4bc9e6
|
@ -53,6 +53,11 @@ public class AsCategoryAttribute extends BaseEntity implements CategoryBase {
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static AsCategoryAttribute categoryAttribute(Long attributeId){
|
||||||
|
return AsCategoryAttribute.builder()
|
||||||
|
.categoryId(attributeId)
|
||||||
|
.build();
|
||||||
|
}
|
||||||
@Override
|
@Override
|
||||||
public Long getBaseId () {
|
public Long getBaseId () {
|
||||||
return this.attributeId;
|
return this.attributeId;
|
||||||
|
|
|
@ -52,6 +52,11 @@ public class AsCategoryAttributeGroup extends BaseEntity implements CategoryBase
|
||||||
.categoryId(categoryInfoId)
|
.categoryId(categoryInfoId)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
public static AsCategoryAttributeGroup categoryBuild(Long categoryInfoId) {
|
||||||
|
return AsCategoryAttributeGroup.builder()
|
||||||
|
.categoryId(categoryInfoId)
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Long getBaseId () {
|
public Long getBaseId () {
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
package com.muyu.product.domain;
|
package com.muyu.product.domain;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.muyu.product.domain.model.AttrValueModel;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
@ -51,4 +54,17 @@ public class AsProductAttributeInfo extends BaseEntity {
|
||||||
@ApiModelProperty(name = "属性值", value = "属性值", required = true)
|
@ApiModelProperty(name = "属性值", value = "属性值", required = true)
|
||||||
private String value;
|
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();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AsProductAttributeInfo productAttributeInfo(Long productId){
|
||||||
|
return AsProductAttributeInfo.builder()
|
||||||
|
.attributeId(productId)
|
||||||
|
.build();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,8 @@ package com.muyu.product.domain;
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.muyu.product.domain.model.ProductSkuModel;
|
||||||
|
import com.muyu.product.domain.model.ProjectAddModel;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
@ -11,10 +13,12 @@ import lombok.experimental.SuperBuilder;
|
||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
import com.muyu.common.core.annotation.Excel;
|
import com.muyu.common.core.annotation.Excel;
|
||||||
import com.muyu.product.domain.req.ProjectInfoQueryReq;
|
import com.muyu.product.domain.req.ProjectInfoQueryReq;
|
||||||
import com.muyu.product.domain.req.ProjectInfoSaveReq;
|
|
||||||
import com.muyu.product.domain.req.ProjectInfoEditReq;
|
import com.muyu.product.domain.req.ProjectInfoEditReq;
|
||||||
import com.muyu.common.core.web.domain.BaseEntity;
|
import com.muyu.common.core.web.domain.BaseEntity;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品信息对象 project_info
|
* 商品信息对象 project_info
|
||||||
*
|
*
|
||||||
|
@ -108,18 +112,20 @@ public class ProjectInfo extends BaseEntity {
|
||||||
/**
|
/**
|
||||||
* 添加构造器
|
* 添加构造器
|
||||||
*/
|
*/
|
||||||
public static ProjectInfo saveBuild(ProjectInfoSaveReq projectInfoSaveReq){
|
public static ProjectInfo saveModelBuild(ProjectAddModel projectAddModel, Supplier<String> createBy){
|
||||||
return ProjectInfo.builder()
|
return ProjectInfo.builder()
|
||||||
.name(projectInfoSaveReq.getName())
|
.name(projectAddModel.getName())
|
||||||
.introduction(projectInfoSaveReq.getIntroduction())
|
.introduction(projectAddModel.getIntroduction())
|
||||||
.mianType(projectInfoSaveReq.getMianType())
|
.mianType(projectAddModel.getMianType())
|
||||||
.parentType(projectInfoSaveReq.getParentType())
|
.parentType(projectAddModel.getParenType())
|
||||||
.type(projectInfoSaveReq.getType())
|
.type(projectAddModel.getType())
|
||||||
.image(projectInfoSaveReq.getImage())
|
.image(projectAddModel.getImage())
|
||||||
.carouselImages(projectInfoSaveReq.getCarouselImages())
|
.carouselImages(projectAddModel.getCarouselImages())
|
||||||
.status(projectInfoSaveReq.getStatus())
|
.status(projectAddModel.getStatus())
|
||||||
.ruleId(projectInfoSaveReq.getRuleId())
|
.ruleId(projectAddModel.getRuleId())
|
||||||
.brandId(projectInfoSaveReq.getBrandId())
|
.brandId(projectAddModel.getBrandId())
|
||||||
|
.createBy(createBy.get())
|
||||||
|
.createTime(new Date())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -142,4 +148,5 @@ public class ProjectInfo extends BaseEntity {
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
package com.muyu.product.domain;
|
package com.muyu.product.domain;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.muyu.product.domain.model.ProductSkuModel;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
@ -103,4 +106,15 @@ public class ProjectSkuInfo extends BaseEntity {
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static ProjectSkuInfo productSkuModelNuild(ProductSkuModel productSkuModel, Supplier<Long> projectId){
|
||||||
|
return ProjectSkuInfo.builder()
|
||||||
|
.projectId(projectId.get())
|
||||||
|
.sku(productSkuModel.getSku())
|
||||||
|
.image(productSkuModel.getImage())
|
||||||
|
.stock(productSkuModel.getStock())
|
||||||
|
.price(productSkuModel.getPrice())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"品牌":
|
||||||
|
{
|
||||||
|
"id"
|
||||||
|
"品牌中间表"
|
||||||
|
}
|
||||||
|
"轮播图"
|
||||||
|
"名称":
|
||||||
|
"价格"
|
||||||
|
"商品规格"{
|
||||||
|
"规格详情表"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.muyu.product.domain.model;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品属性 AttrValueModel
|
||||||
|
*
|
||||||
|
* @author LeYang
|
||||||
|
* on 2024/3/22
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class AttrValueModel {
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
* 值
|
||||||
|
*/
|
||||||
|
private String value;
|
||||||
|
}
|
|
@ -0,0 +1,46 @@
|
||||||
|
package com.muyu.product.domain.model;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品sku ProductSkuModel
|
||||||
|
*
|
||||||
|
* @author LeYang
|
||||||
|
* on 2024/3/22
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ProductSkuModel {
|
||||||
|
/**
|
||||||
|
* 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;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,104 @@
|
||||||
|
package com.muyu.product.domain.model;
|
||||||
|
|
||||||
|
import com.muyu.common.core.web.domain.BaseEntity;
|
||||||
|
import com.muyu.product.domain.ProjectInfo;
|
||||||
|
import com.muyu.product.domain.req.ProjectInfoQueryReq;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品添加模型 ProjectAddModel
|
||||||
|
*
|
||||||
|
* @author LeYang
|
||||||
|
* on 2024/3/22
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class ProjectAddModel extends BaseEntity {
|
||||||
|
/**
|
||||||
|
* 商品名称
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(name = "商品名称",value = "商品名称")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品描述
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(name = "商品描述",value = "商品描述")
|
||||||
|
private String introduction;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主类型
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(name = "主类型",value = "主类型")
|
||||||
|
private String mianType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 父类型
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(name = "父类型",value = "父类型")
|
||||||
|
private String parenType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品类型
|
||||||
|
*/
|
||||||
|
@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 ProductSkuModel productSkuModel;
|
||||||
|
|
||||||
|
|
||||||
|
public static ProjectAddModel queryBuild(ProjectInfo projectInfoQueryReq){
|
||||||
|
return ProjectAddModel.builder()
|
||||||
|
.name(projectInfoQueryReq.getName())
|
||||||
|
.introduction(projectInfoQueryReq.getIntroduction())
|
||||||
|
.mianType(projectInfoQueryReq.getMianType())
|
||||||
|
.parenType(projectInfoQueryReq.getParentType())
|
||||||
|
.type(projectInfoQueryReq.getType())
|
||||||
|
.image(projectInfoQueryReq.getImage())
|
||||||
|
.carouselImages(projectInfoQueryReq.getCarouselImages())
|
||||||
|
.status(projectInfoQueryReq.getStatus())
|
||||||
|
.ruleId(projectInfoQueryReq.getRuleId())
|
||||||
|
.brandId(projectInfoQueryReq.getBrandId())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -8,6 +8,8 @@ import lombok.experimental.SuperBuilder;
|
||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
import com.muyu.common.core.web.domain.TreeEntity;
|
import com.muyu.common.core.web.domain.TreeEntity;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 品类信息对象 category_info
|
* 品类信息对象 category_info
|
||||||
*
|
*
|
||||||
|
@ -39,4 +41,17 @@ public class CategoryInfoEditReq extends TreeEntity {
|
||||||
@ApiModelProperty(name = "介绍", value = "介绍")
|
@ApiModelProperty(name = "介绍", value = "介绍")
|
||||||
private String introduction;
|
private String introduction;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 品类属性组关联id
|
||||||
|
*/
|
||||||
|
private List<Long> attributeGroupIdList;
|
||||||
|
/**
|
||||||
|
* 商品属性组关联id
|
||||||
|
*/
|
||||||
|
private List<Long> attributeIdList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品属性组关联的id
|
||||||
|
*/
|
||||||
|
private List<Long> brandIdList;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
package com.muyu.product.domain.req;
|
package com.muyu.product.domain.req;
|
||||||
|
|
||||||
|
import com.muyu.product.domain.model.AttrValueModel;
|
||||||
|
import com.muyu.product.domain.model.ProductSkuModel;
|
||||||
|
import com.muyu.product.domain.model.ProjectAddModel;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
@ -8,6 +11,8 @@ import lombok.experimental.SuperBuilder;
|
||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
import com.muyu.common.core.web.domain.BaseEntity;
|
import com.muyu.common.core.web.domain.BaseEntity;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品信息对象 project_info
|
* 商品信息对象 project_info
|
||||||
*
|
*
|
||||||
|
@ -22,60 +27,16 @@ import com.muyu.common.core.web.domain.BaseEntity;
|
||||||
public class ProjectInfoSaveReq extends BaseEntity {
|
public class ProjectInfoSaveReq extends BaseEntity {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
/**
|
||||||
/** 主键 */
|
* 商品添加基本属性
|
||||||
|
*/
|
||||||
@ApiModelProperty(name = "主键", value = "主键")
|
private ProjectAddModel projectAddModel;
|
||||||
private Long id;
|
/**
|
||||||
|
* 商品属性
|
||||||
/** 商品名称 */
|
*/
|
||||||
|
private List<AttrValueModel> attrValueList;
|
||||||
@ApiModelProperty(name = "商品名称", value = "商品名称")
|
/**
|
||||||
private String name;
|
* 商品sku
|
||||||
|
*/
|
||||||
/** 商品描述 */
|
private List<ProductSkuModel> productSkuList;
|
||||||
|
|
||||||
@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;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -98,6 +98,7 @@ public class BrandInfoController extends BaseController {
|
||||||
@PutMapping("/{id}")
|
@PutMapping("/{id}")
|
||||||
@ApiOperation("修改品牌信息")
|
@ApiOperation("修改品牌信息")
|
||||||
public Result<String> edit(@PathVariable Long id, @RequestBody BrandInfoEditReq brandInfoEditReq) {
|
public Result<String> edit(@PathVariable Long id, @RequestBody BrandInfoEditReq brandInfoEditReq) {
|
||||||
|
brandInfoService.urikBrand(brandInfoEditReq,id);
|
||||||
return toAjax(brandInfoService.updateById(BrandInfo.editBuild(id,brandInfoEditReq)));
|
return toAjax(brandInfoService.updateById(BrandInfo.editBuild(id,brandInfoEditReq)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,6 +111,7 @@ public class BrandInfoController extends BaseController {
|
||||||
@ApiOperation("删除品牌信息")
|
@ApiOperation("删除品牌信息")
|
||||||
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4")
|
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4")
|
||||||
public Result<String> remove(@PathVariable List<Long> ids) {
|
public Result<String> remove(@PathVariable List<Long> ids) {
|
||||||
|
|
||||||
return toAjax(brandInfoService.removeBatchByIds(ids));
|
return toAjax(brandInfoService.removeBatchByIds(ids));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,6 +113,7 @@ public class CategoryInfoController extends BaseController {
|
||||||
@PutMapping("/{id}")
|
@PutMapping("/{id}")
|
||||||
@ApiOperation("修改品类信息")
|
@ApiOperation("修改品类信息")
|
||||||
public Result<String> edit(@PathVariable Long id, @RequestBody CategoryInfoEditReq categoryInfoEditReq) {
|
public Result<String> edit(@PathVariable Long id, @RequestBody CategoryInfoEditReq categoryInfoEditReq) {
|
||||||
|
categoryInfoService.util(id,categoryInfoEditReq);
|
||||||
return toAjax(categoryInfoService.updateById(CategoryInfo.editBuild(id,categoryInfoEditReq)));
|
return toAjax(categoryInfoService.updateById(CategoryInfo.editBuild(id,categoryInfoEditReq)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -125,6 +126,7 @@ public class CategoryInfoController extends BaseController {
|
||||||
@ApiOperation("删除品类信息")
|
@ApiOperation("删除品类信息")
|
||||||
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4")
|
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4")
|
||||||
public Result<String> remove(@PathVariable List<Long> ids) {
|
public Result<String> remove(@PathVariable List<Long> ids) {
|
||||||
|
categoryInfoService.removeBatchById(ids);
|
||||||
return toAjax(categoryInfoService.removeBatchByIds(ids));
|
return toAjax(categoryInfoService.removeBatchByIds(ids));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,10 @@ package com.muyu.product.controller;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import com.muyu.product.domain.model.ProductSkuModel;
|
||||||
|
import com.muyu.product.domain.model.ProjectAddModel;
|
||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
|
import org.apache.commons.lang3.SystemUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
@ -71,8 +74,9 @@ public class ProjectInfoController extends BaseController {
|
||||||
@RequiresPermissions("product:info:query")
|
@RequiresPermissions("product:info:query")
|
||||||
@GetMapping(value = "/{id}")
|
@GetMapping(value = "/{id}")
|
||||||
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
|
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
|
||||||
public Result<ProjectInfo> getInfo(@PathVariable("id") Long id) {
|
public Result<ProjectAddModel> getInfo(@PathVariable("id") Long id) {
|
||||||
return Result.success(projectInfoService.getById(id));
|
ProductSkuModel ProductSkuModel= projectInfoService.find(id);
|
||||||
|
return Result.success(projectInfoService.getById1(id,ProductSkuModel));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -83,7 +87,7 @@ public class ProjectInfoController extends BaseController {
|
||||||
@PostMapping
|
@PostMapping
|
||||||
@ApiOperation("新增商品信息")
|
@ApiOperation("新增商品信息")
|
||||||
public Result<String> add(@RequestBody ProjectInfoSaveReq projectInfoSaveReq) {
|
public Result<String> add(@RequestBody ProjectInfoSaveReq projectInfoSaveReq) {
|
||||||
return toAjax(projectInfoService.save(ProjectInfo.saveBuild(projectInfoSaveReq)));
|
return toAjax(projectInfoService.save(projectInfoSaveReq));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -94,6 +98,7 @@ public class ProjectInfoController extends BaseController {
|
||||||
@PutMapping("/{id}")
|
@PutMapping("/{id}")
|
||||||
@ApiOperation("修改商品信息")
|
@ApiOperation("修改商品信息")
|
||||||
public Result<String> edit(@PathVariable Long id, @RequestBody ProjectInfoEditReq projectInfoEditReq) {
|
public Result<String> edit(@PathVariable Long id, @RequestBody ProjectInfoEditReq projectInfoEditReq) {
|
||||||
|
projectInfoService.util(id,projectInfoEditReq);
|
||||||
return toAjax(projectInfoService.updateById(ProjectInfo.editBuild(id,projectInfoEditReq)));
|
return toAjax(projectInfoService.updateById(ProjectInfo.editBuild(id,projectInfoEditReq)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,8 @@ package com.muyu.product.mapper;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.muyu.product.domain.ProjectSkuInfo;
|
import com.muyu.product.domain.ProjectSkuInfo;
|
||||||
|
import com.muyu.product.domain.model.ProductSkuModel;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品SKUMapper接口
|
* 商品SKUMapper接口
|
||||||
|
@ -10,6 +12,8 @@ import com.muyu.product.domain.ProjectSkuInfo;
|
||||||
* @author DongZeLiang
|
* @author DongZeLiang
|
||||||
* @date 2024-02-27
|
* @date 2024-02-27
|
||||||
*/
|
*/
|
||||||
|
@Mapper
|
||||||
public interface ProjectSkuInfoMapper extends BaseMapper<ProjectSkuInfo> {
|
public interface ProjectSkuInfoMapper extends BaseMapper<ProjectSkuInfo> {
|
||||||
|
|
||||||
|
ProductSkuModel find(Long id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.muyu.product.service;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.muyu.product.domain.BrandInfo;
|
import com.muyu.product.domain.BrandInfo;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.muyu.product.domain.req.BrandInfoEditReq;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 品牌信息Service接口
|
* 品牌信息Service接口
|
||||||
|
@ -19,4 +20,5 @@ public interface BrandInfoService extends IService<BrandInfo> {
|
||||||
*/
|
*/
|
||||||
public List<BrandInfo> list(BrandInfo brandInfo);
|
public List<BrandInfo> list(BrandInfo brandInfo);
|
||||||
|
|
||||||
|
void urikBrand(BrandInfoEditReq brandInfoEditReq, Long id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import com.muyu.product.domain.BrandInfo;
|
||||||
import com.muyu.product.domain.CategoryInfo;
|
import com.muyu.product.domain.CategoryInfo;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.muyu.product.domain.model.CategoryInfoSaveModel;
|
import com.muyu.product.domain.model.CategoryInfoSaveModel;
|
||||||
|
import com.muyu.product.domain.req.CategoryInfoEditReq;
|
||||||
import com.muyu.product.domain.resp.CategoryCommonElementResp;
|
import com.muyu.product.domain.resp.CategoryCommonElementResp;
|
||||||
import com.muyu.product.domain.resp.CategoryParentCommonElementResp;
|
import com.muyu.product.domain.resp.CategoryParentCommonElementResp;
|
||||||
|
|
||||||
|
@ -67,4 +68,8 @@ public interface CategoryInfoService extends IService<CategoryInfo> {
|
||||||
* @return 品类共有属性
|
* @return 品类共有属性
|
||||||
*/
|
*/
|
||||||
CategoryCommonElementResp getTemplateAttributeByCateGoryId (Long cateGoryId);
|
CategoryCommonElementResp getTemplateAttributeByCateGoryId (Long cateGoryId);
|
||||||
|
|
||||||
|
Boolean removeBatchById(List<Long> ids);
|
||||||
|
|
||||||
|
void util(Long id, CategoryInfoEditReq categoryInfoEditReq);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,10 @@ package com.muyu.product.service;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.muyu.product.domain.ProjectInfo;
|
import com.muyu.product.domain.ProjectInfo;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.muyu.product.domain.model.ProductSkuModel;
|
||||||
|
import com.muyu.product.domain.model.ProjectAddModel;
|
||||||
|
import com.muyu.product.domain.req.ProjectInfoEditReq;
|
||||||
|
import com.muyu.product.domain.req.ProjectInfoSaveReq;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品信息Service接口
|
* 商品信息Service接口
|
||||||
|
@ -19,4 +23,12 @@ public interface ProjectInfoService extends IService<ProjectInfo> {
|
||||||
*/
|
*/
|
||||||
public List<ProjectInfo> list(ProjectInfo projectInfo);
|
public List<ProjectInfo> list(ProjectInfo projectInfo);
|
||||||
|
|
||||||
|
boolean save(ProjectInfoSaveReq projectInfoSaveReq);
|
||||||
|
|
||||||
|
|
||||||
|
boolean util(Long id, ProjectInfoEditReq projectInfoEditReq);
|
||||||
|
|
||||||
|
ProductSkuModel find(Long id);
|
||||||
|
|
||||||
|
ProjectAddModel getById1(Long id, ProductSkuModel productSkuModel);
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,9 +9,7 @@ import com.muyu.product.domain.AsAttributeGroup;
|
||||||
import com.muyu.product.domain.AttributeGroup;
|
import com.muyu.product.domain.AttributeGroup;
|
||||||
import com.muyu.product.domain.AttributeInfo;
|
import com.muyu.product.domain.AttributeInfo;
|
||||||
import com.muyu.product.domain.model.AttributeGroupSaveModel;
|
import com.muyu.product.domain.model.AttributeGroupSaveModel;
|
||||||
import com.muyu.product.domain.req.AttributeGroupEditReq;
|
|
||||||
import com.muyu.product.domain.resp.AttributeGroupPageResp;
|
import com.muyu.product.domain.resp.AttributeGroupPageResp;
|
||||||
import com.muyu.product.mapper.AsAttributeGroupMapper;
|
|
||||||
import com.muyu.product.mapper.AttributeGroupMapper;
|
import com.muyu.product.mapper.AttributeGroupMapper;
|
||||||
import com.muyu.product.service.AsAttributeGroupService;
|
import com.muyu.product.service.AsAttributeGroupService;
|
||||||
import com.muyu.product.service.AttributeGroupService;
|
import com.muyu.product.service.AttributeGroupService;
|
||||||
|
@ -21,7 +19,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
@ -110,38 +107,4 @@ public class AttributeGroupServiceImpl extends ServiceImpl<AttributeGroupMapper,
|
||||||
);
|
);
|
||||||
return save;
|
return save;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改属性组
|
|
||||||
* @param attributeGroupEditReq
|
|
||||||
* @param id
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void updateAsAttributGroup(AttributeGroupEditReq attributeGroupEditReq, Long id) {
|
|
||||||
AsAttributeGroup asAttributeGroup = AsAttributeGroup.buildGroup(id);
|
|
||||||
List<AsAttributeGroup> list = attributeGroupService.list(asAttributeGroup);
|
|
||||||
ArrayList<Long> longs = new ArrayList<>();
|
|
||||||
for (Long aLong : longs) {
|
|
||||||
longs.add(aLong);
|
|
||||||
}
|
|
||||||
|
|
||||||
attributeGroupService.removeBatchByIds(longs);
|
|
||||||
List<Long> attributeIdList = attributeGroupEditReq.getAttributeIdList();
|
|
||||||
attributeGroupService.saveBatch(
|
|
||||||
attributeIdList.stream()
|
|
||||||
.map(aLong -> AsAttributeGroup.buildGroup(
|
|
||||||
id,aLong
|
|
||||||
)).toList()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private AsAttributeGroupMapper asAttributeGroupMapper;
|
|
||||||
@Override
|
|
||||||
public Boolean removeBatchById(List<Long> ids) {
|
|
||||||
LambdaQueryWrapper<AsAttributeGroup> asAttributeGroupLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
||||||
asAttributeGroupLambdaQueryWrapper.in(AsAttributeGroup::getGroupId,ids);
|
|
||||||
asAttributeGroupMapper.delete(asAttributeGroupLambdaQueryWrapper);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ import java.util.List;
|
||||||
|
|
||||||
import com.muyu.common.core.utils.ObjUtils;
|
import com.muyu.common.core.utils.ObjUtils;
|
||||||
import com.muyu.common.security.utils.SecurityUtils;
|
import com.muyu.common.security.utils.SecurityUtils;
|
||||||
|
import com.muyu.product.domain.req.BrandInfoEditReq;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.muyu.product.mapper.BrandInfoMapper;
|
import com.muyu.product.mapper.BrandInfoMapper;
|
||||||
|
@ -53,6 +54,11 @@ public class BrandInfoServiceImpl extends ServiceImpl<BrandInfoMapper, BrandInfo
|
||||||
return list(queryWrapper);
|
return list(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void urikBrand(BrandInfoEditReq brandInfoEditReq, Long id) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean save(BrandInfo entity) {
|
public boolean save(BrandInfo entity) {
|
||||||
entity.setCreateBy(SecurityUtils.getUsername());
|
entity.setCreateBy(SecurityUtils.getUsername());
|
||||||
|
|
|
@ -10,8 +10,12 @@ import com.muyu.product.domain.base.CategoryBase;
|
||||||
import com.muyu.product.domain.model.CategoryInfoSaveModel;
|
import com.muyu.product.domain.model.CategoryInfoSaveModel;
|
||||||
import com.muyu.product.domain.model.TemplateAttributeGroupModel;
|
import com.muyu.product.domain.model.TemplateAttributeGroupModel;
|
||||||
import com.muyu.product.domain.model.TemplateAttributeModel;
|
import com.muyu.product.domain.model.TemplateAttributeModel;
|
||||||
|
import com.muyu.product.domain.req.CategoryInfoEditReq;
|
||||||
import com.muyu.product.domain.resp.CategoryCommonElementResp;
|
import com.muyu.product.domain.resp.CategoryCommonElementResp;
|
||||||
import com.muyu.product.domain.resp.CategoryParentCommonElementResp;
|
import com.muyu.product.domain.resp.CategoryParentCommonElementResp;
|
||||||
|
import com.muyu.product.mapper.AsCategoryAttributeGroupMapper;
|
||||||
|
import com.muyu.product.mapper.AsCategoryAttributeMapper;
|
||||||
|
import com.muyu.product.mapper.AsCategoryBrandMapper;
|
||||||
import com.muyu.product.mapper.CategoryInfoMapper;
|
import com.muyu.product.mapper.CategoryInfoMapper;
|
||||||
import com.muyu.product.service.*;
|
import com.muyu.product.service.*;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
@ -372,4 +376,52 @@ public class CategoryInfoServiceImpl extends ServiceImpl<CategoryInfoMapper, Cat
|
||||||
.attributeList(attributeModelList)
|
.attributeList(attributeModelList)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AsCategoryAttributeGroupMapper asCategoryAttributeGroupMapper;
|
||||||
|
@Autowired
|
||||||
|
private AsCategoryAttributeMapper asCategoryAttributeMapper;
|
||||||
|
@Autowired
|
||||||
|
private AsCategoryBrandMapper asCategoryBrandMapper;
|
||||||
|
/**
|
||||||
|
* 删除中间表
|
||||||
|
* @param ids
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean removeBatchById(List<Long> ids) {
|
||||||
|
//删除品类属性组中间表
|
||||||
|
LambdaQueryWrapper<AsCategoryAttributeGroup> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.in(AsCategoryAttributeGroup::getAttributeGroupId, ids);
|
||||||
|
asCategoryAttributeGroupMapper.delete(lambdaQueryWrapper);
|
||||||
|
//删除品类属性中间表
|
||||||
|
LambdaQueryWrapper<AsCategoryAttribute> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.in(AsCategoryAttribute::getAttributeId, ids);
|
||||||
|
asCategoryAttributeMapper.delete(queryWrapper);
|
||||||
|
//删除品类品牌中间
|
||||||
|
LambdaQueryWrapper<AsCategoryBrand> asCategoryBrandLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
asCategoryBrandLambdaQueryWrapper.in(AsCategoryBrand::getBrandId, ids);
|
||||||
|
asCategoryBrandMapper.delete(asCategoryBrandLambdaQueryWrapper);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void util(Long id, CategoryInfoEditReq categoryInfoEditReq) {
|
||||||
|
//品类 属性组
|
||||||
|
AsCategoryAttribute asCategoryAttribute = AsCategoryAttribute.categoryAttribute(id);
|
||||||
|
List<AsCategoryAttribute> list = asCategoryAttributeService.list(asCategoryAttribute);
|
||||||
|
ArrayList<Long> longs = new ArrayList<>();
|
||||||
|
for (AsCategoryAttribute categoryAttribute : list) {
|
||||||
|
longs.add(categoryAttribute.getId());
|
||||||
|
}
|
||||||
|
asCategoryAttributeService.removeBatchByIds(longs);
|
||||||
|
List<Long> attributeGroupIdList = categoryInfoEditReq.getAttributeGroupIdList();
|
||||||
|
asCategoryAttributeService.saveBatch(
|
||||||
|
attributeGroupIdList.stream()
|
||||||
|
.map(aLong -> AsCategoryAttribute.categoryBuild(id,aLong))
|
||||||
|
.toList()
|
||||||
|
);
|
||||||
|
|
||||||
|
AsCategoryAttributeGroup asCategoryAttributeGroup = AsCategoryAttributeGroup.categoryBuild(id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,24 @@
|
||||||
package com.muyu.product.service.impl;
|
package com.muyu.product.service.impl;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.muyu.common.core.utils.ObjUtils;
|
import com.muyu.common.core.utils.ObjUtils;
|
||||||
|
import com.muyu.common.security.utils.SecurityUtils;
|
||||||
|
import com.muyu.product.controller.ProjectInfoController;
|
||||||
|
import com.muyu.product.domain.*;
|
||||||
|
import com.muyu.product.domain.model.AttrValueModel;
|
||||||
|
import com.muyu.product.domain.model.ProductSkuModel;
|
||||||
|
import com.muyu.product.domain.model.ProjectAddModel;
|
||||||
|
import com.muyu.product.domain.req.ProjectInfoEditReq;
|
||||||
|
import com.muyu.product.domain.req.ProjectInfoSaveReq;
|
||||||
|
import com.muyu.product.mapper.ProjectSkuInfoMapper;
|
||||||
|
import com.muyu.product.service.AsProductAttributeInfoService;
|
||||||
|
import com.muyu.product.service.ProjectSkuInfoService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.muyu.product.mapper.ProjectInfoMapper;
|
import com.muyu.product.mapper.ProjectInfoMapper;
|
||||||
import com.muyu.product.domain.ProjectInfo;
|
|
||||||
import com.muyu.product.service.ProjectInfoService;
|
import com.muyu.product.service.ProjectInfoService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
@ -20,7 +32,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class ProjectInfoServiceImpl extends ServiceImpl<ProjectInfoMapper, ProjectInfo> implements ProjectInfoService {
|
public class ProjectInfoServiceImpl extends ServiceImpl<ProjectInfoMapper, ProjectInfo> implements ProjectInfoService {
|
||||||
|
@Autowired
|
||||||
|
private AsProductAttributeInfoService asProductAttributeInfoService;
|
||||||
|
@Autowired
|
||||||
|
private ProjectSkuInfoService projectSkuInfoService;
|
||||||
/**
|
/**
|
||||||
* 查询商品信息列表
|
* 查询商品信息列表
|
||||||
*
|
*
|
||||||
|
@ -78,4 +93,59 @@ public class ProjectInfoServiceImpl extends ServiceImpl<ProjectInfoMapper, Proje
|
||||||
|
|
||||||
return list(queryWrapper);
|
return list(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存商品信息
|
||||||
|
* @param projectInfoSaveReq
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@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<ProductSkuModel> productSkuModelList = projectInfoSaveReq.getProductSkuList();
|
||||||
|
List<ProjectSkuInfo> projectSkuInfos = productSkuModelList.stream().map(
|
||||||
|
productSkuModel -> ProjectSkuInfo.productSkuModelNuild(productSkuModel, projectInfo::getId)
|
||||||
|
).toList();
|
||||||
|
if (!productSkuModelList.isEmpty()){
|
||||||
|
projectSkuInfoService.saveBatch(projectSkuInfos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return save;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public boolean util(Long id, ProjectInfoEditReq projectInfoEditReq) {
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
@Autowired
|
||||||
|
private ProjectSkuInfoMapper projectSkuInfoMapper;
|
||||||
|
@Override
|
||||||
|
public ProductSkuModel find(Long id) {
|
||||||
|
|
||||||
|
|
||||||
|
return projectSkuInfoMapper.find(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ProjectAddModel getById1(Long id, ProductSkuModel productSkuModel) {
|
||||||
|
|
||||||
|
ProjectInfo byId = this.getById(id);
|
||||||
|
ProjectAddModel projectAddModel = ProjectAddModel.queryBuild(byId);
|
||||||
|
projectAddModel.setProductSkuModel(productSkuModel);
|
||||||
|
return projectAddModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,4 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<sql id="selectProjectSkuInfoVo">
|
<sql id="selectProjectSkuInfoVo">
|
||||||
select id, project_id, sku, stock, price, image, remark, create_by, create_time, update_by, update_time from project_sku_info
|
select id, project_id, sku, stock, price, image, remark, create_by, create_time, update_by, update_time from project_sku_info
|
||||||
</sql>
|
</sql>
|
||||||
|
<select id="find" resultType="com.muyu.product.domain.model.ProductSkuModel">
|
||||||
|
select * from project_sku_info where id =#{id}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
Loading…
Reference in New Issue