From 7b31ed03c873b0511fdc05b4e21c49661f6dab9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=9D=E5=85=88=E7=91=9E?= <1490493387@qq.com> Date: Thu, 7 Jul 2022 07:45:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0app=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=A7=92=E6=9D=80=E5=95=86=E5=93=81=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pms/controller/app/SpuController.java | 24 ++++++++++----- .../mall/pms/converter/SpuConverter.java | 7 +++++ .../mall/pms/pojo/vo/SeckillingSpuVO.java | 29 +++++++++++++++++++ .../mall/pms/service/IPmsSpuService.java | 21 +++++++------- .../pms/service/impl/PmsSpuServiceImpl.java | 15 ++++++++++ 5 files changed, 79 insertions(+), 17 deletions(-) create mode 100644 mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/pojo/vo/SeckillingSpuVO.java 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 6c3a99d7..70019c8e 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 36f16c36..04fe2537 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 00000000..8cee7562 --- /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 63a1024d..55cad2b2 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 1faafe77..09fc7e65 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 -- GitLab