skyline 3 месяцев назад
Родитель
Сommit
37aea2140e

+ 37 - 34
haha-admin/src/main/java/com/haha/admin/controller/OrderController.java

@@ -8,6 +8,8 @@ import com.haha.entity.Order;
 import com.haha.service.OrderService;
 import com.haha.service.OrderService;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.CacheControl;
+import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 import java.time.LocalDate;
 import java.time.LocalDate;
@@ -15,6 +17,7 @@ import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.LocalTime;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map;
+import java.util.concurrent.TimeUnit;
 
 
 /**
 /**
  * 订单管理控制器
  * 订单管理控制器
@@ -23,10 +26,10 @@ import java.util.Map;
 @RestController
 @RestController
 @RequestMapping("/order")
 @RequestMapping("/order")
 public class OrderController {
 public class OrderController {
-    
+
     @Autowired
     @Autowired
     private OrderService orderService;
     private OrderService orderService;
-    
+
     /**
     /**
      * 分页查询订单列表
      * 分页查询订单列表
      * @param params 查询参数
      * @param params 查询参数
@@ -38,17 +41,17 @@ public class OrderController {
             // 分页参数(处理空字符串)
             // 分页参数(处理空字符串)
             int page = 1;
             int page = 1;
             int pageSize = 10;
             int pageSize = 10;
-            
+
             Object pageObj = params.get("page");
             Object pageObj = params.get("page");
             if (pageObj != null && !pageObj.toString().isEmpty()) {
             if (pageObj != null && !pageObj.toString().isEmpty()) {
                 page = Integer.parseInt(pageObj.toString());
                 page = Integer.parseInt(pageObj.toString());
             }
             }
-            
+
             Object pageSizeObj = params.get("pageSize");
             Object pageSizeObj = params.get("pageSize");
             if (pageSizeObj != null && !pageSizeObj.toString().isEmpty()) {
             if (pageSizeObj != null && !pageSizeObj.toString().isEmpty()) {
                 pageSize = Integer.parseInt(pageSizeObj.toString());
                 pageSize = Integer.parseInt(pageSizeObj.toString());
             }
             }
-            
+
             // 查询条件
             // 查询条件
             String orderNo = (String) params.get("orderNo");
             String orderNo = (String) params.get("orderNo");
             String deviceId = (String) params.get("deviceId");
             String deviceId = (String) params.get("deviceId");
@@ -60,14 +63,14 @@ public class OrderController {
             }
             }
             String startDate = (String) params.get("startDate");
             String startDate = (String) params.get("startDate");
             String endDate = (String) params.get("endDate");
             String endDate = (String) params.get("endDate");
-            
+
             // 构建查询条件
             // 构建查询条件
             LambdaQueryWrapper<Order> wrapper = new LambdaQueryWrapper<>();
             LambdaQueryWrapper<Order> wrapper = new LambdaQueryWrapper<>();
             wrapper.like(orderNo != null && !orderNo.isEmpty(), Order::getOrderNo, orderNo)
             wrapper.like(orderNo != null && !orderNo.isEmpty(), Order::getOrderNo, orderNo)
                    .like(deviceId != null && !deviceId.isEmpty(), Order::getDeviceId, deviceId)
                    .like(deviceId != null && !deviceId.isEmpty(), Order::getDeviceId, deviceId)
                    .eq(payStatus != null && !payStatus.isEmpty(), Order::getPayStatus, payStatus)
                    .eq(payStatus != null && !payStatus.isEmpty(), Order::getPayStatus, payStatus)
                    .eq(status != null, Order::getStatus, status);
                    .eq(status != null, Order::getStatus, status);
-            
+
             // 时间范围查询
             // 时间范围查询
             if (startDate != null && !startDate.isEmpty()) {
             if (startDate != null && !startDate.isEmpty()) {
                 LocalDateTime startDateTime = LocalDate.parse(startDate).atStartOfDay();
                 LocalDateTime startDateTime = LocalDate.parse(startDate).atStartOfDay();
@@ -77,33 +80,33 @@ public class OrderController {
                 LocalDateTime endDateTime = LocalDate.parse(endDate).atTime(LocalTime.MAX);
                 LocalDateTime endDateTime = LocalDate.parse(endDate).atTime(LocalTime.MAX);
                 wrapper.le(Order::getCreateTime, endDateTime);
                 wrapper.le(Order::getCreateTime, endDateTime);
             }
             }
-            
+
             // 按创建时间倒序
             // 按创建时间倒序
             wrapper.orderByDesc(Order::getCreateTime);
             wrapper.orderByDesc(Order::getCreateTime);
-            
+
             // 分页查询
             // 分页查询
             Page<Order> pageResult = new Page<>(page, pageSize);
             Page<Order> pageResult = new Page<>(page, pageSize);
             IPage<Order> orderPage = orderService.page(pageResult, wrapper);
             IPage<Order> orderPage = orderService.page(pageResult, wrapper);
-            
+
             // 填充标签字段
             // 填充标签字段
             for (Order order : orderPage.getRecords()) {
             for (Order order : orderPage.getRecords()) {
                 fillOrderLabels(order);
                 fillOrderLabels(order);
             }
             }
-            
+
             Map<String, Object> data = new HashMap<>();
             Map<String, Object> data = new HashMap<>();
             data.put("list", orderPage.getRecords());
             data.put("list", orderPage.getRecords());
             data.put("total", orderPage.getTotal());
             data.put("total", orderPage.getTotal());
             data.put("pageSize", orderPage.getSize());
             data.put("pageSize", orderPage.getSize());
             data.put("currentPage", orderPage.getCurrent());
             data.put("currentPage", orderPage.getCurrent());
-            
+
             return Result.success("查询成功", data);
             return Result.success("查询成功", data);
-            
+
         } catch (Exception e) {
         } catch (Exception e) {
             log.error("查询订单列表失败: {}", e.getMessage(), e);
             log.error("查询订单列表失败: {}", e.getMessage(), e);
             return Result.error(500, "查询订单列表失败: " + e.getMessage());
             return Result.error(500, "查询订单列表失败: " + e.getMessage());
         }
         }
     }
     }
-    
+
     /**
     /**
      * 获取订单详情
      * 获取订单详情
      * @param id 订单ID
      * @param id 订单ID
@@ -123,7 +126,7 @@ public class OrderController {
             return Result.error(500, "查询订单详情失败: " + e.getMessage());
             return Result.error(500, "查询订单详情失败: " + e.getMessage());
         }
         }
     }
     }
-    
+
     /**
     /**
      * 获取订单统计数据
      * 获取订单统计数据
      * @return 统计数据
      * @return 统计数据
@@ -132,39 +135,39 @@ public class OrderController {
     public Result<Map<String, Object>> getStatistics() {
     public Result<Map<String, Object>> getStatistics() {
         try {
         try {
             Map<String, Object> statistics = new HashMap<>();
             Map<String, Object> statistics = new HashMap<>();
-            
+
             // 总订单数
             // 总订单数
             long totalOrders = orderService.count();
             long totalOrders = orderService.count();
             statistics.put("totalOrders", totalOrders);
             statistics.put("totalOrders", totalOrders);
-            
+
             // 今日订单数
             // 今日订单数
             LocalDateTime todayStart = LocalDate.now().atStartOfDay();
             LocalDateTime todayStart = LocalDate.now().atStartOfDay();
             long todayOrders = orderService.lambdaQuery()
             long todayOrders = orderService.lambdaQuery()
                     .ge(Order::getCreateTime, todayStart)
                     .ge(Order::getCreateTime, todayStart)
                     .count();
                     .count();
             statistics.put("todayOrders", todayOrders);
             statistics.put("todayOrders", todayOrders);
-            
+
             // 各状态订单数
             // 各状态订单数
             long unpaidOrders = orderService.lambdaQuery()
             long unpaidOrders = orderService.lambdaQuery()
                     .eq(Order::getPayStatus, Order.PAY_STATUS_未支付)
                     .eq(Order::getPayStatus, Order.PAY_STATUS_未支付)
                     .count();
                     .count();
             statistics.put("unpaidOrders", unpaidOrders);
             statistics.put("unpaidOrders", unpaidOrders);
-            
+
             long completedOrders = orderService.lambdaQuery()
             long completedOrders = orderService.lambdaQuery()
                     .eq(Order::getStatus, Order.ORDER_STATUS_已完成)
                     .eq(Order::getStatus, Order.ORDER_STATUS_已完成)
                     .count();
                     .count();
             statistics.put("completedOrders", completedOrders);
             statistics.put("completedOrders", completedOrders);
-            
+
             long cancelledOrders = orderService.lambdaQuery()
             long cancelledOrders = orderService.lambdaQuery()
                     .eq(Order::getStatus, Order.ORDER_STATUS_已取消)
                     .eq(Order::getStatus, Order.ORDER_STATUS_已取消)
                     .count();
                     .count();
             statistics.put("cancelledOrders", cancelledOrders);
             statistics.put("cancelledOrders", cancelledOrders);
-            
+
             long refundOrders = orderService.lambdaQuery()
             long refundOrders = orderService.lambdaQuery()
                     .eq(Order::getPayStatus, Order.PAY_STATUS_已退款)
                     .eq(Order::getPayStatus, Order.PAY_STATUS_已退款)
                     .count();
                     .count();
             statistics.put("refundOrders", refundOrders);
             statistics.put("refundOrders", refundOrders);
-            
+
             // 总销售额(已完成订单)
             // 总销售额(已完成订单)
             Double totalAmount = orderService.lambdaQuery()
             Double totalAmount = orderService.lambdaQuery()
                     .eq(Order::getStatus, Order.ORDER_STATUS_已完成)
                     .eq(Order::getStatus, Order.ORDER_STATUS_已完成)
@@ -174,7 +177,7 @@ public class OrderController {
                     .mapToDouble(Order::getTotalAmount)
                     .mapToDouble(Order::getTotalAmount)
                     .sum();
                     .sum();
             statistics.put("totalAmount", String.format("%.2f", totalAmount));
             statistics.put("totalAmount", String.format("%.2f", totalAmount));
-            
+
             // 今日销售额
             // 今日销售额
             Double todayAmount = orderService.lambdaQuery()
             Double todayAmount = orderService.lambdaQuery()
                     .ge(Order::getCreateTime, todayStart)
                     .ge(Order::getCreateTime, todayStart)
@@ -185,19 +188,19 @@ public class OrderController {
                     .mapToDouble(Order::getTotalAmount)
                     .mapToDouble(Order::getTotalAmount)
                     .sum();
                     .sum();
             statistics.put("todayAmount", String.format("%.2f", todayAmount));
             statistics.put("todayAmount", String.format("%.2f", todayAmount));
-            
+
             // 平均订单金额
             // 平均订单金额
             double averageAmount = completedOrders > 0 ? totalAmount / completedOrders : 0;
             double averageAmount = completedOrders > 0 ? totalAmount / completedOrders : 0;
             statistics.put("averageAmount", String.format("%.2f", averageAmount));
             statistics.put("averageAmount", String.format("%.2f", averageAmount));
-            
+
             return Result.success("查询成功", statistics);
             return Result.success("查询成功", statistics);
-            
+
         } catch (Exception e) {
         } catch (Exception e) {
             log.error("查询订单统计失败: {}", e.getMessage(), e);
             log.error("查询订单统计失败: {}", e.getMessage(), e);
             return Result.error(500, "查询订单统计失败: " + e.getMessage());
             return Result.error(500, "查询订单统计失败: " + e.getMessage());
         }
         }
     }
     }
-    
+
     /**
     /**
      * 订单退款
      * 订单退款
      * @param id 订单ID
      * @param id 订单ID
@@ -211,30 +214,30 @@ public class OrderController {
             if (order == null) {
             if (order == null) {
                 return Result.error(404, "订单不存在");
                 return Result.error(404, "订单不存在");
             }
             }
-            
+
             // 检查订单状态
             // 检查订单状态
             if (!Order.PAY_STATUS_已支付.equals(order.getPayStatus())) {
             if (!Order.PAY_STATUS_已支付.equals(order.getPayStatus())) {
                 return Result.error(400, "只有已支付的订单才能退款");
                 return Result.error(400, "只有已支付的订单才能退款");
             }
             }
-            
+
             String reason = (String) params.get("reason");
             String reason = (String) params.get("reason");
             log.info("订单退款: orderId={}, orderNo={}, reason={}", id, order.getOrderNo(), reason);
             log.info("订单退款: orderId={}, orderNo={}, reason={}", id, order.getOrderNo(), reason);
-            
+
             // 更新支付状态为已退款
             // 更新支付状态为已退款
             boolean success = orderService.updatePayStatus(order.getOrderNo(), Order.PAY_STATUS_已退款);
             boolean success = orderService.updatePayStatus(order.getOrderNo(), Order.PAY_STATUS_已退款);
-            
+
             if (success) {
             if (success) {
                 return Result.success("退款成功", null);
                 return Result.success("退款成功", null);
             } else {
             } else {
                 return Result.error(500, "退款失败");
                 return Result.error(500, "退款失败");
             }
             }
-            
+
         } catch (Exception e) {
         } catch (Exception e) {
             log.error("订单退款失败: orderId={}, error={}", id, e.getMessage(), e);
             log.error("订单退款失败: orderId={}, error={}", id, e.getMessage(), e);
             return Result.error(500, "退款失败: " + e.getMessage());
             return Result.error(500, "退款失败: " + e.getMessage());
         }
         }
     }
     }
-    
+
     /**
     /**
      * 填充订单标签字段
      * 填充订单标签字段
      * @param order 订单对象
      * @param order 订单对象
@@ -254,7 +257,7 @@ public class OrderController {
             default:
             default:
                 order.setPayStatusLabel("未知");
                 order.setPayStatusLabel("未知");
         }
         }
-        
+
         // 填充订单状态标签
         // 填充订单状态标签
         switch (order.getStatus()) {
         switch (order.getStatus()) {
             case Order.ORDER_STATUS_已取消:
             case Order.ORDER_STATUS_已取消:

+ 44 - 0
haha-admin/src/main/java/com/haha/admin/service/impl/AdminLoginServiceImpl.java

@@ -42,6 +42,50 @@ public class AdminLoginServiceImpl implements AdminLoginService {
                 return Result.error(400, "密码不能为空");
                 return Result.error(400, "密码不能为空");
             }
             }
             
             
+            // ====== 临时方案:硬编码测试账号(仅用于开发测试,生产环境必须移除) ======
+            if ("admin".equals(username) && "admin123".equals(password)) {
+                log.warn("【临时测试账号登录】username={} - 此逻辑仅用于开发测试,生产环境必须移除", username);
+                
+                // 创建临时管理员对象
+                Admin admin = new Admin();
+                admin.setId(999L);
+                admin.setUsername("admin");
+                admin.setRealName("临时测试管理员");
+                admin.setPhone("13800138000");
+                admin.setEmail("admin@haha.com");
+                admin.setAvatar(null);
+                admin.setDepartment("技术部");
+                admin.setStatus(1);
+                admin.setRoleIds("1");
+                
+                // 使用Sa-Token进行登录,生成token
+                StpUtil.login(admin.getId());
+                String token = StpUtil.getTokenValue();
+                
+                // 在Session中存储用户信息
+                StpUtil.getSession().set("username", admin.getUsername());
+                StpUtil.getSession().set("realName", admin.getRealName());
+                StpUtil.getSession().set("roleIds", admin.getRoleIds());
+                
+                log.info("【临时测试账号】登录成功: username={}, userId={}", username, admin.getId());
+                
+                // 构建返回数据
+                UserVO userVO = UserVO.builder()
+                        .id(admin.getId())
+                        .nickname(admin.getRealName())
+                        .avatar(admin.getAvatar())
+                        .phone(admin.getPhone())
+                        .build();
+                
+                LoginVO loginVO = LoginVO.builder()
+                        .token(token)
+                        .userInfo(userVO)
+                        .build();
+                
+                return Result.success("登录成功", loginVO);
+            }
+            // ====== 以上为临时测试逻辑,生产环境必须移除 ======
+            
             // 查询管理员信息
             // 查询管理员信息
             LambdaQueryWrapper<Admin> wrapper = new LambdaQueryWrapper<>();
             LambdaQueryWrapper<Admin> wrapper = new LambdaQueryWrapper<>();
             wrapper.eq(Admin::getUsername, username);
             wrapper.eq(Admin::getUsername, username);

+ 1 - 1
haha-common/src/main/java/com/haha/common/vo/OrderVO.java

@@ -13,7 +13,7 @@ public class OrderVO {
     private String orderNo;
     private String orderNo;
     private String outTradeNo;
     private String outTradeNo;
     private String hahaOrderNo;
     private String hahaOrderNo;
-    private String deviceSn;
+    private String deviceId;
     private Double totalAmount;
     private Double totalAmount;
     private Integer payStatus;
     private Integer payStatus;
     private Integer status;
     private Integer status;

+ 1 - 1
haha-entity/src/main/java/com/haha/entity/Device.java

@@ -15,7 +15,7 @@ public class Device implements Serializable {
     @TableId(type = IdType.AUTO)
     @TableId(type = IdType.AUTO)
     private Long id;
     private Long id;
 
 
-    private String deviceSn;
+    private String deviceId;
 
 
     private Long shopId;
     private Long shopId;
 
 

+ 10 - 8
haha-entity/src/main/java/com/haha/entity/Order.java

@@ -29,10 +29,10 @@ public class Order implements Serializable {
 
 
     private String orderNo;
     private String orderNo;
 
 
-    private String activityId;
-
     private String outTradeNo;
     private String outTradeNo;
 
 
+    private String activityId;
+
     private Long userId;
     private Long userId;
 
 
     private String deviceId;
     private String deviceId;
@@ -41,6 +41,8 @@ public class Order implements Serializable {
 
 
     private String payStatus;
     private String payStatus;
 
 
+    private String videoUrl;
+
     private Double confidence;
     private Double confidence;
 
 
     private String items;
     private String items;
@@ -50,23 +52,23 @@ public class Order implements Serializable {
     private LocalDateTime payTime;
     private LocalDateTime payTime;
 
 
     private Integer status;
     private Integer status;
-    
+
     // 非数据库字段 - 用于前端展示
     // 非数据库字段 - 用于前端展示
     @TableField(exist = false)
     @TableField(exist = false)
     private String statusLabel;
     private String statusLabel;
-    
+
     @TableField(exist = false)
     @TableField(exist = false)
     private String payStatusLabel;
     private String payStatusLabel;
-    
+
     @TableField(exist = false)
     @TableField(exist = false)
     private String userName;
     private String userName;
-    
+
     @TableField(exist = false)
     @TableField(exist = false)
     private String phone;
     private String phone;
-    
+
     @TableField(exist = false)
     @TableField(exist = false)
     private String deviceName;
     private String deviceName;
-    
+
     @TableField(exist = false)
     @TableField(exist = false)
     private String storeName;
     private String storeName;
 }
 }

+ 5 - 5
haha-miniapp/src/main/java/com/haha/miniapp/controller/CallbackController.java

@@ -309,11 +309,11 @@ public class CallbackController {
             }
             }
 
 
             // 解析resource_info获取视频URL
             // 解析resource_info获取视频URL
-            if (resourceInfoStr != null && !resourceInfoStr.isEmpty()) {
-                JSONObject resourceInfo = JSON.parseObject(resourceInfoStr);
-                String videoUrl = resourceInfo.getString("video_url");
-                log.info("视频URL: {}", videoUrl);
-            }
+//            if (resourceInfoStr != null && !resourceInfoStr.isEmpty()) {
+//                JSONObject resourceInfo = JSON.parseObject(resourceInfoStr);
+//                String videoUrl = resourceInfo.getString("video_url");
+//                log.info("视频URL: {}", videoUrl);
+//            }
 
 
             // TODO: 根据识别结果进行后续处理
             // TODO: 根据识别结果进行后续处理
             // 1. 计算订单金额
             // 1. 计算订单金额

+ 2 - 2
haha-miniapp/src/main/java/com/haha/miniapp/controller/OrderController.java

@@ -63,7 +63,7 @@ public class OrderController {
                 orderMap.put("id", order.getId());
                 orderMap.put("id", order.getId());
                 orderMap.put("orderNo", order.getOrderNo());
                 orderMap.put("orderNo", order.getOrderNo());
                 orderMap.put("outTradeNo", order.getOutTradeNo());
                 orderMap.put("outTradeNo", order.getOutTradeNo());
-                orderMap.put("deviceSn", order.getDeviceId());
+                orderMap.put("deviceId", order.getDeviceId());
                 orderMap.put("totalAmount", order.getTotalAmount());
                 orderMap.put("totalAmount", order.getTotalAmount());
                 orderMap.put("payStatus", order.getPayStatus());
                 orderMap.put("payStatus", order.getPayStatus());
                 orderMap.put("status", order.getStatus());
                 orderMap.put("status", order.getStatus());
@@ -179,7 +179,7 @@ public class OrderController {
             orderDetail.put("id", order.getId());
             orderDetail.put("id", order.getId());
             orderDetail.put("orderNo", order.getOrderNo());
             orderDetail.put("orderNo", order.getOrderNo());
             orderDetail.put("outTradeNo", order.getOutTradeNo());
             orderDetail.put("outTradeNo", order.getOutTradeNo());
-            orderDetail.put("deviceSn", order.getDeviceId());
+            orderDetail.put("deviceId", order.getDeviceId());
             orderDetail.put("totalAmount", order.getTotalAmount());
             orderDetail.put("totalAmount", order.getTotalAmount());
             orderDetail.put("payStatus", order.getPayStatus());
             orderDetail.put("payStatus", order.getPayStatus());
             orderDetail.put("status", order.getStatus());
             orderDetail.put("status", order.getStatus());

+ 1 - 1
haha-mp/src/api/order.ts

@@ -24,7 +24,7 @@ export interface OrderInfo {
   orderNo: string;
   orderNo: string;
   outTradeNo: string;
   outTradeNo: string;
   hahaOrderNo: string;
   hahaOrderNo: string;
-  deviceSn: string;
+  deviceId: string;
   totalAmount: number;
   totalAmount: number;
   payStatus: string;
   payStatus: string;
   status: number;
   status: number;

+ 15 - 15
haha-mp/src/pages/orderDetail/orderDetail.vue

@@ -4,7 +4,7 @@
     <view v-if="loading" class="loading-wrapper">
     <view v-if="loading" class="loading-wrapper">
       <text>加载中...</text>
       <text>加载中...</text>
     </view>
     </view>
-    
+
     <!-- 订单详情 -->
     <!-- 订单详情 -->
     <view v-else-if="order">
     <view v-else-if="order">
       <!-- 订单状态 -->
       <!-- 订单状态 -->
@@ -17,13 +17,13 @@
         </view>
         </view>
         <text class="invoice-status">未开票</text>
         <text class="invoice-status">未开票</text>
       </view>
       </view>
-      
+
       <!-- 订单明细 -->
       <!-- 订单明细 -->
       <view class="card detail-card">
       <view class="card detail-card">
         <view class="card-header">
         <view class="card-header">
           <text class="card-title">订单明细</text>
           <text class="card-title">订单明细</text>
         </view>
         </view>
-        
+
         <!-- 商品列表 -->
         <!-- 商品列表 -->
         <view v-for="(product, index) in order.products" :key="index" class="product-item">
         <view v-for="(product, index) in order.products" :key="index" class="product-item">
           <view class="product-image">
           <view class="product-image">
@@ -36,7 +36,7 @@
           </view>
           </view>
           <text class="product-quantity">x{{ product.quantity }}</text>
           <text class="product-quantity">x{{ product.quantity }}</text>
         </view>
         </view>
-        
+
         <!-- 总价 -->
         <!-- 总价 -->
         <view class="amount-row">
         <view class="amount-row">
           <text class="amount-label">实付款</text>
           <text class="amount-label">实付款</text>
@@ -46,7 +46,7 @@
             <text class="amount-integer">{{ order.totalAmount.toFixed(2) }}</text>
             <text class="amount-integer">{{ order.totalAmount.toFixed(2) }}</text>
           </view>
           </view>
         </view>
         </view>
-        
+
         <!-- 操作按钮 -->
         <!-- 操作按钮 -->
         <view class="card-footer-actions">
         <view class="card-footer-actions">
           <button v-if="canRefund(order)" class="action-btn-outline" @click="applyRefund">申请退款</button>
           <button v-if="canRefund(order)" class="action-btn-outline" @click="applyRefund">申请退款</button>
@@ -54,7 +54,7 @@
           <button class="action-btn-primary" @click="exportImage">导出图片</button>
           <button class="action-btn-primary" @click="exportImage">导出图片</button>
         </view>
         </view>
       </view>
       </view>
-      
+
       <!-- 订单信息 -->
       <!-- 订单信息 -->
       <view class="card info-card">
       <view class="card info-card">
         <view class="card-header">
         <view class="card-header">
@@ -93,7 +93,7 @@
           </view>
           </view>
           <view class="info-row">
           <view class="info-row">
             <text class="info-label">设备编号</text>
             <text class="info-label">设备编号</text>
-            <text class="info-value">{{ order.deviceSn }}</text>
+            <text class="info-value">{{ order.deviceId }}</text>
           </view>
           </view>
           <view class="info-row" v-if="order.confidence">
           <view class="info-row" v-if="order.confidence">
             <text class="info-label">AI识别置信度</text>
             <text class="info-label">AI识别置信度</text>
@@ -109,7 +109,7 @@
         </view>
         </view>
       </view>
       </view>
     </view>
     </view>
-    
+
     <!-- 底部提示 -->
     <!-- 底部提示 -->
     <view class="footer-note">
     <view class="footer-note">
       <text>如有疑问,请联系客服</text>
       <text>如有疑问,请联系客服</text>
@@ -178,19 +178,19 @@ const loadOrderDetail = async () => {
     });
     });
     return;
     return;
   }
   }
-  
+
   loading.value = true;
   loading.value = true;
-  
+
   try {
   try {
     uni.showLoading({
     uni.showLoading({
       title: '加载中...',
       title: '加载中...',
       mask: true
       mask: true
     });
     });
-    
+
     // 调用真实接口获取订单详情
     // 调用真实接口获取订单详情
     const orderDetail = await getOrderDetail({ orderId: orderId.value });
     const orderDetail = await getOrderDetail({ orderId: orderId.value });
     order.value = orderDetail;
     order.value = orderDetail;
-    
+
     uni.hideLoading();
     uni.hideLoading();
   } catch (error: any) {
   } catch (error: any) {
     uni.hideLoading();
     uni.hideLoading();
@@ -212,11 +212,11 @@ onMounted(() => {
   if (!checkAuth()) {
   if (!checkAuth()) {
     return;
     return;
   }
   }
-  
+
   const pages = getCurrentPages();
   const pages = getCurrentPages();
   const currentPage = pages[pages.length - 1] as any;
   const currentPage = pages[pages.length - 1] as any;
   const options = currentPage.options || {};
   const options = currentPage.options || {};
-  
+
   if (options.orderId) {
   if (options.orderId) {
     orderId.value = parseInt(options.orderId);
     orderId.value = parseInt(options.orderId);
     loadOrderDetail();
     loadOrderDetail();
@@ -595,4 +595,4 @@ const viewVideo = (url: string) => {
   font-size: 26rpx;
   font-size: 26rpx;
   color: #cccccc;
   color: #cccccc;
 }
 }
-</style>
+</style>

+ 1 - 1
haha-sdk/src/main/java/com/haha/sdk/model/DeviceDTO.java

@@ -15,7 +15,7 @@ public class DeviceDTO {
     /**
     /**
      * 设备SN序列号
      * 设备SN序列号
      */
      */
-    private String deviceSn;
+    private String deviceId;
     
     
     /**
     /**
      * 门店ID
      * 门店ID

+ 1 - 1
haha-sdk/src/main/java/com/haha/sdk/model/OrderDTO.java

@@ -38,7 +38,7 @@ public class OrderDTO {
     /**
     /**
      * 设备SN
      * 设备SN
      */
      */
-    private String deviceSn;
+    private String deviceId;
     
     
     /**
     /**
      * 订单总金额
      * 订单总金额

+ 1 - 1
haha-sdk/src/main/java/com/haha/sdk/model/request/ApplyOpenRequest.java

@@ -12,7 +12,7 @@ public class ApplyOpenRequest {
     /**
     /**
      * 设备SN序列号
      * 设备SN序列号
      */
      */
-    private String device_sn;
+    private String device_id;
     
     
     /**
     /**
      * 外部订单号
      * 外部订单号

+ 3 - 3
haha-service/src/main/java/com/haha/service/DeviceService.java

@@ -9,10 +9,10 @@ import java.util.List;
 
 
 public interface DeviceService extends IService<Device> {
 public interface DeviceService extends IService<Device> {
     List<Device> getNearbyDevices(Double longitude, Double latitude, Double distance);
     List<Device> getNearbyDevices(Double longitude, Double latitude, Double distance);
-    Device getDeviceBySn(String deviceSn);
-    boolean updateDeviceStatus(String deviceSn, Integer status);
+    Device getDeviceBySn(String deviceId);
+    boolean updateDeviceStatus(String deviceId, Integer status);
     List<Device> getDeviceListByArea(String province, String city, String district);
     List<Device> getDeviceListByArea(String province, String city, String district);
-    boolean updateInventoryHash(String deviceSn, String inventoryHash);
+    boolean updateInventoryHash(String deviceId, String inventoryHash);
     
     
     /**
     /**
      * 扫码开门业务逻辑
      * 扫码开门业务逻辑

+ 1 - 1
haha-service/src/main/java/com/haha/service/OrderService.java

@@ -9,6 +9,6 @@ public interface OrderService extends IService<Order> {
     boolean cancelOrder(Long orderId);
     boolean cancelOrder(Long orderId);
     boolean updateOrderStatus(Long orderId, Integer status);
     boolean updateOrderStatus(Long orderId, Integer status);
     Order getOrderByOutTradeNo(String outTradeNo);
     Order getOrderByOutTradeNo(String outTradeNo);
-    Order getOrderByDeviceSn(String deviceSn);
+    Order getOrderBydeviceId(String deviceId);
     boolean updatePayStatus(String orderNo, String payStatus);
     boolean updatePayStatus(String orderNo, String payStatus);
 }
 }

+ 2 - 2
haha-service/src/main/java/com/haha/service/ProductService.java

@@ -5,8 +5,8 @@ import com.haha.entity.Product;
 import java.util.List;
 import java.util.List;
 
 
 public interface ProductService extends IService<Product> {
 public interface ProductService extends IService<Product> {
-    List<Product> getProductListByDeviceSn(String deviceSn);
-    boolean updateProductStock(String deviceSn, Long productId, Integer stock);
+    List<Product> getProductListBydeviceId(String deviceId);
+    boolean updateProductStock(String deviceId, Long productId, Integer stock);
     List<Product> getProductListByCategory(Integer categoryId);
     List<Product> getProductListByCategory(Integer categoryId);
     Product getProductByBarcode(String barcode);
     Product getProductByBarcode(String barcode);
     boolean updateSyncStatus(Long productId, Integer syncStatus);
     boolean updateSyncStatus(Long productId, Integer syncStatus);

+ 4 - 4
haha-service/src/main/java/com/haha/service/RedisService.java

@@ -55,9 +55,9 @@ public class RedisService {
     /**
     /**
      * 存储设备状态
      * 存储设备状态
      */
      */
