trade:增加优惠劵使用、商品库存的扣减

This commit is contained in:
YunaiV
2022-11-09 23:56:00 +08:00
parent 734236df97
commit 16f5d0f5a4
21 changed files with 454 additions and 159 deletions

View File

@ -22,6 +22,13 @@
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-common</artifactId>
</dependency>
<!-- 参数校验 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
</project>
</project>

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.product.api.sku;
import cn.iocoder.yudao.module.product.api.sku.dto.SkuDecrementStockBatchReqDTO;
import cn.iocoder.yudao.module.product.api.sku.dto.ProductSkuUpdateStockReqDTO;
import cn.iocoder.yudao.module.product.api.sku.dto.ProductSkuRespDTO;
import java.util.Collection;
@ -31,11 +31,10 @@ public interface ProductSkuApi {
List<ProductSkuRespDTO> getSkuList(Collection<Long> ids);
/**
* 批量扣减 SKU 库存
* 更新 SKU 库存
*
* @param batchReqDTO sku库存信息列表
* @param updateStockReqDTO 更新请求
*/
// TODO @LeeYan9: decrementSkuStockBatch? 啊哈, 动名词;
void decrementStockBatch(SkuDecrementStockBatchReqDTO batchReqDTO);
void updateSkuStock(ProductSkuUpdateStockReqDTO updateStockReqDTO);
}

View File

@ -0,0 +1,47 @@
package cn.iocoder.yudao.module.product.api.sku.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* 商品 SKU 更新库存 Request DTO
*
* @author LeeYan9
* @since 2022-08-26
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ProductSkuUpdateStockReqDTO {
/**
* 商品 SKU
*/
@NotNull(message = "商品 SKU 不能为空")
private List<Item> items;
@Data
public static class Item {
/**
* 商品 SKU 编号
*/
@NotNull(message = "商品 SKU 编号不能为空")
private Long id;
/**
* 库存变化数量
*
* 正数:增加库存
* 负数:扣减库存
*/
@NotNull(message = "库存变化数量不能为空")
private Integer incCount;
}
}

View File

@ -1,48 +0,0 @@
package cn.iocoder.yudao.module.product.api.sku.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* TODO @LeeYan9: 1) 类注释; 2) Product 开头哈;
* @author LeeYan9
* @since 2022-08-26
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SkuDecrementStockBatchReqDTO {
// TODO @LeeYan9: 参数校验
private List<Item> items;
@Data
public static class Item {
/**
* 商品 SPU 编号,自增
*/
// TODO @LeeYan9: 是不是不用传递哈
private Long productId;
/**
* 商品 SKU 编号,自增
*/
private Long skuId;
/**
* 数量
*/
private Integer count;
}
// TODO @LeeYan9: 构造方法, 是不是可以满足啦
public static SkuDecrementStockBatchReqDTO of(List<Item> items) {
return new SkuDecrementStockBatchReqDTO(items);
}
}