فهرست منبع

订单详情,根据id查询

skyfffire 1 ماه پیش
والد
کامیت
bd96cb22e1

+ 23 - 5
src/main/java/modules/order/OrderController.java

@@ -146,11 +146,7 @@ public class OrderController extends MyController {
             renderJson(MyRet.fail("id(order_id) 有问题"));
             return;
         }
-        User user = userService.findUserByMobileNumber(this.<String>getSessionAttr("mobile_number"));
-        if (user == null) {
-            renderJson(MyRet.fail("获取用户信息失败,请重新登录"));
-            return;
-        }
+        User user = userService.findUserByMobileNumber(getSessionAttr("mobile_number"));
         
         // 判断订单归属权
         if (service.isOrderBelongToUser(user.getId(), orderId)) {
@@ -169,6 +165,28 @@ public class OrderController extends MyController {
 
         renderJson(service.cancelByUser(user.getId(), orderId));
     }
+    
+    @Before(LoginInterceptor.class)
+    public void findOrderById() {
+        // --- 从 JSON 请求体中获取参数 ---
+        JSONObject requestBodyJson = MyController.getJsonModelByRequestAndType(getRequest(), JSONObject.class);
+        Integer orderId;
+        // orderId
+        try {
+            orderId = requestBodyJson.getInteger("order_id");
+        } catch (Exception e) {
+            renderJson(MyRet.fail("你输入的 order_id 有些问题:" + e.getMessage()).setData(requestBodyJson));
+
+            return;
+        }
+        if (orderId == null) {
+            renderJson(MyRet.fail("id(order_id) 有问题"));
+            return;
+        }
+        User user = userService.findUserByMobileNumber(getSessionAttr("mobile_number"));
+        
+        renderJson(service.findOrderById(orderId, user.getId()));
+    }
 
     /**
      * 用户调用的订单列表

+ 11 - 0
src/main/java/modules/order/OrderService.java

@@ -162,6 +162,17 @@ public class OrderService {
         }
     }
 
+    public MyRet findOrderById(long orderId, long userId) {
+        List<Order> orderList = Order.dao.find("SELECT * FROM t_order WHERE id=? and user_id=?", orderId, userId);
+        List<Map<String, Object>> resultList = encapsulateOrdersWithLogs(orderList);
+
+        if (!resultList.isEmpty()) {
+            return MyRet.ok("查询成功").setData(resultList.get(0));
+        } else {
+            return MyRet.fail("未找到订单号对应的订单");
+        }
+    }
+
     /**
      * 根据用户ID查询订单列表,并封装订单流转状态
      * @param userId 用户ID

+ 5 - 0
src/main/java/modules/user/UserController.java

@@ -411,6 +411,11 @@ public class UserController extends MyController {
             renderJson(MyRet.ok("获取成功").setData(user));
         }
     }
+    
+    @Before(LoginInterceptor.class)
+    public void getDepositInfo() {
+        
+    }
 
     public void logout() {
         removeSessionAttr("user_id");

+ 9 - 0
src/test/rest/OrderControllerTest.http

@@ -20,6 +20,15 @@ dl-token: {{dl_token_var}}
   "order_id": 3
 }
 
+### 用户根据订单号查找订单
+POST {{ baseUrl }}/order/findOrderById
+Content-Type: application/json
+dl-token: {{dl_token_var}}
+
+{
+  "order_id": 4
+}
+
 ### 用户获取订单列表
 POST {{ baseUrl }}/order/orderList
 Content-Type: application/json