修改商品信息
parent
0c740780d8
commit
de0bc16a1c
|
@ -4,6 +4,8 @@ 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.base.CategoryBase;
|
import com.muyu.product.domain.base.CategoryBase;
|
||||||
|
import com.muyu.product.domain.model.TemplateAttributeGroupModel;
|
||||||
|
import com.muyu.product.domain.model.TemplateAttributeModel;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
@ -13,6 +15,8 @@ import io.swagger.annotations.*;
|
||||||
import com.muyu.common.core.annotation.Excel;
|
import com.muyu.common.core.annotation.Excel;
|
||||||
import com.muyu.common.core.web.domain.BaseEntity;
|
import com.muyu.common.core.web.domain.BaseEntity;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 品类属性组中间对象 as_category_attribute_group
|
* 品类属性组中间对象 as_category_attribute_group
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.muyu.product.domain;
|
package com.muyu.product.domain;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
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;
|
||||||
|
@ -35,23 +36,64 @@ public class AttributeInfo extends BaseEntity {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/** 属性编号 */
|
/**
|
||||||
@TableId(value = "id",type = IdType.AUTO)
|
* 属性编号
|
||||||
|
*/
|
||||||
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
@ApiModelProperty(name = "属性编号", value = "属性编号")
|
@ApiModelProperty(name = "属性编号", value = "属性编号")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/** 属性编码 */
|
/**
|
||||||
|
* 属性编码
|
||||||
|
*/
|
||||||
@Excel(name = "属性编码")
|
@Excel(name = "属性编码")
|
||||||
@ApiModelProperty(name = "属性编码", value = "属性编码", required = true)
|
@ApiModelProperty(name = "属性编码", value = "属性编码", required = true)
|
||||||
private String code;
|
private String code;
|
||||||
|
|
||||||
/** 属性名 */
|
/**
|
||||||
|
* 属性名
|
||||||
|
*/
|
||||||
@Excel(name = "属性名")
|
@Excel(name = "属性名")
|
||||||
@ApiModelProperty(name = "属性名", value = "属性名", required = true)
|
@ApiModelProperty(name = "属性名", value = "属性名", required = true)
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 属性编码
|
||||||
|
*/
|
||||||
|
@Excel(name = "创建人")
|
||||||
|
@ApiModelProperty(name = "创建人", value = "创建人", required = true)
|
||||||
|
private String createBy;
|
||||||
|
|
||||||
public TemplateAttributeModel buildTemplateModel(){
|
/**
|
||||||
|
* 属性名
|
||||||
|
*/
|
||||||
|
@Excel(name = "创建时间")
|
||||||
|
@ApiModelProperty(name = "创建时间", value = "创建时间", required = true)
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 属性编码
|
||||||
|
*/
|
||||||
|
@Excel(name = "更新人")
|
||||||
|
@ApiModelProperty(name = "更新人", value = "更新人", required = true)
|
||||||
|
private String updateBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 属性名
|
||||||
|
*/
|
||||||
|
@Excel(name = "更新时间")
|
||||||
|
@ApiModelProperty(name = "更新时间", value = "更新时间", required = true)
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 属性名
|
||||||
|
*/
|
||||||
|
@Excel(name = "备注")
|
||||||
|
@ApiModelProperty(name = "备注", value = "备注", required = true)
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
|
public TemplateAttributeModel buildTemplateModel() {
|
||||||
return TemplateAttributeModel.builder()
|
return TemplateAttributeModel.builder()
|
||||||
.id(this.getId())
|
.id(this.getId())
|
||||||
.code(this.getCode())
|
.code(this.getCode())
|
||||||
|
@ -60,33 +102,50 @@ public class AttributeInfo extends BaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询构造器
|
* 查询构造器
|
||||||
*/
|
*/
|
||||||
public static AttributeInfo queryBuild( AttributeInfoQueryReq attributeInfoQueryReq){
|
public static AttributeInfo queryBuild(AttributeInfoQueryReq attributeInfoQueryReq) {
|
||||||
return AttributeInfo.builder()
|
return AttributeInfo.builder()
|
||||||
|
.id(attributeInfoQueryReq.getId())
|
||||||
.name(attributeInfoQueryReq.getName())
|
.name(attributeInfoQueryReq.getName())
|
||||||
.code(attributeInfoQueryReq.getCode())
|
.code(attributeInfoQueryReq.getCode())
|
||||||
|
.createBy(attributeInfoQueryReq.getCreateBy())
|
||||||
|
.updateBy(attributeInfoQueryReq.getUpdateBy())
|
||||||
|
.createTime(attributeInfoQueryReq.getCreateTime())
|
||||||
|
.updateTime(attributeInfoQueryReq.getUpdateTime())
|
||||||
|
.remark(attributeInfoQueryReq.getRemark())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加构造器
|
* 添加构造器
|
||||||
*/
|
*/
|
||||||
public static AttributeInfo saveBuild(AttributeInfoSaveReq attributeInfoSaveReq){
|
public static AttributeInfo saveBuild(AttributeInfoSaveReq attributeInfoSaveReq) {
|
||||||
return AttributeInfo.builder()
|
return AttributeInfo.builder()
|
||||||
|
.id(attributeInfoSaveReq.getId())
|
||||||
.name(attributeInfoSaveReq.getName())
|
.name(attributeInfoSaveReq.getName())
|
||||||
.code(attributeInfoSaveReq.getCode())
|
.code(attributeInfoSaveReq.getCode())
|
||||||
|
.createBy(attributeInfoSaveReq.getCreateBy())
|
||||||
|
.updateBy(attributeInfoSaveReq.getUpdateBy())
|
||||||
|
.createTime(attributeInfoSaveReq.getCreateTime())
|
||||||
|
.updateTime(attributeInfoSaveReq.getUpdateTime())
|
||||||
|
.remark(attributeInfoSaveReq.getRemark())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改构造器
|
* 修改构造器
|
||||||
*/
|
*/
|
||||||
public static AttributeInfo editBuild(Long id, AttributeInfoEditReq attributeInfoEditReq){
|
public static AttributeInfo editBuild(Long id, AttributeInfoEditReq attributeInfoEditReq) {
|
||||||
return AttributeInfo.builder()
|
return AttributeInfo.builder()
|
||||||
.id(id)
|
.id(id)
|
||||||
.name(attributeInfoEditReq.getName())
|
.name(attributeInfoEditReq.getName())
|
||||||
.code(attributeInfoEditReq.getCode())
|
.code(attributeInfoEditReq.getCode())
|
||||||
|
.createBy(attributeInfoEditReq.getCreateBy())
|
||||||
|
.updateBy(attributeInfoEditReq.getUpdateBy())
|
||||||
|
.createTime(attributeInfoEditReq.getCreateTime())
|
||||||
|
.updateTime(attributeInfoEditReq.getUpdateTime())
|
||||||
|
.remark(attributeInfoEditReq.getRemark())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ 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.ProjectAddModel;
|
import com.muyu.product.domain.model.ProjectAddModel;
|
||||||
|
import com.muyu.product.domain.model.TemplateAttributeGroupModel;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
@ -17,6 +18,7 @@ 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.Date;
|
||||||
|
import java.util.List;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,10 +1,14 @@
|
||||||
package com.muyu.product.domain.model;
|
package com.muyu.product.domain.model;
|
||||||
|
|
||||||
import com.muyu.common.core.web.domain.BaseEntity;
|
import com.muyu.common.core.web.domain.BaseEntity;
|
||||||
|
import com.muyu.product.domain.ProjectInfo;
|
||||||
|
import com.muyu.product.domain.req.ProjectInfoEditReq;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import lombok.experimental.SuperBuilder;
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author DongZl
|
* @author DongZl
|
||||||
* @description: 商品添加模型
|
* @description: 商品添加模型
|
||||||
|
@ -57,4 +61,28 @@ public class ProjectAddModel extends BaseEntity {
|
||||||
/** 品牌 */
|
/** 品牌 */
|
||||||
@ApiModelProperty(name = "品牌", value = "品牌")
|
@ApiModelProperty(name = "品牌", value = "品牌")
|
||||||
private Long brandId;
|
private Long brandId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改构造器
|
||||||
|
*/
|
||||||
|
public static ProjectInfo editBuild(Long id, ProjectInfoEditReq projectInfoEditReq){
|
||||||
|
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())
|
||||||
|
.remark(projectInfoEditReq.getRemark())
|
||||||
|
.updateBy(projectInfoEditReq.getUpdateBy())
|
||||||
|
.createTime(new Date())
|
||||||
|
.createBy(projectInfoEditReq.getCreateBy())
|
||||||
|
.updateTime(new Date())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.muyu.product.domain.model;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class ProjectModel {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
private String value;
|
||||||
|
}
|
|
@ -0,0 +1,36 @@
|
||||||
|
package com.muyu.product.domain.model;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -2,6 +2,7 @@ package com.muyu.product.domain.req;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.muyu.common.core.annotation.Excel;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
@ -37,4 +38,29 @@ public class AttributeInfoEditReq extends BaseEntity {
|
||||||
private String code;
|
private String code;
|
||||||
|
|
||||||
|
|
||||||
|
/** 属性编码 */
|
||||||
|
@Excel(name = "创建人")
|
||||||
|
@ApiModelProperty(name = "创建人", value = "创建人", required = true)
|
||||||
|
private String createBy;
|
||||||
|
|
||||||
|
/** 属性名 */
|
||||||
|
@Excel(name = "创建时间")
|
||||||
|
@ApiModelProperty(name = "创建时间", value = "创建时间", required = true)
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
/** 属性编码 */
|
||||||
|
@Excel(name = "更新人")
|
||||||
|
@ApiModelProperty(name = "更新人", value = "更新人", required = true)
|
||||||
|
private String updateBy;
|
||||||
|
|
||||||
|
/** 属性名 */
|
||||||
|
@Excel(name = "更新时间")
|
||||||
|
@ApiModelProperty(name = "更新时间", value = "更新时间", required = true)
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
|
/** 属性名 */
|
||||||
|
@Excel(name = "备注")
|
||||||
|
@ApiModelProperty(name = "备注", value = "备注", required = true)
|
||||||
|
private String remark;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,6 +24,7 @@ import com.muyu.common.core.web.domain.BaseEntity;
|
||||||
public class AttributeInfoQueryReq extends BaseEntity {
|
public class AttributeInfoQueryReq extends BaseEntity {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
private Long id;
|
||||||
|
|
||||||
/** 属性名 */
|
/** 属性名 */
|
||||||
@ApiModelProperty(name = "属性名", value = "属性名")
|
@ApiModelProperty(name = "属性名", value = "属性名")
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
package com.muyu.product.domain.req;
|
package com.muyu.product.domain.req;
|
||||||
|
|
||||||
|
import com.muyu.product.domain.model.ProjectAddModel;
|
||||||
|
import com.muyu.product.domain.model.ProjectModel;
|
||||||
|
import com.muyu.product.domain.model.ProjectSkuModel;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
@ -64,6 +67,8 @@ public class ProjectInfoEditReq extends BaseEntity {
|
||||||
/** 品牌 */
|
/** 品牌 */
|
||||||
@ApiModelProperty(name = "品牌", value = "品牌")
|
@ApiModelProperty(name = "品牌", value = "品牌")
|
||||||
private Long brandId;
|
private Long brandId;
|
||||||
private List<Long> productSkuList;
|
private ProjectAddModel projectAddModel;
|
||||||
|
private List<ProjectModel> attrValueList;
|
||||||
|
private List<ProjectSkuModel> productSkuList;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,8 +4,13 @@ import java.util.List;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import com.muyu.product.cache.ProjectInfoCache;
|
import com.muyu.product.cache.ProjectInfoCache;
|
||||||
|
import com.muyu.product.domain.BrandInfo;
|
||||||
|
import com.muyu.product.domain.RuleInfo;
|
||||||
import com.muyu.product.domain.resp.ProjectDetailResp;
|
import com.muyu.product.domain.resp.ProjectDetailResp;
|
||||||
|
import com.muyu.product.service.BrandInfoService;
|
||||||
|
import com.muyu.product.service.RuleInfoService;
|
||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
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;
|
||||||
|
@ -42,7 +47,10 @@ public class ProjectInfoController extends BaseController {
|
||||||
private ProjectInfoService projectInfoService;
|
private ProjectInfoService projectInfoService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProjectInfoCache projectInfoCache;
|
private BrandInfoService brandInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RuleInfoService ruleInfoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询商品信息列表
|
* 查询商品信息列表
|
||||||
|
@ -78,6 +86,10 @@ public class ProjectInfoController extends BaseController {
|
||||||
@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<ProjectInfo> getInfo(@PathVariable("id") Long id) {
|
||||||
ProjectInfo serviceById = projectInfoService.getById(id);
|
ProjectInfo serviceById = projectInfoService.getById(id);
|
||||||
|
BrandInfo brandInfo = brandInfoService.getById(serviceById.getBrandId());
|
||||||
|
// BeanUtils.copyProperties(brandInfo,serviceById);
|
||||||
|
RuleInfo ruleInfo = ruleInfoService.getById(serviceById.getRuleId());
|
||||||
|
// BeanUtils.copyProperties(ruleInfo,serviceById);
|
||||||
return Result.success(serviceById);
|
return Result.success(serviceById);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,7 +134,8 @@ 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) {
|
||||||
return toAjax(projectInfoService.updateById(ProjectInfo.editBuild(id,projectInfoEditReq)));
|
// return toAjax(projectInfoService.updateById(ProjectInfo.editBuild(id,projectInfoEditReq)));
|
||||||
|
return projectInfoService.updProject(id, projectInfoEditReq);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
package com.muyu.product.service;
|
package com.muyu.product.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.muyu.common.core.domain.Result;
|
||||||
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.req.ProjectInfoEditReq;
|
||||||
import com.muyu.product.domain.req.ProjectInfoSaveReq;
|
import com.muyu.product.domain.req.ProjectInfoSaveReq;
|
||||||
import com.muyu.product.domain.resp.ProjectDetailResp;
|
import com.muyu.product.domain.resp.ProjectDetailResp;
|
||||||
|
|
||||||
|
@ -34,4 +37,12 @@ public interface ProjectInfoService extends IService<ProjectInfo> {
|
||||||
* @return 商品详情
|
* @return 商品详情
|
||||||
*/
|
*/
|
||||||
ProjectDetailResp getDetailInfo (Long id);
|
ProjectDetailResp getDetailInfo (Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改商品信息
|
||||||
|
* @param id
|
||||||
|
* @param projectInfoEditReq
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Result updProject(Long id, ProjectInfoEditReq projectInfoEditReq);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,22 +2,29 @@ package com.muyu.product.service.impl;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.muyu.common.core.domain.Result;
|
||||||
import com.muyu.common.core.utils.ObjUtils;
|
import com.muyu.common.core.utils.ObjUtils;
|
||||||
|
import com.muyu.common.core.utils.StringUtils;
|
||||||
import com.muyu.common.security.utils.SecurityUtils;
|
import com.muyu.common.security.utils.SecurityUtils;
|
||||||
import com.muyu.product.domain.*;
|
import com.muyu.product.domain.*;
|
||||||
import com.muyu.product.domain.model.*;
|
import com.muyu.product.domain.model.*;
|
||||||
|
import com.muyu.product.domain.req.ProjectInfoEditReq;
|
||||||
import com.muyu.product.domain.req.ProjectInfoSaveReq;
|
import com.muyu.product.domain.req.ProjectInfoSaveReq;
|
||||||
import com.muyu.product.domain.resp.CategoryCommonElementResp;
|
import com.muyu.product.domain.resp.CategoryCommonElementResp;
|
||||||
import com.muyu.product.domain.resp.ProjectDetailResp;
|
import com.muyu.product.domain.resp.ProjectDetailResp;
|
||||||
import com.muyu.product.service.*;
|
import com.muyu.product.service.*;
|
||||||
|
import io.netty.util.internal.StringUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
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.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;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品信息Service业务层处理
|
* 商品信息Service业务层处理
|
||||||
|
@ -229,4 +236,54 @@ public class ProjectInfoServiceImpl extends ServiceImpl<ProjectInfoMapper, Proje
|
||||||
.attributeGroupList(templateAttributeGroupList)
|
.attributeGroupList(templateAttributeGroupList)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改商品信息
|
||||||
|
* @param id
|
||||||
|
* @param projectInfoEditReq
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Result updProject(Long id, ProjectInfoEditReq projectInfoEditReq) {
|
||||||
|
this.updateById(ProjectAddModel.editBuild(id,projectInfoEditReq));
|
||||||
|
if(!CollectionUtils.isEmpty(projectInfoEditReq.getAttrValueList())){
|
||||||
|
List<AttributeInfo> attributeInfos = projectInfoEditReq.getAttrValueList().stream()
|
||||||
|
.filter(projectModel->!StringUtils.isBlank(projectModel.getValue()))
|
||||||
|
.map(item -> {
|
||||||
|
AttributeInfo attributeInfo = AttributeInfo.builder()
|
||||||
|
.id(item.getId())
|
||||||
|
.name(item.getValue())
|
||||||
|
.build();
|
||||||
|
return attributeInfo;
|
||||||
|
}).toList();
|
||||||
|
//批量修改
|
||||||
|
attributeInfoService.updateBatchById(attributeInfos);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!CollectionUtils.isEmpty(projectInfoEditReq.getProductSkuList())){
|
||||||
|
List<ProjectSkuInfo> skuInfoList = projectInfoEditReq.getProductSkuList().stream()
|
||||||
|
.map(projectSkuInfoModel -> {
|
||||||
|
ProjectSkuInfo projectSkuInfo = ProjectSkuInfo.builder()
|
||||||
|
.sku(projectSkuInfoModel.getSku())
|
||||||
|
.image(projectSkuInfoModel.getImage())
|
||||||
|
.stock(projectSkuInfoModel.getStock())
|
||||||
|
.price(projectSkuInfoModel.getPrice())
|
||||||
|
.build();
|
||||||
|
return projectSkuInfo;
|
||||||
|
}).toList();
|
||||||
|
skuInfoList.forEach(projectSkuInfoModel -> {
|
||||||
|
LambdaUpdateWrapper<ProjectSkuInfo> wrapper = new LambdaUpdateWrapper<>();
|
||||||
|
if(!StringUtils.isBlank(projectSkuInfoModel.getImage())){
|
||||||
|
wrapper.set(ProjectSkuInfo::getImage,projectSkuInfoModel.getImage());
|
||||||
|
}
|
||||||
|
wrapper.set(ProjectSkuInfo::getStock,projectSkuInfoModel.getStock());
|
||||||
|
wrapper.set(ProjectSkuInfo::getPrice,projectSkuInfoModel.getPrice());
|
||||||
|
wrapper.eq(ProjectSkuInfo::getSku, projectSkuInfoModel.getSku());
|
||||||
|
projectSkuInfoService.update(null,wrapper);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
return Result.success(null,"修改成功");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue