瀏覽代碼

mall + promotion:增加拼团的 mock 返回

YunaiV 1 年之前
父節點
當前提交
8a7f7fd641

+ 52 - 0
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/AppBargainActivityController.java

@@ -0,0 +1,52 @@
+package cn.iocoder.yudao.module.promotion.controller.app.bargain;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.activity.AppBargainActivityRespVO;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "用户 App - 砍价活动")
+@RestController
+@RequestMapping("/promotion/bargain-activity")
+@Validated
+public class AppBargainActivityController {
+
+    @GetMapping("/list")
+    @Operation(summary = "获得砍价活动列表", description = "用于小程序首页")
+    // TODO 芋艿:增加 Spring Cache
+    // TODO 芋艿:缺少 swagger 注解
+    public CommonResult<List<AppBargainActivityRespVO>> getBargainActivityList(
+            @RequestParam(name = "count", defaultValue = "6") Integer count) {
+        List<AppBargainActivityRespVO> activityList = new ArrayList<>();
+        AppBargainActivityRespVO activity1 = new AppBargainActivityRespVO();
+        activity1.setId(1L);
+        activity1.setName("618 大砍价");
+        activity1.setSpuId(2048L);
+        activity1.setPicUrl("https://demo26.crmeb.net/uploads/attach/2021/11/15/a79f5d2ea6bf0c3c11b2127332dfe2df.jpg");
+        activity1.setMarketPrice(50);
+        activity1.setBargainPrice(100);
+        activityList.add(activity1);
+
+        AppBargainActivityRespVO activity2 = new AppBargainActivityRespVO();
+        activity2.setId(2L);
+        activity2.setName("双十一砍价");
+        activity2.setSpuId(4096L);
+        activity2.setPicUrl("https://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTKXMYJOomfp7cebz3cIeb8sHk3GGSIJtWEgREe3j7J1WoAbTvIOicpcNdFkWAziatBSMod8b5RyS4CQ/132");
+        activity2.setMarketPrice(100);
+        activity2.setBargainPrice(200);
+        activityList.add(activity2);
+
+        return success(activityList);
+    }
+
+}

+ 42 - 0
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/AppBargainRecordController.java

@@ -0,0 +1,42 @@
+package cn.iocoder.yudao.module.promotion.controller.app.bargain;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.record.AppBargainRecordSummaryRespVO;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "用户 App - 砍价记录")
+@RestController
+@RequestMapping("/promotion/bargain-record")
+@Validated
+public class AppBargainRecordController {
+
+    @GetMapping("/get-summary")
+    @Operation(summary = "获得砍价记录的概要信息", description = "用于小程序首页")
+    // TODO 芋艿:增加 @Cache 缓存,1 分钟过期
+    public CommonResult<AppBargainRecordSummaryRespVO> getBargainRecordSummary() {
+        AppBargainRecordSummaryRespVO summary = new AppBargainRecordSummaryRespVO();
+        summary.setUserCount(1024);
+        summary.setSuccessRecords(new ArrayList<>());
+        AppBargainRecordSummaryRespVO.Record record1 = new AppBargainRecordSummaryRespVO.Record();
+        record1.setNickname("王**");
+        record1.setAvatar("https://www.iocoder.cn/xxx.jpg");
+        record1.setActivityName("天蚕土豆");
+        AppBargainRecordSummaryRespVO.Record record2 = new AppBargainRecordSummaryRespVO.Record();
+        record2.setNickname("张**");
+        record2.setAvatar("https://www.iocoder.cn/yyy.jpg");
+        record2.setActivityName("斗罗大陆");
+        summary.getSuccessRecords().add(record1);
+        summary.getSuccessRecords().add(record2);
+        return success(summary);
+    }
+
+}

+ 28 - 0
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/vo/activity/AppBargainActivityRespVO.java

@@ -0,0 +1,28 @@
+package cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.activity;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "用户 App - 砍价活动 Response VO")
+@Data
+public class AppBargainActivityRespVO {
+
+    @Schema(description = "砍价活动编号", required = true, example = "1024")
+    private Long id;
+
+    @Schema(description = "砍价活动名称", required = true, example = "618 大砍价")
+    private String name;
+
+    @Schema(description = "商品 SPU 编号", required = true, example = "2048")
+    private Long spuId;
+
+    @Schema(description = "商品图片", required = true, example = "4096") // 从 SPU 的 picUrl 读取
+    private String picUrl;
+
+    @Schema(description = "商品市场价,单位:分", required = true, example = "50") // 从 SPU 的 marketPrice 读取
+    private Integer marketPrice;
+
+    @Schema(description = "砍价最低金额,单位:分", required = true, example = "100") // 从砍价商品里取最低价
+    private Integer bargainPrice;
+
+}

+ 33 - 0
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/vo/record/AppBargainRecordSummaryRespVO.java

@@ -0,0 +1,33 @@
+package cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.record;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+@Schema(description = "用户 App - 砍价记录的简要概括 Response VO")
+@Data
+public class AppBargainRecordSummaryRespVO {
+
+    @Schema(description = "砍价用户数量", required = true, example = "1024")
+    private Integer userCount;
+
+    @Schema(description = "成功砍价的记录", required = true) // 只返回最近的 7 个
+    private List<Record> successRecords;
+
+    @Schema(description = "成功砍价记录")
+    @Data
+    public static class Record {
+
+        @Schema(description = "用户昵称", required = true, example = "王**")
+        private String nickname;
+
+        @Schema(description = "用户头像", required = true, example = "https://www.iocoder.cn/xxx.jpg")
+        private String avatar;
+
+        @Schema(description = "活动名称", required = true, example = "天蚕土豆")
+        private String activityName;
+
+    }
+
+}

+ 2 - 2
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/combination/AppCombinationRecordController.java

@@ -29,9 +29,9 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
 public class AppCombinationRecordController {
 
     @GetMapping("/get-summary")
-    @Operation(summary = "获得拼团活动的概要信息", description = "用于小程序首页")
+    @Operation(summary = "获得拼团记录的概要信息", description = "用于小程序首页")
     // TODO 芋艿:增加 @Cache 缓存,1 分钟过期
-    public CommonResult<AppCombinationRecordSummaryRespVO> getCombinationSummary() {
+    public CommonResult<AppCombinationRecordSummaryRespVO> getCombinationRecordSummary() {
         AppCombinationRecordSummaryRespVO summary = new AppCombinationRecordSummaryRespVO();
         summary.setUserCount(1024);
         summary.setAvatars(new ArrayList<>());