更新 商品信息修改回显 删除
parent
5c9f4287d5
commit
9ef7aba9b8
|
@ -59,12 +59,14 @@ public class AsProductAttributeInfo extends BaseEntity {
|
||||||
.productId(projectId.get())
|
.productId(projectId.get())
|
||||||
.attributeId(attrValueModel.getId())
|
.attributeId(attrValueModel.getId())
|
||||||
.value(attrValueModel.getValue())
|
.value(attrValueModel.getValue())
|
||||||
|
.productId(projectId.get())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static AsProductAttributeInfo productAttributeInfo(Long productId){
|
public static AsProductAttributeInfo productAttributeInfo(Long productId){
|
||||||
return AsProductAttributeInfo.builder()
|
return AsProductAttributeInfo.builder()
|
||||||
.attributeId(productId)
|
.attributeId(productId)
|
||||||
|
.productId(productId)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@ import java.util.List;
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
public class ProjectAddModel extends BaseEntity {
|
public class ProjectAddModel extends BaseEntity {
|
||||||
|
private Long id;
|
||||||
/**
|
/**
|
||||||
* 商品名称
|
* 商品名称
|
||||||
*/
|
*/
|
||||||
|
@ -85,6 +86,11 @@ public class ProjectAddModel extends BaseEntity {
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(name = "品牌",value = "品牌")
|
@ApiModelProperty(name = "品牌",value = "品牌")
|
||||||
private Long brandId;
|
private Long brandId;
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(name = "备注",value = "备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
private List<AsProductAttributeInfo> asProductAttributeInfos;
|
private List<AsProductAttributeInfo> asProductAttributeInfos;
|
||||||
|
@ -104,6 +110,7 @@ public class ProjectAddModel extends BaseEntity {
|
||||||
.ruleId(projectInfoQueryReq.getRuleId())
|
.ruleId(projectInfoQueryReq.getRuleId())
|
||||||
.brandId(projectInfoQueryReq.getBrandId())
|
.brandId(projectInfoQueryReq.getBrandId())
|
||||||
.projectSkuInfos(projectSkuInfoList)
|
.projectSkuInfos(projectSkuInfoList)
|
||||||
|
.remark(projectInfoQueryReq.getRemark())
|
||||||
.asProductAttributeInfos(asProductAttributeInfoList)
|
.asProductAttributeInfos(asProductAttributeInfoList)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
*
|
*
|
||||||
|
@ -63,4 +68,9 @@ public class ProjectInfoEditReq extends BaseEntity {
|
||||||
@ApiModelProperty(name = "品牌", value = "品牌")
|
@ApiModelProperty(name = "品牌", value = "品牌")
|
||||||
private Long brandId;
|
private Long brandId;
|
||||||
|
|
||||||
|
private ProjectAddModel projectAddModel;
|
||||||
|
|
||||||
|
private List<AttrValueModel> attrValueList;
|
||||||
|
|
||||||
|
private List<ProductSkuModel> productSkuList;
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,7 +99,6 @@ public class AttributeGroupController extends BaseController {
|
||||||
@PutMapping("/{id}")
|
@PutMapping("/{id}")
|
||||||
@ApiOperation("修改属性组")
|
@ApiOperation("修改属性组")
|
||||||
public Result<String> edit(@PathVariable Long id, @RequestBody AttributeGroupEditReq attributeGroupEditReq) {
|
public Result<String> edit(@PathVariable Long id, @RequestBody AttributeGroupEditReq attributeGroupEditReq) {
|
||||||
attributeGroupService.updateAsAttributGroup(attributeGroupEditReq,id);
|
|
||||||
return toAjax(attributeGroupService.updateById(AttributeGroup.editBuild(id,attributeGroupEditReq)));
|
return toAjax(attributeGroupService.updateById(AttributeGroup.editBuild(id,attributeGroupEditReq)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -112,7 +111,6 @@ public class AttributeGroupController 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) {
|
||||||
attributeGroupService.removeBatchById(ids);
|
|
||||||
return toAjax(attributeGroupService.removeBatchByIds(ids));
|
return toAjax(attributeGroupService.removeBatchByIds(ids));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,14 +91,13 @@ public class ProjectInfoController extends BaseController {
|
||||||
List<AsProductAttributeInfo> list = asProductAttributeInfoService.list(asProductAttributeInfoLambdaQueryWrapper);
|
List<AsProductAttributeInfo> list = asProductAttributeInfoService.list(asProductAttributeInfoLambdaQueryWrapper);
|
||||||
|
|
||||||
ProjectInfo projectInfo = projectInfoService.getById(id);
|
ProjectInfo projectInfo = projectInfoService.getById(id);
|
||||||
|
|
||||||
LambdaQueryWrapper<ProjectSkuInfo> projectSkuInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<ProjectSkuInfo> projectSkuInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
projectSkuInfoLambdaQueryWrapper.eq(ProjectSkuInfo::getProjectId,id);
|
projectSkuInfoLambdaQueryWrapper.eq(ProjectSkuInfo::getProjectId,id);
|
||||||
List<ProjectSkuInfo> projectSkuInfos = projectSkuInfoService.list(projectSkuInfoLambdaQueryWrapper);
|
List<ProjectSkuInfo> projectSkuInfos = projectSkuInfoService.list(projectSkuInfoLambdaQueryWrapper);
|
||||||
|
|
||||||
ProjectAddModel projectAddModel = ProjectAddModel.queryBuild(projectInfo,
|
ProjectAddModel projectAddModel = ProjectAddModel.queryBuild(projectInfo,
|
||||||
list, projectSkuInfos
|
list, projectSkuInfos
|
||||||
);
|
);
|
||||||
|
projectAddModel.setId(id);
|
||||||
return Result.success(projectAddModel);
|
return Result.success(projectAddModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,8 +120,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.updateInfo(projectInfoEditReq));
|
||||||
return toAjax(projectInfoService.updateById(ProjectInfo.editBuild(id,projectInfoEditReq)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -134,6 +132,7 @@ public class ProjectInfoController 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) {
|
||||||
|
projectInfoService.del(ids);
|
||||||
return toAjax(projectInfoService.removeBatchByIds(ids));
|
return toAjax(projectInfoService.removeBatchByIds(ids));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,5 @@ public interface AttributeGroupService extends IService<AttributeGroup> {
|
||||||
*/
|
*/
|
||||||
public Boolean save(AttributeGroupSaveModel attributeGroupSaveModel);
|
public Boolean save(AttributeGroupSaveModel attributeGroupSaveModel);
|
||||||
|
|
||||||
void updateAsAttributGroup(AttributeGroupEditReq attributeGroupEditReq, Long id);
|
|
||||||
|
|
||||||
Boolean removeBatchById(List<Long> ids);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ public interface ProjectInfoService extends IService<ProjectInfo> {
|
||||||
boolean save(ProjectInfoSaveReq projectInfoSaveReq);
|
boolean save(ProjectInfoSaveReq projectInfoSaveReq);
|
||||||
|
|
||||||
|
|
||||||
|
boolean updateInfo(ProjectInfoEditReq projectInfoEditReq);
|
||||||
|
|
||||||
|
boolean del(List<Long> ids);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,14 +13,11 @@ 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.mapper.CategoryInfoMapper;
|
import com.muyu.product.mapper.CategoryInfoMapper;
|
||||||
import com.muyu.product.mapper.ProjectSkuInfoMapper;
|
import com.muyu.product.mapper.ProjectSkuInfoMapper;
|
||||||
import com.muyu.product.service.AsProductAttributeInfoService;
|
import com.muyu.product.service.*;
|
||||||
import com.muyu.product.service.CategoryInfoService;
|
|
||||||
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.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.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;
|
||||||
|
|
||||||
|
@ -125,8 +122,81 @@ public class ProjectInfoServiceImpl extends ServiceImpl<ProjectInfoMapper, Proje
|
||||||
}
|
}
|
||||||
return save;
|
return save;
|
||||||
}
|
}
|
||||||
|
@Autowired
|
||||||
|
private AsBrandProjectService asBrandProjectService;
|
||||||
|
@Override
|
||||||
|
public boolean updateInfo(ProjectInfoEditReq projectInfoEditReq) {
|
||||||
|
ProjectAddModel projectAddModel = projectInfoEditReq.getProjectAddModel();
|
||||||
|
|
||||||
|
ProjectInfo projectInfo = ProjectInfo.saveModelBuild(projectAddModel, SecurityUtils::getUsername);
|
||||||
|
|
||||||
|
LambdaQueryWrapper<AsBrandProject> asBrandProjectLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
asBrandProjectLambdaQueryWrapper.eq(AsBrandProject::getProjectId, projectInfoEditReq.getProjectAddModel().getId());
|
||||||
|
boolean remove = asBrandProjectService.remove(asBrandProjectLambdaQueryWrapper);
|
||||||
|
if (remove) {
|
||||||
|
log.debug("删除中间表成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
AsBrandProject asBrandProject = new AsBrandProject(null, projectInfo.getBrandId(), String.valueOf(projectInfoEditReq.getProjectAddModel().getId()));
|
||||||
|
boolean save1 = asBrandProjectService.save(asBrandProject);
|
||||||
|
|
||||||
|
LambdaQueryWrapper<ProjectInfo> projectInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
projectInfoLambdaQueryWrapper.eq(ProjectInfo::getId, projectInfoEditReq.getProjectAddModel().getId());
|
||||||
|
boolean save = this.update(projectInfo, projectInfoLambdaQueryWrapper);
|
||||||
|
|
||||||
|
if (save) {
|
||||||
|
//删除属性值
|
||||||
|
LambdaQueryWrapper<AsProductAttributeInfo> asProductAttributeInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
asProductAttributeInfoLambdaQueryWrapper.eq(AsProductAttributeInfo::getProductId, projectInfoEditReq.getProjectAddModel().getId());
|
||||||
|
asProductAttributeInfoService.remove(asProductAttributeInfoLambdaQueryWrapper);
|
||||||
|
// 添加属性值
|
||||||
|
List<AttrValueModel> attrValueList = projectInfoEditReq.getAttrValueList();
|
||||||
|
List<AsProductAttributeInfo> asProductAttributeInfoList = attrValueList.stream()
|
||||||
|
.map(attrValueModel -> AsProductAttributeInfo.attrValueModelBuild(attrValueModel, projectInfoEditReq.getProjectAddModel()::getId))
|
||||||
|
.toList();
|
||||||
|
if (!asProductAttributeInfoList.isEmpty()) {
|
||||||
|
asProductAttributeInfoService.saveBatch(asProductAttributeInfoList);
|
||||||
|
}
|
||||||
|
// sku ProductSkuModel -》 ProjectSkuInfo
|
||||||
|
|
||||||
|
|
||||||
|
//删除SKU
|
||||||
|
LambdaQueryWrapper<ProjectSkuInfo> projectSkuInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
projectSkuInfoLambdaQueryWrapper.eq(ProjectSkuInfo::getProjectId, projectInfoEditReq.getProjectAddModel().getId());
|
||||||
|
projectSkuInfoService.remove(projectSkuInfoLambdaQueryWrapper);
|
||||||
|
//添加sku
|
||||||
|
List<ProductSkuModel> productSkuModelList = projectInfoEditReq.getProductSkuList();
|
||||||
|
List<ProjectSkuInfo> projectSkuInfoList = productSkuModelList.stream().map(
|
||||||
|
productSkuModel -> ProjectSkuInfo.productSkuModelNuild(productSkuModel, projectInfoEditReq.getProjectAddModel()::getId)
|
||||||
|
).toList();
|
||||||
|
if (!projectSkuInfoList.isEmpty()) {
|
||||||
|
projectSkuInfoService.saveBatch(projectSkuInfoList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return save;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean del(List<Long> ids) {
|
||||||
|
LambdaQueryWrapper<ProjectInfo> projectInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
projectInfoLambdaQueryWrapper.in(ProjectInfo::getId,ids );
|
||||||
|
boolean remove = this.remove(projectInfoLambdaQueryWrapper);
|
||||||
|
if (remove){
|
||||||
|
LambdaQueryWrapper<ProjectSkuInfo> projectSkuInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
projectSkuInfoLambdaQueryWrapper.in(ProjectSkuInfo::getProjectId, ids);
|
||||||
|
List<ProjectSkuInfo> list = projectSkuInfoService.list(projectSkuInfoLambdaQueryWrapper);
|
||||||
|
boolean b = projectSkuInfoService.removeBatchByIds(list);
|
||||||
|
if (b){
|
||||||
|
LambdaQueryWrapper<AsProductAttributeInfo> asProductAttributeInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
asProductAttributeInfoLambdaQueryWrapper.in(AsProductAttributeInfo::getProductId, ids);
|
||||||
|
List<AsProductAttributeInfo> list1 = asProductAttributeInfoService.list(asProductAttributeInfoLambdaQueryWrapper);
|
||||||
|
asProductAttributeInfoService.removeBatchByIds(list1);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue