|
|
|
@ -27,6 +27,9 @@ import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* SKU(库存保有单位,即商品规格)相关接口的控制器类,主要负责处理根据商品 ID 获取其对应的全部有效规格列表的请求,
|
|
|
|
|
* 通过调用服务层的方法查询数据库,并将查询结果转换为合适的 DTO 类型返回给前端使用。
|
|
|
|
|
*
|
|
|
|
|
* @author lanhai
|
|
|
|
|
*/
|
|
|
|
|
@RestController
|
|
|
|
@ -35,19 +38,28 @@ import java.util.List;
|
|
|
|
|
@AllArgsConstructor
|
|
|
|
|
public class SkuController {
|
|
|
|
|
|
|
|
|
|
// 通过构造函数注入的方式引入 SKU 服务层接口,方便后续调用其提供的业务逻辑方法来处理与 SKU 相关的操作,比如查询 SKU 列表等。
|
|
|
|
|
private final SkuService skuService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据商品 ID 获取商品全部规格列表的方法,接收商品 ID 作为参数,使用 MyBatis Plus 的 LambdaQueryWrapper 构建查询条件,
|
|
|
|
|
* 从数据库中查询出该商品下状态为启用(这里假设状态值为 1 表示启用)且未被删除(假设 isDelete 为 0 表示未删除)的所有 SKU 记录,
|
|
|
|
|
* 然后将查询到的 SKU 实体列表转换为对应的 DTO 类型列表,最后将结果封装在 ServerResponseEntity 中返回给前端,方便前端展示和使用商品规格信息。
|
|
|
|
|
*
|
|
|
|
|
* @param prodId 要查询其规格列表的商品 ID,通过请求参数传入,用于筛选出属于该商品的 SKU 记录,该参数对应数据库中 Sku 表的 prodId 字段。
|
|
|
|
|
* @return 包含商品全部规格信息列表的 ServerResponseEntity,以 SkuDto 类型封装每个 SKU 的信息,若查询到符合条件的 SKU 则返回对应列表,否则返回空列表表示。
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/getSkuList")
|
|
|
|
|
@Operation(summary = "通过prodId获取商品全部规格列表" , description = "通过prodId获取商品全部规格列表")
|
|
|
|
|
@Parameter(name = "prodId", description = "商品id" )
|
|
|
|
|
@Operation(summary = "通过prodId获取商品全部规格列表", description = "通过prodId获取商品全部规格列表")
|
|
|
|
|
@Parameter(name = "prodId", description = "商品id")
|
|
|
|
|
public ServerResponseEntity<List<SkuDto>> getSkuListByProdId(Long prodId) {
|
|
|
|
|
// 使用 MyBatis Plus 的 LambdaQueryWrapper 构建查询条件,设置筛选条件为状态为启用、未被删除且属于指定商品 ID 的 SKU 记录。
|
|
|
|
|
List<Sku> skus = skuService.list(new LambdaQueryWrapper<Sku>()
|
|
|
|
|
.eq(Sku::getStatus, 1)
|
|
|
|
|
.eq(Sku::getIsDelete, 0)
|
|
|
|
|
.eq(Sku::getProdId, prodId)
|
|
|
|
|
);
|
|
|
|
|
// 使用 Hutool 的 BeanUtil 将查询到的 Sku 实体列表转换为 SkuDto 类型的列表,方便按照前端期望的格式返回数据,避免直接暴露实体对象的一些潜在问题。
|
|
|
|
|
List<SkuDto> skuDtoList = BeanUtil.copyToList(skus, SkuDto.class);
|
|
|
|
|
return ServerResponseEntity.success(skuDtoList);
|
|
|
|
|
}
|
|
|
|
|