Commit 26f563df57d458c7259a6cb790bae71f902fdf8a
Merge remote-tracking branch 'yudao/feature/mall_product' into feature/mall_product
Showing
7 changed files
with
217 additions
and
29 deletions
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 | +} |