From d06e51ba2153de67fccaa9897df289c6286f6e18 Mon Sep 17 00:00:00 2001 From: YunaiV <> Date: Wed, 5 Aug 2020 01:00:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=B7=B2=E7=BB=8F=E8=BF=81?= =?UTF-8?q?=E7=A7=BB=E5=AE=8C=E7=9A=84=E5=95=86=E5=93=81=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/bo/product/ProductBrangPageBO.java | 26 ---- .../biz/bo/product/ProductSpuDetailBO.java | 105 --------------- .../biz/bo/product/ProductSpuPageBO.java | 25 ---- .../biz/service/spu/ProductSpuService.java | 15 --- moved/product/product-rest/pom.xml | 41 ------ .../attr/AdminsProductAttrController.java | 54 -------- .../favorite/UserFavoriteController.java | 19 --- .../rest/convert/attr/ProductAttrConvert.java | 20 --- .../request/attr/ProductAttrAddRequest.java | 19 --- .../request/attr/ProductAttrPageRequest.java | 19 --- .../attr/ProductAttrUpdateRequest.java | 25 ---- .../attr/ProductAttrValueAddRequest.java | 26 ---- .../attr/ProductAttrValueUpdateRequest.java | 29 ---- .../attr/AdminsProductAttrPageResponse.java | 66 --------- .../attr/AdminsProductAttrSimpleResponse.java | 38 ------ .../attr/AdminsProductAttrValueResponse.java | 26 ---- .../attr/AdminsProdutAttrResponse.java | 24 ---- moved/product/product-rpc-api/pom.xml | 34 ----- .../mall/product/rpc/api/ProductSpuRpc.java | 12 -- .../response/ProductSpuDetailResponse.java | 127 ------------------ moved/product/product-rpc/pom.xml | 40 ------ .../rpc/convert/ProductSpuConvert.java | 16 --- .../product/rpc/rpc/ProductSpuRpcImpl.java | 24 ---- .../service/ProductSpuServiceImpl.java | 21 --- .../users/UsersProductSpuController.java | 37 ----- .../attr/dto/ProductAttrKeyValueRespDTO.java | 9 +- .../product/ProductSpuController.http | 4 + .../product/ProductSpuController.java | 2 +- 28 files changed, 13 insertions(+), 890 deletions(-) delete mode 100644 moved/product/product-biz/src/main/java/cn/iocoder/mall/product/biz/bo/product/ProductBrangPageBO.java delete mode 100644 moved/product/product-biz/src/main/java/cn/iocoder/mall/product/biz/bo/product/ProductSpuDetailBO.java delete mode 100644 moved/product/product-biz/src/main/java/cn/iocoder/mall/product/biz/bo/product/ProductSpuPageBO.java delete mode 100644 moved/product/product-biz/src/main/java/cn/iocoder/mall/product/biz/service/spu/ProductSpuService.java delete mode 100644 moved/product/product-rest/pom.xml delete mode 100644 moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/controller/attr/AdminsProductAttrController.java delete mode 100644 moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/controller/favorite/UserFavoriteController.java delete mode 100644 moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/convert/attr/ProductAttrConvert.java delete mode 100644 moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrAddRequest.java delete mode 100644 moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrPageRequest.java delete mode 100644 moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrUpdateRequest.java delete mode 100644 moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrValueAddRequest.java delete mode 100644 moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrValueUpdateRequest.java delete mode 100644 moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/response/attr/AdminsProductAttrPageResponse.java delete mode 100644 moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/response/attr/AdminsProductAttrSimpleResponse.java delete mode 100644 moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/response/attr/AdminsProductAttrValueResponse.java delete mode 100644 moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/response/attr/AdminsProdutAttrResponse.java delete mode 100644 moved/product/product-rpc-api/pom.xml delete mode 100644 moved/product/product-rpc-api/src/main/java/cn/iocoder/mall/product/rpc/api/ProductSpuRpc.java delete mode 100644 moved/product/product-rpc-api/src/main/java/cn/iocoder/mall/product/rpc/response/ProductSpuDetailResponse.java delete mode 100644 moved/product/product-rpc/pom.xml delete mode 100644 moved/product/product-rpc/src/main/java/cn/iocoder/mall/product/rpc/convert/ProductSpuConvert.java delete mode 100644 moved/product/product-rpc/src/main/java/cn/iocoder/mall/product/rpc/rpc/ProductSpuRpcImpl.java delete mode 100644 moved/product/product-start/src/main/java/cn/iocoder/mall/product/application/controller/users/UsersProductSpuController.java diff --git a/moved/product/product-biz/src/main/java/cn/iocoder/mall/product/biz/bo/product/ProductBrangPageBO.java b/moved/product/product-biz/src/main/java/cn/iocoder/mall/product/biz/bo/product/ProductBrangPageBO.java deleted file mode 100644 index 5c3e6d966..000000000 --- a/moved/product/product-biz/src/main/java/cn/iocoder/mall/product/biz/bo/product/ProductBrangPageBO.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.iocoder.mall.product.biz.bo.product; - -import cn.iocoder.mall.product.biz.bo.brand.ProductBrandBO; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.util.List; - -/** - * 商品品牌分页 BO - */ -@Data -@Accessors(chain = true) -public class ProductBrangPageBO implements Serializable { - - /** - * 品牌数组 - */ - private List brands; - /** - * 总数 - */ - private Integer count; - -} diff --git a/moved/product/product-biz/src/main/java/cn/iocoder/mall/product/biz/bo/product/ProductSpuDetailBO.java b/moved/product/product-biz/src/main/java/cn/iocoder/mall/product/biz/bo/product/ProductSpuDetailBO.java deleted file mode 100644 index f289d8354..000000000 --- a/moved/product/product-biz/src/main/java/cn/iocoder/mall/product/biz/bo/product/ProductSpuDetailBO.java +++ /dev/null @@ -1,105 +0,0 @@ -package cn.iocoder.mall.product.biz.bo.product; - -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.util.List; - -/** - * 商品 Spu 明细 BO(包括 Sku 明细) - */ -@Data -@Accessors(chain = true) -public class ProductSpuDetailBO implements Serializable { - - /** - * SPU 编号 - */ - private Integer id; - - // ========== 基本信息 ========= - /** - * SPU 名字 - */ - private String name; - /** - * 卖点 - */ - private String sellPoint; - /** - * 描述 - */ - private String description; - /** - * 分类编号 - */ - private Integer cid; - /** - * 分类名 - */ - private String categoryName; - /** - * 商品主图地址 - * - * 数组,以逗号分隔 - * - * 建议尺寸:800*800像素,你可以拖拽图片调整顺序,最多上传15张 - */ - private List picUrls; - - // ========== 其他信息 ========= - /** - * 是否上架商品(是否可见)。 - * - * true 为已上架 - * false 为已下架 - */ - private Boolean visible; - /** - * 排序字段 - */ - private Integer sort; - - // ========== SKU ========= - - /** - * SKU 数组 - */ - private List skus; - - /** - * 商品 Sku 明细 BO - */ - @Data - @Accessors(chain = true) - public static class Sku implements Serializable { - - /** - * sku 编号 - */ - private Integer id; - /** - * 商品编号 - */ - private Integer spuId; - /** - * 图片地址 - */ - private String picURL; - /** - * 规格值数组 - */ - private List attrs; - /** - * 价格,单位:分 - */ - private Integer price; - /** - * 库存数量 - */ - private Integer quantity; - - } - -} diff --git a/moved/product/product-biz/src/main/java/cn/iocoder/mall/product/biz/bo/product/ProductSpuPageBO.java b/moved/product/product-biz/src/main/java/cn/iocoder/mall/product/biz/bo/product/ProductSpuPageBO.java deleted file mode 100644 index a1655cc46..000000000 --- a/moved/product/product-biz/src/main/java/cn/iocoder/mall/product/biz/bo/product/ProductSpuPageBO.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.iocoder.mall.product.biz.bo.product; - -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.util.List; - -/** - * 商品 SPU 分页 BO - */ -@Data -@Accessors(chain = true) -public class ProductSpuPageBO implements Serializable { - - /** - * Spu 数组 - */ - private List list; - /** - * 总量 - */ - private Integer total; - -} diff --git a/moved/product/product-biz/src/main/java/cn/iocoder/mall/product/biz/service/spu/ProductSpuService.java b/moved/product/product-biz/src/main/java/cn/iocoder/mall/product/biz/service/spu/ProductSpuService.java deleted file mode 100644 index 3119fa85e..000000000 --- a/moved/product/product-biz/src/main/java/cn/iocoder/mall/product/biz/service/spu/ProductSpuService.java +++ /dev/null @@ -1,15 +0,0 @@ -package cn.iocoder.mall.product.biz.service.spu; - - -import cn.iocoder.mall.product.biz.bo.product.ProductSpuDetailBO; - -public interface ProductSpuService { - /** - * 获取SPU明细 - * - * @param id spuId - * @return SPU明细 - */ - ProductSpuDetailBO getProductSpuDetail(Integer id); - -} diff --git a/moved/product/product-rest/pom.xml b/moved/product/product-rest/pom.xml deleted file mode 100644 index a7f299091..000000000 --- a/moved/product/product-rest/pom.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - product - cn.iocoder.mall - 1.0-SNAPSHOT - - 4.0.0 - - product-rest - 提供 system 服务的 Rest 接口的实现,提供对外调用 - - - - - cn.iocoder.mall - product-biz - 1.0-SNAPSHOT - - - - - cn.iocoder.mall - mall-spring-boot-starter-web - 1.0-SNAPSHOT - - - cn.iocoder.mall - mall-spring-boot-starter-security - 1.0-SNAPSHOT - - - cn.iocoder.mall - mall-spring-boot-starter-swagger - 1.0-SNAPSHOT - - - - diff --git a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/controller/attr/AdminsProductAttrController.java b/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/controller/attr/AdminsProductAttrController.java deleted file mode 100644 index e2b537b37..000000000 --- a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/controller/attr/AdminsProductAttrController.java +++ /dev/null @@ -1,54 +0,0 @@ -package cn.iocoder.mall.product.rest.controller.attr; - -import cn.iocoder.common.framework.vo.CommonResult; -import cn.iocoder.common.framework.vo.PageResult; -import cn.iocoder.mall.product.biz.bo.attr.ProductAttrBO; -import cn.iocoder.mall.product.biz.bo.attr.ProductAttrSimpleWithValueBO; -import cn.iocoder.mall.product.biz.bo.attr.ProductAttrValueBO; -import cn.iocoder.mall.product.biz.bo.attr.ProductAttrWithValueBO; -import cn.iocoder.mall.product.biz.dto.attr.*; -import cn.iocoder.mall.product.biz.service.attr.ProductAttrService; -import cn.iocoder.mall.product.rest.convert.attr.ProductAttrConvert; -import cn.iocoder.mall.product.rest.request.attr.ProductAttrPageRequest; -import cn.iocoder.mall.product.rest.request.attr.ProductAttrAddRequest; -import cn.iocoder.mall.product.rest.request.attr.ProductAttrUpdateRequest; -import cn.iocoder.mall.product.rest.request.attr.ProductAttrValueAddRequest; -import cn.iocoder.mall.product.rest.response.attr.AdminsProductAttrPageResponse; -import cn.iocoder.mall.product.rest.response.attr.AdminsProductAttrSimpleResponse; -import cn.iocoder.mall.product.rest.response.attr.AdminsProdutAttrResponse; -import cn.iocoder.mall.product.rest.response.attr.AdminsProductAttrValueResponse; -import cn.iocoder.mall.security.core.context.AdminSecurityContextHolder; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 商品规格 - * - * @author lanmao - * @version 1.0 - * @date 2020/05/06 16:36 - */ -@RestController -@RequestMapping("admins") -@Api("商品规格") -public class AdminsProductAttrController { - - @Autowired - private ProductAttrService productAttrService; - - @GetMapping("/attr/tree") - @ApiOperation(value = "获得规格树结构", notes = "该接口返回的信息更为精简。一般用于前端缓存数据字典到本地。") - public CommonResult> tree() { - // 查询全列表 - List result = productAttrService.getProductAttrList(); - return CommonResult.success(ProductAttrConvert.INSTANCE.convertSimple(result)); - } - -} diff --git a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/controller/favorite/UserFavoriteController.java b/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/controller/favorite/UserFavoriteController.java deleted file mode 100644 index fccd83a01..000000000 --- a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/controller/favorite/UserFavoriteController.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.iocoder.mall.product.rest.controller.favorite; - -import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 用户收藏 - * @author xiaofeng - * @date 2019/07/07 11:06 - * @version 1.0 - */ -@RestController -@RequestMapping("users/favorite") -@Api("用户收藏") -// TODO FROM 芋艿 to ilnhj:controller 分包的话,还是按照模块。然后通过 Admins 和 Users 前缀,区分不同的 Controlller -public class UserFavoriteController { - -} diff --git a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/convert/attr/ProductAttrConvert.java b/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/convert/attr/ProductAttrConvert.java deleted file mode 100644 index fb9c4b7ee..000000000 --- a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/convert/attr/ProductAttrConvert.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.iocoder.mall.product.rest.convert.attr; - -import cn.iocoder.mall.product.biz.bo.attr.ProductAttrSimpleWithValueBO; -import cn.iocoder.mall.product.rest.response.attr.AdminsProductAttrSimpleResponse; -import org.mapstruct.Mapper; -import org.mapstruct.Mappings; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -@Mapper -public interface ProductAttrConvert { - - ProductAttrConvert INSTANCE = Mappers.getMapper(ProductAttrConvert.class); - - @Mappings({}) - List convertSimple(List simpleList); - -} - diff --git a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrAddRequest.java b/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrAddRequest.java deleted file mode 100644 index a155d1f6e..000000000 --- a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrAddRequest.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.iocoder.mall.product.rest.request.attr; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.experimental.Accessors; - -import javax.validation.constraints.NotEmpty; - -@ApiModel("商品 - 规格模块 - 商品规格添加 Request") -@Data -@Accessors(chain = true) -public class ProductAttrAddRequest { - - @ApiModelProperty(name = "name", value = "规格名", required = true, example = "颜色") - @NotEmpty(message = "规格名不能为空") - private String name; - -} diff --git a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrPageRequest.java b/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrPageRequest.java deleted file mode 100644 index fee12d92c..000000000 --- a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrPageRequest.java +++ /dev/null @@ -1,19 +0,0 @@ -package cn.iocoder.mall.product.rest.request.attr; - -import cn.iocoder.common.framework.vo.PageParam; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -@ApiModel("商品 - 规格模块 - 商品规格 Request") -@Data -@EqualsAndHashCode(callSuper = true) -@Accessors(chain = true) -public class ProductAttrPageRequest extends PageParam { - - @ApiModelProperty(value = "商品规格名字,模糊匹配", example = "材料") - private String name; - -} diff --git a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrUpdateRequest.java b/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrUpdateRequest.java deleted file mode 100644 index b7dad4fde..000000000 --- a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrUpdateRequest.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.iocoder.mall.product.rest.request.attr; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.experimental.Accessors; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - -@ApiModel("商品 - 规格模块 - 商品规格修改 Request") -@Data -@Accessors(chain = true) -public class ProductAttrUpdateRequest { - - @ApiModelProperty(name = "id", value = "规格编号", required = true, example = "1") - @NotNull(message = "规格编号不能为空") - private Integer id; - - @ApiModelProperty(name = "name", value = "规格名", required = true, example = "颜色") - @NotEmpty(message = "规格名不能为空") - private String name; - - -} diff --git a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrValueAddRequest.java b/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrValueAddRequest.java deleted file mode 100644 index c60d4bc77..000000000 --- a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrValueAddRequest.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.iocoder.mall.product.rest.request.attr; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.experimental.Accessors; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - -@ApiModel("商品 - 规格模块 - 商品规格值添加 Request") -@Data -@Accessors(chain = true) -public class ProductAttrValueAddRequest { - - @ApiModelProperty(name = "attrId", value = "规格编号", required = true, example = "1") - @NotNull(message = "规格编号不能为空") - private Integer attrId; - /** - * 名称 - */ - @ApiModelProperty(name = "name", value = "规格值名", required = true, example = "红色") - @NotEmpty(message = "规格值名不能为空") - private String name; - -} diff --git a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrValueUpdateRequest.java b/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrValueUpdateRequest.java deleted file mode 100644 index a12bc81fc..000000000 --- a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/request/attr/ProductAttrValueUpdateRequest.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.iocoder.mall.product.rest.request.attr; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.experimental.Accessors; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - -/** - * Product 规格值修改 DTO - *

- * 注意,不允许修改所属规格 - */ -@ApiModel("商品 - 规格模块 - 商品规格值修改 Request") -@Data -@Accessors(chain = true) -public class ProductAttrValueUpdateRequest { - - @ApiModelProperty(name = "id", value = "规格值编号", required = true, example = "1") - @NotNull(message = "规格值编号不能为空") - private Integer id; - - @ApiModelProperty(name = "id", value = "规格值编号", required = true, example = "1") - @NotEmpty(message = "规格名不能为空") - private String name; - -} diff --git a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/response/attr/AdminsProductAttrPageResponse.java b/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/response/attr/AdminsProductAttrPageResponse.java deleted file mode 100644 index 0e24246c7..000000000 --- a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/response/attr/AdminsProductAttrPageResponse.java +++ /dev/null @@ -1,66 +0,0 @@ -package cn.iocoder.mall.product.rest.response.attr; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.util.Date; -import java.util.List; - -@ApiModel("商品管理 - 商品规格模块 - 商品规格分页信息 Response") -@Data -@Accessors(chain = true) -public class AdminsProductAttrPageResponse { - - /** - * 规格编号 - */ - private Integer id; - /** - * 规格名 - */ - private String name; - /** - * 状态 - */ - private Integer status; - /** - * 创建时间 - */ - private Date createTime; - - /** - * 规格值数组 - */ - private List values; - - @ApiModel("规格值") - @Data - @Accessors(chain = true) - public static class ProductAttrValue { - - /** - * 规格值编号 - */ - @ApiModelProperty(value = "规格值编号", required = true, example = "1") - private Integer id; - /** - * 规格值名 - */ - @ApiModelProperty(value = "规格值名", required = true, example = "小") - private String name; - /** - * 状态 - */ - @ApiModelProperty(value = "状态", required = true, example = "1") - private Integer status; - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式") - private Date createTime; - } - - -} diff --git a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/response/attr/AdminsProductAttrSimpleResponse.java b/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/response/attr/AdminsProductAttrSimpleResponse.java deleted file mode 100644 index 4b797a686..000000000 --- a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/response/attr/AdminsProductAttrSimpleResponse.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.iocoder.mall.product.rest.response.attr; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.util.List; - -@ApiModel(value = "商品规格精简 VO", description = "带有规格值数组") -@Data -@Accessors(chain = true) -public class AdminsProductAttrSimpleResponse { - - @ApiModelProperty(value = "规格编号", required = true, example = "1") - private Integer id; - @ApiModelProperty(value = "规格名", required = true, example = "颜色") - private String name; - @ApiModelProperty(value = "规格值数组", required = true) - private List values; - - @ApiModel("规格值") - @Data - @Accessors(chain = true) - public static class ProductAttrValue { - - /** - * 规格值编号 - */ - @ApiModelProperty(value = "规格值编号", required = true, example = "1") - private Integer id; - /** - * 规格值名 - */ - @ApiModelProperty(value = "规格值名", required = true, example = "小") - private String name; - } -} diff --git a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/response/attr/AdminsProductAttrValueResponse.java b/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/response/attr/AdminsProductAttrValueResponse.java deleted file mode 100644 index 03de4b578..000000000 --- a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/response/attr/AdminsProductAttrValueResponse.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.iocoder.mall.product.rest.response.attr; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.util.Date; - -@ApiModel(value = "商品规格值 VO") -@Data -@Accessors(chain = true) -public class AdminsProductAttrValueResponse { - - @ApiModelProperty(value = "规格值编号", required = true, example = "1") - private Integer id; - @ApiModelProperty(value = "规格编号", required = true, example = "1") - private Integer attrId; - @ApiModelProperty(value = "规格名", required = true, example = "颜色") - private String name; - @ApiModelProperty(value = "状态", required = true, example = "1") - private Integer status; - @ApiModelProperty(value = "创建时间", required = true, example = "时间戳") - private Date createTime; - -} diff --git a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/response/attr/AdminsProdutAttrResponse.java b/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/response/attr/AdminsProdutAttrResponse.java deleted file mode 100644 index 04d7f6e08..000000000 --- a/moved/product/product-rest/src/main/java/cn/iocoder/mall/product/rest/response/attr/AdminsProdutAttrResponse.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.iocoder.mall.product.rest.response.attr; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.experimental.Accessors; - -import java.util.Date; - -@ApiModel(value = "商品规格 VO", description = "不带有规格值数组") -@Data -@Accessors(chain = true) -public class AdminsProdutAttrResponse { - - @ApiModelProperty(value = "规格编号", required = true, example = "1") - private Integer id; - @ApiModelProperty(value = "规格名", required = true, example = "颜色") - private String name; - @ApiModelProperty(value = "状态", required = true, example = "1") - private Integer status; - @ApiModelProperty(value = "创建时间", required = true, example = "时间戳") - private Date createTime; - -} diff --git a/moved/product/product-rpc-api/pom.xml b/moved/product/product-rpc-api/pom.xml deleted file mode 100644 index 489ccc46b..000000000 --- a/moved/product/product-rpc-api/pom.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - product - cn.iocoder.mall - 1.0-SNAPSHOT - - 4.0.0 - - product-rpc-api - - - - - cn.iocoder.mall - product-biz-api - 1.0-SNAPSHOT - - - - - javax.validation - validation-api - - - org.projectlombok - lombok - - - - - diff --git a/moved/product/product-rpc-api/src/main/java/cn/iocoder/mall/product/rpc/api/ProductSpuRpc.java b/moved/product/product-rpc-api/src/main/java/cn/iocoder/mall/product/rpc/api/ProductSpuRpc.java deleted file mode 100644 index 8948cdf37..000000000 --- a/moved/product/product-rpc-api/src/main/java/cn/iocoder/mall/product/rpc/api/ProductSpuRpc.java +++ /dev/null @@ -1,12 +0,0 @@ -package cn.iocoder.mall.product.rpc.api; - -import cn.iocoder.mall.product.rpc.response.ProductSpuDetailResponse; - -/** - * @author Rai - */ -public interface ProductSpuRpc { - - ProductSpuDetailResponse getProductSpuDetail(Integer spuId); - -} diff --git a/moved/product/product-rpc-api/src/main/java/cn/iocoder/mall/product/rpc/response/ProductSpuDetailResponse.java b/moved/product/product-rpc-api/src/main/java/cn/iocoder/mall/product/rpc/response/ProductSpuDetailResponse.java deleted file mode 100644 index 3122bf1f3..000000000 --- a/moved/product/product-rpc-api/src/main/java/cn/iocoder/mall/product/rpc/response/ProductSpuDetailResponse.java +++ /dev/null @@ -1,127 +0,0 @@ -package cn.iocoder.mall.product.rpc.response; - -import lombok.Data; -import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.util.List; - -/** - * 商品 Spu 明细 BO(包括 Sku 明细) - */ -@Data -@Accessors(chain = true) -public class ProductSpuDetailResponse implements Serializable { - - /** - * SPU 编号 - */ - private Integer id; - - // ========== 基本信息 ========= - /** - * SPU 名字 - */ - private String name; - /** - * 卖点 - */ - private String sellPoint; - /** - * 描述 - */ - private String description; - /** - * 分类编号 - */ - private Integer cid; - /** - * 分类名 - */ - private String categoryName; - /** - * 商品主图地址 - *

- * 数组,以逗号分隔 - *

- * 建议尺寸:800*800像素,你可以拖拽图片调整顺序,最多上传15张 - */ - private List picUrls; - - // ========== 其他信息 ========= - /** - * 是否上架商品(是否可见)。 - *

- * true 为已上架 - * false 为已下架 - */ - private Boolean visible; - /** - * 排序字段 - */ - private Integer sort; - - // ========== SKU ========= - - /** - * SKU 数组 - */ - private List skus; - - /** - * 商品 Sku 明细 BO - */ - @Data - @Accessors(chain = true) - public static class Sku implements Serializable { - - /** - * sku 编号 - */ - private Integer id; - /** - * 商品编号 - */ - private Integer spuId; - /** - * 图片地址 - */ - private String picURL; - /** - * 规格值数组 - */ - private List attrs; - /** - * 价格,单位:分 - */ - private Integer price; - /** - * 库存数量 - */ - private Integer quantity; - - } - - @Data - @Accessors(chain = true) - public static class ProductAttrAndValuePair implements Serializable { - - /** - * 规格编号 - */ - private Integer attrId; - /** - * 规格名 - */ - private String attrName; - /** - * 规格值 - */ - private Integer attrValueId; - /** - * 规格值名 - */ - private String attrValueName; - - } -} diff --git a/moved/product/product-rpc/pom.xml b/moved/product/product-rpc/pom.xml deleted file mode 100644 index 86830e45c..000000000 --- a/moved/product/product-rpc/pom.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - product - cn.iocoder.mall - 1.0-SNAPSHOT - - 4.0.0 - - product-rpc - - - - - cn.iocoder.mall - product-rpc-api - 1.0-SNAPSHOT - - - cn.iocoder.mall - product-biz - 1.0-SNAPSHOT - - - - - com.alibaba.cloud - spring-cloud-starter-dubbo - - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-nacos-discovery - - - - diff --git a/moved/product/product-rpc/src/main/java/cn/iocoder/mall/product/rpc/convert/ProductSpuConvert.java b/moved/product/product-rpc/src/main/java/cn/iocoder/mall/product/rpc/convert/ProductSpuConvert.java deleted file mode 100644 index 23f2e38eb..000000000 --- a/moved/product/product-rpc/src/main/java/cn/iocoder/mall/product/rpc/convert/ProductSpuConvert.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.iocoder.mall.product.rpc.convert; - -import cn.iocoder.mall.product.biz.bo.product.ProductSpuDetailBO; -import cn.iocoder.mall.product.rpc.response.ProductSpuDetailResponse; -import org.mapstruct.Mapper; -import org.mapstruct.Mappings; -import org.mapstruct.factory.Mappers; - -@Mapper -public interface ProductSpuConvert { - - ProductSpuConvert INSTANCE = Mappers.getMapper(ProductSpuConvert.class); - - @Mappings({}) - ProductSpuDetailResponse convertDetail(ProductSpuDetailBO productSpuDetail); -} diff --git a/moved/product/product-rpc/src/main/java/cn/iocoder/mall/product/rpc/rpc/ProductSpuRpcImpl.java b/moved/product/product-rpc/src/main/java/cn/iocoder/mall/product/rpc/rpc/ProductSpuRpcImpl.java deleted file mode 100644 index 69449c6a9..000000000 --- a/moved/product/product-rpc/src/main/java/cn/iocoder/mall/product/rpc/rpc/ProductSpuRpcImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.iocoder.mall.product.rpc.rpc; - -import cn.iocoder.mall.product.biz.bo.product.ProductSpuDetailBO; -import cn.iocoder.mall.product.biz.service.spu.ProductSpuService; -import cn.iocoder.mall.product.rpc.api.ProductSpuRpc; -import cn.iocoder.mall.product.rpc.convert.ProductSpuConvert; -import cn.iocoder.mall.product.rpc.response.ProductSpuDetailResponse; -import org.apache.dubbo.config.annotation.Service; -import org.springframework.beans.factory.annotation.Autowired; - -@Service(validation = "true", version = "${dubbo.provider.ProductSpuService.version}") -public class ProductSpuRpcImpl implements ProductSpuRpc { - - @Autowired - private ProductSpuService productSpuService; - - @Override - public ProductSpuDetailResponse getProductSpuDetail(Integer spuId) { - ProductSpuDetailBO productSpuDetail = productSpuService.getProductSpuDetail(spuId); - return ProductSpuConvert.INSTANCE.convertDetail(productSpuDetail); - } - - -} diff --git a/moved/product/product-service-impl/src/main/java/cn/iocoder/mall/product/service/ProductSpuServiceImpl.java b/moved/product/product-service-impl/src/main/java/cn/iocoder/mall/product/service/ProductSpuServiceImpl.java index 75282a57a..47a424bc9 100644 --- a/moved/product/product-service-impl/src/main/java/cn/iocoder/mall/product/service/ProductSpuServiceImpl.java +++ b/moved/product/product-service-impl/src/main/java/cn/iocoder/mall/product/service/ProductSpuServiceImpl.java @@ -49,27 +49,6 @@ public class ProductSpuServiceImpl implements ProductSpuService { // return ProductSpuConvert.INSTANCE.convert(productSpuDO); // } - @Override - public ProductSpuDetailBO getProductSpuDetail(Integer id) { - // 校验商品 spu 存在 - ProductSpuDO spu = productSpuMapper.selectById(id); - if (spu == null) { - throw ServiceExceptionUtil.exception(ProductErrorCodeEnum.PRODUCT_SPU_NOT_EXISTS.getCode()); - } - // 获得商品分类分类 - ProductCategoryDO category = productCategoryService.getProductCategory(spu.getCid()); - Assert.notNull(category, String.format("分类编号(%d) 对应", spu.getCid())); - // 获得商品 sku 数组 - List skus = productSkuMapper.selectListBySpuIdAndStatus(id, ProductSpuConstants.SKU_STATUS_ENABLE); - // 获得规格 - Set productAttrValueIds = new HashSet<>(); - skus.forEach(sku -> productAttrValueIds.addAll(StringUtil.splitToInt(sku.getAttrs(), ","))); - List attrAndValuePairList = productAttrService.validProductAttrAndValue(productAttrValueIds, - false); // 读取规格时,不考虑规格是否被禁用 - // 返回成功 - return ProductSpuConvert.INSTANCE.convert2(spu, skus, attrAndValuePairList, category); - } - @Override public Boolean updateProductSpuSort(Integer adminId, Integer spuId, Integer sort) { // 校验 Spu 是否存在 diff --git a/moved/product/product-start/src/main/java/cn/iocoder/mall/product/application/controller/users/UsersProductSpuController.java b/moved/product/product-start/src/main/java/cn/iocoder/mall/product/application/controller/users/UsersProductSpuController.java deleted file mode 100644 index be4dab6b2..000000000 --- a/moved/product/product-start/src/main/java/cn/iocoder/mall/product/application/controller/users/UsersProductSpuController.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.iocoder.mall.product.application.controller.users; - -import cn.iocoder.common.framework.vo.CommonResult; -import cn.iocoder.mall.product.api.ProductSpuService; -import cn.iocoder.mall.product.api.bo.ProductSpuPageBO; -import cn.iocoder.mall.product.api.dto.ProductSpuPageDTO; -import cn.iocoder.mall.product.application.convert.ProductSpuConvert; -import cn.iocoder.mall.product.application.vo.users.UsersProductSpuDetailVO; -import cn.iocoder.mall.product.application.vo.users.UsersProductSpuPageVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import org.apache.dubbo.config.annotation.Reference; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import static cn.iocoder.common.framework.vo.CommonResult.success; - -@RestController -@RequestMapping("users/spu") -@Api("商品 SPU + SKU") -public class UsersProductSpuController { - - @Reference(validation = "true", version = "${dubbo.provider.ProductSpuService.version}") - private ProductSpuService productSpuService; - - @GetMapping("/info") - @ApiOperation("商品 SPU 明细") - @ApiImplicitParam(name = "id", value = "SPU 编号", required = true, example = "100") - public CommonResult info(@RequestParam("id") Integer id) { - return success(ProductSpuConvert.INSTANCE.convert4(productSpuService.getProductSpuDetail(id))); - } - -} diff --git a/product-service-project/product-service-api/src/main/java/cn/iocoder/mall/productservice/rpc/attr/dto/ProductAttrKeyValueRespDTO.java b/product-service-project/product-service-api/src/main/java/cn/iocoder/mall/productservice/rpc/attr/dto/ProductAttrKeyValueRespDTO.java index 0e5906f05..7086af492 100644 --- a/product-service-project/product-service-api/src/main/java/cn/iocoder/mall/productservice/rpc/attr/dto/ProductAttrKeyValueRespDTO.java +++ b/product-service-project/product-service-api/src/main/java/cn/iocoder/mall/productservice/rpc/attr/dto/ProductAttrKeyValueRespDTO.java @@ -1,9 +1,16 @@ package cn.iocoder.mall.productservice.rpc.attr.dto; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + /** * 商品规格 KEY + VALUE 对的 Response DTO */ -public class ProductAttrKeyValueRespDTO { +@Data +@Accessors(chain = true) +public class ProductAttrKeyValueRespDTO implements Serializable { /** * 规格 KEY 编号 diff --git a/shop-web-app/src/main/java/cn/iocoder/mall/shopweb/controller/product/ProductSpuController.http b/shop-web-app/src/main/java/cn/iocoder/mall/shopweb/controller/product/ProductSpuController.http index 21f7dfefe..5ab67814f 100644 --- a/shop-web-app/src/main/java/cn/iocoder/mall/shopweb/controller/product/ProductSpuController.http +++ b/shop-web-app/src/main/java/cn/iocoder/mall/shopweb/controller/product/ProductSpuController.http @@ -6,4 +6,8 @@ Content-Type: application/x-www-form-urlencoded GET {{shop-api-base-url}}/product-spu/search-condition?keyword=骚气 Content-Type: application/x-www-form-urlencoded +### /product-spu/get-detail 成功 +GET {{shop-api-base-url}}/product-spu/get-detail?id=63 +Content-Type: application/x-www-form-urlencoded + ### diff --git a/shop-web-app/src/main/java/cn/iocoder/mall/shopweb/controller/product/ProductSpuController.java b/shop-web-app/src/main/java/cn/iocoder/mall/shopweb/controller/product/ProductSpuController.java index b7fdc0725..d0f45ac81 100644 --- a/shop-web-app/src/main/java/cn/iocoder/mall/shopweb/controller/product/ProductSpuController.java +++ b/shop-web-app/src/main/java/cn/iocoder/mall/shopweb/controller/product/ProductSpuController.java @@ -42,7 +42,7 @@ public class ProductSpuController { return success(productSpuManager.getProductSpuSearchCondition(keyword)); } - @GetMapping("/get_detail") + @GetMapping("/get-detail") @ApiOperation("获得商品 SPU 的明细,包括 SKU 等等信息") @ApiImplicitParam(name = "id", required = true, value = "商品 SPU 编号", example = "1024") public CommonResult getProductSpuDetail(@RequestParam("id") Integer id) {