From e058a649d8f6c78afd8f73d157058d5106aa6925 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期一, 13 一月 2025 19:47:10 +0800 Subject: [PATCH] 12.18 --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/SeckillActivityInfoController.java | 47 ++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 40 insertions(+), 7 deletions(-) diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/SeckillActivityInfoController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/SeckillActivityInfoController.java index 07e9282..5e750ee 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/SeckillActivityInfoController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/SeckillActivityInfoController.java @@ -14,6 +14,7 @@ import com.ruoyi.other.api.vo.GetSeckillActivityInfo; import com.ruoyi.other.mapper.SeckillActivityInfoMapper; import com.ruoyi.other.service.GoodsSeckillService; +import com.ruoyi.other.service.GoodsService; import com.ruoyi.other.service.SeckillActivityInfoService; import com.ruoyi.other.vo.SeckillActivityDetailVO; import com.ruoyi.other.vo.SeckillActivityVO; @@ -23,6 +24,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.time.ZoneOffset; import java.util.List; @@ -46,6 +48,9 @@ @Resource private SeckillActivityInfoMapper seckillActivityInfoMapper; + + @Resource + private GoodsService goodsService; @@ -67,9 +72,9 @@ */ @GetMapping("/detail/{id}") @ApiOperation(value = "秒杀活动详情", tags = {"小程序-商城-首页"}) - public R<SeckillActivityDetailVO> detail(@PathVariable("id") Integer id) + public R<SeckillActivityDetailVO> detail(@PathVariable("id") Integer id, String latitude, String longitude) { - return R.ok(seckillActivityInfoService.detail(id)); + return R.ok(seckillActivityInfoService.detail(id, latitude, longitude)); } @@ -79,15 +84,27 @@ @PostMapping("/getSeckillActivityInfo") public R<GoodsSeckill> getSeckillActivityInfo(@RequestBody GetSeckillActivityInfo info){ SeckillActivityInfo one = seckillActivityInfoService.getOne(new LambdaQueryWrapper<SeckillActivityInfo>().eq(SeckillActivityInfo::getGoodId, info.getGoodsId()) - .eq(SeckillActivityInfo::getDelFlag, 0).last(" and now() between start_time and end_time order by create_time limit 0,1")); + .eq(SeckillActivityInfo::getDelFlag, 0).eq(SeckillActivityInfo::getIsShelves, 1).last(" and now() between start_time and end_time order by create_time limit 0,1")); if(null == one){ return R.ok(); } - GoodsSeckill goodsSeckill = goodsSeckillService.getOne(new LambdaQueryWrapper<GoodsSeckill>().eq(GoodsSeckill::getSeckillActivityInfoId, one.getGoodId()).eq(GoodsSeckill::getVip, info.getVip())); + GoodsSeckill goodsSeckill = goodsSeckillService.getOne(new LambdaQueryWrapper<GoodsSeckill>().eq(GoodsSeckill::getSeckillActivityInfoId, one.getId()).eq(GoodsSeckill::getVip, info.getVip())); if(null != goodsSeckill){ goodsSeckill.setEndTime(one.getEndTime().toEpochSecond(ZoneOffset.UTC) * 1000); } return R.ok(goodsSeckill); + } + + + /** + * 获取商品秒杀活动 + * @param id + * @return + */ + @PostMapping("/getSeckillActivityInfoById") + public R<SeckillActivityInfo> getSeckillActivityInfoById(@RequestParam("id") Integer id){ + SeckillActivityInfo one = seckillActivityInfoService.getById(id); + return R.ok(one); } @@ -101,6 +118,18 @@ Goods goods) { IPage<SeckillActivityVO> IPage = seckillActivityInfoMapper.querySeckillActivity(Page.of(pageNum, pageSize), goods); + for (SeckillActivityVO record : IPage.getRecords()) { + LocalDateTime startTime = record.getStartTime(); + LocalDateTime now = LocalDateTime.now(); + LocalDateTime endTime = record.getEndTime(); + if (endTime.isBefore(now)){ + record.setStatus(3); //已结束 + }else if (startTime.isBefore(now)){ + record.setStatus(2); // 已开始 + }else { + record.setStatus(1); // 未开始 + } + } return R.ok(IPage); } @@ -148,6 +177,9 @@ List<GoodsSeckill> goodsSeckills = goodsSeckillService.list(new LambdaQueryWrapper<GoodsSeckill>() .eq(GoodsSeckill::getSeckillActivityInfoId, id)); seckillActivityInfo.setGoodsSeckills(goodsSeckills); + Integer goodId = seckillActivityInfo.getGoodId(); + Goods goods = goodsService.getById(goodId); + seckillActivityInfo.setGoods(goods); return R.ok(seckillActivityInfo); } @@ -163,8 +195,9 @@ .set(SeckillActivityInfo::getIsShelves, seckillActivityVO.getShowStatus())); return R.ok(); } - - - + + + + } -- Gitblit v1.7.1