From b5ee0c2205ed57cbd9d11726186a6131fd3bd802 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期一, 12 一月 2026 17:41:55 +0800
Subject: [PATCH] feat(user):用户端扫码下单相关

---
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/CrossCityShiftController.java |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/CrossCityShiftController.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/CrossCityShiftController.java
index 9170dc4..5ca674c 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/CrossCityShiftController.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/CrossCityShiftController.java
@@ -1,9 +1,12 @@
 package com.stylefeng.guns.modular.crossCity.controller;
 
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
 import com.stylefeng.guns.modular.crossCity.server.ILineShiftDriverService;
 import com.stylefeng.guns.modular.crossCity.warpper.DriverShiftListWarpper;
 import com.stylefeng.guns.modular.system.service.IDriverService;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
+import com.stylefeng.guns.modular.system.util.SystemException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -15,6 +18,8 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 
 /**
  * 【202601】城际专线排班控制器
@@ -49,6 +54,10 @@
             if (null == driverId) {
                 return ResultUtil.tokenErr();
             }
+            ResultUtil<DriverShiftListWarpper> driverShiftListWarpperResultUtil = validateDate(date);
+            if (driverShiftListWarpperResultUtil.getCode().equals(ResultUtil.ERROR)) {
+                return driverShiftListWarpperResultUtil;
+            }
             DriverShiftListWarpper result = lineShiftDriverService.queryDriverShiftList(driverId, date);
             return ResultUtil.success(result);
         } catch (Exception e) {
@@ -56,4 +65,28 @@
             return ResultUtil.runErr();
         }
     }
+
+    /**
+     * 验证日期有效性
+     * @param dateStr
+     * @return
+     */
+    public ResultUtil<DriverShiftListWarpper> validateDate(String dateStr) {
+        // 解析日期
+        Date targetDate = DateUtil.parse(dateStr, "yyyy-MM-dd");
+        Date today = DateUtil.beginOfDay(new Date());  // 今天 00:00:00
+
+        // 1. 不能是今天之前的日期
+        if (targetDate.before(today)) {
+            return ResultUtil.error("日期不能早于今天");
+        }
+
+        // 2. 必须在7天内(包含今天,即今天 + 6天)
+        long daysBetween = DateUtil.between(today, targetDate, DateUnit.DAY);
+
+        if (daysBetween > 6) {  // 今天是第1天,所以差值最大为6
+            return ResultUtil.error("只能查询7天内的排班信息");
+        }
+        return ResultUtil.success();
+    }
 }

--
Gitblit v1.7.1