From a296c6bfa83cd0a4bbc92d93c015a010248e8455 Mon Sep 17 00:00:00 2001
From: wanglizhong <wlz>
Date: 星期六, 03 五月 2025 19:49:45 +0800
Subject: [PATCH] feat:增加gps显示

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java |  184 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 178 insertions(+), 6 deletions(-)

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 7d4a966..96ff5a2 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
@@ -1,9 +1,21 @@
 package com.ruoyi.web.controller.system;
 
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.common.core.domain.entity.ServiceOrderAppResultVo;
+import com.ruoyi.common.core.domain.entity.ServiceOrderAppVo;
+import com.ruoyi.common.core.domain.entity.ServiceOrderDelVo;
+import com.ruoyi.common.utils.civilAviation.ServiceOrderUtil;
+import com.ruoyi.system.domain.SysClientApp;
+import com.ruoyi.system.service.ISysClientAppService;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PutMapping;
@@ -20,6 +32,7 @@
 import com.ruoyi.system.service.ITbOrdersService;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.core.domain.entity.OrderCancelVo;
 
 /**
  * ordersController
@@ -33,6 +46,9 @@
 {
     @Autowired
     private ITbOrdersService tbOrdersService;
+
+    @Autowired
+    private ISysClientAppService clientAppService;
 
     /**
      * 鏌ヨorders鍒楄〃
@@ -70,14 +86,170 @@
     }
 
     /**
-     * 鏂板orders
+     * 鎻愪緵澶栭儴鎺ュ彛鍙互璋冪敤
+     * @param tbOrders
+     * @return
      */
