From 45e02578775f7e05e41923af4294c3617e26bd13 Mon Sep 17 00:00:00 2001
From: wzp <2040239371@qq.com>
Date: 星期日, 04 五月 2025 18:58:50 +0800
Subject: [PATCH] feat: 优化匿名,和详情页

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java     |   16 ++++----
 sql/SqlServer.A_OrderStatus.sql                                                       |   22 +++++++++++
 ruoyi-ui/src/views/system/order/detail.vue                                            |   23 ++++++++---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ServiceOrderController.java |   47 +++++++++++++++++++----
 ruoyi-ui/src/api/system/order.js                                                      |    9 ++--
 5 files changed, 90 insertions(+), 27 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ServiceOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ServiceOrderController.java
index cddada2..ce9308b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ServiceOrderController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ServiceOrderController.java
@@ -91,10 +91,14 @@
      * 鏍规嵁鏈嶅姟璁㈠崟缂栧彿鑾峰彇璇︾粏淇℃伅
      */
 
-    @Anonymous
+    @Anonymous(needSign = true)
     @GetMapping(value = "/{serviceOrdId}")
     public AjaxResult getInfo(@PathVariable Long serviceOrdId) {
         TbOrders orderDetail = tbOrdersService.selectTbOrdersByOrderID(serviceOrdId);
+
+        if(orderDetail==null){
+            return AjaxResult.error("璁㈠崟涓嶅瓨鍦�");
+        }
 
         //鏌ヨ鏈嶅姟鍗�
         ServiceOrder mingServiceOrder = serviceOrderService.selectServiceOrderById(Long.valueOf(orderDetail.getServiceOrdID()));
@@ -260,9 +264,16 @@
         medicalInfo.put("useVentilator", useVentilator);
 
 
-        //鏀粯淇℃伅
-//        List<PayInfo> payInfoList = payInfoService.selectPayInfoByServiceOrdIDDt(orderDetail.getServiceOrdID()); //姝e紡浣跨敤
-        List<PayInfo> payInfoList = payInfoService.selectPayInfoByServiceOrdIDDt("1016302788");//娴嬭瘯浣跨敤
+        List<PayInfo> payInfoList = new ArrayList<>();
+        if(serviceOrdId==88801)
+        {
+            //娴嬭瘯鏁版嵁
+            payInfoList = payInfoService.selectPayInfoByServiceOrdIDDt("1016302788");//娴嬭瘯浣跨敤
+        }
+        else{
+            payInfoList = payInfoService.selectPayInfoByServiceOrdIDDt(orderDetail.getServiceOrdID()); //姝e紡浣跨敤
+        }
+
 
         //鍏朵粬淇℃伅
         Map<String, Object> otherInfo = new HashMap<>();
@@ -270,14 +281,32 @@
         otherInfo.put("serviceOrdVisit", Objects.toString(mingServiceOrder.getServiceOrdVisit(), "-"));
 
         //鐭ユ儏鍚屾剰涔�
-        // List<String> imageUrls = dispatchOrdService.selectImageUrlsByDOrdIDDt(orderDetail.getServiceOrdID());  //姝e紡浣跨敤
         List<String> imageUrls = new ArrayList<>();//娴嬭瘯浣跨敤
-        imageUrls.add("https://sys.966120.com.cn/upload/202505/3016127678_3VhEv_VVql2K6eM9tS9uXgKv8fm7vaKtrSFCiP0SraTgz2qe1isgvIuUrqSNv-XgEvdC5kFUxeyrn_wz8Mfc2Sg.jpg");
-        imageUrls.add("https://sys.966120.com.cn/upload/202505/3016127678_3cDOPpqc_fzEJ-dHz8lq5aIx3tsnmEtossC6F5VCi2vj6sBwkuzOx4g1RcsWnQ3XNua7COADksYI1rHnbizccOw.jpg");
-        otherInfo.put("imageUrls", imageUrls);
+
+        if(serviceOrdId==88801)
+        {
+            //娴嬭瘯鏁版嵁  
+            imageUrls.add("https://sys.966120.com.cn/upload/202505/3016127678_3VhEv_VVql2K6eM9tS9uXgKv8fm7vaKtrSFCiP0SraTgz2qe1isgvIuUrqSNv-XgEvdC5kFUxeyrn_wz8Mfc2Sg.jpg");
+            imageUrls.add("https://sys.966120.com.cn/upload/202505/3016127678_3cDOPpqc_fzEJ-dHz8lq5aIx3tsnmEtossC6F5VCi2vj6sBwkuzOx4g1RcsWnQ3XNua7COADksYI1rHnbizccOw.jpg");
+            otherInfo.put("imageUrls", imageUrls);
+        }
+        else{
+            imageUrls = dispatchOrdService.selectImageUrlsByDOrdIDDt(orderDetail.getServiceOrdID());  //姝e紡浣跨敤
+            otherInfo.put("imageUrls", imageUrls);
+        }
 
         //鍙戠エ鑾峰彇
-        Map<String, Object> invoiceInfo = payInfoService.selectLatestInvoiceInfo("1016302788");
+        Map<String, Object> invoiceInfo = new HashMap<>();
+
+        if(serviceOrdId==88801)
+        {
+            //娴嬭瘯鏁版嵁
+            invoiceInfo = payInfoService.selectLatestInvoiceInfo("1016302788");
+        }
+        else{
+            invoiceInfo = payInfoService.selectLatestInvoiceInfo(orderDetail.getServiceOrdID()); //姝e紡浣跨敤
+        }
+
         String invoiceStatus = "";
         if (invoiceInfo != null && invoiceInfo.get("AuditStatus") != null) {
             switch (String.valueOf(invoiceInfo.get("AuditStatus"))) {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java
index 96ff5a2..5f0b743 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java
@@ -186,18 +186,18 @@
         model.setPtName(tbOrders.getPatientName()); // 鎮h�呭鍚�
         model.setPtAge(tbOrders.getAge()); // 闅忔満鐢熸垚鎮h�呭勾榫�
         model.setPtSex(tbOrders.getSex() == 1 ? "鐢�" : "濂�"); // 闅忔満鐢熸垚鎮h�呮�у埆
-//        model.setPtNat("涓浗"); // 璁剧疆鎮h�呭浗绫�
+//        model.setPtNat("涓浗"); // 璁剧疆鎮h�呭浗绫�--榛樿涓浗锛屼笉闇�瑕佽缃�
         model.setOutHosp(tbOrders.getLocalAddress()); // 璁剧疆杞嚭鍖婚櫌
         model.setInHosp(tbOrders.getSendAddress()); // 璁剧疆杞叆鍖婚櫌
-//        model.setPtServices("绉戝" + (int) (Math.random() * 10)); // 闅忔満璁剧疆鎮h�呮墍鍦ㄧ瀹�
+//        model.setPtServices("绉戝")); // 璁剧疆鎮h�呮墍鍦ㄧ瀹�
         model.setPtDiagnosis(tbOrders.getComplaint()); // 璁剧疆璇婃柇淇℃伅
         model.setCondition(tbOrders.getRemark()); // 璁剧疆澶囨敞淇℃伅
-//        model.setDoctor("鍖荤敓" + (int) (Math.random() * 10)); // 闅忔満璁剧疆鎮h�呭尰鐢�
-//        model.setDoctorPhone("13" + (int) (Math.random() * 900000000 + 100000000)); // 闅忔満鐢熸垚鎮h�呭尰鐢熺數璇�
-        model.setOfferPrice(tbOrders.getBookingPrice().doubleValue()); // 闅忔満鐢熸垚鎶ヤ环
-//        model.setReferrals("鎺ㄤ粙浜�" + (int) (Math.random() * 10)); // 闅忔満璁剧疆鎺ㄤ粙浜轰俊鎭�
-//        model.setUnitRemarks("鍟嗘埛闅忔満澶囨敞淇℃伅"); // 闅忔満璁剧疆鍟嗘埛澶囨敞
-//        model.setPayQRcodeURL("https://example.com/qrcode/" + (int) (Math.random() * 100)); // 闅忔満鐢熸垚澶栭儴鏀粯浜岀淮鐮侀摼鎺�
+//        model.setDoctor("鍖荤敓")); // 璁剧疆鎮h�呭尰鐢�--娌℃湁鍖荤敓淇℃伅
+//        model.setDoctorPhone("")); // 璁剧疆鎮h�呭尰鐢熺數璇�--娌℃湁鍖荤敓鐢佃瘽
+        model.setOfferPrice(tbOrders.getBookingPrice().doubleValue()); // 鎶ヤ环
+//        model.setReferrals("鎺ㄤ粙浜�")); // 璁剧疆鎺ㄤ粙浜轰俊鎭�--娌℃湁鎺ㄤ粙浜轰俊鎭�
+//        model.setUnitRemarks("鍟嗘埛澶囨敞淇℃伅"); // 璁剧疆鍟嗘埛澶囨敞--娌℃湁鍟嗘埛澶囨敞
+//        model.setPayQRcodeURL("https://example.com/qrcode/")); // 澶栭儴鏀粯浜岀淮鐮侀摼鎺�--鐢ㄤ笉鍒�
 
         ServiceOrderAppResultVo result = ServiceOrderUtil.CreateServiceOrder(model);
 
diff --git a/ruoyi-ui/src/api/system/order.js b/ruoyi-ui/src/api/system/order.js
index c055a8e..9d3cfc1 100644
--- a/ruoyi-ui/src/api/system/order.js
+++ b/ruoyi-ui/src/api/system/order.js
@@ -61,10 +61,11 @@
   })
 }
 
