From 82f707ece09a906007f3d760b6bb025896e3bba6 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 22 四月 2026 15:39:36 +0800
Subject: [PATCH] 门店

---
 server/services/src/main/java/com/doumee/core/constants/Constants.java |   80 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 78 insertions(+), 2 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/core/constants/Constants.java b/server/services/src/main/java/com/doumee/core/constants/Constants.java
index ac995a0..c0e59b4 100644
--- a/server/services/src/main/java/com/doumee/core/constants/Constants.java
+++ b/server/services/src/main/java/com/doumee/core/constants/Constants.java
@@ -102,6 +102,7 @@
     public static final int ORDER_LOG_CANCEL = 4;           // 鍙栨秷璁㈠崟
     public static final int ORDER_LOG_CONFIRM_ARRIVE = 5;   // 纭椤惧鍒板簵
     public static final int ORDER_LOG_DRIVER_PICKUP = 6;    // 鍙告満瀹屾垚鍙栦欢
+    public static final int ORDER_LOG_DRIVER_DELIVER = 7;  // 鍙告満纭閫佽揪
 
     public static final String SUCCESS = "SUCCESS";
     public static final String FAIL = "FAIL";
@@ -369,9 +370,16 @@
             return null;
         }
 
-        public static String getDescByKey(int index) {
+        public static String getDescByKey(int index,int type) {
             for (OrderStatus c : OrderStatus.values()) {
                 if (c.getKey() == index) {
+                    if (c.getKey() == 5) {
+                        if(Constants.equalsInteger(type,Constants.ZERO)){
+                            return "寰呭彇浠�";
+                        }else{
+                            return Constants.equalsInteger(type,Constants.ONE)?"宸插埌搴�":"宸查�佽揪";
+                        }
+                    }
                     return c.getValue();
                 }
             }
@@ -390,7 +398,9 @@
         waitDeliver(2, "寰呴厤閫�", new int[]{OrderStatus.accepted.status}),
         waitReceive(3, "寰呮敹璐�", new int[]{ OrderStatus.delivering.status, OrderStatus.arrived.status}),
         finished(4, "宸插畬鎴�", new int[]{OrderStatus.finished.status}),
-        refund(5, "閫�娆�", new int[]{OrderStatus.closed.status, OrderStatus.cancelling.status})
+        refund(5, "閫�娆�", new int[]{OrderStatus.closed.status, OrderStatus.cancelling.status}),
+        home(6, "棣栭〉鏌ヨ", new int[]{OrderStatus.waitPay.status, OrderStatus.waitDeposit.status, OrderStatus.deposited.status
+                , OrderStatus.accepted.status, OrderStatus.delivering.status, OrderStatus.arrived.status})
         ;
         private final int key;
         private final String desc;
@@ -400,6 +410,37 @@
             for (OrderCombinedStatus c : OrderCombinedStatus.values()) {
                 if (c.getKey() == key) {
                     return c;
+                }
+            }
+            return null;
+        }
+    }
+
+    /**
+     * 棣栭〉璁㈠崟鐘舵�佹彁绀烘灇涓�
+     * status: 璁㈠崟鐘舵�佸��
+     * desc: 鐘舵�佹弿杩�
+     * tipTemplate: 鎻愮ず鏂囨妯℃澘锛屽崰浣嶇鐢� {xxx} 琛ㄧず
+     */
+    @Getter
+    @AllArgsConstructor
+    public enum OrderStatusTip {
+        waitPay(0, "寰呮敮浠�", "璇峰湪{timeout}鍒嗛挓鍐呭畬鎴愭敮浠橈紝瓒呮椂璁㈠崟灏嗚嚜鍔ㄥ彇娑�"),
+        waitDeposit(1, "寰呭瘎瀛�", "璁㈠崟宸叉敮浠橈紝璇峰墠寰�闂ㄥ簵瀵勫瓨"),
+        deposited(2, "宸插瘎瀛�", null), // 灏卞湴/寮傚湴鏂囨涓嶅悓锛屽姩鎬佸鐞�
+        accepted(3, "宸叉帴鍗�", "宸叉湁鍙告満鎶㈠崟锛屾鍓嶅線鍙栦欢鍦扮偣"),
+        delivering(4, "娲鹃�佷腑", "鍙告満宸插彇浠讹紝姝h繍寰�鐩殑鍦�"),
+        arrived(5, "寰呭彇浠�", null), // 灏卞湴/寮傚湴/鏈夋棤鍙栦欢闂ㄥ簵鏂囨涓嶅悓锛屽姩鎬佸鐞�
+        ;
+
+        private final int status;
+        private final String desc;
+        private final String tipTemplate;
+
+        public static OrderStatusTip getByStatus(int status) {
+            for (OrderStatusTip t : OrderStatusTip.values()) {
+                if (t.status == status) {
+                    return t;
                 }
             }
             return null;
@@ -483,6 +524,41 @@
     }
 
     /**
+     * 鍙告満璁㈠崟绔欏唴淇¢�氱煡鏋氫妇
+     * title: 閫氱煡鏍囬
+     * content: 閫氱煡鏂囨妯℃澘锛屽崰浣嶇鐢� {xxx} 琛ㄧず
+     */
+    @Getter
+    @AllArgsConstructor
+    public enum DriverOrderNotify {
+        WAIT_DELIVER("waitDeliver", "璁㈠崟寰呴厤閫�", "鎮ㄥ凡鎶㈠崟鎴愬姛锛岃鍗曪細{orderNo}璇锋寜鏃跺埌{shopName}鍙栦欢"),
+        DELIVERING("delivering", "閰嶉�佷腑", "琛屾潕璁㈠崟锛歿orderNo}宸插彇浠讹紝姝e湪閰嶉�佷腑锛岃鎸夋椂閫佽揪"),
+        ARRIVED("arrived", "宸查�佽揪", "琛屾潕璁㈠崟锛歿orderNo}宸查�佽揪{destination},璇疯仈绯荤敤鎴风‘璁ょ鏀�"),
+        FINISHED("finished", "璁㈠崟宸插畬鎴�", "琛屾潕璁㈠崟锛歿orderNo}宸插畬鎴愶紝鐩稿叧璁㈠崟缁撶畻浼氬湪{settleDays}涓伐浣滄棩鍐呯粨绠�"),
+        EVALUATED("evaluated", "璁㈠崟宸茶瘎浠�", "琛屾潕璁㈠崟锛歿orderNo}鐢ㄦ埛宸插畬鎴愯瘎浠凤紝鍙墠寰�璁㈠崟鏌ョ湅璇勪环鍐呭"),
+        REFUNDING("refunding", "閫�娆句腑", "琛屾潕璁㈠崟锛歿orderNo}鐢ㄦ埛宸叉彁浜ら��娆剧敵璇凤紝璇ヨ鍗曚换鍔″凡鍙栨秷锛岃鍕垮墠寰�銆�"),
+        SETTLED("settled", "璁㈠崟宸茬粨绠�", "琛屾潕璁㈠崟锛歿orderNo}骞冲彴宸插畬鎴愮粨绠楋紝閲戦涓簕amount}鍏冿紝璇锋敞鎰忔煡鏀躲��"),
+        CANCELLED("cancelled", "璁㈠崟鍙栨秷鎴愬姛", "琛屾潕璁㈠崟锛歿orderNo}宸插府鎮ㄥ彇娑堬紝鎮ㄤ粖鏃ヨ繕鍙富鍔ㄥ彇娑坽cancelLimit}娆¤鍗曪紝璇峰悎鐞嗗畨鎺掓帴鍗曘��")
+        ;
+
+        private final String key;
+        private final String title;
+        private final String content;
+
+        /**
+         * 鏍煎紡鍖栭�氱煡鍐呭
+         * @param params 閿�煎锛屽 "orderNo","123" 浜ゆ浛浼犲叆
+         */
+        public String format(String... params) {
+            String result = this.content;
+            for (int i = 0; i < params.length - 1; i += 2) {
+                result = result.replace("{" + params[i] + "}", params[i + 1]);
+            }
+            return result;
+        }
+    }
+
+    /**
      * 寰楀埌request瀵硅薄
      *
      * @return

--
Gitblit v1.9.3