-    @PreAuthorize("@ss.hasPermi('system:orders:add')")
-    @Log(title = "orders", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@RequestBody TbOrders tbOrders)
+//    @Anonymous(needSign = true)
+    @Anonymous
+//    @Log(title = "orders", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody TbOrders tbOrders) {
+        try {
+            if (tbOrders == null || tbOrders.getOrderID() == null) {
+                return AjaxResult.error("浼犺緭鏁版嵁涓虹┖锛�");
+            }
+
+            tbOrders.setCreateTime(new Date());
+
+            tbOrdersService.insertTbOrders(tbOrders);
+
+            SysClientApp scApp = clientAppService.selectSysClientAppByAppId(1L);
+
+
+            ServiceOrderAppVo model = new ServiceOrderAppVo();
+            model.setMethod("ServiceOrder_APP"); // 璁剧疆鎺ュ彛鍚嶇О
+            model.setAppId(scApp.getMinAppId()); // 璁剧疆鍟嗘埛 APPID
+            model.setOrdType(tbOrders.getTypeCode().intValue());
+            model.setCoPhone(tbOrders.getLinkTel()); // 瀹㈡埛鑱旂郴鐢佃瘽
+            model.setCoName(tbOrders.getLinkPerson()); // 瀹㈡埛濮撳悕
+//        model.setCoTies("瀹跺睘"); // 闅忔満璁剧疆瀹㈡埛鑱旂郴浜轰笌鎮h�呭叧绯�
+            // 璁剧疆棰勭害鏃堕棿涓轰竴澶╁悗
+            Calendar calendar = Calendar.getInstance();
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd%20HH:mm");
+            model.setApptDate(sdf.format(tbOrders.getBookingDate())); // 鏍煎紡鍖栭绾﹁繍閫佹椂闂�
+
+            model.setPtName(tbOrders.getPatientName()); // 鎮h�呭鍚�
+            model.setPtAge(tbOrders.getAge()); // 闅忔満鐢熸垚鎮h�呭勾榫�
+            model.setPtSex(tbOrders.getSex() == 1 ? "鐢�" : "濂�"); // 闅忔満鐢熸垚鎮h�呮�у埆
+//        model.setPtNat("涓浗"); // 璁剧疆鎮h�呭浗绫�
+            model.setOutHosp(tbOrders.getLocalAddress()); // 璁剧疆杞嚭鍖婚櫌
+            model.setInHosp(tbOrders.getSendAddress()); // 璁剧疆杞叆鍖婚櫌
+//        model.setPtServices("绉戝" + (int) (Math.random() * 10)); // 闅忔満璁剧疆鎮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)); // 闅忔満鐢熸垚澶栭儴鏀粯浜岀淮鐮侀摼鎺�
+
+            ServiceOrderAppResultVo result = ServiceOrderUtil.CreateServiceOrder(model);
+
+            if (result.getResult() == 1) {
+                tbOrders.setOrderID(tbOrders.getOrderID());
+                tbOrders.setServiceOrdID(result.getServiceOrdID());
+                tbOrders.setServiceOrdNo(result.getServiceOrdNo());
+                tbOrders.setThirdPartyResult(result.getResult());
+                tbOrders.setUpdateTime(new Date());
+                tbOrders.setOrderStatus(1);
+                tbOrdersService.updateTbOrders(tbOrders);
+                return AjaxResult.success(result);
+            } else {
+                return AjaxResult.error("鎻愪氦澶辫触");
+            }
+        } catch (Exception e) {
+            return AjaxResult.error("鎻愪氦澶辫触:"+e.getMessage());
+        }
+    }
+
+    /**
+     * 閲嶆柊鍙戦�佽鍗�
+     */
+    @PostMapping("/resend/{orderId}")
+    public AjaxResult resendOrder(@PathVariable Long orderId) {
+
+        TbOrders tbOrders = tbOrdersService.selectTbOrdersByOrderID(orderId);
+        if (tbOrders == null) {
+            return AjaxResult.error("璁㈠崟涓嶅瓨鍦�");
+        }
+        if (tbOrders.getOrderStatus() == 2) {
+            return AjaxResult.error("璁㈠崟鐘舵�佸凡鍙栨秷");
+        }
+
+        SysClientApp scApp = clientAppService.selectSysClientAppByAppId(1L);
+
+
+        ServiceOrderAppVo model = new ServiceOrderAppVo();
+        model.setMethod("ServiceOrder_APP"); // 璁剧疆鎺ュ彛鍚嶇О
+        model.setAppId(scApp.getMinAppId()); // 璁剧疆鍟嗘埛 APPID
+        model.setOrdType(tbOrders.getTypeCode().intValue());
+        model.setCoPhone(tbOrders.getLinkTel()); // 瀹㈡埛鑱旂郴鐢佃瘽
+        model.setCoName(tbOrders.getLinkPerson()); // 瀹㈡埛濮撳悕
+//        model.setCoTies("瀹跺睘"); // 闅忔満璁剧疆瀹㈡埛鑱旂郴浜轰笌鎮h�呭叧绯�
+        // 璁剧疆棰勭害鏃堕棿涓轰竴澶╁悗
+        Calendar calendar = Calendar.getInstance();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd%20HH:mm");
+        model.setApptDate(sdf.format(tbOrders.getBookingDate())); // 鏍煎紡鍖栭绾﹁繍閫佹椂闂�
+
+        model.setPtName(tbOrders.getPatientName()); // 鎮h�呭鍚�
+        model.setPtAge(tbOrders.getAge()); // 闅忔満鐢熸垚鎮h�呭勾榫�
+        model.setPtSex(tbOrders.getSex() == 1 ? "鐢�" : "濂�"); // 闅忔満鐢熸垚鎮h�呮�у埆
+//        model.setPtNat("涓浗"); // 璁剧疆鎮h�呭浗绫�
+        model.setOutHosp(tbOrders.getLocalAddress()); // 璁剧疆杞嚭鍖婚櫌
+        model.setInHosp(tbOrders.getSendAddress()); // 璁剧疆杞叆鍖婚櫌
+//        model.setPtServices("绉戝" + (int) (Math.random() * 10)); // 闅忔満璁剧疆鎮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)); // 闅忔満鐢熸垚澶栭儴鏀粯浜岀淮鐮侀摼鎺�
+
+        ServiceOrderAppResultVo result = ServiceOrderUtil.CreateServiceOrder(model);
+
+        if (result.getResult() == 1) {
+            tbOrders.setOrderID(tbOrders.getOrderID());
+            tbOrders.setServiceOrdID(result.getServiceOrdID());
+            tbOrders.setServiceOrdNo(result.getServiceOrdNo());
+            tbOrders.setThirdPartyResult(result.getResult());
+            tbOrders.setUpdateTime(new Date());
+            tbOrders.setOrderStatus(1);
+            tbOrdersService.updateTbOrders(tbOrders);
+            return AjaxResult.success(result);
+        } else {
+            return AjaxResult.error("鎻愪氦澶辫触");
+        }
+    }
+
+
+
+    @Anonymous
+    @PostMapping("/cancelOrder")
+    public AjaxResult cancelOrder(@RequestBody OrderCancelVo cancelVo)
     {
-        return toAjax(tbOrdersService.insertTbOrders(tbOrders));
+        try {
+            if (cancelVo == null || cancelVo.getOrderID() == null || 
+                cancelVo.getThirdOrderNo() == null || cancelVo.getReason() == null) {
+                return AjaxResult.error("蹇呰鍙傛暟涓嶈兘涓虹┖锛�");
+            }
+
+            SysClientApp scApp = clientAppService.selectSysClientAppByAppId(1L);
+
+            ServiceOrderDelVo model = new ServiceOrderDelVo();
+            model.setMethod("ServiceOrder_DEL"); // 璁剧疆鎺ュ彛鍚嶇О
+            model.setAPPID(scApp.getMinAppId()); // 璁剧疆鍟嗘埛 APPID
+            model.setServiceOrdID(cancelVo.getThirdOrderNo()); // 璁剧疆绗笁鏂硅鍗曞彿
+            model.setDELRemarks(cancelVo.getReason()); // 璁剧疆鍙栨秷鍘熷洜
+
+            ServiceOrderAppResultVo result = ServiceOrderUtil.CancelServiceOrder(model);
+
+            if (result.getResult() == 1) {
+                // 鏇存柊鏈湴璁㈠崟鐘舵��
+                TbOrders tbOrders = new TbOrders();
+                tbOrders.setOrderID(cancelVo.getOrderID());
+                tbOrders.setOrderStatus(2); // 2鏄彇娑�
+                tbOrdersService.updateTbOrders(tbOrders);
+                return AjaxResult.success(result);
+            } else {
+                return AjaxResult.error("鍙栨秷璁㈠崟澶辫触");
+            }
+        } catch (Exception e) {
+            return AjaxResult.error("鍙栨秷璁㈠崟澶辫触:" + e.getMessage());
+        }
     }
 
     /**

--
Gitblit v1.9.1