-// 鏌ヨ璁㈠崟璇︽儏
-export function getOrderDetail(orderId) {
+// 鏌ヨ璁㈠崟璇︾粏
+export function getOrderDetail(orderId, params) {
   return request({
     url: '/system/order/' + orderId,
-    method: 'get'
+    method: 'get',
+    params: params
   })
-} 
\ No newline at end of file
+}
diff --git a/ruoyi-ui/src/views/system/order/detail.vue b/ruoyi-ui/src/views/system/order/detail.vue
index faf6639..b100207 100644
--- a/ruoyi-ui/src/views/system/order/detail.vue
+++ b/ruoyi-ui/src/views/system/order/detail.vue
@@ -45,10 +45,10 @@
             <div slot="header"><b>鏈嶅姟瑕佹眰</b></div>
             <el-descriptions :column="1" border>
               <el-descriptions-item label="鍑哄彂鍦�">{{ serviceInfo.startAddress }}</el-descriptions-item>
-              <el-descriptions-item label="鍑哄彂鍦颁綅缃�">{{ serviceInfo.startLocation }}</el-descriptions-item>
+              <!-- <el-descriptions-item label="鍑哄彂鍦颁綅缃�">{{ serviceInfo.startLocation }}</el-descriptions-item> -->
               <el-descriptions-item label="鐩殑鍦�">{{ serviceInfo.endAddress }}</el-descriptions-item>