-    public void setDeviceStatus(String deviceSn, String status, long timeout) {
+    public void setDeviceStatus(String deviceId, String status, long timeout) {
         stringRedisTemplate.opsForValue().set(
         stringRedisTemplate.opsForValue().set(
-            String.format(RedisConstants.DEVICE_STATUS_KEY, deviceSn),
+            String.format(RedisConstants.DEVICE_STATUS_KEY, deviceId),
             status,
             status,
             timeout,
             timeout,
             TimeUnit.SECONDS
             TimeUnit.SECONDS
@@ -67,9 +67,9 @@ public class RedisService {
     /**
     /**
      * 获取设备状态
      * 获取设备状态
      */
      */
-    public String getDeviceStatus(String deviceSn) {
+    public String getDeviceStatus(String deviceId) {
         return stringRedisTemplate.opsForValue().get(
         return stringRedisTemplate.opsForValue().get(
-            String.format(RedisConstants.DEVICE_STATUS_KEY, deviceSn)
+            String.format(RedisConstants.DEVICE_STATUS_KEY, deviceId)
         );
         );
     }
     }
 
 

+ 6 - 6
haha-service/src/main/java/com/haha/service/impl/DeviceServiceImpl.java

@@ -37,13 +37,13 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
     }
     }
 
 
     @Override
     @Override
-    public Device getDeviceBySn(String deviceSn) {
-        return lambdaQuery().eq(Device::getDeviceSn, deviceSn).one();
+    public Device getDeviceBySn(String deviceId) {
+        return lambdaQuery().eq(Device::getDeviceId, deviceId).one();
     }
     }
 
 
     @Override
     @Override
-    public boolean updateDeviceStatus(String deviceSn, Integer status) {
-        return lambdaUpdate().eq(Device::getDeviceSn, deviceSn).set(Device::getStatus, status).update();
+    public boolean updateDeviceStatus(String deviceId, Integer status) {
+        return lambdaUpdate().eq(Device::getDeviceId, deviceId).set(Device::getStatus, status).update();
     }
     }
 
 
     @Override
     @Override
@@ -53,8 +53,8 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
     }
     }
 
 
     @Override
     @Override
-    public boolean updateInventoryHash(String deviceSn, String inventoryHash) {
-        return lambdaUpdate().eq(Device::getDeviceSn, deviceSn).set(Device::getCurrentInventoryHash, inventoryHash).update();
+    public boolean updateInventoryHash(String deviceId, String inventoryHash) {
+        return lambdaUpdate().eq(Device::getDeviceId, deviceId).set(Device::getCurrentInventoryHash, inventoryHash).update();
     }
     }
 
 
     @Override
     @Override

+ 2 - 2
haha-service/src/main/java/com/haha/service/impl/OrderServiceImpl.java

@@ -36,8 +36,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     }
     }
 
 
     @Override
     @Override
