yanghui
2022-11-28 42521c9b51c1bd9a40036f18fd610cd46601222d
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/message/RaffleMessage.java
@@ -26,7 +26,7 @@
 */
@Component
public class RaffleMessage {
    public static final String DELAYED_QUEUE="raffle.queue";
    public static final String DELAYED_QUEUE="huacheng.raffle.queue";
    @Resource
    private ComActRaffleDao comActRaffleDao;
@@ -38,7 +38,7 @@
    private RabbitTemplate rabbitTemplate;
    @RabbitListener(queues=DELAYED_QUEUE)
    public void doRaffle(ComActRaffleVO comActRaffleVO){
    public void doRaffle(ComActRaffle comActRaffleVO){
        ComActRaffle comActRaffle=comActRaffleDao.selectOne(new QueryWrapper<ComActRaffle>().lambda().eq(ComActRaffle::getId,comActRaffleVO.getId()));
        if(comActRaffle!=null&&comActRaffle.getStatus()==2&&comActRaffle.getLotteryTime().before(new Date())){
            List<ComActRafflePrize> comActRafflePrizeList=comActRafflePrizeDao.selectList(new QueryWrapper<ComActRafflePrize>().lambda().eq(ComActRafflePrize::getRaffleId,comActRaffleVO.getId()));
@@ -66,11 +66,15 @@
            }
            comActRaffle.setStatus(3);
            comActRaffleDao.updateById(comActRaffle);
            rabbitTemplate.convertAndSend("huacheng.raffle.exchange", "huacheng.raffle.key", comActRaffleVO, message -> {
                message.getMessageProperties().setHeader("x-delay", dateToSecond(comActRaffle.getRaffleStopTime()));
                return message;
            });
        }
        if(comActRaffle!=null&&comActRaffle.getStatus()==0&&comActRaffle.getStartTime().before(new Date())){
            comActRaffle.setStatus(1);
            comActRaffleDao.updateById(comActRaffle);
            rabbitTemplate.convertAndSend("raffle.exchange", "raffle.key", comActRaffleVO, message -> {
            rabbitTemplate.convertAndSend("huacheng.raffle.exchange", "huacheng.raffle.key", comActRaffleVO, message -> {
                message.getMessageProperties().setHeader("x-delay", dateToSecond(comActRaffle.getStopTime()));
                return message;
            });
@@ -78,11 +82,14 @@
        if(comActRaffle!=null&&comActRaffle.getStatus()==1&&comActRaffle.getStopTime().before(new Date())){
            comActRaffle.setStatus(2);
            comActRaffleDao.updateById(comActRaffle);
            rabbitTemplate.convertAndSend("raffle.exchange", "raffle.key", comActRaffleVO, message -> {
            rabbitTemplate.convertAndSend("huacheng.raffle.exchange", "huacheng.raffle.key", comActRaffleVO, message -> {
                message.getMessageProperties().setHeader("x-delay", dateToSecond(comActRaffle.getLotteryTime()));
                return message;
            });
        }
        if(comActRaffle!=null&&comActRaffle.getStatus()==3&&comActRaffle.getRaffleStopTime().before(new Date())){
            comActRaffleRecordDao.updateStatusByRaffleId(comActRaffle.getId());
        }
    }
    private Long dateToSecond(Date expireTime){
        return DateUtil.between(new Date(),expireTime, DateUnit.MS);