36 lines
1.4 KiB
Java
36 lines
1.4 KiB
Java
package com.peanut.modules.mq.Consumer;
|
|
|
|
import com.peanut.config.DelayQueueConfig;
|
|
import com.peanut.modules.common.dao.UserCourseBuyDao;
|
|
import com.peanut.modules.common.entity.UserCourseBuyEntity;
|
|
import org.apache.commons.lang.time.DateUtils;
|
|
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
//购买的课程到期操作
|
|
@Component
|
|
public class CourseConsumer {
|
|
|
|
@Autowired
|
|
private UserCourseBuyDao userCourseBuyDao;
|
|
|
|
@RabbitListener(queues = DelayQueueConfig.COURSE_QUEUE)
|
|
public void courseConsumer(String userCourseBuyId) {
|
|
UserCourseBuyEntity userCourseBuyEntity = userCourseBuyDao.selectById(userCourseBuyId);
|
|
if (userCourseBuyEntity!=null){
|
|
if (userCourseBuyEntity.getStartTime()==null) {
|
|
//未开始学习,超过一年自动开始
|
|
userCourseBuyEntity.setStartTime(DateUtils.addYears(userCourseBuyEntity.getCreateTime(),1));
|
|
userCourseBuyEntity.setEndTime(DateUtils.addDays(userCourseBuyEntity.getStartTime(),userCourseBuyEntity.getDays()));
|
|
userCourseBuyDao.updateById(userCourseBuyEntity);
|
|
}else {
|
|
//结束时间,过期删除
|
|
userCourseBuyDao.deleteById(userCourseBuyEntity.getId());
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|