From fdf1301244fbef26a934dcef08cd2bc20eba56fc Mon Sep 17 00:00:00 2001 From: haotian <2421912570@qq.com> Date: Tue, 1 Apr 2025 11:33:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9--=E6=94=AF=E4=BB=98=E5=9B=9E?= =?UTF-8?q?=E8=B0=83=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=89=A9=E4=BD=99=E6=97=B6=E9=97=B4=E5=AD=97=E7=AC=A6=E4=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/app/AppSystemController.java | 40 ++++++++++++++++++- .../system/domain/dto/SysOrderPayBackDto.java | 17 ++++++++ .../mapper/system/SysOrderMapper.xml | 3 +- 3 files changed, 58 insertions(+), 2 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppSystemController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppSystemController.java index f83769bb..4a92e0e3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppSystemController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppSystemController.java @@ -36,6 +36,7 @@ import com.ruoyi.web.controller.app.baidu.OcrIdCardBAI; //import com.ruoyi.web.controller.app.pay.PayService; import com.ruoyi.web.controller.backstage.BackstageController; import javafx.scene.chart.StackedAreaChart; +import java.time.Duration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -2186,14 +2187,51 @@ public class AppSystemController extends BaseController { @GetMapping("/getSystemOrder/{orderId}") public AjaxResult getSystemOrder(@PathVariable("orderId") Long orderId) { + Long userId = getUserId(); SysOrderPayBackDto sysOrderPayBackDto = sysOrderService.getSysOrderPayBackDto(orderId); if(sysOrderPayBackDto != null){ + + if(!sysOrderPayBackDto.getUserId().equals(userId)){ + return error("请不要查看不是自己的订单"); + } + + + sysOrderPayBackDto.setPayTime(sysOrderPayBackDto.getCreateTime()); String c_x = String.format("%02d", sysOrderPayBackDto.getC_x()); String c_y = String.format("%02d", sysOrderPayBackDto.getC_y()); sysOrderPayBackDto.setArLocation(sysOrderPayBackDto.getPart()+c_x+c_y); LocalDateTime now = LocalDateTime.now(); - sysOrderPayBackDto.setRemainTime(Math.max(ChronoUnit.SECONDS.between(now, sysOrderPayBackDto.getEndTime()), 0)); + Duration duration = Duration.between(now, sysOrderPayBackDto.getEndTime()); + boolean isNegative = duration.isNegative(); + + // 分解单位(同上) + long days = duration.toDays(); + long hours = duration.toHours() % 24; + long minutes = duration.toMinutes() % 60; + long seconds = duration.getSeconds() % 60; + + String s = "剩余"; + if (days > 0){ + s = s + days + "天"; + } + if (hours > 0){ + s = s + hours + "小时"; + } + if (minutes > 0){ + s = s + minutes + "分"; + } + if (seconds > 0){ + s = s + seconds + "秒"; + } + + if (s.equals("剩余")){ + s = "订单已结束展示"; + } + + + sysOrderPayBackDto.setRemainTimeString(s); + return success(sysOrderPayBackDto); } return error("获取订单详情失败"); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/SysOrderPayBackDto.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/SysOrderPayBackDto.java index b8d7f2e7..5a5d0e67 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/SysOrderPayBackDto.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/SysOrderPayBackDto.java @@ -5,6 +5,7 @@ import java.time.LocalDateTime; public class SysOrderPayBackDto { private Long orderId; + private Long userId; private String orderInfoId; private LocalDateTime createTime; private LocalDateTime payTime; @@ -15,6 +16,7 @@ public class SysOrderPayBackDto { private int c_x; private int c_y; private Long remainTime; + private String remainTimeString; public Long getOrderId() { return orderId; @@ -24,6 +26,14 @@ public class SysOrderPayBackDto { this.orderId = orderId; } + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + public String getOrderInfoId() { return orderInfoId; } @@ -103,6 +113,13 @@ public class SysOrderPayBackDto { public void setRemainTime(Long remainTime) { this.remainTime = remainTime; } + public String getRemainTimeString() { + return remainTimeString; + } + + public void setRemainTimeString(String remainTimeString) { + this.remainTimeString = remainTimeString; + } } diff --git a/ruoyi-system/src/main/resources/mapper/system/SysOrderMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysOrderMapper.xml index baa586ed..5fe0fd48 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysOrderMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysOrderMapper.xml @@ -69,6 +69,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -139,7 +140,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where status = '1' and create_time = #{date} and delete_flag = '0'