Commit 26f563df57d458c7259a6cb790bae71f902fdf8a

Authored by puhui999
2 parents ab30ff64 b0fcd96d

Merge remote-tracking branch 'yudao/feature/mall_product' into feature/mall_product

yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/AppBargainHelpController.java 0 → 100644
  1 +package cn.iocoder.yudao.module.promotion.controller.app.bargain;
  2 +
  3 +import cn.iocoder.yudao.framework.common.pojo.CommonResult;
  4 +import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.help.AppBargainHelpCreateReqVO;
  5 +import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.help.AppBargainHelpRespVO;
  6 +import io.swagger.v3.oas.annotations.Operation;
  7 +import io.swagger.v3.oas.annotations.tags.Tag;
  8 +import org.springframework.validation.annotation.Validated;
  9 +import org.springframework.web.bind.annotation.*;
  10 +
  11 +import java.time.LocalDateTime;
  12 +import java.util.ArrayList;
  13 +import java.util.List;
  14 +
  15 +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
  16 +
  17 +@Tag(name = "用户 App - 砍价助力")
  18 +@RestController
  19 +@RequestMapping("/promotion/bargain-help")
  20 +@Validated
  21 +public class AppBargainHelpController {
  22 +
  23 + @PostMapping("/create")
  24 + @Operation(summary = "创建砍价助力", description = "给拼团记录砍一刀") // 返回结果为砍价金额,单位:分
  25 + public CommonResult<Long> createBargainHelp(@RequestBody AppBargainHelpCreateReqVO reqVO) {
  26 + return success(20L);
  27 + }
  28 +
  29 + @GetMapping("/list")
  30 + @Operation(summary = "获得砍价助力列表")
  31 + // TODO 芋艿:swagger
  32 + public CommonResult<List<AppBargainHelpRespVO>> getBargainHelpList(@RequestParam("recordId") Long recordId) {
  33 + List<AppBargainHelpRespVO> list = new ArrayList<>();
  34 + for (int i = 0; i < 10; i++) {
  35 + AppBargainHelpRespVO vo = new AppBargainHelpRespVO();
  36 + vo.setNickname("用户" + i);
  37 + vo.setAvatar("https://www.iocoder.cn/avatar/" + i + ".jpg");
  38 + vo.setReducePrice((i + 1) * 100);
  39 + vo.setCreateTime(LocalDateTime.now());
  40 + list.add(vo);
  41 + }
  42 + return success(list);
  43 + }
  44 +
  45 +}
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/AppBargainRecordController.java
1 package cn.iocoder.yudao.module.promotion.controller.app.bargain; 1 package cn.iocoder.yudao.module.promotion.controller.app.bargain;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
  4 +import cn.iocoder.yudao.framework.common.pojo.PageParam;
  5 +import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils; 6 import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils;
  7 +import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.record.AppBargainRecordCreateReqVO;
5 import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.record.AppBargainRecordDetailRespVO; 8 import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.record.AppBargainRecordDetailRespVO;
  9 +import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.record.AppBargainRecordRespVO;
