diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectInfo.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectInfo.java index 80d218b..c71a51b 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectInfo.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectInfo.java @@ -54,17 +54,17 @@ public class ProjectInfo extends BaseEntity { /** 主类型 */ @Excel(name = "主类型") @ApiModelProperty(name = "主类型", value = "主类型") - private String mianType; + private Long mianType; /** 父类型 */ @Excel(name = "父类型") @ApiModelProperty(name = "父类型", value = "父类型") - private String parentType; + private Long parentType; /** 商品类型 */ @Excel(name = "商品类型") @ApiModelProperty(name = "商品类型", value = "商品类型") - private String type; + private Long type; /** 商品图片 */ @Excel(name = "商品图片") diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/aa b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/aa index f602693..9cb06e2 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/aa +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/aa @@ -29,5 +29,7 @@ } ] "商品数量" - "商品" + "商品图片" + 自由属性:[] + } diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/ProjectAddModel.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/ProjectAddModel.java index e45a11e..b3405f3 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/ProjectAddModel.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/ProjectAddModel.java @@ -43,19 +43,19 @@ public class ProjectAddModel extends BaseEntity { * 主类型 */ @ApiModelProperty(name = "主类型",value = "主类型") - private String mianType; + private Long mianType; /** * 父类型 */ @ApiModelProperty(name = "父类型",value = "父类型") - private String parentType; + private Long parentType; /** * 商品类型 */ @ApiModelProperty(name = "商品类型",value = "商品类型") - private String type; + private Long type; /** * 商品图片 diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoEditReq.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoEditReq.java index 3dbd109..9042c74 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoEditReq.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoEditReq.java @@ -38,15 +38,15 @@ public class ProjectInfoEditReq extends BaseEntity { /** 主类型 */ @ApiModelProperty(name = "主类型", value = "主类型") - private String mianType; + private Long mianType; /** 父类型 */ @ApiModelProperty(name = "父类型", value = "父类型") - private String parentType; + private Long parentType; /** 商品类型 */ @ApiModelProperty(name = "商品类型", value = "商品类型") - private String type; + private Long type; /** 商品图片 */ @ApiModelProperty(name = "商品图片", value = "商品图片") diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoQueryReq.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoQueryReq.java index 72f5185..dd509ac 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoQueryReq.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/ProjectInfoQueryReq.java @@ -33,15 +33,15 @@ public class ProjectInfoQueryReq extends BaseEntity { /** 主类型 */ @ApiModelProperty(name = "主类型", value = "主类型") - private String mianType; + private Long mianType; /** 父类型 */ @ApiModelProperty(name = "父类型", value = "父类型") - private String parentType; + private Long parentType; /** 商品类型 */ @ApiModelProperty(name = "商品类型", value = "商品类型") - private String type; + private Long type; /** 商品图片 */ @ApiModelProperty(name = "商品图片", value = "商品图片") diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/ProjectDetailResp.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/ProjectDetailResp.java new file mode 100644 index 0000000..eac2d69 --- /dev/null +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/ProjectDetailResp.java @@ -0,0 +1,61 @@ +package com.muyu.product.domain.resp; + +import com.muyu.product.domain.*; +import com.muyu.product.domain.model.RuleAttrAddModel; +import com.muyu.product.domain.model.TemplateAttributeGroupModel; +import com.muyu.product.domain.model.TemplateAttributeModel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 商品详情信息 ProjectDetailResp + * + * @author LeYang + * on 2024/3/25 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ProjectDetailResp { +/** + * 品类集合 + */ +private List categoryInfoList; + +/** + * 商品信息 + */ +private ProjectInfo projectInfo; +/** + * 品类信息 + */ +private BrandInfo brandInfo; + +/** + * 商品sku集合 + */ +private List projectSkuInfoList; + +/** + * 商品和属性集合 + */ +private List productAttributeInfoList; + +/** + * 商品规格 + */ +private List ruleAttrAddModelList; +/** + * 属性集合 + */ +private List attributeInfoList; +/** + * 属性组集合 + */ +private List attributeGroupList; +} diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java index 4e56621..77936dd 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java @@ -9,6 +9,7 @@ import com.muyu.product.domain.ProjectSkuInfo; import com.muyu.product.domain.model.CategoryInfoSaveModel; import com.muyu.product.domain.model.ProductSkuModel; import com.muyu.product.domain.model.ProjectAddModel; +import com.muyu.product.domain.resp.ProjectDetailResp; import com.muyu.product.service.AsProductAttributeInfoService; import com.muyu.product.service.ProjectSkuInfoService; import io.swagger.annotations.*; @@ -76,12 +77,22 @@ public class ProjectInfoController extends BaseController { ExcelUtil util = new ExcelUtil(ProjectInfo.class); util.exportExcel(response, list, "商品信息数据"); } - /** * 获取商品信息详细信息 */ @ApiOperation("获取商品信息详细信息") @RequiresPermissions("product:info:query") + @GetMapping(value = "/detail/{id}") + @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) + public Result getDetailInfo(@PathVariable("id") Long id) { + return Result.success(projectInfoService.getDetailInfo(id)); + } + + /** + * 获取商品信息详细信息 + */ + @ApiOperation("获取商品信息详细信息") + @RequiresPermissions("product:info:query") @GetMapping(value = "/{id}") @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) public Result getInfo(@PathVariable("id") Long id) { diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CategoryInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CategoryInfoService.java index 386f8d6..0b7f81b 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CategoryInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CategoryInfoService.java @@ -75,4 +75,6 @@ public interface CategoryInfoService extends IService { CategoryInfoSaveModel getCategoryInfoByProjectId(Long id); + + public List getCommon(Long categoryId,IService iService,IService bsiService); } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java index 070646e..0db4a2d 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java @@ -7,6 +7,7 @@ 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.domain.resp.ProjectDetailResp; /** * 商品信息Service接口 @@ -29,4 +30,6 @@ public interface ProjectInfoService extends IService { boolean updateInfo(ProjectInfoEditReq projectInfoEditReq); boolean del(List ids); + + ProjectDetailResp getDetailInfo(Long id); } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CategoryInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CategoryInfoServiceImpl.java index 106daf6..b19e49a 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CategoryInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CategoryInfoServiceImpl.java @@ -62,6 +62,7 @@ public class CategoryInfoServiceImpl extends ServiceImpl List getCommon (Long categoryId, IService iService, IService bsiService) { List list = new ArrayList(); QueryWrapper asQueryWrapper = new QueryWrapper<>(); @@ -431,4 +432,6 @@ public class CategoryInfoServiceImpl extends ServiceImpl categoryInfoList = categoryInfoService.listByIds(new ArrayList<>() {{ + add(projectInfo.getMianType()); + add(projectInfo.getParentType()); + add(projectInfo.getType()); + }}); + //商品sku集合 + List projectSkuInfoList = this.projectSkuInfoService.list(new LambdaQueryWrapper<>() {{ + eq(ProjectSkuInfo::getProjectId, id); + }}); + //商品和属性集合 + List productAttributeInfoList = this.asProductAttributeInfoService.list(new LambdaQueryWrapper() {{ + eq(AsProductAttributeInfo::getProductId, id); + }}); + //商品规格 + List ruleAttrModelList = this.ruleAttrInfoService.list(new LambdaQueryWrapper() {{ + eq(RuleAttrInfo::getRuleId, projectInfo.getRuleId()); + }}).stream() + .map(RuleAttrAddModel::infoBuild).toList(); + CategoryCommonElementResp templateAttribute = this.categoryInfoService.getTemplateAttributeByCateGoryId(projectInfo.getType()); + + return ProjectDetailResp.builder() + .projectInfo(projectInfo) + .brandInfo(brandInfo) + .categoryInfoList(categoryInfoList) + .projectSkuInfoList(projectSkuInfoList) + .productAttributeInfoList(productAttributeInfoList) + .ruleAttrAddModelList(ruleAttrModelList) + .attributeInfoList(templateAttribute.getTemplateAttributeList()) + .attributeGroupList(templateAttribute.getTemplateAttributeGroupList()) + .build(); + } + }