小班进入考试周修改
优惠券修改
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
package com.peanut.modules.job.task;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.peanut.common.utils.DateUtils;
|
||||
import com.peanut.config.DelayQueueConfig;
|
||||
import com.peanut.modules.common.dao.CouponDao;
|
||||
import com.peanut.modules.common.dao.CouponHistoryDao;
|
||||
import com.peanut.modules.common.entity.CouponEntity;
|
||||
import com.peanut.modules.common.entity.CouponHistory;
|
||||
import org.springframework.amqp.AmqpException;
|
||||
import org.springframework.amqp.core.Message;
|
||||
import org.springframework.amqp.core.MessagePostProcessor;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Component("couponEffectTask")
|
||||
public class CouponEffectTask implements ITask{
|
||||
|
||||
@Autowired
|
||||
private CouponHistoryDao couponHistoryDao;
|
||||
@Autowired
|
||||
private RabbitTemplate rabbitTemplate;
|
||||
|
||||
@Override
|
||||
public void run(String params) {
|
||||
List<CouponHistory> classEntities = couponHistoryDao.selectList(new LambdaQueryWrapper<CouponHistory>()
|
||||
.eq(CouponHistory::getStatus,0)
|
||||
.ne(CouponHistory::getEffectType,0));
|
||||
for (CouponHistory couponHistory : classEntities) {
|
||||
Date endTime = couponHistory.getEndTime();
|
||||
if (endTime.getTime()<=new Date().getTime()){
|
||||
//优惠券到期
|
||||
couponHistory.setStatus(2);
|
||||
couponHistoryDao.updateById(couponHistory);
|
||||
}else if (DateUtils.format(endTime).equals(DateUtils.format(new Date()))) {
|
||||
//优惠券到期时间是当天
|
||||
rabbitTemplate.convertAndSend(
|
||||
DelayQueueConfig.COMMON_EXCHANGE,
|
||||
DelayQueueConfig.COMMON_ROUTING_KEY,
|
||||
"couponExpire"+","+couponHistory.getId(),
|
||||
new MessagePostProcessor() {
|
||||
@Override
|
||||
public Message postProcessMessage(Message message) throws AmqpException {
|
||||
message.getMessageProperties().setDelay((int)(endTime.getTime()-new Date().getTime()));
|
||||
return message;
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user