From c10b1e130ccbc94e6481a43e8e2d35cfc8fcf83b Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期五, 26 十二月 2025 18:05:06 +0800
Subject: [PATCH] feat:显示问题

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/SysTaskController.java |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/SysTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/SysTaskController.java
index 3260878..e41be20 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/SysTaskController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/SysTaskController.java
@@ -193,6 +193,30 @@
     public AjaxResult appAdd(@RequestBody TaskCreateVO createVO) {
         return toAjax(sysTaskService.insertSysTask(createVO));
     }
+    
+    /**
+     * 妫�鏌ヤ换鍔℃槸鍚﹂噸澶嶏紙鏍规嵁鑱旂郴浜虹數璇濆拰鍒涘缓鏃ユ湡锛�
+     * @param phone 鑱旂郴浜虹數璇�
+     * @param createDate 浠诲姟鍒涘缓鏃ユ湡锛堟牸寮忥細YYYY-MM-DD锛�
+     * @return 鏄惁瀛樺湪閲嶅浠诲姟
+     */
+    @GetMapping("/checkDuplicate")
+    public AjaxResult checkDuplicate(
+            @RequestParam("phone") String phone,
+            @RequestParam("createDate") String createDate) {
+        
+        if (StringUtils.isEmpty(phone) || StringUtils.isEmpty(createDate)) {
+            return AjaxResult.error("鍙傛暟涓嶈兘涓虹┖");
+        }
+        
+        boolean isDuplicate = sysTaskService.checkTaskDuplicate(phone, createDate);
+        
+        if (isDuplicate) {
+            return AjaxResult.error("璇ヨ仈绯荤數璇濆湪璇ユ棩鏈熷凡鏈変换鍔★紝涓嶈兘閲嶅鎻愪氦");
+        }
+        
+        return AjaxResult.success("鏈彂鐜伴噸澶嶄换鍔�");
+    }
 
     /**
      * 淇敼浠诲姟锛堝悗鍙扮鐞嗙锛�
@@ -275,6 +299,11 @@
         TaskStatus newStatus = TaskStatus.getByCode(request.getTaskStatus());
         if (newStatus == null) {
             return error("鏃犳晥鐨勪换鍔$姸鎬�");
+        }
+        
+        // 濡傛灉鏄彇娑堢姸鎬侊紝淇濆瓨鍙栨秷鍘熷洜
+        if (newStatus == TaskStatus.CANCELLED && StringUtils.isNotEmpty(request.getCancelReason())) {
+            sysTaskService.saveCancelInfo(taskId, request.getCancelReason());
         }
         
         // 濡傛灉鍖呭惈GPS浣嶇疆淇℃伅锛屼娇鐢ㄥ甫浣嶇疆鐨勬柟娉�
@@ -430,6 +459,9 @@
         private Double altitude;
         private Double speed;
         private Double heading;
+        
+        // 鍙栨秷鐩稿叧瀛楁
+        private String cancelReason;  // 鍙栨秷鍘熷洜锛堝叧鑱旀暟鎹瓧鍏竧ask_cancel_reason锛�
 
         public String getTaskStatus() {
             return taskStatus;
@@ -526,5 +558,13 @@
         public void setHeading(Double heading) {
             this.heading = heading;
         }
+
+        public String getCancelReason() {
+            return cancelReason;
+        }
+
+        public void setCancelReason(String cancelReason) {
+            this.cancelReason = cancelReason;
+        }
     }
 }

--
Gitblit v1.9.1