From e00dddf70879298f95d843cef73db739fb334351 Mon Sep 17 00:00:00 2001
From: huliyong <2783385703@qq.com>
Date: Tue, 24 Jun 2025 21:51:22 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E6=9C=8D=E5=8A=A1?=
=?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=8A=9F=E8=83=BD=E5=8F=8A=E7=9B=B8=E5=85=B3?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
refactor: 优化订单详情和宠物信息展示逻辑
fix: 修复订单状态判断和按钮显示条件
docs: 添加数据库事务查询SQL文件
style: 统一时间线组件样式和布局
test: 更新测试用例以适应新功能
---
api/order/order.js | 22 +-
database_transaction_queries.sql | 143 +++++
pages.json | 9 +
pages/companionPetList/companionPetInfo.vue | 8 +-
pages/personalCenter/a.txt | 551 ++++++++++++++++++++
pages/personalCenter/orderDetailImage.vue | 373 +++++++++----
pages_order/components/order/timelineService.vue | 579 +++++++++++++++++++++
pages_order/order/orderDetail.vue | 22 +-
pages_order/order/orderList.vue | 15 +-
pages_order/order/serviceRecord.vue | 215 ++++++++
.../components/uni-calendar/uni-calendar-item.vue | 7 +
11 files changed, 1839 insertions(+), 105 deletions(-)
create mode 100644 database_transaction_queries.sql
create mode 100644 pages/personalCenter/a.txt
create mode 100644 pages_order/components/order/timelineService.vue
create mode 100644 pages_order/order/serviceRecord.vue
diff --git a/api/order/order.js b/api/order/order.js
index 464dc69..db8926b 100644
--- a/api/order/order.js
+++ b/api/order/order.js
@@ -145,8 +145,28 @@ export const orderCancel = (data) => {
})
}
+// 查询服务记录列表
+export const appletOrderDateFrequencyList = (params) => {
+ return request({
+ url: '/applet/appletOrderDateFrequency/list',
+ headers: {
+ isToken: true
+ },
+ method: "GET",
+ params
+ })
+}
-
+// 根据id查询服务记录详情
+export const appletOrderDateFrequencyById = (id) => {
+ return request({
+ headers: {
+ "isToken": true
+ },
+ url: "/applet/appletOrderDateFrequency/" + id,
+ method: 'get',
+ })
+}
// 再次支付订单
export const orderPay = (data) => {
diff --git a/database_transaction_queries.sql b/database_transaction_queries.sql
new file mode 100644
index 0000000..0817c97
--- /dev/null
+++ b/database_transaction_queries.sql
@@ -0,0 +1,143 @@
+-- MySQL 数据库事务状态检查和处理 SQL 语句
+
+-- 1. 查看当前所有连接和进程
+SHOW PROCESSLIST;
+
+-- 2. 查看当前正在运行的事务
+SELECT
+ trx_id,
+ trx_state,
+ trx_started,
+ trx_requested_lock_id,
+ trx_wait_started,
+ trx_weight,
+ trx_mysql_thread_id,
+ trx_query
+FROM INFORMATION_SCHEMA.INNODB_TRX;
+
+-- 3. 查看锁等待情况
+SELECT
+ waiting_trx_id,
+ waiting_thread,
+ waiting_query,
+ blocking_trx_id,
+ blocking_thread,
+ blocking_query
+FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
+
+-- 4. 查看当前锁定状态
+SELECT
+ lock_id,
+ lock_trx_id,
+ lock_mode,
+ lock_type,
+ lock_table,
+ lock_index,
+ lock_space,
+ lock_page,
+ lock_rec,
+ lock_data
+FROM INFORMATION_SCHEMA.INNODB_LOCKS;
+
+-- 5. 查看详细的锁等待信息(MySQL 8.0+)
+SELECT
+ OBJECT_SCHEMA,
+ OBJECT_NAME,
+ LOCK_TYPE,
+ LOCK_MODE,
+ LOCK_STATUS,
+ LOCK_DATA,
+ ENGINE_TRANSACTION_ID,
+ THREAD_ID,
+ EVENT_ID
+FROM performance_schema.data_locks;
+
+-- 6. 查看锁等待关系(MySQL 8.0+)
+SELECT
+ requesting_engine_transaction_id,
+ requesting_thread_id,
+ requesting_event_id,
+ blocking_engine_transaction_id,
+ blocking_thread_id,
+ blocking_event_id
+FROM performance_schema.data_lock_waits;
+
+-- 7. 查看长时间运行的事务(超过30秒)
+SELECT
+ trx_id,
+ trx_state,
+ trx_started,
+ TIMESTAMPDIFF(SECOND, trx_started, NOW()) as duration_seconds,
+ trx_mysql_thread_id,
+ trx_query
+FROM INFORMATION_SCHEMA.INNODB_TRX
+WHERE TIMESTAMPDIFF(SECOND, trx_started, NOW()) > 30;
+
+-- 8. 查看阻塞其他事务的连接
+SELECT
+ p1.ID as blocking_thread_id,
+ p1.USER as blocking_user,
+ p1.HOST as blocking_host,
+ p1.DB as blocking_db,
+ p1.COMMAND as blocking_command,
+ p1.TIME as blocking_time,
+ p1.STATE as blocking_state,
+ p1.INFO as blocking_query,
+ p2.ID as blocked_thread_id,
+ p2.USER as blocked_user,
+ p2.HOST as blocked_host,
+ p2.DB as blocked_db,
+ p2.COMMAND as blocked_command,
+ p2.TIME as blocked_time,
+ p2.STATE as blocked_state,
+ p2.INFO as blocked_query
+FROM INFORMATION_SCHEMA.PROCESSLIST p1
+JOIN INFORMATION_SCHEMA.INNODB_LOCK_WAITS w ON p1.ID = w.blocking_thread
+JOIN INFORMATION_SCHEMA.PROCESSLIST p2 ON p2.ID = w.waiting_thread;
+
+-- ===== 处理锁定事务的操作 =====
+
+-- 9. 杀死指定的连接(替换 CONNECTION_ID 为实际的连接ID)
+-- KILL CONNECTION_ID;
+
+-- 示例:杀死连接ID为123的连接
+-- KILL 123;
+
+-- 10. 强制杀死指定连接(即使在事务中)
+-- KILL CONNECTION CONNECTION_ID;
+
+-- 11. 回滚指定事务(需要在对应连接中执行)
+-- ROLLBACK;
+
+-- 12. 设置锁等待超时(秒)
+SET innodb_lock_wait_timeout = 50;
+
+-- 13. 查看当前锁等待超时设置
+SHOW VARIABLES LIKE 'innodb_lock_wait_timeout';
+
+-- ===== 预防措施 =====
+
+-- 14. 查看死锁信息
+SHOW ENGINE INNODB STATUS;
+
+-- 15. 开启死锁检测
+SET GLOBAL innodb_deadlock_detect = ON;
+
+-- 16. 查看事务隔离级别
+SELECT @@tx_isolation;
+
+-- 17. 设置事务隔离级别(如果需要)
+-- SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+
+-- ===== 使用步骤说明 =====
+/*
+1. 首先运行查询1-4来了解当前事务状态
+2. 找出长时间运行或阻塞的事务ID和连接ID
+3. 使用KILL命令终止问题连接
+4. 确认锁定已解除
+
+注意:
+- 在生产环境中谨慎使用KILL命令
+- 优先尝试让应用程序正常提交或回滚事务
+- 如果必须强制终止,确保了解可能的数据影响
+*/
\ No newline at end of file
diff --git a/pages.json b/pages.json
index 3f018ac..07a452e 100644
--- a/pages.json
+++ b/pages.json
@@ -418,6 +418,15 @@
"enablePullDownRefresh": false,
"navigationBarTextStyle": "white"
}
+ },
+ {
+ "path": "order/serviceRecord",
+ "style": {
+ "navigationBarTitleText": "服务记录",
+ "navigationBarBackgroundColor": "#FFBF60",
+ "enablePullDownRefresh": true,
+ "navigationBarTextStyle": "white"
+ }
}
]
}
diff --git a/pages/companionPetList/companionPetInfo.vue b/pages/companionPetList/companionPetInfo.vue
index 8c58e55..548be8f 100644
--- a/pages/companionPetList/companionPetInfo.vue
+++ b/pages/companionPetList/companionPetInfo.vue
@@ -12,9 +12,13 @@
{{companionInfo.userName}}
-
+ style="width: 40rpx;height: 40rpx;" /> -->
+
+
diff --git a/pages/personalCenter/a.txt b/pages/personalCenter/a.txt
new file mode 100644
index 0000000..b45e0a3
--- /dev/null
+++ b/pages/personalCenter/a.txt
@@ -0,0 +1,551 @@
+
+
+
+
+
+ 个人准备
+
+
+ 手套照片
+ (至少1张)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 鞋套照片
+ (至少1张)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 宠物状态记录
+
+
+
+ {{ pet.title }}照片
+ (至少2张)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 基础服务记录
+
+ 粮碗前后对比
+
+
+
+
+
+
+
+
+ 前
+
+
+
+
+
+
+
+
+ 后
+
+
+ 水碗前后对比
+
+
+
+
+
+
+
+
+ 前
+
+
+
+
+
+
+
+
+ 后
+
+
+ 猫砂盆、尿垫前后对比
+
+
+
+
+
+
+
+
+ 前
+
+
+
+
+
+
+
+
+ 后
+
+
+
+
+
+ 定制服务记录
+
+
+
+
+ {{ product.title }}
+ (2-3张)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 其他补充信息(必填)
+
+
+ 可记录一下今日趣事、宠物状况、提醒事项等,最少30个字
+
+
+
+
+
+
+
+ 保存草稿
+
+
+
+ 确定提交
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/personalCenter/orderDetailImage.vue b/pages/personalCenter/orderDetailImage.vue
index cfc7cb9..2295beb 100644
--- a/pages/personalCenter/orderDetailImage.vue
+++ b/pages/personalCenter/orderDetailImage.vue
@@ -8,34 +8,56 @@
{{ orderDate }}
-
-
- 个人信息
+
+
+ 个人准备
-
- 手套照片 (共2张)
+
+
+ 手套照片 ({{ fileList.glove.length }}张)
-
+ p.url), photo.url)">
+
-
- 鞋套照片 (共2张)
+
+
+
+ 鞋套照片 ({{ fileList.ShoeCover.length }}张)
-
+ p.url), photo.url)">
+
-
+
宠物状况记录
-
- {{ pet.name }} (共{{ pet.photoCount }}张)
-
-
-
+
+ {{ pet.title }} ({{ getPetPhotoCount(index) }}张)
+
+
+ p.url), photo.url)">
+
@@ -43,19 +65,84 @@
-
+
基础服务记录
-
- {{ service.name }}
+
+
+ 粮碗前后对比
+
+
+
+
+
+ 前
+
+
+
+
+ 后
+
+
+
+
+
+
+
+ 水碗前后对比
-
-
+
+
+
前
-
-
+
+
+
+ 后
+
+
+
+
+
+
+
+ 猫砂盆、尿垫前后对比
+
+
+
+
+
+ 前
+
+
+
+
后
@@ -65,101 +152,199 @@
-
+
定制服务记录
-
- 遛狗 (5-30分钟)
-
-
-
-
-
-
-
- 梳毛 (5-30分钟)
-
-
-
+
+ {{ project.title }} ({{ getProjectPhotoCount(index) }}张)
+
+ p.url), photo.url)">
+
+
+
+
+ 补充信息
+
+ {{ form.notes }}
+
+
+
+
\ No newline at end of file
diff --git a/pages_order/order/orderDetail.vue b/pages_order/order/orderDetail.vue
index 8463347..a9e001b 100644
--- a/pages_order/order/orderDetail.vue
+++ b/pages_order/order/orderDetail.vue
@@ -31,13 +31,13 @@
-