diff --git a/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/controller/app/SpuController.java b/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/controller/app/SpuController.java index 6c3a99d7d549b43923fe38a0131358574b93e91e..70019c8e6d1944c7de1ed6f0ae5d3043bc0fc43a 100644 --- a/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/controller/app/SpuController.java +++ b/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/controller/app/SpuController.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.youlai.common.result.PageResult; import com.youlai.common.result.Result; import com.youlai.mall.pms.pojo.query.SpuPageQuery; +import com.youlai.mall.pms.pojo.vo.SeckillingSpuVO; import com.youlai.mall.pms.pojo.vo.SpuPageVO; import com.youlai.mall.pms.pojo.vo.SpuDetailVO; import com.youlai.mall.pms.service.IPmsSpuService; @@ -16,18 +17,20 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -@Api(tags = "「移动端」商品信息") -@RestController("appSpuController") +import java.util.List; + +@Api(tags = "「移动端」商品接口") +@RestController @RequestMapping("/app-api/v1/spu") @RequiredArgsConstructor public class SpuController { - private final IPmsSpuService iPmsSpuService; + private final IPmsSpuService spuService; @ApiOperation(value = "商品分页列表") - @GetMapping("/page") - public PageResult listSpuPage(SpuPageQuery queryParams) { - IPage result = iPmsSpuService.listSpuPages(queryParams); + @GetMapping("/pages") + public PageResult listSpuPages(SpuPageQuery queryParams) { + IPage result = spuService.listSpuPages(queryParams); return PageResult.success(result); } @@ -36,8 +39,15 @@ public class SpuController { public Result getSpuDetail( @ApiParam("商品ID") @PathVariable Long spuId ) { - SpuDetailVO spuDetailVO = iPmsSpuService.getSpuDetail(spuId); + SpuDetailVO spuDetailVO = spuService.getSpuDetail(spuId); return Result.success(spuDetailVO); } + @ApiOperation(value = "获取秒杀商品列表") + @GetMapping("/seckilling_list") + public Result> listSeckillingSpu() { + List list = spuService.listSeckillingSpu(); + return Result.success(list); + } + } diff --git a/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/converter/SpuConverter.java b/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/converter/SpuConverter.java index 36f16c369abe42217ab4799d440c6a4149c34ce9..04fe253727c7ad041c1ca5b56cef6d3ef7618b31 100644 --- a/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/converter/SpuConverter.java +++ b/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/converter/SpuConverter.java @@ -2,11 +2,14 @@ package com.youlai.mall.pms.converter; import com.youlai.mall.pms.pojo.entity.PmsSpu; import com.youlai.mall.pms.pojo.form.PmsSpuForm; +import com.youlai.mall.pms.pojo.vo.SeckillingSpuVO; import org.mapstruct.InheritInverseConfiguration; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; +import java.util.List; + /** * 商品对象转换器 * @@ -24,4 +27,8 @@ public interface SpuConverter { @InheritInverseConfiguration(name="form2Entity") PmsSpuForm entity2Form(PmsSpu entity); + SeckillingSpuVO entity2SeckillingVO(PmsSpu entity); + + List entity2SeckillingVO(List entities); + } diff --git a/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/pojo/vo/SeckillingSpuVO.java b/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/pojo/vo/SeckillingSpuVO.java new file mode 100644 index 0000000000000000000000000000000000000000..8cee756259e98d8ef0df733930290155d92d4717 --- /dev/null +++ b/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/pojo/vo/SeckillingSpuVO.java @@ -0,0 +1,29 @@ +package com.youlai.mall.pms.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 【应用端】秒杀商品视图对象 + * + * @author haoxr + * @date 2021/8/8 + */ +@ApiModel("商品分页对象") +@Data +public class SeckillingSpuVO { + + @ApiModelProperty("商品ID") + private Long id; + + @ApiModelProperty("商品名称") + private String name; + + @ApiModelProperty("商品价格(单位:分)") + private Long price; + + @ApiModelProperty("图片地址") + private String picUrl; + +} diff --git a/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/service/IPmsSpuService.java b/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/service/IPmsSpuService.java index 63a1024dfbda34974efedbf3bd37edbd1fe4086d..55cad2b284670b004623a01f76c235676c08c35d 100644 --- a/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/service/IPmsSpuService.java +++ b/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/service/IPmsSpuService.java @@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.youlai.mall.pms.pojo.form.PmsSpuForm; import com.youlai.mall.pms.pojo.entity.PmsSpu; import com.youlai.mall.pms.pojo.query.SpuPageQuery; -import com.youlai.mall.pms.pojo.vo.PmsSpuPageVO; -import com.youlai.mall.pms.pojo.vo.SpuDetailVO; -import com.youlai.mall.pms.pojo.vo.SpuPageVO; -import com.youlai.mall.pms.pojo.vo.PmsSpuDetailVO; +import com.youlai.mall.pms.pojo.vo.*; import java.util.List; @@ -66,21 +63,25 @@ public interface IPmsSpuService extends IService { /** * 修改商品 * - * @param spuId 商品ID + * @param spuId 商品ID * @param formData * @return */ - boolean updateSpuById(Long spuId,PmsSpuForm formData); + boolean updateSpuById(Long spuId, PmsSpuForm formData); /** - * 删除商品 + * 删除商品 * * @param ids 商品ID,多个以英文逗号(,)分割 * @return */ boolean removeBySpuIds(String ids); - - - + /** + * 获取秒杀商品列表 + * TODO + * + * @return + */ + List listSeckillingSpu(); } diff --git a/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/service/impl/PmsSpuServiceImpl.java b/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/service/impl/PmsSpuServiceImpl.java index 1faafe7785921820038ee0a23a9109c118df8488..09fc7e65fad7dab32ed431040e75b18e58f5743d 100644 --- a/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/service/impl/PmsSpuServiceImpl.java +++ b/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/service/impl/PmsSpuServiceImpl.java @@ -298,6 +298,21 @@ public class PmsSpuServiceImpl extends ServiceImpl impleme return true; } + /** + * 获取商品秒杀接口 + * + * @return + */ + @Override + public List listSeckillingSpu() { + List entities = this.list(new LambdaQueryWrapper() + .select(PmsSpu::getId, PmsSpu::getName, PmsSpu::getPicUrl, PmsSpu::getPrice) + .orderByDesc(PmsSpu::getCreateTime) + ); + List list = spuConverter.entity2SeckillingVO(entities); + return list; + } + /** * 保存SKU,需要替换提交表单中的临时规格ID