From c137760697814b57c8ccb92cb1e0ed9d873f3045 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期四, 16 一月 2025 19:44:46 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/SeckillActivityInfoController.java | 69 +++++++++++++++++++++++++++++----- 1 files changed, 59 insertions(+), 10 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 50b09d0..d85091e 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 @@ -26,6 +26,7 @@ import javax.annotation.Resource; import java.time.LocalDateTime; import java.time.ZoneOffset; +import java.time.format.DateTimeFormatter; import java.util.List; /** @@ -63,8 +64,7 @@ @ApiOperation(value = "秒杀活动列表",tags = {"小程序-商城-首页","后台管理-活动管理-秒杀活动"}) public R<TableDataInfo> list(Goods goods) { - startPage(); - return R.ok(getDataTable(seckillActivityInfoService.listSeckillActivity(goods))); + return R.ok(seckillActivityInfoService.listSeckillActivity(goods)); } /** @@ -72,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)); } @@ -84,15 +84,63 @@ @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); + LocalDateTime endTime = one.getEndTime(); + // 转时间戳 + long timeStamp = endTime.toInstant(ZoneOffset.of("+8")).toEpochMilli(); + goodsSeckill.setEndTime(timeStamp); } return R.ok(goodsSeckill); + } + + public static void main(String[] args) { + // 创建 LocalDateTime 对象 + LocalDateTime localDateTime = LocalDateTime.of(2025, 1, 16, 9, 34, 55); + + // 转换为 UTC 时间戳(毫秒) + long l = localDateTime.toEpochSecond(ZoneOffset.UTC) * 1000; + System.out.println("UTC 时间戳: " + l); + + // 转换为 UTC+8 时间戳(毫秒) + long l2 = localDateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli(); + System.out.println("UTC+8 时间戳: " + l2); + + // 将时间戳转换为 yyyy-MM-dd HH:mm:ss 格式的字符串 + String utcTime = formatTimestamp(l, ZoneOffset.UTC); + String utcPlus8Time = formatTimestamp(l2, ZoneOffset.of("+8")); + + System.out.println("UTC 时间: " + utcTime); + System.out.println("UTC+8 时间: " + utcPlus8Time); + } + + /** + * 将时间戳转换为指定时区的 yyyy-MM-dd HH:mm:ss 格式字符串 + * + * @param timestamp 时间戳(毫秒) + * @param zoneOffset 时区偏移量 + * @return 格式化后的时间字符串 + */ + private static String formatTimestamp(long timestamp, ZoneOffset zoneOffset) { + return LocalDateTime.ofEpochSecond(timestamp / 1000, 0, zoneOffset) + .format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + } + + + + /** + * 获取商品秒杀活动 + * @param id + * @return + */ + @PostMapping("/getSeckillActivityInfoById") + public R<SeckillActivityInfo> getSeckillActivityInfoById(@RequestParam("id") Integer id){ + SeckillActivityInfo one = seckillActivityInfoService.getById(id); + return R.ok(one); } @@ -183,8 +231,9 @@ .set(SeckillActivityInfo::getIsShelves, seckillActivityVO.getShowStatus())); return R.ok(); } - - - + + + + } -- Gitblit v1.7.1