-    public Order getOrderByDeviceSn(String deviceSn) {
-        return lambdaQuery().eq(Order::getDeviceId, deviceSn).orderByDesc(Order::getCreateTime).one();
+    public Order getOrderBydeviceId(String deviceId) {
+        return lambdaQuery().eq(Order::getDeviceId, deviceId).orderByDesc(Order::getCreateTime).one();
     }
     }
 
 
     @Override
     @Override

+ 2 - 2
haha-service/src/main/java/com/haha/service/impl/ProductServiceImpl.java

@@ -12,13 +12,13 @@ import java.util.List;
 public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService {
 public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService {
 
 
     @Override
     @Override
-    public List<Product> getProductListByDeviceSn(String deviceSn) {
+    public List<Product> getProductListBydeviceId(String deviceId) {
         // 这里需要实现根据设备SN获取商品列表的逻辑,暂时返回所有商品
         // 这里需要实现根据设备SN获取商品列表的逻辑,暂时返回所有商品
         return list();
         return list();
     }
     }
 
 
     @Override
     @Override
-    public boolean updateProductStock(String deviceSn, Long productId, Integer stock) {
+    public boolean updateProductStock(String deviceId, Long productId, Integer stock) {
         // 这里需要实现更新商品库存的逻辑
         // 这里需要实现更新商品库存的逻辑
         return true;
         return true;
     }
     }