From 392b42c4891cf2e6beda57ab32c51598f290f4b7 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 14 三月 2025 20:56:27 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillAppointmentServiceImpl.java | 42 +++++++++++++++++++++++++++++++++++++++++- 1 files changed, 41 insertions(+), 1 deletions(-) diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillAppointmentServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillAppointmentServiceImpl.java index e5ac7ec..bc5f212 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillAppointmentServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillAppointmentServiceImpl.java @@ -1,11 +1,23 @@ package com.ruoyi.goods.service.impl; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.goods.domain.GoodsSeckillAppointment; import com.ruoyi.goods.mapper.GoodsSeckillAppointmentMapper; +import com.ruoyi.goods.mapper.GoodsSeckillMapper; import com.ruoyi.goods.service.IGoodsSeckillAppointmentService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.api.constants.DelayTaskEnum; +import com.ruoyi.system.api.domain.DelayTask; +import com.ruoyi.system.api.domain.GoodsSeckill; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; +import com.ruoyi.system.api.feignClient.SysUserClient; +import java.time.Duration; +import java.time.LocalDateTime; +import java.util.concurrent.TimeUnit; +import javax.annotation.Resource; import org.springframework.stereotype.Service; /** @@ -18,13 +30,41 @@ */ @Service public class GoodsSeckillAppointmentServiceImpl extends ServiceImpl<GoodsSeckillAppointmentMapper, GoodsSeckillAppointment> implements IGoodsSeckillAppointmentService { + @Resource + private GoodsSeckillMapper goodsSeckillMapper; + @Resource + private SysUserClient sysUserClient; + @Resource + private RedisService redisService; @Override public R goodsSeckillAppointment(HomeGoodsSkuDTO homeGoodsSkuDTO) { + + + GoodsSeckill byId = goodsSeckillMapper.selectById(homeGoodsSkuDTO.getGoodsSkuId()); + + DelayTask delayTask = new DelayTask(); + delayTask.setDelFlag(0); + delayTask.setCreateTime(LocalDateTime.now()); + delayTask.setExecuteTime(byId.getStartTime().minusMinutes(30)); + delayTask.setRedisKey(DelayTaskEnum.AUTOMATIC_CANCEL.getCode() + "-" + byId.getId()); + sysUserClient.addDelayTask(delayTask, SecurityConstants.INNER); + + Duration duration = Duration.between(LocalDateTime.now(), byId.getStartTime().minusMinutes(30)); + try { + redisService.setCacheObject( + DelayTaskEnum.AUTOMATIC_CANCEL.getCode() + "-" + byId.getId(), + byId.getStartTime().minusMinutes(30), duration.getSeconds(), TimeUnit.SECONDS); + }catch (Exception e){ + + } + GoodsSeckillAppointment goodsSeckillAppointment=new GoodsSeckillAppointment(); goodsSeckillAppointment.setGoodsSeckillId(homeGoodsSkuDTO.getGoodsSkuId()); goodsSeckillAppointment.setMemberId(homeGoodsSkuDTO.getMemberId()); + goodsSeckillAppointment.setFormId(homeGoodsSkuDTO.getFormId()); this.save(goodsSeckillAppointment); + return R.ok(); } } -- Gitblit v1.7.1