6 import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.record.AppBargainRecordSummaryRespVO; 10 import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.record.AppBargainRecordSummaryRespVO;
7 import io.swagger.v3.oas.annotations.Operation; 11 import io.swagger.v3.oas.annotations.Operation;
8 import io.swagger.v3.oas.annotations.tags.Tag; 12 import io.swagger.v3.oas.annotations.tags.Tag;
9 import org.springframework.validation.annotation.Validated; 13 import org.springframework.validation.annotation.Validated;
10 -import org.springframework.web.bind.annotation.GetMapping;  
11 -import org.springframework.web.bind.annotation.RequestMapping;  
12 -import org.springframework.web.bind.annotation.RequestParam;  
13 -import org.springframework.web.bind.annotation.RestController; 14 +import org.springframework.web.bind.annotation.*;
14 15
15 import java.time.Duration; 16 import java.time.Duration;
16 import java.util.ArrayList; 17 import java.util.ArrayList;
@@ -60,9 +61,85 @@ public class AppBargainRecordController { @@ -60,9 +61,85 @@ public class AppBargainRecordController {
60 detail.setPrice(200); 61 detail.setPrice(200);
61 detail.setPayPrice(180); 62 detail.setPayPrice(180);
62 detail.setStatus(1); 63 detail.setStatus(1);
63 - detail.setAction(AppBargainRecordDetailRespVO.ACTION_SUCCESS);  
64 detail.setExpireTime(LocalDateTimeUtils.addTime(Duration.ofDays(2))); 64 detail.setExpireTime(LocalDateTimeUtils.addTime(Duration.ofDays(2)));
65 return success(detail); 65 return success(detail);
66 } 66 }
67 67
  68 + @GetMapping("/page")
  69 + @Operation(summary = "获得砍价记录的分页")
  70 + public CommonResult<PageResult<AppBargainRecordRespVO>> getBargainRecordPage(PageParam pageParam) {
  71 + PageResult<AppBargainRecordRespVO> page = new PageResult<>();
  72 + page.setList(new ArrayList<>());
  73 + AppBargainRecordRespVO record1 = new AppBargainRecordRespVO();
  74 + record1.setId(1L);
  75 + record1.setUserId(1L);
  76 + record1.setSpuId(1L);
  77 + record1.setSkuId(1L);
  78 + record1.setPrice(500);
  79 + record1.setActivityId(1L);
  80 + record1.setBargainPrice(150);
  81 + record1.setPrice(200);
  82 + record1.setPayPrice(180);
  83 + record1.setStatus(1);
  84 + record1.setPicUrl("https://demo26.crmeb.net/uploads/attach/2021/11/15/a79f5d2ea6bf0c3c11b2127332dfe2df.jpg");
  85 + record1.setExpireTime(LocalDateTimeUtils.addTime(Duration.ofDays(2)));
  86 + page.getList().add(record1);
  87 +
  88 + AppBargainRecordRespVO record2 = new AppBargainRecordRespVO();
  89 + record2.setId(1L);
  90 + record2.setUserId(1L);
  91 + record2.setSpuId(1L);
  92 + record2.setSkuId(1L);
  93 + record2.setPrice(500);
  94 + record2.setActivityId(1L);
  95 + record2.setBargainPrice(150);
  96 + record2.setPrice(200);
  97 + record2.setPayPrice(280);
  98 + record2.setStatus(2);
  99 + record2.setPicUrl("https://demo26.crmeb.net/uploads/attach/2021/11/15/a79f5d2ea6bf0c3c11b2127332dfe2df.jpg");
  100 + record2.setExpireTime(LocalDateTimeUtils.addTime(Duration.ofDays(2)));
  101 + page.getList().add(record2);
  102 +
  103 + AppBargainRecordRespVO record3 = new AppBargainRecordRespVO();
  104 + record3.setId(1L);
  105 + record3.setUserId(1L);
  106 + record3.setSpuId(1L);
  107 + record3.setSkuId(1L);
  108 + record3.setPrice(500);
  109 + record3.setActivityId(1L);
  110 + record3.setBargainPrice(150);
  111 + record3.setPrice(200);
  112 + record3.setPayPrice(380);
  113 + record3.setStatus(2);
  114 + record3.setPicUrl("https://demo26.crmeb.net/uploads/attach/2021/11/15/a79f5d2ea6bf0c3c11b2127332dfe2df.jpg");
  115 + record3.setExpireTime(LocalDateTimeUtils.addTime(Duration.ofDays(2)));
  116 + record3.setOrderId(100L);
  117 + page.getList().add(record3);
  118 +
  119 + AppBargainRecordRespVO record4 = new AppBargainRecordRespVO();
  120 + record4.setId(1L);
  121 + record4.setUserId(1L);
  122 + record4.setSpuId(1L);
  123 + record4.setSkuId(1L);
  124 + record4.setPrice(500);
  125 + record4.setActivityId(1L);
  126 + record4.setBargainPrice(150);
  127 + record4.setPrice(200);
  128 + record4.setPayPrice(380);
  129 + record4.setStatus(3);
  130 + record4.setPicUrl("https://demo26.crmeb.net/uploads/attach/2021/11/15/a79f5d2ea6bf0c3c11b2127332dfe2df.jpg");
  131 + record4.setExpireTime(LocalDateTimeUtils.addTime(Duration.ofDays(2)));
  132 + record4.setOrderId(100L);
  133 + page.getList().add(record4);
  134 +
  135 + page.setTotal(1L);
  136 + return success(page);
  137 + }
  138 +
  139 + @PostMapping("/create")
  140 + @Operation(summary = "创建砍价记录", description = "参与拼团活动")
  141 + public CommonResult<Long> createBargainRecord(@RequestBody AppBargainRecordCreateReqVO reqVO) {
  142 + return success(1L);
  143 + }
  144 +