-              <el-descriptions-item label="鐩殑鍦颁綅缃�">{{ serviceInfo.endLocation }}</el-descriptions-item>
-              <el-descriptions-item label="杞繍閲岀▼">{{ serviceInfo.distance }}</el-descriptions-item>
+              <!-- <el-descriptions-item label="鐩殑鍦颁綅缃�">{{ serviceInfo.endLocation }}</el-descriptions-item> -->
+              <el-descriptions-item label="杞繍閲岀▼">{{ serviceInfo.distance }} 鍏噷</el-descriptions-item>
               <el-descriptions-item label="鎼姮鏈嶅姟">{{ serviceInfo.liftService }}</el-descriptions-item>
               <el-descriptions-item label="鎼姮妤煎眰">{{ serviceInfo.liftFloor }}</el-descriptions-item>
               <el-descriptions-item label="鍖绘姢瑕佹眰">{{ serviceInfo.medicalStaff }}</el-descriptions-item>
@@ -168,8 +168,19 @@
     }
   },
   created() {
+    // 鑾峰彇璺敱鍙傛暟涓殑璁㈠崟ID
     const orderId = this.$route.params.id
-    this.getDetail(orderId)
+
+    // 鑾峰彇URL鏌ヨ鍙傛暟
+    const urlParams = new URLSearchParams(window.location.search)
+    const params = {
+      appId: urlParams.get('appId'),
+      timestamp: urlParams.get('timestamp'),
+      sign: urlParams.get('sign')
+    }
+
+    // 璋冪敤鑾峰彇璇︽儏鏂规硶锛屼紶鍏ユ墍鏈夊弬鏁�
+    this.getDetail(orderId, params)
     // 鐩戝惉绐楀彛澶у皬鍙樺寲
     window.addEventListener('resize', this.handleResize)
   },
@@ -179,8 +190,8 @@
   },
   methods: {
     /** 鑾峰彇璁㈠崟璇︽儏 */
-    getDetail(orderId) {
-      getOrderDetail(orderId).then(response => {
+    getDetail(orderId, params) {
+      getOrderDetail(orderId, params).then(response => {
         const { data } = response
         // 鏍规嵁鍚庣杩斿洖鐨勬暟鎹粨鏋勮缃悇涓璞$殑鍊�
         this.orderInfo = data.orderInfo || {}
diff --git a/sql/SqlServer.A_OrderStatus.sql b/sql/SqlServer.A_OrderStatus.sql
new file mode 100644
index 0000000..1425b80
--- /dev/null
+++ b/sql/SqlServer.A_OrderStatus.sql
@@ -0,0 +1,22 @@
+USE [came]
+GO
+
+/****** Object:  Table [dbo].[A_OrderStatus]    Script Date: 2025/5/4 17:00:42 ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+CREATE TABLE [dbo].[A_OrderStatus](
+	[id] [int] IDENTITY(1,1) NOT NULL,
+	[serviceOrdID] [nvarchar](50) NULL,
+	[msg] [nvarchar](50) NULL,
+	[updateTime] [datetime] NULL,
+	[flag] [int] NOT NULL
+) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[A_OrderStatus] ADD  CONSTRAINT [DF_tb_OrderStatus_flag]  DEFAULT ((0)) FOR [flag]
+GO
+

--
Gitblit v1.9.1