Price 价格服务的编写

This commit is contained in:
YunaiV
2020-08-14 19:09:17 +08:00
parent ed71f5e9c8
commit 5122b68aca
32 changed files with 858 additions and 428 deletions

View File

@@ -0,0 +1,28 @@
package cn.iocoder.mall.productservice.enums.sku;
import cn.iocoder.mall.productservice.rpc.sku.dto.ProductSkuRespDTO;
/**
* 商品 SKU 明细的字段枚举
*
* @see ProductSkuRespDTO
*/
public enum ProductSkuDetailFieldEnum {
SPU("spu"),
ATTR("attr");
/**
* 字段
*/
private final String field;
ProductSkuDetailFieldEnum(String field) {
this.field = field;
}
public String getField() {
return field;
}
}

View File

@@ -1,10 +1,12 @@
package cn.iocoder.mall.productservice.rpc.sku.dto;
import cn.iocoder.mall.productservice.enums.sku.ProductSkuDetailFieldEnum;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Collection;
import java.util.Collections;
/**
* 商品 SKU 列表查询 DTO
@@ -26,5 +28,11 @@ public class ProductSkuListQueryReqDTO implements Serializable {
*/
private Integer productSpuId;
/**
* 额外返回字段
*
* @see ProductSkuDetailFieldEnum
*/
private Collection<String> fields = Collections.emptySet();
}

View File

@@ -41,7 +41,7 @@ public interface ProductSpuRpc {
* @param productSpuIds 商品 SPU 编号列表
* @return 商品 SPU 列表
*/
CommonResult<List<ProductSpuRespDTO>> listProductSpus(List<Integer> productSpuIds);
CommonResult<List<ProductSpuRespDTO>> listProductSpus(Collection<Integer> productSpuIds);
/**
* 获得商品 SPU 分页

View File

@@ -1,5 +1,6 @@
package cn.iocoder.mall.productservice.manager.sku;
import cn.iocoder.common.framework.util.CollectionUtils;
import cn.iocoder.mall.productservice.convert.sku.ProductSkuConvert;
import cn.iocoder.mall.productservice.rpc.sku.dto.ProductSkuListQueryReqDTO;
import cn.iocoder.mall.productservice.rpc.sku.dto.ProductSkuRespDTO;
@@ -8,6 +9,7 @@ import cn.iocoder.mall.productservice.service.sku.bo.ProductSkuBO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
@@ -37,8 +39,13 @@ public class ProductSkuManager {
* @return 商品 SKU列表
*/
public List<ProductSkuRespDTO> listProductSkus(ProductSkuListQueryReqDTO queryReqDTO) {
// 获得商品 SKU 列表
List<ProductSkuBO> productSkuBOs = productSkuService.listProductSkus(
ProductSkuConvert.INSTANCE.convert(queryReqDTO));
if (CollectionUtils.isEmpty(productSkuBOs)) {
return Collections.emptyList();
}
//
return ProductSkuConvert.INSTANCE.convertList03(productSkuBOs);
}

View File

@@ -131,7 +131,7 @@ public class ProductSpuManager {
* @param productSpuIds 商品 SPU编号列表
* @return 商品 SPU列表
*/
public List<ProductSpuRespDTO> listProductSpus(List<Integer> productSpuIds) {
public List<ProductSpuRespDTO> listProductSpus(Collection<Integer> productSpuIds) {
List<ProductSpuBO> productSpuBOs = productSpuService.listProductSpus(productSpuIds);
return ProductSpuConvert.INSTANCE.convertList02(productSpuBOs);
}

View File

@@ -38,7 +38,7 @@ public class ProductSpuRpcImpl implements ProductSpuRpc {
}
@Override
public CommonResult<List<ProductSpuRespDTO>> listProductSpus(List<Integer> productSpuIds) {
public CommonResult<List<ProductSpuRespDTO>> listProductSpus(Collection<Integer> productSpuIds) {
return success(productSpuManager.listProductSpus(productSpuIds));
}

View File

@@ -16,6 +16,7 @@ import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.validation.Valid;
import java.util.Collection;
import java.util.List;
import static cn.iocoder.mall.productservice.enums.ProductErrorCodeConstants.PRODUCT_SPU_NOT_EXISTS;
@@ -76,7 +77,7 @@ public class ProductSpuService {
* @param productSpuIds 商品 SPU编号列表
* @return 商品 SPU列表
*/
public List<ProductSpuBO> listProductSpus(List<Integer> productSpuIds) {
public List<ProductSpuBO> listProductSpus(Collection<Integer> productSpuIds) {
List<ProductSpuDO> productSpuDOs = productSpuMapper.selectBatchIds(productSpuIds);
return ProductSpuConvert.INSTANCE.convertList(productSpuDOs);
}