更新 商品信息修改回显 删除
parent
5c9f4287d5
commit
9ef7aba9b8
|
@ -59,12 +59,14 @@ public class AsProductAttributeInfo extends BaseEntity {
|
|||
.productId(projectId.get())
|
||||
.attributeId(attrValueModel.getId())
|
||||
.value(attrValueModel.getValue())
|
||||
.productId(projectId.get())
|
||||
.build();
|
||||
}
|
||||
|
||||
public static AsProductAttributeInfo productAttributeInfo(Long productId){
|
||||
return AsProductAttributeInfo.builder()
|
||||
.attributeId(productId)
|
||||
.productId(productId)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ import java.util.List;
|
|||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ProjectAddModel extends BaseEntity {
|
||||
private Long id;
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
|
@ -85,6 +86,11 @@ public class ProjectAddModel extends BaseEntity {
|
|||
*/
|
||||
@ApiModelProperty(name = "品牌",value = "品牌")
|
||||
private Long brandId;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty(name = "备注",value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
private List<AsProductAttributeInfo> asProductAttributeInfos;
|
||||
|
@ -104,6 +110,7 @@ public class ProjectAddModel extends BaseEntity {
|
|||
.ruleId(projectInfoQueryReq.getRuleId())
|
||||
.brandId(projectInfoQueryReq.getBrandId())
|
||||
.projectSkuInfos(projectSkuInfoList)
|
||||
.remark(projectInfoQueryReq.getRemark())
|
||||
.asProductAttributeInfos(asProductAttributeInfoList)
|
||||
.build();
|
||||
}
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
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.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
|
||||
*
|
||||
|
@ -63,4 +68,9 @@ public class ProjectInfoEditReq extends BaseEntity {
|
|||
@ApiModelProperty(name = "品牌", value = "品牌")
|
||||
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}")
|
||||
@ApiOperation("修改属性组")
|
||||
public Result<String> edit(@PathVariable Long id, @RequestBody AttributeGroupEditReq attributeGroupEditReq) {
|
||||
attributeGroupService.updateAsAttributGroup(attributeGroupEditReq,id);
|
||||
return toAjax(attributeGroupService.updateById(AttributeGroup.editBuild(id,attributeGroupEditReq)));
|
||||
}
|
||||
|
||||
|
@ -112,7 +111,6 @@ public class AttributeGroupController extends BaseController {
|
|||
@ApiOperation("删除属性组")
|
||||
@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) {
|
||||
attributeGroupService.removeBatchById(ids);
|
||||
return toAjax(attributeGroupService.removeBatchByIds(ids));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -91,14 +91,13 @@ public class ProjectInfoController extends BaseController {
|
|||
List<AsProductAttributeInfo> list = asProductAttributeInfoService.list(asProductAttributeInfoLambdaQueryWrapper);
|
||||
|
||||
ProjectInfo projectInfo = projectInfoService.getById(id);
|
||||
|
||||
LambdaQueryWrapper<ProjectSkuInfo> projectSkuInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
projectSkuInfoLambdaQueryWrapper.eq(ProjectSkuInfo::getProjectId,id);
|
||||
List<ProjectSkuInfo> projectSkuInfos = projectSkuInfoService.list(projectSkuInfoLambdaQueryWrapper);
|
||||
|
||||
ProjectAddModel projectAddModel = ProjectAddModel.queryBuild(projectInfo,
|
||||
list, projectSkuInfos
|
||||
);
|
||||
projectAddModel.setId(id);
|
||||
return Result.success(projectAddModel);
|
||||
}
|
||||
|
||||
|
@ -121,8 +120,7 @@ public class ProjectInfoController extends BaseController {
|
|||
@PutMapping("/{id}")
|
||||
@ApiOperation("修改商品信息")
|
||||
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.updateInfo(projectInfoEditReq));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -134,6 +132,7 @@ public class ProjectInfoController extends BaseController {
|
|||
@ApiOperation("删除商品信息")
|
||||
@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) {
|
||||
projectInfoService.del(ids);
|
||||
return toAjax(projectInfoService.removeBatchByIds(ids));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,7 +40,5 @@ public interface AttributeGroupService extends IService<AttributeGroup> {
|
|||
*/
|
||||
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 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.mapper.CategoryInfoMapper;
|
||||
import com.muyu.product.mapper.ProjectSkuInfoMapper;
|
||||
import com.muyu.product.service.AsProductAttributeInfoService;
|
||||
import com.muyu.product.service.CategoryInfoService;
|
||||
import com.muyu.product.service.ProjectSkuInfoService;
|
||||
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.service.ProjectInfoService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
|
||||
|
@ -125,8 +122,81 @@ public class ProjectInfoServiceImpl extends ServiceImpl<ProjectInfoMapper, Proje
|
|||
}
|
||||
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