规格新增

master
hbr 2024-03-09 14:08:59 +08:00
parent 90ec9846a3
commit 0b98947165
5 changed files with 46 additions and 39 deletions

View File

@ -23,6 +23,10 @@ public class RuleInfoEditReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 规格名称 */
@ApiModelProperty(name = "主键", value = "主键")
private Integer id;
/** 规格名称 */
@ApiModelProperty(name = "规格名称", value = "规格名称")
private String name;
@ -31,4 +35,7 @@ public class RuleInfoEditReq extends BaseEntity {
@ApiModelProperty(name = "规格状态", value = "规格状态")
private String status;
@ApiModelProperty(name = "规格备注", value = "规格备注")
private String remark;
}

View File

@ -36,6 +36,8 @@ import com.muyu.common.core.web.page.TableDataInfo;
@RestController
@RequestMapping("/attribute")
public class AttributeInfoController extends BaseController {
@Autowired
private AttributeInfoService attributeInfoService;
@ -83,7 +85,8 @@ public class AttributeInfoController extends BaseController {
@PostMapping
@ApiOperation("新增商品属性")
public Result<String> add(@RequestBody AttributeInfoSaveReq attributeInfoSaveReq) {
return toAjax(attributeInfoService.save(AttributeInfo.saveBuild(attributeInfoSaveReq)));
AttributeInfo attributeInfo = AttributeInfo.saveBuild(attributeInfoSaveReq);
return attributeInfoService.save(attributeInfo) ? success(attributeInfo.getId()) : error();
}
/**

View File

@ -40,10 +40,6 @@ public class AsAttributeGroupServiceImpl extends ServiceImpl<AsAttributeGroupMap
queryWrapper.eq(AsAttributeGroup::getAttributeId, asAttributeGroup.getAttributeId());
}
return list(queryWrapper);
}
}

View File

@ -299,74 +299,75 @@ public class CategoryInfoServiceImpl extends ServiceImpl<CategoryInfoMapper, Cat
*/
@Override
public CategoryCommonElementResp getTemplateAttributeByCateGoryId (Long cateGoryId) {
ArrayList<Long> cateGoryIdList = new ArrayList<>();
getParentIdListByCateGoryId(cateGoryIdList,cateGoryId);
LambdaQueryWrapper<AsCategoryAttributeGroup> asCategoryAttributeGroupLambdaQueryWrapper = new LambdaQueryWrapper<>() {{
List<Long> cateGoryIdList = new ArrayList<>();
getParentIdListByCateGoryId(cateGoryIdList, cateGoryId);
// 取出和品类相关联的属性组关系 - 中间表
LambdaQueryWrapper<AsCategoryAttributeGroup> asCategoryAttributeGroupLambdaQueryWrapper = new LambdaQueryWrapper<>(){{
in(AsCategoryAttributeGroup::getCategoryId, cateGoryIdList);
}};
List<AsCategoryAttributeGroup> categoryAttributeGroupList = asCategoryAttributeGroupService.list(asCategoryAttributeGroupLambdaQueryWrapper);
List<TemplateAttributeGroupModel> attributeGroupModelList = categoryAttributeGroupList.stream()
List<TemplateAttributeGroupModel> attributeGroupModelList = categoryAttributeGroupList.stream()
.map(asCategoryAttributeGroup -> TemplateAttributeGroupModel.attributeGroupBuild(
attributeGroupService.getById(asCategoryAttributeGroup.getAttributeGroupId()),
attributeGroupId -> {
LambdaQueryWrapper<AsAttributeGroup> asAttributeGroupLambdaQueryWrapper = new LambdaQueryWrapper<>() {{
LambdaQueryWrapper<AsAttributeGroup> asAttributeGroupQueryWrapper = new LambdaQueryWrapper<>() {{
eq(AsAttributeGroup::getGroupId, asCategoryAttributeGroup.getAttributeGroupId());
}};
List<Long> attributeList = asAttributeGroupService.list(asAttributeGroupLambdaQueryWrapper).stream()
List<Long> attributeIdList = asAttributeGroupService.list(asAttributeGroupQueryWrapper).stream()
.map(AsAttributeGroup::getAttributeId)
.toList();
if (attributeList.isEmpty()) {
if (attributeIdList.isEmpty()){
return new ArrayList<>();
}
return attributeInfoService.listByIds(attributeList).stream()
return attributeInfoService.listByIds(attributeIdList).stream()
.map(AttributeInfo::buildTemplateModel)
.toList();
}
))
.filter(TemplateAttributeGroupModel::isEffective)
.toList();
// 查重集合
Set<Long> attributeIdSet = new HashSet<>();
// 获取组内所有的属性Id
if (!attributeGroupModelList.isEmpty()){
attributeIdSet.addAll(
attributeGroupModelList.stream()
.flatMap((Function<? super TemplateAttributeGroupModel,Stream<TemplateAttributeModel>>) templateAttributeGroupModel -> templateAttributeGroupModel.getAttributeList().stream())
.flatMap((Function<TemplateAttributeGroupModel, Stream<TemplateAttributeModel>>) templateAttributeGroupModel -> templateAttributeGroupModel.getAttributeList().stream())
.map(TemplateAttributeModel::getId)
.toList()
);
}
List<TemplateAttributeModel> templateAttributeModelList =new ArrayList<>();
LambdaQueryWrapper<AsCategoryAttribute> categoryAttributeLambdaQueryWrapper=new LambdaQueryWrapper<>();
categoryAttributeLambdaQueryWrapper.in(AsCategoryAttribute::getCategoryId,cateGoryIdList);
List<AsCategoryAttribute> asCategoryAttributeList=asCategoryAttributeService.list(categoryAttributeLambdaQueryWrapper);
List<Long> templateAttributeIdList = asCategoryAttributeList.stream()
.map(AsCategoryAttribute::getAttributeId)
.filter(templateAttributeId -> !attributeIdSet.contains(templateAttributeId))
.toList();
if (asCategoryAttributeList!=null && ! asCategoryAttributeList.isEmpty())
asCategoryAttributeList.stream()
.map(AsCategoryAttribute::getAttributeId)
.filter(templateAttributeId -> !attributeIdSet.contains(templateAttributeId))
.toList();
templateAttributeModelList=attributeInfoService.listByIds(templateAttributeIdList).stream()
.map(AttributeInfo::buildTemplateModel)
.toList();
List<TemplateAttributeModel> attributeModelList=new ArrayList<>();
List<TemplateAttributeModel> templateAttributeModelList = new ArrayList<>();
LambdaQueryWrapper<AsCategoryAttribute> categoryAttributeQueryWrapper = new LambdaQueryWrapper<>();
categoryAttributeQueryWrapper.in(AsCategoryAttribute::getCategoryId, cateGoryIdList);
List<AsCategoryAttribute> asCategoryAttributeList = asCategoryAttributeService.list(categoryAttributeQueryWrapper);
if (asCategoryAttributeList != null && !asCategoryAttributeList.isEmpty()){
List<Long> templateAttributeIdList = asCategoryAttributeList.stream()
.map(AsCategoryAttribute::getAttributeId)
.filter(templateAttributeId -> !attributeIdSet.contains(templateAttributeId))
.toList();
templateAttributeModelList = attributeInfoService.listByIds(templateAttributeIdList).stream()
.map(AttributeInfo::buildTemplateModel)
.toList();
}
List<TemplateAttributeModel> attributeModelList = new ArrayList<>();
if (!templateAttributeModelList.isEmpty()){
attributeIdSet.addAll(
templateAttributeModelList.stream().map(TemplateAttributeModel::getId).toList()
);
}
LambdaQueryWrapper<AttributeInfo> attributeInfoLambdaQueryWrapper=new LambdaQueryWrapper<>();
attributeInfoLambdaQueryWrapper.notIn(!attributeIdSet.isEmpty(),AttributeInfo::getId,attributeIdSet);
attributeModelList=attributeInfoService.list(attributeInfoLambdaQueryWrapper).stream().map(AttributeInfo::buildTemplateModel).toList();
LambdaQueryWrapper<AttributeInfo> attributeInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
attributeInfoLambdaQueryWrapper.notIn(!attributeIdSet.isEmpty(), AttributeInfo::getId, attributeIdSet);
attributeModelList = attributeInfoService.list(attributeInfoLambdaQueryWrapper).stream().map(AttributeInfo::buildTemplateModel).toList();
return CategoryCommonElementResp.builder()
.templateAttributeGroupList(attributeGroupModelList)
.templateAttributeList(templateAttributeModelList)
.attributeList(attributeModelList)
.build();
}
}

View File

@ -14,10 +14,10 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 127.0.0.1:8848
server-addr: 122.51.111.225:8848
config:
# 配置中心地址
server-addr: 127.0.0.1:8848
server-addr: 122.51.111.225:8848
# 配置文件格式
file-extension: yml
# 共享配置