mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-07-25 00:15:06 +08:00
fix: 完善拼团、秒杀、砍价活动管理
This commit is contained in:
@ -0,0 +1,23 @@
|
||||
package cn.iocoder.yudao.module.promotion.api.bargain;
|
||||
|
||||
import cn.iocoder.yudao.module.promotion.api.bargain.dto.BargainRecordCreateReqDTO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
// TODO @芋艿:后面也再撸撸这几个接口
|
||||
|
||||
/**
|
||||
* 砍价记录 API 接口
|
||||
*
|
||||
* @author HUIHUI
|
||||
*/
|
||||
public interface BargainRecordApi {
|
||||
|
||||
/**
|
||||
* 创建开团记录
|
||||
*
|
||||
* @param reqDTO 请求 DTO
|
||||
*/
|
||||
void createRecord(@Valid BargainRecordCreateReqDTO reqDTO);
|
||||
|
||||
}
|
@ -0,0 +1,79 @@
|
||||
package cn.iocoder.yudao.module.promotion.api.bargain.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
// TODO @芋艿:这块要在看看
|
||||
|
||||
/**
|
||||
* 砍价记录的创建 Request DTO
|
||||
*
|
||||
* @author HUIHUI
|
||||
*/
|
||||
@Data
|
||||
public class BargainRecordCreateReqDTO {
|
||||
|
||||
/**
|
||||
* 砍价活动编号
|
||||
*/
|
||||
@NotNull(message = "砍价活动编号不能为空")
|
||||
private Long activityId;
|
||||
/**
|
||||
* spu 编号
|
||||
*/
|
||||
@NotNull(message = "spu 编号不能为空")
|
||||
private Long spuId;
|
||||
/**
|
||||
* sku 编号
|
||||
*/
|
||||
@NotNull(message = "sku 编号不能为空")
|
||||
private Long skuId;
|
||||
/**
|
||||
* 用户编号
|
||||
*/
|
||||
@NotNull(message = "用户编号不能为空")
|
||||
private Long userId;
|
||||
/**
|
||||
* 订单编号
|
||||
*/
|
||||
@NotNull(message = "订单编号不能为空")
|
||||
private Long orderId;
|
||||
/**
|
||||
* 商品名字
|
||||
*/
|
||||
@NotEmpty(message = "商品名字不能为空")
|
||||
private String spuName;
|
||||
/**
|
||||
* 商品图片
|
||||
*/
|
||||
@NotEmpty(message = "商品图片不能为空")
|
||||
private String picUrl;
|
||||
/**
|
||||
* 砍价商品单价
|
||||
*/
|
||||
@NotNull(message = "砍价底价不能为空")
|
||||
private Integer bargainPrice;
|
||||
/**
|
||||
* 商品原价,单位分
|
||||
*/
|
||||
@NotNull(message = "商品原价不能为空")
|
||||
private Integer price;
|
||||
/**
|
||||
* 用户昵称
|
||||
*/
|
||||
@NotEmpty(message = "用户昵称不能为空")
|
||||
private String nickname;
|
||||
/**
|
||||
* 用户头像
|
||||
*/
|
||||
@NotEmpty(message = "用户头像不能为空")
|
||||
private String avatar;
|
||||
/**
|
||||
* 开团状态:进行中 砍价成功 砍价失败
|
||||
*/
|
||||
@NotNull(message = "开团状态不能为空")
|
||||
private Integer status;
|
||||
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
package cn.iocoder.yudao.module.promotion.api.combination;
|
||||
|
||||
/**
|
||||
* 拼团活动 API 接口
|
||||
*
|
||||
* @author HUIHUI
|
||||
*/
|
||||
public interface CombinationActivityApi {
|
||||
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
package cn.iocoder.yudao.module.promotion.api.combination;
|
||||
|
||||
import cn.iocoder.yudao.module.promotion.api.combination.dto.CombinationRecordCreateReqDTO;
|
||||
import cn.iocoder.yudao.module.promotion.api.combination.dto.CombinationRecordUpdateReqDTO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
@ -17,7 +18,7 @@ public interface CombinationRecordApi {
|
||||
*
|
||||
* @param reqDTO 请求 DTO
|
||||
*/
|
||||
void createCombinationRecord(@Valid CombinationRecordCreateReqDTO reqDTO);
|
||||
void createRecord(@Valid CombinationRecordCreateReqDTO reqDTO);
|
||||
|
||||
/**
|
||||
* 查询拼团记录是否成功
|
||||
@ -26,25 +27,13 @@ public interface CombinationRecordApi {
|
||||
* @param orderId 订单编号
|
||||
* @return 拼团是否成功
|
||||
*/
|
||||
boolean isCombinationRecordSuccess(Long userId, Long orderId);
|
||||
boolean isRecordSuccess(Long userId, Long orderId);
|
||||
|
||||
// TODO @puhui999:updateRecordStatus 和 updateRecordStatusAndStartTime 看看后续是不是可以统一掉;
|
||||
/**
|
||||
* 更新开团记录状态
|
||||
*
|
||||
* @param userId 用户编号
|
||||
* @param orderId 订单编号
|
||||
* @param status 状态值
|
||||
* @param reqDTO 请求 DTO
|
||||
*/
|
||||
void updateCombinationRecordStatus(Long userId, Long orderId, Integer status);
|
||||
|
||||
/**
|
||||
* 更新开团记录状态和开始时间
|
||||
*
|
||||
* @param userId 用户编号
|
||||
* @param orderId 订单编号
|
||||
* @param status 状态值
|
||||
*/
|
||||
void updateCombinationRecordStatusAndStartTime(Long userId, Long orderId, Integer status);
|
||||
void updateRecordStatus(CombinationRecordUpdateReqDTO reqDTO);
|
||||
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ public class CombinationRecordCreateReqDTO {
|
||||
@NotEmpty(message = "用户头像不能为空")
|
||||
private String avatar;
|
||||
/**
|
||||
* 开团状态:正在开团 拼团成功 拼团失败 TODO 等待支付
|
||||
* 开团状态:正在开团 拼团成功 拼团失败
|
||||
*/
|
||||
@NotNull(message = "开团状态不能为空")
|
||||
private Integer status;
|
||||
|
@ -0,0 +1,39 @@
|
||||
package cn.iocoder.yudao.module.promotion.api.combination.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 拼团记录的更新 Request DTO
|
||||
*
|
||||
* @author HUIHUI
|
||||
*/
|
||||
@Data
|
||||
public class CombinationRecordUpdateReqDTO {
|
||||
|
||||
/**
|
||||
* 用户编号
|
||||
*/
|
||||
@NotNull(message = "用户编号不能为空")
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 订单编号
|
||||
*/
|
||||
@NotNull(message = "订单编号不能为空")
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 开团状态:正在开团 拼团成功 拼团失败
|
||||
*/
|
||||
@NotNull(message = "开团状态不能为空")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 团开始时间
|
||||
*/
|
||||
private LocalDateTime startTime;
|
||||
|
||||
}
|
@ -16,10 +16,9 @@ import java.util.Arrays;
|
||||
@Getter
|
||||
public enum CombinationRecordStatusEnum implements IntArrayValuable {
|
||||
|
||||
WAITING(0, "未付款"),
|
||||
IN_PROGRESS(1, "进行中"),
|
||||
SUCCESS(2, "拼团成功"),
|
||||
FAILED(3, "拼团失败");
|
||||
IN_PROGRESS(0, "进行中"),
|
||||
SUCCESS(1, "拼团成功"),
|
||||
FAILED(2, "拼团失败");
|
||||
|
||||
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(CombinationRecordStatusEnum::getStatus).toArray();
|
||||
|
||||
|
Reference in New Issue
Block a user