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 | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 51 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 42dd314..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,9 +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; /** @@ -16,5 +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