Commit 1871a01944a267254760e53a6d62271178352a8a
1 parent
16f2a5b9
fix:seckill:调整相关类属性和表字段对齐
Showing
17 changed files
with
49 additions
and
58 deletions
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityCreateReqVO.java
| ... | ... | @@ -16,6 +16,13 @@ import java.util.List; |
| 16 | 16 | @ToString(callSuper = true) |
| 17 | 17 | public class SeckillActivityCreateReqVO extends SeckillActivityBaseVO { |
| 18 | 18 | |
| 19 | + /** | |
| 20 | + * 秒杀活动商品 | |
| 21 | + */ | |
| 22 | + @Schema(description = "秒杀活动商品", example = "1") | |
| 23 | + @NotNull(message = "秒杀活动商品不能为空") | |
| 24 | + private Long spuId; | |
| 25 | + | |
| 19 | 26 | @Schema(description = "备注", example = "限时秒杀活动") |
| 20 | 27 | private String remark; |
| 21 | 28 | |
| ... | ... | @@ -25,7 +32,7 @@ public class SeckillActivityCreateReqVO extends SeckillActivityBaseVO { |
| 25 | 32 | |
| 26 | 33 | @Schema(description = "秒杀时段id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,3") |
| 27 | 34 | @NotEmpty(message = "参与场次不能为空") |
| 28 | - private List<Long> timeIds; | |
| 35 | + private List<Long> configIds; | |
| 29 | 36 | |
| 30 | 37 | /** |
| 31 | 38 | * 商品列表 | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityPageReqVO.java
| ... | ... | @@ -26,7 +26,7 @@ public class SeckillActivityPageReqVO extends PageParam { |
| 26 | 26 | private Integer status; |
| 27 | 27 | |
| 28 | 28 | @Schema(description = "秒杀时段id", example = "1") |
| 29 | - private Long timeId; | |
| 29 | + private Long configId; | |
| 30 | 30 | |
| 31 | 31 | @Schema(description = "创建时间") |
| 32 | 32 | @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityRespVO.java
| ... | ... | @@ -17,7 +17,7 @@ public class SeckillActivityRespVO extends SeckillActivityBaseVO { |
| 17 | 17 | @Schema(description = "秒杀活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 18 | 18 | private Long id; |
| 19 | 19 | |
| 20 | - @Schema(description = "付款订单数", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 20 | + @Schema(description = "新增订单数", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 21 | 21 | private Integer orderCount; |
| 22 | 22 | |
| 23 | 23 | @Schema(description = "付款人数", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| ... | ... | @@ -27,7 +27,7 @@ public class SeckillActivityRespVO extends SeckillActivityBaseVO { |
| 27 | 27 | private LocalDateTime createTime; |
| 28 | 28 | |
| 29 | 29 | @Schema(description = "秒杀时段id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,3") |
| 30 | - private List<Long> timeIds; | |
| 30 | + private List<Long> configIds; | |
| 31 | 31 | |
| 32 | 32 | @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 33 | 33 | private Integer sort; | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/activity/SeckillActivityUpdateReqVO.java
| ... | ... | @@ -29,7 +29,7 @@ public class SeckillActivityUpdateReqVO extends SeckillActivityBaseVO { |
| 29 | 29 | |
| 30 | 30 | @Schema(description = "秒杀时段id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,3") |
| 31 | 31 | @NotEmpty(message = "秒杀时段id不能为空") |
| 32 | - private List<Long> timeIds; | |
| 32 | + private List<Long> configIds; | |
| 33 | 33 | |
| 34 | 34 | /** |
| 35 | 35 | * 商品列表 | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/config/SeckillConfigBaseVO.java
| ... | ... | @@ -2,12 +2,8 @@ package cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config; |
| 2 | 2 | |
| 3 | 3 | import io.swagger.v3.oas.annotations.media.Schema; |
| 4 | 4 | import lombok.Data; |
| 5 | -import org.springframework.format.annotation.DateTimeFormat; | |
| 6 | 5 | |
| 7 | 6 | import javax.validation.constraints.NotNull; |
| 8 | -import java.time.LocalTime; | |
| 9 | - | |
| 10 | -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_HOUR_MINUTE_SECOND; | |
| 11 | 7 | |
| 12 | 8 | /** |
| 13 | 9 | * 秒杀时段 Base VO,提供给添加、修改、详细的子 VO 使用 |
| ... | ... | @@ -24,13 +20,11 @@ public class SeckillConfigBaseVO { |
| 24 | 20 | |
| 25 | 21 | @Schema(description = "开始时间点", requiredMode = Schema.RequiredMode.REQUIRED, example = "09:00:00") |
| 26 | 22 | @NotNull(message = "开始时间点不能为空") |
| 27 | - @DateTimeFormat(pattern = FORMAT_HOUR_MINUTE_SECOND) | |
| 28 | - private LocalTime startTime; | |
| 23 | + private String startTime; | |
| 29 | 24 | |
| 30 | 25 | @Schema(description = "结束时间点", requiredMode = Schema.RequiredMode.REQUIRED, example = "16:00:00") |
| 31 | 26 | @NotNull(message = "结束时间点不能为空") |
| 32 | - @DateTimeFormat(pattern = FORMAT_HOUR_MINUTE_SECOND) | |
| 33 | - private LocalTime endTime; | |
| 27 | + private String endTime; | |
| 34 | 28 | |
| 35 | 29 | @Schema(description = "秒杀主图", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn") |
| 36 | 30 | @NotNull(message = "秒杀主图不能为空") | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/seckill/vo/config/SeckillConfigPageReqVO.java
| ... | ... | @@ -5,9 +5,6 @@ import io.swagger.v3.oas.annotations.media.Schema; |
| 5 | 5 | import lombok.Data; |
| 6 | 6 | import lombok.EqualsAndHashCode; |
| 7 | 7 | import lombok.ToString; |
| 8 | -import org.springframework.format.annotation.DateTimeFormat; | |
| 9 | - | |
| 10 | -import java.time.LocalTime; | |
| 11 | 8 | |
| 12 | 9 | /** |
| 13 | 10 | * 管理后台 - 秒杀时段分页 Request VO |
| ... | ... | @@ -26,12 +23,4 @@ public class SeckillConfigPageReqVO extends PageParam { |
| 26 | 23 | @Schema(description = "状态", example = "0") |
| 27 | 24 | private Integer status; |
| 28 | 25 | |
| 29 | - @Schema(description = "开始时间点", example = "16:30:40") | |
| 30 | - @DateTimeFormat(pattern = "HH:mm:ss") | |
| 31 | - private LocalTime[] startTime; | |
| 32 | - | |
| 33 | - @Schema(description = "结束时间点", example = "16:30:40") | |
| 34 | - @DateTimeFormat(pattern = "HH:mm:ss") | |
| 35 | - private LocalTime[] endTime; | |
| 36 | - | |
| 37 | 26 | } | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/convert/seckill/seckillactivity/SeckillActivityConvert.java
| ... | ... | @@ -55,7 +55,7 @@ public interface SeckillActivityConvert { |
| 55 | 55 | return ObjectUtil.equals(productDO.getSpuId(), productVO.getSpuId()) |
| 56 | 56 | && ObjectUtil.equals(productDO.getSkuId(), productVO.getSkuId()) |
| 57 | 57 | && ObjectUtil.equals(productDO.getSeckillPrice(), productVO.getSeckillPrice()) |
| 58 | - && ObjectUtil.equals(productDO.getStock(), productVO.getStock()) | |
| 58 | + && ObjectUtil.equals(productDO.getQuota(), productVO.getQuota()) | |
| 59 | 59 | && ObjectUtil.equals(productDO.getLimitCount(), productVO.getLimitCount()); |
| 60 | 60 | } |
| 61 | 61 | |
| ... | ... | @@ -70,14 +70,14 @@ public interface SeckillActivityConvert { |
| 70 | 70 | return ObjectUtil.equals(productDO.getSpuId(), productVO.getSpuId()) |
| 71 | 71 | && ObjectUtil.equals(productDO.getSkuId(), productVO.getSkuId()) |
| 72 | 72 | && ObjectUtil.equals(productDO.getSeckillPrice(), productVO.getSeckillPrice()) |
| 73 | - && ObjectUtil.equals(productDO.getStock(), productVO.getStock()) | |
| 73 | + && ObjectUtil.equals(productDO.getQuota(), productVO.getQuota()) | |
| 74 | 74 | && ObjectUtil.equals(productDO.getLimitCount(), productVO.getLimitCount()); |
| 75 | 75 | |
| 76 | 76 | } |
| 77 | 77 | |
| 78 | 78 | default List<SeckillProductDO> convertList(List<SeckillActivityBaseVO.Product> products, SeckillActivityDO seckillActivity) { |
| 79 | 79 | return CollectionUtils.convertList(products, product -> convert(product) |
| 80 | - .setActivityId(seckillActivity.getId()).setTimeIds(seckillActivity.getTimeIds())); | |
| 80 | + .setActivityId(seckillActivity.getId()).setConfigIds(seckillActivity.getConfigIds())); | |
| 81 | 81 | } |
| 82 | 82 | |
| 83 | 83 | } | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/convert/seckill/seckillconfig/SeckillConfigConvert.java
| ... | ... | @@ -6,7 +6,6 @@ import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.Seck |
| 6 | 6 | import cn.iocoder.yudao.module.promotion.controller.admin.seckill.vo.config.SeckillConfigUpdateReqVO; |
| 7 | 7 | import cn.iocoder.yudao.module.promotion.dal.dataobject.seckill.seckillconfig.SeckillConfigDO; |
| 8 | 8 | import org.mapstruct.Mapper; |
| 9 | -import org.mapstruct.Mapping; | |
| 10 | 9 | import org.mapstruct.factory.Mappers; |
| 11 | 10 | |
| 12 | 11 | import java.util.List; |
| ... | ... | @@ -25,7 +24,6 @@ public interface SeckillConfigConvert { |
| 25 | 24 | |
| 26 | 25 | SeckillConfigDO convert(SeckillConfigUpdateReqVO bean); |
| 27 | 26 | |
| 28 | - @Mapping(target = "s") | |
| 29 | 27 | SeckillConfigRespVO convert(SeckillConfigDO bean); |
| 30 | 28 | |
| 31 | 29 | List<SeckillConfigRespVO> convertList(List<SeckillConfigDO> list); | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/seckill/seckillactivity/SeckillActivityDO.java
| ... | ... | @@ -32,12 +32,16 @@ public class SeckillActivityDO extends BaseDO { |
| 32 | 32 | @TableId |
| 33 | 33 | private Long id; |
| 34 | 34 | /** |
| 35 | + * 秒杀活动商品 | |
| 36 | + */ | |
| 37 | + private Long spuId; | |
| 38 | + /** | |
| 35 | 39 | * 秒杀活动名称 |
| 36 | 40 | */ |
| 37 | 41 | private String name; |
| 38 | 42 | /** |
| 39 | 43 | * 活动状态 |
| 40 | - * | |
| 44 | + * <p> | |
| 41 | 45 | * 枚举 {@link PromotionActivityStatusEnum 对应的类} |
| 42 | 46 | */ |
| 43 | 47 | private Integer status; |
| ... | ... | @@ -61,9 +65,9 @@ public class SeckillActivityDO extends BaseDO { |
| 61 | 65 | * 秒杀时段 id |
| 62 | 66 | */ |
| 63 | 67 | @TableField(typeHandler = LongListTypeHandler.class) |
| 64 | - private List<Long> timeIds; | |
| 68 | + private List<Long> configIds; | |
| 65 | 69 | /** |
| 66 | - * 付款订单数 | |
| 70 | + * 新增订单数 | |
| 67 | 71 | */ |
| 68 | 72 | private Integer orderCount; |
| 69 | 73 | /** | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/seckill/seckillactivity/SeckillProductDO.java
| ... | ... | @@ -21,6 +21,7 @@ import java.util.List; |
| 21 | 21 | @EqualsAndHashCode(callSuper = true) |
| 22 | 22 | @ToString(callSuper = true) |
| 23 | 23 | public class SeckillProductDO extends BaseDO { |
| 24 | + | |
| 24 | 25 | /** |
| 25 | 26 | * 秒杀参与商品编号 |
| 26 | 27 | */ |
| ... | ... | @@ -36,7 +37,7 @@ public class SeckillProductDO extends BaseDO { |
| 36 | 37 | * 秒杀时段id |
| 37 | 38 | */ |
| 38 | 39 | @TableField(typeHandler = LongListTypeHandler.class) |
| 39 | - private List<Long> timeIds; | |
| 40 | + private List<Long> configIds; | |
| 40 | 41 | |
| 41 | 42 | /** |
| 42 | 43 | * 商品id |
| ... | ... | @@ -53,9 +54,8 @@ public class SeckillProductDO extends BaseDO { |
| 53 | 54 | */ |
| 54 | 55 | private Integer seckillPrice; |
| 55 | 56 | |
| 56 | - // TODO @芋艿:改成 quota 限量库存;每次购买时,需要减小; | |
| 57 | 57 | /** |
| 58 | - * 秒杀库存 | |
| 58 | + * 秒杀库存 限量库存;每次购买时,需要减小; | |
| 59 | 59 | */ |
| 60 | 60 | private Integer quota; |
| 61 | 61 | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/seckill/seckillconfig/SeckillConfigDO.java
| ... | ... | @@ -9,8 +9,6 @@ import lombok.Data; |
| 9 | 9 | import lombok.EqualsAndHashCode; |
| 10 | 10 | import lombok.ToString; |
| 11 | 11 | |
| 12 | -import java.time.LocalTime; | |
| 13 | - | |
| 14 | 12 | /** |
| 15 | 13 | * 秒杀时段 DO |
| 16 | 14 | * |
| ... | ... | @@ -35,11 +33,11 @@ public class SeckillConfigDO extends BaseDO { |
| 35 | 33 | /** |
| 36 | 34 | * 开始时间点 |
| 37 | 35 | */ |
| 38 | - private LocalTime startTime; | |
| 36 | + private String startTime; | |
| 39 | 37 | /** |
| 40 | 38 | * 结束时间点 |
| 41 | 39 | */ |
| 42 | - private LocalTime endTime; | |
| 40 | + private String endTime; | |
| 43 | 41 | /** |
| 44 | 42 | * 秒杀主图 |
| 45 | 43 | */ | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/seckill/seckillactivity/SeckillActivityMapper.java
| ... | ... | @@ -20,7 +20,7 @@ public interface SeckillActivityMapper extends BaseMapperX<SeckillActivityDO> { |
| 20 | 20 | .likeIfPresent(SeckillActivityDO::getName, reqVO.getName()) |
| 21 | 21 | .eqIfPresent(SeckillActivityDO::getStatus, reqVO.getStatus()) |
| 22 | 22 | .betweenIfPresent(SeckillActivityDO::getCreateTime, reqVO.getCreateTime()) |
| 23 | - .apply(ObjectUtil.isNotNull(reqVO.getTimeId()),"FIND_IN_SET(" + reqVO.getTimeId() + ",time_ids) > 0") | |
| 23 | + .apply(ObjectUtil.isNotNull(reqVO.getConfigId()), "FIND_IN_SET(" + reqVO.getConfigId() + ",time_ids) > 0") | |
| 24 | 24 | .orderByDesc(SeckillActivityDO::getId)); |
| 25 | 25 | } |
| 26 | 26 | } | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/seckill/seckillactivity/SeckillProductMapper.java
| ... | ... | @@ -27,7 +27,7 @@ public interface SeckillProductMapper extends BaseMapperX<SeckillProductDO> { |
| 27 | 27 | |
| 28 | 28 | default void updateTimeIdsByActivityId(Long id, List<Long> timeIds) { |
| 29 | 29 | new LambdaUpdateChainWrapper<>(this) |
| 30 | - .set(SeckillProductDO::getTimeIds, CollUtil.join(timeIds, ",")) | |
| 30 | + .set(SeckillProductDO::getConfigIds, CollUtil.join(timeIds, ",")) | |
| 31 | 31 | .eq(SeckillProductDO::getActivityId, id) |
| 32 | 32 | .update(); |
| 33 | 33 | } | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/seckill/seckillconfig/SeckillConfigMapper.java
| ... | ... | @@ -36,8 +36,6 @@ public interface SeckillConfigMapper extends BaseMapperX<SeckillConfigDO> { |
| 36 | 36 | default PageResult<SeckillConfigDO> selectPage(SeckillConfigPageReqVO reqVO) { |
| 37 | 37 | return selectPage(reqVO, new LambdaQueryWrapperX<SeckillConfigDO>() |
| 38 | 38 | .likeIfPresent(SeckillConfigDO::getName, reqVO.getName()) |
| 39 | - .betweenIfPresent(SeckillConfigDO::getStartTime, reqVO.getStartTime()) | |
| 40 | - .betweenIfPresent(SeckillConfigDO::getEndTime, reqVO.getEndTime()) | |
| 41 | 39 | .eqIfPresent(SeckillConfigDO::getStatus, reqVO.getStatus()) |
| 42 | 40 | .orderByDesc(SeckillConfigDO::getId)); |
| 43 | 41 | } | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/seckill/seckillactivity/SeckillActivityServiceImpl.java
| ... | ... | @@ -47,7 +47,7 @@ public class SeckillActivityServiceImpl implements SeckillActivityService { |
| 47 | 47 | // 校验商品是否冲突 |
| 48 | 48 | validateSeckillActivityProductConflicts(null, createReqVO.getProducts()); |
| 49 | 49 | // 校验秒杀时段是否存在 |
| 50 | - seckillConfigService.validateSeckillConfigExists(createReqVO.getTimeIds()); | |
| 50 | + seckillConfigService.validateSeckillConfigExists(createReqVO.getConfigIds()); | |
| 51 | 51 | |
| 52 | 52 | // 插入秒杀活动 |
| 53 | 53 | SeckillActivityDO seckillActivity = SeckillActivityConvert.INSTANCE.convert(createReqVO) |
| ... | ... | @@ -57,7 +57,7 @@ public class SeckillActivityServiceImpl implements SeckillActivityService { |
| 57 | 57 | List<SeckillProductDO> productDOs = SeckillActivityConvert.INSTANCE.convertList(createReqVO.getProducts(), seckillActivity); |
| 58 | 58 | seckillProductMapper.insertBatch(productDOs); |
| 59 | 59 | // 更新秒杀时段的秒杀活动数量 |
| 60 | - seckillConfigService.seckillActivityCountIncr(createReqVO.getTimeIds()); | |
| 60 | + seckillConfigService.seckillActivityCountIncr(createReqVO.getConfigIds()); | |
| 61 | 61 | return seckillActivity.getId(); |
| 62 | 62 | } |
| 63 | 63 | |
| ... | ... | @@ -78,7 +78,7 @@ public class SeckillActivityServiceImpl implements SeckillActivityService { |
| 78 | 78 | // 更新商品 |
| 79 | 79 | updateSeckillProduct(updateReqVO); |
| 80 | 80 | // 更新秒杀时段的秒杀活动数量 |
| 81 | - updateSeckillConfigActivityCount(seckillActivity, updateReqVO.getTimeIds()); | |
| 81 | + updateSeckillConfigActivityCount(seckillActivity, updateReqVO.getConfigIds()); | |
| 82 | 82 | } |
| 83 | 83 | |
| 84 | 84 | /** |
| ... | ... | @@ -89,7 +89,7 @@ public class SeckillActivityServiceImpl implements SeckillActivityService { |
| 89 | 89 | */ |
| 90 | 90 | private void updateSeckillConfigActivityCount(SeckillActivityDO seckillActivity, List<Long> updateTimeIds) { |
| 91 | 91 | // 查询出 timeIds |
| 92 | - List<Long> existsTimeIds = seckillActivity.getTimeIds(); | |
| 92 | + List<Long> existsTimeIds = seckillActivity.getConfigIds(); | |
| 93 | 93 | // 需要减少的时间段 |
| 94 | 94 | Collection<Long> reduceIds = CollUtil.filterNew(existsTimeIds, existsTimeId -> !updateTimeIds.contains(existsTimeId)); |
| 95 | 95 | // 需要添加的时间段 |
| ... | ... | @@ -134,7 +134,7 @@ public class SeckillActivityServiceImpl implements SeckillActivityService { |
| 134 | 134 | } |
| 135 | 135 | |
| 136 | 136 | //全量更新当前活动商品的秒杀时段id列表(timeIds) |
| 137 | - seckillProductMapper.updateTimeIdsByActivityId(updateReqVO.getId(), updateReqVO.getTimeIds()); | |
| 137 | + seckillProductMapper.updateTimeIdsByActivityId(updateReqVO.getId(), updateReqVO.getConfigIds()); | |
| 138 | 138 | } |
| 139 | 139 | |
| 140 | 140 | /** |
| ... | ... | @@ -190,7 +190,7 @@ public class SeckillActivityServiceImpl implements SeckillActivityService { |
| 190 | 190 | throw exception(SECKILL_ACTIVITY_DELETE_FAIL_STATUS_NOT_CLOSED_OR_END); |
| 191 | 191 | } |
| 192 | 192 | // 更新秒杀时段的秒杀活动数量 |
| 193 | - seckillConfigService.seckillActivityCountDecr(seckillActivity.getTimeIds()); | |
| 193 | + seckillConfigService.seckillActivityCountDecr(seckillActivity.getConfigIds()); | |
| 194 | 194 | // 删除 |
| 195 | 195 | seckillActivityMapper.deleteById(id); |
| 196 | 196 | } | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/seckill/seckillconfig/SeckillConfigServiceImpl.java
| ... | ... | @@ -36,7 +36,8 @@ public class SeckillConfigServiceImpl implements SeckillConfigService { |
| 36 | 36 | @Override |
| 37 | 37 | public Long createSeckillConfig(SeckillConfigCreateReqVO createReqVO) { |
| 38 | 38 | // 校验时间段是否冲突 |
| 39 | - validateSeckillConfigConflict(null, createReqVO.getStartTime(), createReqVO.getEndTime()); | |
| 39 | + //validateSeckillConfigConflict(null, createReqVO.getStartTime(), createReqVO.getEndTime()); | |
| 40 | + | |
| 40 | 41 | // 插入 |
| 41 | 42 | SeckillConfigDO seckillConfig = SeckillConfigConvert.INSTANCE.convert(createReqVO); |
| 42 | 43 | seckillConfigMapper.insert(seckillConfig); |
| ... | ... | @@ -49,7 +50,8 @@ public class SeckillConfigServiceImpl implements SeckillConfigService { |
| 49 | 50 | // 校验存在 |
| 50 | 51 | this.validateSeckillConfigExists(updateReqVO.getId()); |
| 51 | 52 | // 校验时间段是否冲突 |
| 52 | - validateSeckillConfigConflict(updateReqVO.getId(), updateReqVO.getStartTime(), updateReqVO.getEndTime()); | |
| 53 | + //validateSeckillConfigConflict(updateReqVO.getId(), updateReqVO.getStartTime(), updateReqVO.getEndTime()); | |
| 54 | + | |
| 53 | 55 | // 更新 |
| 54 | 56 | SeckillConfigDO updateObj = SeckillConfigConvert.INSTANCE.convert(updateReqVO); |
| 55 | 57 | seckillConfigMapper.updateById(updateObj); |
| ... | ... | @@ -77,6 +79,7 @@ public class SeckillConfigServiceImpl implements SeckillConfigService { |
| 77 | 79 | */ |
| 78 | 80 | private void validateSeckillConfigConflict(Long id, LocalTime startTime, LocalTime endTime) { |
| 79 | 81 | //查询开始时间,结束时间,是否在别人的时间段内 |
| 82 | + // TODO 为什么要检查这个时间段是否冲突 比如早上 09:00:00 - 10:00:00 我再添加一个 09:00:00 - 09:30:00 不可以这样吗? | |
| 80 | 83 | List<SeckillConfigDO> startTimeList = seckillConfigMapper.selectListByTime(startTime); |
| 81 | 84 | List<SeckillConfigDO> endTimeList = seckillConfigMapper.selectListByTime(endTime); |
| 82 | 85 | //查询自己时间段内是否有时间段 | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/test/java/cn/iocoder/yudao/module/promotion/service/seckillactivity/SeckillActivityServiceImplTest.java
| ... | ... | @@ -108,7 +108,7 @@ public class SeckillActivityServiceImplTest extends BaseDbUnitTest { |
| 108 | 108 | SeckillActivityDO dbSeckillActivity = randomPojo(SeckillActivityDO.class, o -> { // 等会查询到 |
| 109 | 109 | o.setName(null); |
| 110 | 110 | o.setStatus(null); |
| 111 | - o.setTimeIds(null); | |
| 111 | + o.setConfigIds(null); | |
| 112 | 112 | o.setCreateTime(null); |
| 113 | 113 | }); |
| 114 | 114 | seckillActivityMapper.insert(dbSeckillActivity); |
| ... | ... | @@ -117,15 +117,15 @@ public class SeckillActivityServiceImplTest extends BaseDbUnitTest { |
| 117 | 117 | // 测试 status 不匹配 |
| 118 | 118 | seckillActivityMapper.insert(cloneIgnoreId(dbSeckillActivity, o -> o.setStatus(null))); |
| 119 | 119 | // 测试 timeId 不匹配 |
| 120 | - seckillActivityMapper.insert(cloneIgnoreId(dbSeckillActivity, o -> o.setTimeIds(null))); | |
| 120 | + seckillActivityMapper.insert(cloneIgnoreId(dbSeckillActivity, o -> o.setConfigIds(null))); | |
| 121 | 121 | // 测试 createTime 不匹配 |
| 122 | 122 | seckillActivityMapper.insert(cloneIgnoreId(dbSeckillActivity, o -> o.setCreateTime(null))); |
| 123 | 123 | // 准备参数 |
| 124 | 124 | SeckillActivityPageReqVO reqVO = new SeckillActivityPageReqVO(); |
| 125 | 125 | reqVO.setName(null); |
| 126 | - reqVO.setStatus(null); | |
| 127 | - reqVO.setTimeId(null); | |
| 128 | - reqVO.setCreateTime((new LocalDateTime[]{})); | |
| 126 | + reqVO.setStatus(null); | |
| 127 | + reqVO.setConfigId(null); | |
| 128 | + reqVO.setCreateTime((new LocalDateTime[]{})); | |
| 129 | 129 | |
| 130 | 130 | // 调用 |
| 131 | 131 | PageResult<SeckillActivityDO> pageResult = seckillActivityService.getSeckillActivityPage(reqVO); |
| ... | ... | @@ -142,7 +142,7 @@ public class SeckillActivityServiceImplTest extends BaseDbUnitTest { |
| 142 | 142 | SeckillActivityDO dbSeckillActivity = randomPojo(SeckillActivityDO.class, o -> { // 等会查询到 |
| 143 | 143 | o.setName(null); |
| 144 | 144 | o.setStatus(null); |
| 145 | - o.setTimeIds(null); | |
| 145 | + o.setConfigIds(null); | |
| 146 | 146 | o.setCreateTime(null); |
| 147 | 147 | }); |
| 148 | 148 | seckillActivityMapper.insert(dbSeckillActivity); |
| ... | ... | @@ -151,7 +151,7 @@ public class SeckillActivityServiceImplTest extends BaseDbUnitTest { |
| 151 | 151 | // 测试 status 不匹配 |
| 152 | 152 | seckillActivityMapper.insert(cloneIgnoreId(dbSeckillActivity, o -> o.setStatus(null))); |
| 153 | 153 | // 测试 timeId 不匹配 |
| 154 | - seckillActivityMapper.insert(cloneIgnoreId(dbSeckillActivity, o -> o.setTimeIds(null))); | |
| 154 | + seckillActivityMapper.insert(cloneIgnoreId(dbSeckillActivity, o -> o.setConfigIds(null))); | |
| 155 | 155 | // 测试 createTime 不匹配 |
| 156 | 156 | seckillActivityMapper.insert(cloneIgnoreId(dbSeckillActivity, o -> o.setCreateTime(null))); |
| 157 | 157 | // 准备参数 | ... | ... |