68 } 145 }
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/vo/help/AppBargainHelpCreateReqVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.help;
  2 +
  3 +import io.swagger.v3.oas.annotations.media.Schema;
  4 +import lombok.Data;
  5 +
  6 +import javax.validation.constraints.NotNull;
  7 +
  8 +@Schema(description = "用户 App - 砍价助力的创建 Request VO")
  9 +@Data
  10 +public class AppBargainHelpCreateReqVO {
  11 +
  12 + @Schema(description = "砍价记录编号", required = true, example = "1024")
  13 + @NotNull(message = "砍价记录编号不能为空")
  14 + private Long recordId;
  15 +
  16 +}
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/vo/help/AppBargainHelpRespVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.help;
  2 +
  3 +import io.swagger.v3.oas.annotations.media.Schema;
  4 +import lombok.Data;
  5 +
  6 +import java.time.LocalDateTime;
  7 +
  8 +@Schema(description = "用户 App - 砍价助力 Response VO")
  9 +@Data
  10 +public class AppBargainHelpRespVO {
  11 +
  12 + @Schema(description = "助力用户的昵称", required = true, example = "1024")
  13 + private String nickname;
  14 +
  15 + @Schema(description = "助力用户的头像", required = true, example = "1024")
  16 + private String avatar;
  17 +
  18 + @Schema(description = "助力用户的砍价金额", required = true, example = "1024")
  19 + private Integer reducePrice;
  20 +
  21 + @Schema(description = "创建时间", required = true, example = "1024")
  22 + private LocalDateTime createTime;
  23 +
  24 +}
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/vo/record/AppBargainRecordCreateReqVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.record;
  2 +
  3 +import io.swagger.v3.oas.annotations.media.Schema;
  4 +import lombok.Data;
  5 +
  6 +import javax.validation.constraints.NotNull;
  7 +
  8 +@Schema(description = "用户 App - 砍价记录的创建 Request VO")
  9 +@Data
  10 +public class AppBargainRecordCreateReqVO {
  11 +
  12 + @Schema(description = "砍价活动编号", required = true, example = "1024")
  13 + @NotNull(message = "砍价活动编号不能为空")
  14 + private Long activityId;
  15 +
  16 +}
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/vo/record/AppBargainRecordDetailRespVO.java
@@ -9,12 +9,6 @@ import java.time.LocalDateTime; @@ -9,12 +9,6 @@ import java.time.LocalDateTime;
9 @Data 9 @Data
10 public class AppBargainRecordDetailRespVO { 10 public class AppBargainRecordDetailRespVO {
11 11
12 - public static final int ACTION_NONE = 1; // 参与动作 - 未参与,可参与  
13 - public static final int ACTION_WAITING = 2; // 参与动作 - 参与中,等待砍价  
14 - public static final int ACTION_SUCCESS = 3; // 参与动作 - 砍价成功,待下单  
15 - public static final int ACTION_ORDER_CREATE = 4; // 参与动作 - 已下单,未付款  
16 - public static final int ACTION_ORDER_PAY = 5; // 参与动作 - 已下单,已付款  
17 -  
18 public static final int HELP_ACTION_NONE = 1; // 帮砍动作 - 未帮砍,可以帮砍 12 public static final int HELP_ACTION_NONE = 1; // 帮砍动作 - 未帮砍,可以帮砍
19 public static final int HELP_ACTION_FULL = 2; // 帮砍动作 - 未帮砍,无法帮砍(可帮砍次数已满) 13 public static final int HELP_ACTION_FULL = 2; // 帮砍动作 - 未帮砍,无法帮砍(可帮砍次数已满)
20 public static final int HELP_ACTION_SUCCESS = 3; // 帮砍动作 - 已帮砍 14 public static final int HELP_ACTION_SUCCESS = 3; // 帮砍动作 - 已帮砍
@@ -31,25 +25,9 @@ public class AppBargainRecordDetailRespVO { @@ -31,25 +25,9 @@ public class AppBargainRecordDetailRespVO {
31 25
32 private LocalDateTime expireTime; 26 private LocalDateTime expireTime;
33 27
34 - private Long orderId; // 有且仅在自己的订单才返回 28 + private Long orderId;
  29 + private Boolean payStatus;
35 30
36 - private Integer action;  
37 private Integer helpAction; 31 private Integer helpAction;
38 32
39 - // 【未参与】1-可以参与砍价:storeBargainUser 为空;  
40 - // 【未参与】2-参与次数已满:storeBargainUser 为空,但是砍价次数已满;storeBargainUser 非空已支付,但是砍价次数已满 TODO 芋艿:这个就不做了  
41 - // 【参与中】3-砍价中:storeBargainUser 非空,人数未满  
42 - // 【参与中】4-已完成:storeBargainUser 非空,未创建订单  
43 -  
44 - // 支付的情况;  
45 - // 8-已生成订单未支付:storeBargainUser 不为空(status = 3),但是订单未支付;  
46 - // 9-已支付:storeBargainUser 不为空(status = 3),且订单已支付;  
47 - // 10-取消支付:storeBargainUser 不为空(status = 3),取消支付;【可忽略】  
48 -  
49 - // help 的情况;  
50 - // 5-可以帮砍:和 3 对应;  
51 - // 6-已帮砍:其他人的,有帮砍过;  
52 - // 7-帮砍次数已满:其他人的,帮砍次数已满  
53 -  
54 -  
55 } 33 }
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/bargain/vo/record/AppBargainRecordRespVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.record;
  2 +
  3 +import io.swagger.v3.oas.annotations.media.Schema;
  4 +import lombok.Data;
  5 +
  6 +import java.time.LocalDateTime;
  7 +
  8 +@Schema(description = "用户 App - 砍价记录的 Response VO")
  9 +@Data
  10 +public class AppBargainRecordRespVO {
  11 +
  12 + // TODO @芋艿:status;如果砍价对应的订单支付超时,算失败么?砍价的支付时间,以 expireTime 为准么?
  13 +
  14 + private Long id;
  15 + private Long userId;
  16 + private Long spuId;
  17 + private Long skuId;
  18 + private Long activityId;
  19 + private Integer bargainPrice;
  20 + private Integer price;
  21 + private Integer payPrice;
  22 + private Integer status;
  23 + private LocalDateTime expireTime;
  24 +
  25 + private Long orderId;
  26 + private Boolean payStatus;
  27 + private Long payOrderId;
  28 +
  29 + private String activityName;
  30 + private String picUrl;
  31 +
  32 +}