!27 fix seckill error
Merge pull request !27 from OceansDeep/feature/pg
This commit is contained in:
commit
13c5ceea96
@ -4,6 +4,8 @@ import cn.lili.modules.promotion.entity.dos.Seckill;
|
|||||||
import cn.lili.modules.promotion.entity.dos.SeckillApply;
|
import cn.lili.modules.promotion.entity.dos.SeckillApply;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.ToString;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -13,7 +15,9 @@ import java.util.List;
|
|||||||
* @author paulG
|
* @author paulG
|
||||||
* @since 2020/8/20
|
* @since 2020/8/20
|
||||||
**/
|
**/
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
|
@ToString(callSuper = true)
|
||||||
public class SeckillVO extends Seckill {
|
public class SeckillVO extends Seckill {
|
||||||
|
|
||||||
private static final long serialVersionUID = 2891461638257152270L;
|
private static final long serialVersionUID = 2891461638257152270L;
|
||||||
|
@ -391,11 +391,13 @@ public class PromotionServiceImpl implements PromotionService {
|
|||||||
this.throwPromotionException(promotionTypeEnum, promotionMessage.getPromotionId(), promotionMessage.getPromotionStatus());
|
this.throwPromotionException(promotionTypeEnum, promotionMessage.getPromotionId(), promotionMessage.getPromotionStatus());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (seckill.getEndTime() == null) {
|
||||||
|
seckill.setEndTime(DateUtil.endOfDay(seckill.getStartTime()));
|
||||||
|
}
|
||||||
//修改活动状态
|
//修改活动状态
|
||||||
seckill.setPromotionStatus(promotionMessage.getPromotionStatus());
|
seckill.setPromotionStatus(promotionMessage.getPromotionStatus());
|
||||||
result = this.seckillService.update(updateWrapper(promotionMessage));
|
result = this.seckillService.update(updateWrapper(promotionMessage));
|
||||||
|
log.info("更新限时抢购活动状态:{}", seckill);
|
||||||
//判断参与活动的商品是否为空,如果为空则返回
|
//判断参与活动的商品是否为空,如果为空则返回
|
||||||
if (seckill.getSeckillApplyList() == null) {
|
if (seckill.getSeckillApplyList() == null) {
|
||||||
return result;
|
return result;
|
||||||
@ -428,6 +430,7 @@ public class PromotionServiceImpl implements PromotionService {
|
|||||||
seckill1.setStartTime(parseStartTime);
|
seckill1.setStartTime(parseStartTime);
|
||||||
//当时商品的秒杀活动活动结束时间为下个时间段的开始
|
//当时商品的秒杀活动活动结束时间为下个时间段的开始
|
||||||
seckill1.setEndTime(parseEndTime);
|
seckill1.setEndTime(parseEndTime);
|
||||||
|
log.info("更新限时抢购商品状态:{}", seckill1);
|
||||||
this.goodsIndexService.updateEsGoodsIndex(seckillApply.getSkuId(), seckill1, promotionTypeEnum.name() + "-" + seckillApply.getTimeLine(), seckillApply.getPrice());
|
this.goodsIndexService.updateEsGoodsIndex(seckillApply.getSkuId(), seckill1, promotionTypeEnum.name() + "-" + seckillApply.getTimeLine(), seckillApply.getPrice());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -240,6 +240,9 @@ public class SeckillServiceImpl extends ServiceImpl<SeckillMapper, Seckill> impl
|
|||||||
@Override
|
@Override
|
||||||
public void openSeckill(String id) {
|
public void openSeckill(String id) {
|
||||||
SeckillVO seckillVO = checkSeckillExist(id);
|
SeckillVO seckillVO = checkSeckillExist(id);
|
||||||
|
if (seckillVO.getEndTime() == null) {
|
||||||
|
seckillVO.setEndTime(cn.hutool.core.date.DateUtil.endOfDay(seckillVO.getStartTime()));
|
||||||
|
}
|
||||||
PromotionTools.checkPromotionTime(seckillVO.getStartTime().getTime(), seckillVO.getEndTime().getTime());
|
PromotionTools.checkPromotionTime(seckillVO.getStartTime().getTime(), seckillVO.getEndTime().getTime());
|
||||||
if (PromotionStatusEnum.NEW.name().equals(seckillVO.getPromotionStatus()) || PromotionStatusEnum.CLOSE.name().equals(seckillVO.getPromotionStatus())) {
|
if (PromotionStatusEnum.NEW.name().equals(seckillVO.getPromotionStatus()) || PromotionStatusEnum.CLOSE.name().equals(seckillVO.getPromotionStatus())) {
|
||||||
LambdaUpdateWrapper<Seckill> updateWrapper = new LambdaUpdateWrapper<Seckill>().eq(Seckill::getId, id).set(Seckill::getPromotionStatus, PromotionStatusEnum.START.name());
|
LambdaUpdateWrapper<Seckill> updateWrapper = new LambdaUpdateWrapper<Seckill>().eq(Seckill::getId, id).set(Seckill::getPromotionStatus, PromotionStatusEnum.START.name());
|
||||||
|
@ -437,6 +437,10 @@ public class EsGoodsIndexServiceImpl extends BaseElasticsearchService implements
|
|||||||
* @param promotion 活动
|
* @param promotion 活动
|
||||||
*/
|
*/
|
||||||
private void updateGoodsIndexPromotion(EsGoodsIndex goodsIndex, String key, BasePromotion promotion) {
|
private void updateGoodsIndexPromotion(EsGoodsIndex goodsIndex, String key, BasePromotion promotion) {
|
||||||
|
log.info("修改商品活动索引");
|
||||||
|
log.info("商品索引: {}", goodsIndex);
|
||||||
|
log.info("关键字: {}", key);
|
||||||
|
log.info("活动: {}", promotion);
|
||||||
Map<String, Object> promotionMap;
|
Map<String, Object> promotionMap;
|
||||||
//数据非空处理,如果空给一个新的信息
|
//数据非空处理,如果空给一个新的信息
|
||||||
if (goodsIndex.getPromotionMap() == null || goodsIndex.getPromotionMap().isEmpty()) {
|
if (goodsIndex.getPromotionMap() == null || goodsIndex.getPromotionMap().isEmpty()) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user