mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 10:18:42 +08:00 
			
		
		
		
	mall + promotion:增加拼团记录的 mock
This commit is contained in:
		| @@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; | |||||||
| import cn.iocoder.yudao.framework.common.pojo.PageParam; | import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||||
| import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils; | import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils; | ||||||
|  | import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.activity.AppBargainActivityDetailRespVO; | ||||||
| import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.activity.AppBargainActivityRespVO; | 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.Operation; | ||||||
| import io.swagger.v3.oas.annotations.tags.Tag; | import io.swagger.v3.oas.annotations.tags.Tag; | ||||||
| @@ -85,4 +86,25 @@ public class AppBargainActivityController { | |||||||
|         return success(activityList); |         return success(activityList); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     @GetMapping("/get-detail") | ||||||
|  |     @Operation(summary = "获得砍价活动详情") | ||||||
|  |     // TODO 芋艿:缺少 swagger 注解 | ||||||
|  |     public CommonResult<AppBargainActivityDetailRespVO> getBargainActivityDetail(@RequestParam("id") Long id) { | ||||||
|  |         AppBargainActivityDetailRespVO activity = new AppBargainActivityDetailRespVO(); | ||||||
|  |         activity.setId(2L); | ||||||
|  |         activity.setName("618 大砍价"); | ||||||
|  |         activity.setSpuId(2048L); | ||||||
|  |         activity.setPicUrl("https://demo26.crmeb.net/uploads/attach/2021/11/15/a79f5d2ea6bf0c3c11b2127332dfe2df.jpg"); | ||||||
|  |         activity.setMarketPrice(50); | ||||||
|  |         activity.setBargainPrice(100); | ||||||
|  |         activity.setStock(10); | ||||||
|  |         activity.setUnitName("件"); | ||||||
|  |         activity.setPrice(40); | ||||||
|  |         activity.setStartTime(LocalDateTimeUtils.addTime(Duration.ofDays(-2))); | ||||||
|  |         activity.setEndTime(LocalDateTimeUtils.addTime(Duration.ofDays(-10))); | ||||||
|  |         activity.setDescription("我吃西红柿"); | ||||||
|  |         activity.setSuccessCount(10); | ||||||
|  |         return success(activity); | ||||||
|  |     } | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,14 +1,18 @@ | |||||||
| package cn.iocoder.yudao.module.promotion.controller.app.bargain; | package cn.iocoder.yudao.module.promotion.controller.app.bargain; | ||||||
|  |  | ||||||
| import cn.iocoder.yudao.framework.common.pojo.CommonResult; | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||||||
|  | import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils; | ||||||
|  | import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.record.AppBargainRecordDetailRespVO; | ||||||
| import cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.record.AppBargainRecordSummaryRespVO; | 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.Operation; | ||||||
| import io.swagger.v3.oas.annotations.tags.Tag; | import io.swagger.v3.oas.annotations.tags.Tag; | ||||||
| import org.springframework.validation.annotation.Validated; | import org.springframework.validation.annotation.Validated; | ||||||
| import org.springframework.web.bind.annotation.GetMapping; | import org.springframework.web.bind.annotation.GetMapping; | ||||||
| import org.springframework.web.bind.annotation.RequestMapping; | import org.springframework.web.bind.annotation.RequestMapping; | ||||||
|  | import org.springframework.web.bind.annotation.RequestParam; | ||||||
| import org.springframework.web.bind.annotation.RestController; | import org.springframework.web.bind.annotation.RestController; | ||||||
|  |  | ||||||
|  | import java.time.Duration; | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
|  |  | ||||||
| import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||||||
| @@ -39,4 +43,26 @@ public class AppBargainRecordController { | |||||||
|         return success(summary); |         return success(summary); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     @GetMapping("/get-detail") | ||||||
|  |     @Operation(summary = "获得砍价记录的明细") | ||||||
|  |     // TODO 芋艿:swagger;id  和 activityId 二选一 | ||||||
|  |     public CommonResult<AppBargainRecordDetailRespVO> getBargainRecordDetail( | ||||||
|  |             @RequestParam(value = "id", required = false) Long id, | ||||||
|  |             @RequestParam(value = "activityId", required = false) Long activityId) { | ||||||
|  |         AppBargainRecordDetailRespVO detail = new AppBargainRecordDetailRespVO(); | ||||||
|  |         detail.setId(1L); | ||||||
|  |         detail.setUserId(1L); | ||||||
|  |         detail.setSpuId(1L); | ||||||
|  |         detail.setSkuId(1L); | ||||||
|  |         detail.setPrice(500); | ||||||
|  |         detail.setActivityId(1L); | ||||||
|  |         detail.setBargainPrice(150); | ||||||
|  |         detail.setPrice(200); | ||||||
|  |         detail.setPayPrice(180); | ||||||
|  |         detail.setStatus(1); | ||||||
|  |         detail.setAction(AppBargainRecordDetailRespVO.ACTION_SUCCESS); | ||||||
|  |         detail.setExpireTime(LocalDateTimeUtils.addTime(Duration.ofDays(2))); | ||||||
|  |         return success(detail); | ||||||
|  |     } | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -0,0 +1,54 @@ | |||||||
|  | package cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.activity; | ||||||
|  |  | ||||||
|  | import io.swagger.v3.oas.annotations.media.Schema; | ||||||
|  | import lombok.Data; | ||||||
|  |  | ||||||
|  | import java.time.LocalDateTime; | ||||||
|  |  | ||||||
|  | @Schema(description = "用户 App - 砍价活动的明细 Response VO") | ||||||
|  | @Data | ||||||
|  | public class AppBargainActivityDetailRespVO { | ||||||
|  |  | ||||||
|  |     @Schema(description = "砍价活动编号", required = true, example = "1024") | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     @Schema(description = "砍价活动名称", required = true, example = "618 大砍价") | ||||||
|  |     private String name; | ||||||
|  |  | ||||||
|  |     @Schema(description = "活动开始时间", required = true) | ||||||
|  |     private LocalDateTime startTime; | ||||||
|  |  | ||||||
|  |     @Schema(description = "活动结束时间", required = true) | ||||||
|  |     private LocalDateTime endTime; | ||||||
|  |  | ||||||
|  |     @Schema(description = "商品 SPU 编号", required = true, example = "2048") | ||||||
|  |     private Long spuId; | ||||||
|  |  | ||||||
|  |     @Schema(description = "商品 SKU 编号", required = true, example = "1024") | ||||||
|  |     private Long skuId; | ||||||
|  |  | ||||||
|  |     @Schema(description = "商品价格,单位:分", required = true, example = "100") | ||||||
|  |     private Integer price; | ||||||
|  |  | ||||||
|  |     @Schema(description = "商品描述", required = true, example = "我要吃西红柿") | ||||||
|  |     private String description; | ||||||
|  |  | ||||||
|  |     @Schema(description = "砍价库存", required = true, example = "512") | ||||||
|  |     private Integer stock; | ||||||
|  |  | ||||||
|  |     @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 = "个") // 从 SPU 的 unit 读取,然后转换 | ||||||
|  |     private String unitName; | ||||||
|  |  | ||||||
|  |     @Schema(description = "砍价最低金额,单位:分", required = true, example = "100") // 从砍价商品里取最低价 | ||||||
|  |     private Integer bargainPrice; | ||||||
|  |  | ||||||
|  |     @Schema(description = "砍价成功数量", required = true, example = "100") | ||||||
|  |     private Integer successCount; | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,55 @@ | |||||||
|  | package cn.iocoder.yudao.module.promotion.controller.app.bargain.vo.record; | ||||||
|  |  | ||||||
|  | import io.swagger.v3.oas.annotations.media.Schema; | ||||||
|  | import lombok.Data; | ||||||
|  |  | ||||||
|  | import java.time.LocalDateTime; | ||||||
|  |  | ||||||
|  | @Schema(description = "用户 App - 砍价记录的明细 Response VO") | ||||||
|  | @Data | ||||||
|  | public class AppBargainRecordDetailRespVO { | ||||||
|  |  | ||||||
|  |     public static final int ACTION_NONE = 1; // 参与动作 - 未参与,可参与 | ||||||
|  |     public static final int ACTION_WAITING = 2; // 参与动作 - 参与中,等待砍价 | ||||||
|  |     public static final int ACTION_SUCCESS = 3; // 参与动作 - 砍价成功,待下单 | ||||||
|  |     public static final int ACTION_ORDER_CREATE = 4; // 参与动作 - 已下单,未付款 | ||||||
|  |     public static final int ACTION_ORDER_PAY = 5; // 参与动作 - 已下单,已付款 | ||||||
|  |  | ||||||
|  |     public static final int HELP_ACTION_NONE = 1; // 帮砍动作 - 未帮砍,可以帮砍 | ||||||
|  |     public static final int HELP_ACTION_FULL = 2; // 帮砍动作 - 未帮砍,无法帮砍(可帮砍次数已满) | ||||||
|  |     public static final int HELP_ACTION_SUCCESS = 3; // 帮砍动作 - 已帮砍 | ||||||
|  |  | ||||||
|  |     private Long id; | ||||||
|  |     private Long userId; | ||||||
|  |     private Long spuId; | ||||||
|  |     private Long skuId; | ||||||
|  |     private Long activityId; | ||||||
|  |     private Integer bargainPrice; | ||||||
|  |     private Integer price; | ||||||
|  |     private Integer payPrice; | ||||||
|  |     private Integer status; | ||||||
|  |  | ||||||
|  |     private LocalDateTime expireTime; | ||||||
|  |  | ||||||
|  |     private Long orderId; // 有且仅在自己的订单才返回 | ||||||
|  |  | ||||||
|  |     private Integer action; | ||||||
|  |     private Integer helpAction; | ||||||
|  |  | ||||||
|  |     // 【未参与】1-可以参与砍价:storeBargainUser 为空; | ||||||
|  |     // 【未参与】2-参与次数已满:storeBargainUser 为空,但是砍价次数已满;storeBargainUser 非空已支付,但是砍价次数已满 TODO 芋艿:这个就不做了 | ||||||
|  |     // 【参与中】3-砍价中:storeBargainUser 非空,人数未满 | ||||||
|  |     // 【参与中】4-已完成:storeBargainUser 非空,未创建订单 | ||||||
|  |  | ||||||
|  |     // 支付的情况; | ||||||
|  |     // 8-已生成订单未支付:storeBargainUser 不为空(status = 3),但是订单未支付; | ||||||
|  |     // 9-已支付:storeBargainUser 不为空(status = 3),且订单已支付; | ||||||
|  |     // 10-取消支付:storeBargainUser 不为空(status = 3),取消支付;【可忽略】 | ||||||
|  |  | ||||||
|  |     // help 的情况; | ||||||
|  |     // 5-可以帮砍:和 3 对应; | ||||||
|  |     // 6-已帮砍:其他人的,有帮砍过; | ||||||
|  |     // 7-帮砍次数已满:其他人的,帮砍次数已满 | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV