商品分类review修改
This commit is contained in:
@@ -2,8 +2,7 @@ package cn.iocoder.mall.product.rest.controller.admins;
|
||||
|
||||
import cn.iocoder.common.framework.constant.MallConstants;
|
||||
import cn.iocoder.common.framework.vo.CommonResult;
|
||||
import cn.iocoder.mall.product.biz.bo.category.ProductCategoryAddBO;
|
||||
import cn.iocoder.mall.product.biz.bo.category.ProductCategoryAllListBO;
|
||||
import cn.iocoder.mall.product.biz.bo.category.ProductCategoryBO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryAddDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryDeleteDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryUpdateDTO;
|
||||
@@ -45,9 +44,9 @@ public class AdminsProductCategoryController {
|
||||
@GetMapping("/tree")
|
||||
@ApiOperation("获取分类树结构")
|
||||
public CommonResult<List<AdminsProductCategoryTreeNodeResponse>> tree() {
|
||||
List<ProductCategoryAllListBO> productCategories = productCategoryService.getAllProductCategory();
|
||||
List<ProductCategoryBO> productCategories = productCategoryService.getAllProductCategory();
|
||||
// 创建 ProductCategoryTreeNodeVO Map
|
||||
Map<Integer, AdminsProductCategoryTreeNodeResponse> treeNodeMap = productCategories.stream().collect(Collectors.toMap(ProductCategoryAllListBO::getId, ProductCategoryConvert.INSTANCE::convertToTreeNodeResponse));
|
||||
Map<Integer, AdminsProductCategoryTreeNodeResponse> treeNodeMap = productCategories.stream().collect(Collectors.toMap(ProductCategoryBO::getId, ProductCategoryConvert.INSTANCE::convertToTreeNodeResponse));
|
||||
// 处理父子关系
|
||||
treeNodeMap.values().stream()
|
||||
.filter(node -> !node.getPid().equals(ProductCategoryConstants.PID_ROOT))
|
||||
@@ -74,7 +73,7 @@ public class AdminsProductCategoryController {
|
||||
// 转换 ProductCategoryAddDTO 对象
|
||||
ProductCategoryAddDTO productCategoryAddDTO = ProductCategoryConvert.INSTANCE.convertToAddDTO(AdminSecurityContextHolder.getContext().getAdminId(), adminsProductCategoryAddRequest);
|
||||
// 创建商品分类
|
||||
ProductCategoryAddBO addProductCategoryBO = productCategoryService.addProductCategory(productCategoryAddDTO);
|
||||
ProductCategoryBO addProductCategoryBO = productCategoryService.addProductCategory(productCategoryAddDTO);
|
||||
// 返回结果
|
||||
return success(ProductCategoryConvert.INSTANCE.convertToAddResponse(addProductCategoryBO));
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package cn.iocoder.mall.product.rest.convert.category;
|
||||
|
||||
import cn.iocoder.mall.product.biz.bo.category.ProductCategoryAddBO;
|
||||
import cn.iocoder.mall.product.biz.bo.category.ProductCategoryAllListBO;
|
||||
import cn.iocoder.mall.product.biz.bo.category.ProductCategoryBO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryAddDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryDeleteDTO;
|
||||
import cn.iocoder.mall.product.biz.dto.category.ProductCategoryUpdateDTO;
|
||||
@@ -12,7 +11,6 @@ import cn.iocoder.mall.product.rest.request.category.AdminsProductCategoryUpdate
|
||||
import cn.iocoder.mall.product.rest.response.category.AdminsProductCategoryAddResponse;
|
||||
import cn.iocoder.mall.product.rest.response.category.AdminsProductCategoryTreeNodeResponse;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mappings;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
@@ -30,7 +28,7 @@ public interface ProductCategoryConvert {
|
||||
* @param productCategoryAllListBO
|
||||
* @return
|
||||
*/
|
||||
AdminsProductCategoryTreeNodeResponse convertToTreeNodeResponse(ProductCategoryAllListBO productCategoryAllListBO);
|
||||
AdminsProductCategoryTreeNodeResponse convertToTreeNodeResponse(ProductCategoryBO productCategoryAllListBO);
|
||||
|
||||
|
||||
/**
|
||||
@@ -45,7 +43,7 @@ public interface ProductCategoryConvert {
|
||||
* @param productCategoryAddBO
|
||||
* @return
|
||||
*/
|
||||
AdminsProductCategoryAddResponse convertToAddResponse(ProductCategoryAddBO productCategoryAddBO);
|
||||
AdminsProductCategoryAddResponse convertToAddResponse(ProductCategoryBO productCategoryAddBO);
|
||||
|
||||
/**
|
||||
* 更新商品分类 - Request转DTO
|
||||
|
||||
@@ -17,34 +17,19 @@ import javax.validation.constraints.NotNull;
|
||||
@Accessors(chain = true)
|
||||
public class AdminsProductCategoryAddRequest {
|
||||
|
||||
// TODO FROM 芋艿 to 伟帆:写了 swagger 注解,我们可以少写一份 Java 注释。
|
||||
/**
|
||||
* 父分类编号
|
||||
*/
|
||||
// TODO FROM 芋艿 to 伟帆:写了 swagger 注解,我们可以少写一份 Java 注释。[DONE]
|
||||
@ApiModelProperty(name = "pid", value = "父级分类编号", required = true, example = "1")
|
||||
@NotNull(message = "父分类编号不能为空")
|
||||
private Integer pid;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
|
||||
@ApiModelProperty(name = "name", value = "分类名字(标识)", required = true, example = "admin/info")
|
||||
@NotNull(message = "名称不能为空")
|
||||
private String name;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
|
||||
@ApiModelProperty(name = "description", value = "描述", required = true, example = "1")
|
||||
@NotNull(message = "描述不能为空")
|
||||
private String description;
|
||||
/**
|
||||
* 分类图片
|
||||
*/
|
||||
|
||||
@ApiModelProperty(name = "picUrl", value = "分类图片", example = "http://www.iocoder.cn/images/common/wechat_mp_2017_07_31_bak.jpg/")
|
||||
private String picUrl;
|
||||
/**
|
||||
* 排序值
|
||||
*/
|
||||
|
||||
@ApiModelProperty(name = "sort", value = "排序", required = true, example = "1")
|
||||
@NotNull(message = "排序值不能为空")
|
||||
private Integer sort;
|
||||
}
|
||||
|
||||
@@ -16,39 +16,22 @@ import javax.validation.constraints.NotNull;
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class AdminsProductCategoryUpdateRequest {
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
|
||||
@ApiModelProperty(name = "id", value = "分类编号", required = true, example = "1")
|
||||
@NotNull(message = "编号不能为空")
|
||||
private Integer id;
|
||||
/**
|
||||
* 父分类编号
|
||||
*/
|
||||
|
||||
@ApiModelProperty(name = "pid", value = "父级分类编号", required = true, example = "1")
|
||||
@NotNull(message = "父分类编号不能为空")
|
||||
private Integer pid;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
|
||||
@ApiModelProperty(name = "name", value = "分类名字(标识)", required = true, example = "admin/info")
|
||||
@NotNull(message = "名称不能为空")
|
||||
private String name;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
|
||||
@ApiModelProperty(name = "description", value = "描述", required = true, example = "1")
|
||||
@NotNull(message = "描述不能为空")
|
||||
private String description;
|
||||
/**
|
||||
* 分类图片
|
||||
*/
|
||||
|
||||
@ApiModelProperty(name = "picUrl", value = "分类图片", example = "http://www.iocoder.cn/images/common/wechat_mp_2017_07_31_bak.jpg/")
|
||||
private String picUrl;
|
||||
/**
|
||||
* 排序值
|
||||
*/
|
||||
|
||||
@ApiModelProperty(name = "sort", value = "排序", required = true, example = "1")
|
||||
@NotNull(message = "排序值不能为空")
|
||||
private Integer sort;
|
||||
}
|
||||
|
||||
@@ -16,16 +16,10 @@ import javax.validation.constraints.NotNull;
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class AdminsProductCategoryUpdateStatusRequest {
|
||||
/**
|
||||
* 商品分类编号
|
||||
*/
|
||||
|
||||
@ApiModelProperty(name = "id", value = "分类编号", required = true, example = "1")
|
||||
@NotNull(message = "编号不能为空")
|
||||
private Integer id;
|
||||
/**
|
||||
* 更新状态
|
||||
*/
|
||||
|
||||
@ApiModelProperty(name = "status", value = "状态。1 - 开启;2 - 禁用", required = true, example = "1")
|
||||
@NotNull(message = "状态不能为空")
|
||||
private Integer status;
|
||||
}
|
||||
|
||||
@@ -18,18 +18,25 @@ public class AdminsProductCategoryAddResponse {
|
||||
|
||||
@ApiModelProperty(value = "分类编号", required = true, example = "1")
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty(value = "父分类编号", required = true, example = "0")
|
||||
private Integer pid;
|
||||
|
||||
@ApiModelProperty(value = "分类名", required = true, example = "手机")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "描述", required = true, example = "这个商品很吊")
|
||||
private String description;
|
||||
|
||||
@ApiModelProperty(value = "分类图片", notes = "一般情况下,只有根分类才有图片", example = "http://www.iocoder.cn/images/common/wechat_mp_2017_07_31_bak.jpg")
|
||||
private String picUrl;
|
||||
|
||||
@ApiModelProperty(value = "排序值", required = true, example = "10")
|
||||
private Integer sort;
|
||||
|
||||
@ApiModelProperty(value = "状态", required = true, notes = "1-开启;2-关闭", example = "1")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "创建时间", required = true, example = "时间戳")
|
||||
private Date createTime;
|
||||
|
||||
|
||||
@@ -20,20 +20,28 @@ public class AdminsProductCategoryTreeNodeResponse {
|
||||
|
||||
@ApiModelProperty(value = "分类编号", required = true, example = "1")
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty(value = "父分类编号", required = true, example = "0")
|
||||
private Integer pid;
|
||||
|
||||
@ApiModelProperty(value = "分类名", required = true, example = "手机")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "描述", required = true, example = "这个商品很吊")
|
||||
private String description;
|
||||
|
||||
@ApiModelProperty(value = "分类图片", notes = "一般情况下,只有根分类才有图片", example = "http://www.iocoder.cn/images/common/wechat_mp_2017_07_31_bak.jpg")
|
||||
private String picUrl;
|
||||
|
||||
@ApiModelProperty(value = "排序值", required = true, example = "10")
|
||||
private Integer sort;
|
||||
|
||||
@ApiModelProperty(value = "状态", required = true, notes = "1-开启;2-关闭", example = "1")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "创建时间", required = true, example = "时间戳")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "子节点数组")
|
||||
private List<AdminsProductCategoryTreeNodeResponse> children;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user