Commit fa87c65e authored by 邓吉芬's avatar 邓吉芬

1.添加活动有效期

parent ad147fb5
package com.miya.draw.entity;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
......@@ -11,6 +12,7 @@ import org.springframework.beans.factory.annotation.Value;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**
* @author :djf
......@@ -30,6 +32,9 @@ public class Activity implements Serializable {
@ApiModelProperty(value = "活动名称")
private String name;
@ApiModelProperty(value = "有效状态")
private Integer validStatus;
@ApiModelProperty(value = "抽奖方式 1满额抽奖 2足量抽奖")
private Integer raffle;
......@@ -55,10 +60,10 @@ public class Activity implements Serializable {
private Integer activityStoreStatus;
@ApiModelProperty(value = "开始时间")
private LocalDateTime startTime;
private Date startTime;
@ApiModelProperty(value = "结束时间")
private LocalDateTime endTime;
private Date endTime;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
......
package com.miya.draw.enums;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author :djf
* @date :2022-11-14
* @description:活动状态
*/
@Getter
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public enum ValidStatusEnum {
/**
* 成功
*/
VALID(1, "有效"),
/**
* 失败
*/
INVALID(0, "无效");
private final Integer code;
private final String name;
}
......@@ -61,6 +61,7 @@ public class DrawManagerImpl implements IDrawManager {
private IPrizeService prizeService;
@Autowired
private IOtherManager otherManager;
@Autowired
......@@ -194,10 +195,14 @@ public class DrawManagerImpl implements IDrawManager {
lock.tryLock(5, 10, TimeUnit.SECONDS);
//1 判断活动是否有效
Activity activity = activityService.getById(activityId);
if(LocalDateTime.now().isBefore(activity.getStartTime())){
if(activity == null){
throw new BusinessException(ErrorEnum.DRAW_CHECK_EXP, "活动不存在或已失效");
}
Date now = new Date();
if(now.before(activity.getStartTime())){
throw new BusinessException(ErrorEnum.DRAW_CHECK_EXP, "抱歉,抽奖活动还未开始!");
}
if(LocalDateTime.now().isAfter(activity.getEndTime())){
if(now.after(activity.getEndTime())){
throw new BusinessException(ErrorEnum.DRAW_CHECK_EXP, "抱歉,抽奖活动已经结束!");
}
// 2 验证是否可以抽奖
......
......@@ -3,6 +3,7 @@ package com.miya.draw.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.miya.draw.entity.Activity;
import com.miya.draw.enums.ValidStatusEnum;
import com.miya.draw.mapper.ActivityMapper;
import com.miya.draw.service.IActivityService;
import org.springframework.stereotype.Service;
......@@ -21,6 +22,9 @@ public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> i
@Override
public Activity getById(Long id) {
return baseMapper.selectById(id);
LambdaQueryWrapper<Activity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Activity::getValidStatus, ValidStatusEnum.VALID.getCode());
wrapper.eq(Activity::getId,id);
return baseMapper.selectOne(wrapper);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment