diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250519180854.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250519180854.vue deleted file mode 100644 index da9eb8e..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250519180854.vue +++ /dev/null @@ -1,1503 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250519181112.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250519181112.vue deleted file mode 100644 index 5b4710b..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250519181112.vue +++ /dev/null @@ -1,1504 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250519181217.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250519181217.vue deleted file mode 100644 index 20eb8be..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250519181217.vue +++ /dev/null @@ -1,1375 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250519181245.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250519181245.vue deleted file mode 100644 index af172e2..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250519181245.vue +++ /dev/null @@ -1,1532 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250519181310.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250519181310.vue deleted file mode 100644 index 9212345..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250519181310.vue +++ /dev/null @@ -1,1515 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250519181414.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250519181414.vue deleted file mode 100644 index da9eb8e..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250519181414.vue +++ /dev/null @@ -1,1503 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250519181545.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250519181545.vue deleted file mode 100644 index da9eb8e..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250519181545.vue +++ /dev/null @@ -1,1503 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250519182135.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250519182135.vue deleted file mode 100644 index bd4c068..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250519182135.vue +++ /dev/null @@ -1,1410 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250519182154.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250519182154.vue deleted file mode 100644 index 3bdda8f..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250519182154.vue +++ /dev/null @@ -1,1164 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250519182205.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250519182205.vue deleted file mode 100644 index 3bdda8f..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250519182205.vue +++ /dev/null @@ -1,1164 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250519182404.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250519182404.vue deleted file mode 100644 index 8b61a6c..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250519182404.vue +++ /dev/null @@ -1,1162 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250519182411.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250519182411.vue deleted file mode 100644 index 8b61a6c..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250519182411.vue +++ /dev/null @@ -1,1162 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250519182414.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250519182414.vue deleted file mode 100644 index fb9a59f..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250519182414.vue +++ /dev/null @@ -1,1166 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250519182437.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250519182437.vue deleted file mode 100644 index fb9a59f..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250519182437.vue +++ /dev/null @@ -1,1166 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250519182447.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250519182447.vue deleted file mode 100644 index fb9a59f..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250519182447.vue +++ /dev/null @@ -1,1166 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250519182543.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250519182543.vue deleted file mode 100644 index 9b1f9b0..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250519182543.vue +++ /dev/null @@ -1,1168 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250519182559.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250519182559.vue deleted file mode 100644 index 9b1f9b0..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250519182559.vue +++ /dev/null @@ -1,1168 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250520090935.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250520090935.vue deleted file mode 100644 index 9b1f9b0..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250520090935.vue +++ /dev/null @@ -1,1168 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250520090941.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250520090941.vue deleted file mode 100644 index 9b1f9b0..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250520090941.vue +++ /dev/null @@ -1,1168 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250520091044.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250520091044.vue deleted file mode 100644 index 9f03a3e..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250520091044.vue +++ /dev/null @@ -1,1131 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250520091054.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250520091054.vue deleted file mode 100644 index 9f03a3e..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250520091054.vue +++ /dev/null @@ -1,1131 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250520091058.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250520091058.vue deleted file mode 100644 index 9f03a3e..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250520091058.vue +++ /dev/null @@ -1,1131 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250520091110.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250520091110.vue deleted file mode 100644 index 9f03a3e..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250520091110.vue +++ /dev/null @@ -1,1131 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250520091119.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250520091119.vue deleted file mode 100644 index 9f03a3e..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250520091119.vue +++ /dev/null @@ -1,1131 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250520091128.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250520091128.vue deleted file mode 100644 index 9f03a3e..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250520091128.vue +++ /dev/null @@ -1,1131 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250520091144.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250520091144.vue deleted file mode 100644 index 9f03a3e..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250520091144.vue +++ /dev/null @@ -1,1131 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250520092333.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250520092333.vue deleted file mode 100644 index a127059..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250520092333.vue +++ /dev/null @@ -1,1132 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250520092334.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250520092334.vue deleted file mode 100644 index a127059..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250520092334.vue +++ /dev/null @@ -1,1132 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250520092537.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250520092537.vue deleted file mode 100644 index 9f03a3e..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250520092537.vue +++ /dev/null @@ -1,1131 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250520092538.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250520092538.vue deleted file mode 100644 index 9f03a3e..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250520092538.vue +++ /dev/null @@ -1,1131 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250520165046.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250520165046.vue deleted file mode 100644 index d84429d..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250520165046.vue +++ /dev/null @@ -1,1111 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521162429.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521162429.vue deleted file mode 100644 index 7c851e3..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521162429.vue +++ /dev/null @@ -1,1111 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521162815.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521162815.vue deleted file mode 100644 index 615ed49..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521162815.vue +++ /dev/null @@ -1,1158 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521162858.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521162858.vue deleted file mode 100644 index 615ed49..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521162858.vue +++ /dev/null @@ -1,1158 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521163321.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521163321.vue deleted file mode 100644 index c7aa64a..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521163321.vue +++ /dev/null @@ -1,1158 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521163408.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521163408.vue deleted file mode 100644 index 228e3e8..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521163408.vue +++ /dev/null @@ -1,1158 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521163632.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521163632.vue deleted file mode 100644 index 20ce7f0..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521163632.vue +++ /dev/null @@ -1,1183 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521163828.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521163828.vue deleted file mode 100644 index 0809a08..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521163828.vue +++ /dev/null @@ -1,1113 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521163831.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521163831.vue deleted file mode 100644 index 4c735e9..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521163831.vue +++ /dev/null @@ -1,1133 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521163832.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521163832.vue deleted file mode 100644 index 4c735e9..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521163832.vue +++ /dev/null @@ -1,1133 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521163834.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521163834.vue deleted file mode 100644 index 4c735e9..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521163834.vue +++ /dev/null @@ -1,1133 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521163926.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521163926.vue deleted file mode 100644 index 4c735e9..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521163926.vue +++ /dev/null @@ -1,1133 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521163953.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521163953.vue deleted file mode 100644 index 32506fb..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521163953.vue +++ /dev/null @@ -1,1202 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521164020.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521164020.vue deleted file mode 100644 index 4c735e9..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521164020.vue +++ /dev/null @@ -1,1133 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521164208.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521164208.vue deleted file mode 100644 index 3965d08..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521164208.vue +++ /dev/null @@ -1,1121 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521164643.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521164643.vue deleted file mode 100644 index 282801c..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521164643.vue +++ /dev/null @@ -1,1202 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521165025.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521165025.vue deleted file mode 100644 index be5bc76..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521165025.vue +++ /dev/null @@ -1,1202 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521165109.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521165109.vue deleted file mode 100644 index 87ae196..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521165109.vue +++ /dev/null @@ -1,1202 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521165137.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521165137.vue deleted file mode 100644 index be5bc76..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521165137.vue +++ /dev/null @@ -1,1202 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521165241.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521165241.vue deleted file mode 100644 index 310f568..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521165241.vue +++ /dev/null @@ -1,1202 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521165327.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521165327.vue deleted file mode 100644 index 2768fa7..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521165327.vue +++ /dev/null @@ -1,1202 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521165408.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521165408.vue deleted file mode 100644 index a9bd083..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521165408.vue +++ /dev/null @@ -1,1202 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521165437.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521165437.vue deleted file mode 100644 index 9388c6f..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521165437.vue +++ /dev/null @@ -1,1202 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250521165505.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250521165505.vue deleted file mode 100644 index 282801c..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250521165505.vue +++ /dev/null @@ -1,1202 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522152233.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522152233.vue deleted file mode 100644 index 71c919e..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522152233.vue +++ /dev/null @@ -1,1225 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522152730.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522152730.vue deleted file mode 100644 index 0042d36..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522152730.vue +++ /dev/null @@ -1,1231 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522152916.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522152916.vue deleted file mode 100644 index 3f82f91..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522152916.vue +++ /dev/null @@ -1,1209 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522153035.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522153035.vue deleted file mode 100644 index b8074ea..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522153035.vue +++ /dev/null @@ -1,1211 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522153055.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522153055.vue deleted file mode 100644 index 2b14dce..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522153055.vue +++ /dev/null @@ -1,1211 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522153123.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522153123.vue deleted file mode 100644 index e460c83..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522153123.vue +++ /dev/null @@ -1,1215 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522153243.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522153243.vue deleted file mode 100644 index c0db852..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522153243.vue +++ /dev/null @@ -1,1217 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522153259.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522153259.vue deleted file mode 100644 index 23e1ffd..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522153259.vue +++ /dev/null @@ -1,1218 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522155317.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522155317.vue deleted file mode 100644 index f73a52d..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522155317.vue +++ /dev/null @@ -1,1218 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522155331.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522155331.vue deleted file mode 100644 index f73a52d..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522155331.vue +++ /dev/null @@ -1,1218 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522155342.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522155342.vue deleted file mode 100644 index 79c9ff0..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522155342.vue +++ /dev/null @@ -1,1217 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522155501.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522155501.vue deleted file mode 100644 index 79c9ff0..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522155501.vue +++ /dev/null @@ -1,1217 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522155510.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522155510.vue deleted file mode 100644 index f1d0714..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522155510.vue +++ /dev/null @@ -1,1219 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522155511.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522155511.vue deleted file mode 100644 index f1d0714..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522155511.vue +++ /dev/null @@ -1,1219 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522155517.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522155517.vue deleted file mode 100644 index f1d0714..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522155517.vue +++ /dev/null @@ -1,1219 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522155618.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522155618.vue deleted file mode 100644 index 131bcff..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522155618.vue +++ /dev/null @@ -1,1210 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522160550.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522160550.vue deleted file mode 100644 index 66c553d..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522160550.vue +++ /dev/null @@ -1,1209 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522161200.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522161200.vue deleted file mode 100644 index 66c553d..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522161200.vue +++ /dev/null @@ -1,1209 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522161741.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522161741.vue deleted file mode 100644 index 23c5e19..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522161741.vue +++ /dev/null @@ -1,1209 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522162639.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522162639.vue deleted file mode 100644 index ba2bc32..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522162639.vue +++ /dev/null @@ -1,1211 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522162813.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522162813.vue deleted file mode 100644 index 9a67a49..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522162813.vue +++ /dev/null @@ -1,1217 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522162852.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522162852.vue deleted file mode 100644 index 161236b..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522162852.vue +++ /dev/null @@ -1,1217 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522162945.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522162945.vue deleted file mode 100644 index 481d87e..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522162945.vue +++ /dev/null @@ -1,1218 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522163009.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522163009.vue deleted file mode 100644 index 20ea100..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522163009.vue +++ /dev/null @@ -1,1218 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522163740.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522163740.vue deleted file mode 100644 index f2825d4..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522163740.vue +++ /dev/null @@ -1,1230 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522163815.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522163815.vue deleted file mode 100644 index 4e4fa06..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522163815.vue +++ /dev/null @@ -1,1231 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522163858.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522163858.vue deleted file mode 100644 index d6ec525..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522163858.vue +++ /dev/null @@ -1,1222 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522164156.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522164156.vue deleted file mode 100644 index 04574e3..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522164156.vue +++ /dev/null @@ -1,1222 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522164737.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522164737.vue deleted file mode 100644 index 839996c..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522164737.vue +++ /dev/null @@ -1,1228 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522165203.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522165203.vue deleted file mode 100644 index 7b1bc36..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522165203.vue +++ /dev/null @@ -1,1228 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522165255.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522165255.vue deleted file mode 100644 index 7b1bc36..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522165255.vue +++ /dev/null @@ -1,1228 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522165653.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522165653.vue deleted file mode 100644 index 96f500f..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522165653.vue +++ /dev/null @@ -1,1241 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522165750.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522165750.vue deleted file mode 100644 index 96f500f..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522165750.vue +++ /dev/null @@ -1,1241 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522170612.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522170612.vue deleted file mode 100644 index 353a105..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522170612.vue +++ /dev/null @@ -1,1257 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522170706.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522170706.vue deleted file mode 100644 index 353a105..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522170706.vue +++ /dev/null @@ -1,1257 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522170956.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522170956.vue deleted file mode 100644 index c3cffb9..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522170956.vue +++ /dev/null @@ -1,1260 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522171003.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522171003.vue deleted file mode 100644 index c3cffb9..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522171003.vue +++ /dev/null @@ -1,1260 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522173911.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522173911.vue deleted file mode 100644 index 68f3224..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522173911.vue +++ /dev/null @@ -1,1262 +0,0 @@ - - - - - diff --git a/.history/ruoyi-ui/src/views/system/Order/index_20250522174018.vue b/.history/ruoyi-ui/src/views/system/Order/index_20250522174018.vue deleted file mode 100644 index 741aebe..0000000 --- a/.history/ruoyi-ui/src/views/system/Order/index_20250522174018.vue +++ /dev/null @@ -1,1263 +0,0 @@ - - - - - diff --git a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java index 32eb6f1..775f772 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java @@ -3,6 +3,7 @@ package com.ruoyi; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.scheduling.annotation.EnableScheduling; /** * 启动程序 @@ -10,6 +11,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; * @author ruoyi */ @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class }) +@EnableScheduling public class RuoYiApplication { public static void main(String[] args) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/AppletController.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/AppletController.java index 8651626..eb2f58f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/AppletController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/AppletController.java @@ -6,6 +6,7 @@ import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.system.ControllerUtil.*; import com.ruoyi.system.domain.*; import com.ruoyi.system.domain.AppleDoMain.OrderApple; @@ -25,6 +26,8 @@ import javax.servlet.http.HttpServletRequest; import java.math.RoundingMode; import java.text.DateFormat; import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.*; import java.text.SimpleDateFormat; import java.util.stream.Collectors; @@ -3622,14 +3625,14 @@ public AjaxResult getSkillList(HttpServletRequest request) { * @return 上传结果 *

* 接口说明: - * - 支持图片和文档文件上传 + * - 支持图片和视频文件上传 * - 优先使用七牛云上传,未启用时使用本地上传 * - 自动验证文件格式和大小 * - 无需用户登录验证(public 接口) *

* 支持的文件格式: * - 图片:jpg, jpeg, png, gif, bmp, webp, svg - * - 文档:doc, docx, xls, xlsx, ppt, pptx, txt, pdf + * - 视频:mp4, avi, mov, wmv, flv, m4v, 3gp, rmvb, mkv *

* 返回格式: * { @@ -3649,16 +3652,16 @@ public AjaxResult uploadFile(@RequestParam("file") MultipartFile file, HttpServl return AppletControllerUtil.appletWarning("上传文件不能为空"); } - // 2. 验证文件格式 + // 2. 只允许图片和视频格式 String[] allowedTypes = { // 图片格式 "jpg", "jpeg", "png", "gif", "bmp", "webp", "svg", - // 文档格式 - "doc", "docx", "xls", "xlsx", "ppt", "pptx", "txt", "pdf" + // 视频格式 + "mp4", "avi", "mov", "wmv", "flv", "m4v", "3gp", "rmvb", "mkv" }; if (!QiniuUploadUtil.isValidFileType(file.getOriginalFilename(), allowedTypes)) { - return AppletControllerUtil.appletWarning("不支持的文件格式"); + return AppletControllerUtil.appletWarning("只允许上传图片或视频文件"); } // 3. 验证文件大小(10MB) @@ -4701,7 +4704,7 @@ public AjaxResult createServiceOrder(@RequestBody Map params, Ht } else { // 创建服务订单 String makeTime = orderParams.get("make_time") != null ? orderParams.get("make_time").toString() : ""; - + String fileData = orderParams.get("fileData") != null ? orderParams.get("fileData").toString() : ""; Order order = new Order(); order.setType(1); // 1:服务项目 order.setCreateType(1); // 1:用户自主下单 @@ -4710,6 +4713,7 @@ public AjaxResult createServiceOrder(@RequestBody Map params, Ht order.setProductId(productId); order.setProductName(serviceGoods.getTitle()); order.setName(userAddress.getName()); + order.setFileData(fileData); order.setPhone(userAddress.getPhone()); order.setAddress(userAddress.getAddressInfo()); order.setAddressId(addressId); @@ -5602,6 +5606,11 @@ public AjaxResult getWorkerOrderInfo(@PathVariable("id") Long id, HttpServletReq data.put("phone_xx", order.getPhone()); // 可脱敏处理 data.put("user", user); data.put("product", product); + if (order.getFileData() != null){ + data.put("file_data", JSON.parseArray(order.getFileData())); + }else{ + data.put("file_data", null); + } data.put("log", logArr); return AjaxResult.success(data); } catch (Exception e) { @@ -7252,8 +7261,18 @@ public AjaxResult workerOrderEnd(@RequestBody Map params, HttpSe moneyLog.setCr(Math.toIntExact(levelInfo != null ? levelInfo.getCr() : null)); moneyLog.setMergin(BigDecimal.ZERO); moneyLog.setDoorPrice(price); - moneyLog.setCreatedAt(new Date()); - moneyLog.setUpdatedAt(new Date()); + + moneyLog.setStatus(1);//锁单 + moneyLog.setStatusType(0);//后台锁定 + moneyLog.setBeginlook(new Date()); + //7天锁单 + LocalDateTime ldt = LocalDateTime.now().plusDays(7); + Date end = Date.from(ldt.atZone(ZoneId.systemDefault()).toInstant()); + moneyLog.setEndlook(end); + moneyLog.setLookday(7); + moneyLog.setLookMoney(price); +// moneyLog.setCreatedAt(new Date()); +// moneyLog.setUpdatedAt(new Date()); workerMoneyLogService.insertWorkerMoneyLog(moneyLog); } // 3.4 解绑虚拟号 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/PayNotifyController.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/PayNotifyController.java index 25633a8..58816e2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/PayNotifyController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/PayNotifyController.java @@ -17,6 +17,8 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -963,9 +965,19 @@ public class PayNotifyController extends BaseController { moneyLog.setType(1); // 1=收入 moneyLog.setServicePrice(servicePrice); moneyLog.setReductionPrice(reduction); - moneyLog.setCr(cr.multiply(new BigDecimal(100)).intValue()); // 百分比 + int bfb=cr.multiply(new BigDecimal(100)).intValue(); + moneyLog.setCr(bfb); // 百分比 moneyLog.setMergin(margin); moneyLog.setDoorPrice(doorPrice); + moneyLog.setStatus(1);//锁单 + moneyLog.setStatusType(0);//后台锁定 + moneyLog.setBeginlook(new Date()); + //7天锁单 + LocalDateTime ldt = LocalDateTime.now().plusDays(7); + Date end = Date.from(ldt.atZone(ZoneId.systemDefault()).toInstant()); + moneyLog.setEndlook(end); + moneyLog.setLookday(7); + moneyLog.setLookMoney(finalCommission); workerMoneyLogService.insertWorkerMoneyLog(moneyLog); logger.info("【分佣计算】插入师傅金额记录完成"); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/WorkerMoneyLogController.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/WorkerMoneyLogController.java index c7d69f9..0fad150 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/WorkerMoneyLogController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/WorkerMoneyLogController.java @@ -2,6 +2,17 @@ package com.ruoyi.system.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.ZoneId; +import java.util.Date; +import java.util.Map; +import java.math.BigDecimal; + +import com.ruoyi.common.utils.spring.SpringUtils; +import com.ruoyi.system.ControllerUtil.ScheduledTaskUtil; +import com.ruoyi.system.domain.Users; +import com.ruoyi.system.service.IUsersService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -23,9 +34,9 @@ import com.ruoyi.common.core.page.TableDataInfo; /** * 师傅金额明细Controller - * + * * @author ruoyi - * @date 2025-05-13 + * @date 2025-06-25 */ @RestController @RequestMapping("/system/workerMoneyLog") @@ -34,6 +45,9 @@ public class WorkerMoneyLogController extends BaseController @Autowired private IWorkerMoneyLogService workerMoneyLogService; + @Autowired + private IUsersService usersService; + /** * 查询师傅金额明细列表 */ @@ -41,8 +55,18 @@ public class WorkerMoneyLogController extends BaseController @GetMapping("/list") public TableDataInfo list(WorkerMoneyLog workerMoneyLog) { + ScheduledTaskUtil taskUtil = SpringUtils.getBean(ScheduledTaskUtil.class); + taskUtil.healthCheck(); startPage(); List list = workerMoneyLogService.selectWorkerMoneyLogList(workerMoneyLog); + for(WorkerMoneyLog l: list){ + Users users = usersService.selectUsersById(l.getWorkerId()); + if (users != null){ + l.setWorkerName(users.getName()); + } + + //list.get(i).setWorkerName(workerMoneyLogService.selectWorkerMoneyLogById(list.get(i).getId()).getWorkerName()); + } return getDataTable(list); } @@ -96,9 +120,93 @@ public class WorkerMoneyLogController extends BaseController */ @PreAuthorize("@ss.hasPermi('system:workerMoneyLog:remove')") @Log(title = "师傅金额明细", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Integer[] ids) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) { return toAjax(workerMoneyLogService.deleteWorkerMoneyLogByIds(ids)); } + + /** + * 批量锁住收益 + * @param params {ids:[], lockType:'forever'|'timed', lockday:int} + * @return AjaxResult + */ + @PreAuthorize("@ss.hasPermi('system:workerMoneyLog:lock')") + @PostMapping("/lock") + public AjaxResult lockMoney(@RequestBody Map params) { + Object idsObj = params.get("ids"); + if (idsObj == null) return AjaxResult.error("未选择数据"); + List ids = (List) idsObj; + String lockType = (String) params.get("lockType"); + Integer lockday = params.get("lockday") == null ? null : Integer.parseInt(params.get("lockday").toString()); + Date now = new Date(); + Date end = null; + if ("timed".equals(lockType) && lockday != null && lockday > 0) { + LocalDateTime ldt = LocalDateTime.now().plusDays(lockday); + end = Date.from(ldt.atZone(ZoneId.systemDefault()).toInstant()); + } + for (Integer id : ids) { + WorkerMoneyLog log = workerMoneyLogService.selectWorkerMoneyLogById(id); + if (log == null) continue; + log.setStatus(1); // 锁定 + log.setStatusType(1); // 后台锁定 + log.setBeginlook(now); + if ("timed".equals(lockType) && end != null) { + log.setEndlook(end); + log.setLookday(lockday); + } +// else { +// // 永久锁住 +// +// } + log.setLookMoney(log.getPrice()); + workerMoneyLogService.updateWorkerMoneyLog(log); + if ("forever".equals(lockType)){ + workerMoneyLogService.updateWorkerMoneyLogforever(log); + } + } + return AjaxResult.success("锁住收益成功"); + } + + /** + * 批量解锁收益 + * @param params {ids:[]} + * @return AjaxResult + */ + @PreAuthorize("@ss.hasPermi('system:workerMoneyLog:unlock')") + @PostMapping("/unlock") + public AjaxResult unlockMoney(@RequestBody Map params) { + Object idsObj = params.get("ids"); + if (idsObj == null) return AjaxResult.error("未选择数据"); + List ids = (List) idsObj; + for (Integer id : ids) { + WorkerMoneyLog log = workerMoneyLogService.selectWorkerMoneyLogById(id); + if (log == null) continue; + log.setStatus(2); // 解锁 + log.setLookMoney(BigDecimal.ZERO); + //log.setStatusType(null); + workerMoneyLogService.updateWorkerMoneyLog(log); + } + return AjaxResult.success("解锁收益成功"); + } + + /** + * 调整收益(奖励/扣除) + * @param params {id, amount, remark} + * @return AjaxResult + */ + @PreAuthorize("@ss.hasPermi('system:workerMoneyLog:adjust')") + @PostMapping("/adjust") + public AjaxResult adjustMoney(@RequestBody Map params) { + Integer id = params.get("id") instanceof Integer ? (Integer) params.get("id") : Integer.parseInt(params.get("id").toString()); + WorkerMoneyLog log = workerMoneyLogService.selectWorkerMoneyLogById(id); + if (log == null) return AjaxResult.error("数据不存在"); + if (log.getStatus() == null || log.getStatus() != 1) return AjaxResult.error("只能调整锁定状态的数据"); + BigDecimal amount = new BigDecimal(params.get("amount").toString()); + String remark = (String) params.get("remark"); + log.setAdminUpPrice(amount); + log.setAdminUpReamk(remark); + workerMoneyLogService.updateWorkerMoneyLog(log); + return AjaxResult.success("调整收益成功"); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controllerUtil/AppletControllerUtil.java b/ruoyi-system/src/main/java/com/ruoyi/system/controllerUtil/AppletControllerUtil.java index c70df71..940cc45 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controllerUtil/AppletControllerUtil.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controllerUtil/AppletControllerUtil.java @@ -1822,15 +1822,27 @@ public class AppletControllerUtil { } } // 添加 tag 字段 - String tag = ""; + String tag = "优惠券"; if (coupons.getReceiveType() != null) { String receiveType = String.valueOf(coupons.getReceiveType()); - tag = switch (receiveType) { - case "1" -> "通用券"; - case "2" -> "品类券"; - case "3" -> "商品券"; - default -> "优惠券"; - }; + if (receiveType.equals("1")) { + tag = "通用券"; + } + if (receiveType.equals("2")) { + tag = "品类券"; + } + if (receiveType.equals("3")) { + tag = "商品券"; + } +// if (receiveType.equals("4")) { +// tag = "通用券"; +// } +// tag = switch (receiveType) { +// case "1" -> "通用券"; +// case "2" -> "品类券"; +// case "3" -> "商品券"; +// default -> "优惠券"; +// }; } couponData.put("suit_title", tag); @@ -2470,6 +2482,13 @@ public class AppletControllerUtil { orderDetail.put("log_json", order.getLogJson()); orderDetail.put("json_status", order.getJsonStatus()); orderDetail.put("log_images", order.getLogImages()); + // JSONArray jsonArray = new JSONArray(); + if (order.getFileData() != null){ + orderDetail.put("file_data", JSON.parseArray(order.getFileData())); + }else{ + orderDetail.put("file_data", null); + } + // 4. 处理时间字段 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controllerUtil/ScheduledTaskUtil.java b/ruoyi-system/src/main/java/com/ruoyi/system/controllerUtil/ScheduledTaskUtil.java index 16cb3f4..94f01af 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controllerUtil/ScheduledTaskUtil.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controllerUtil/ScheduledTaskUtil.java @@ -5,8 +5,10 @@ import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.system.domain.Order; import com.ruoyi.system.service.IOrderService; +import com.ruoyi.system.service.IWorkerMoneyLogService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.boot.CommandLineRunner; import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -32,17 +34,22 @@ import java.util.concurrent.*; * - 自动定时执行:通过@Scheduled注解配置的定时任务会自动执行 * - 手动调用:可直接调用相应的方法进行手动处理 * - 异步执行:支持异步执行耗时任务,不阻塞主线程 + * - 项目启动时自动执行:实现CommandLineRunner接口,项目启动时自动调用run方法 * * @author RuoYi * @date 2024-01-01 */ @Component -public class ScheduledTaskUtil { +public class ScheduledTaskUtil implements CommandLineRunner { private static final Logger log = LoggerFactory.getLogger(ScheduledTaskUtil.class); // 订单服务,通过Spring工具类获取 private static IOrderService orderService; + + + // 订单服务,通过Spring工具类获取 + private static IWorkerMoneyLogService workerMoneyLogService; // 线程池,用于异步执行任务 private ThreadPoolExecutor executorService; @@ -91,8 +98,43 @@ public class ScheduledTaskUtil { ); } + @Override + public void run(String... args) throws Exception { + log.info("项目启动,自动执行定时任务..."); + handleDispatchTimeout(); + checkOrderStatusTimeout(); + cleanupSystemData(); + healthCheck(); + updateWorkerMoneyLook(); + log.info("定时任务自动执行完成"); + } + // ========================= 定时任务方法 ========================= + + + + /** + * 师傅收益7天定时冻结的解冻 + * 每10分钟执行一次 + */ + @Scheduled(fixedRate = 10 * 60 * 1000) // 每10分钟执行一次 + public void updateWorkerMoneyLook() { + String taskName = "订单状态超时检查"; + long startTime = System.currentTimeMillis(); + + try { + workerMoneyLogService=SpringUtils.getBean(IWorkerMoneyLogService.class); + workerMoneyLogService.updateWorkerMoneyLogStatusIfEndlookAfterNow(); + + } catch (Exception e) { + log.error("{}任务执行失败", taskName, e); + updateTaskStatistics(taskName, false, System.currentTimeMillis() - startTime); + } + } + + + /** * 订单派单超时处理任务 * 每5分钟执行一次,检查派单超过20分钟的订单 @@ -106,30 +148,23 @@ public class ScheduledTaskUtil { public void handleDispatchTimeout() { String taskName = "订单派单超时处理"; long startTime = System.currentTimeMillis(); - + log.info("开始执行{}任务", taskName); try { - log.info("开始执行{}任务", taskName); - // 获取派单超过20分钟的订单 List timeoutOrders = getDispatchTimeoutOrders(); - if (timeoutOrders.isEmpty()) { log.info("{}任务执行完成,无超时订单", taskName); return; } - log.info("发现{}个派单超时订单,开始处理", timeoutOrders.size()); - // 异步处理超时订单 processTimeoutOrdersAsync(timeoutOrders); - - // 更新任务统计 updateTaskStatistics(taskName, true, System.currentTimeMillis() - startTime); - } catch (Exception e) { log.error("{}任务执行失败", taskName, e); updateTaskStatistics(taskName, false, System.currentTimeMillis() - startTime); } + log.info("{}任务执行完成,耗时{}毫秒", taskName, System.currentTimeMillis() - startTime); } /** @@ -208,6 +243,7 @@ public class ScheduledTaskUtil { @Scheduled(fixedRate = 30 * 60 * 1000) // 每30分钟执行一次 public void healthCheck() { String taskName = "系统健康检查"; + log.info("开始执行{}任务", taskName); long startTime = System.currentTimeMillis(); try { @@ -230,6 +266,18 @@ public class ScheduledTaskUtil { } } + /** + * 测试定时任务 + * 每3秒执行一次,打印测试信息 + * + * 使用说明: + * - 用于测试定时任务的执行情况 + */ + @Scheduled(fixedRate = 3000) // 每3秒执行一次 + public void testScheduledTask() { + log.info("测试定时任务执行中... 当前时间: {}", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + } + // ========================= 业务处理方法 ========================= /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/AppleDoMain/OrderApple.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/AppleDoMain/OrderApple.java index 0919411..80f1683 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/AppleDoMain/OrderApple.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/AppleDoMain/OrderApple.java @@ -22,6 +22,7 @@ public class OrderApple extends BaseEntity { private Long status;// 4 private String total_price;// "68.00" private Integer type;// 1 + private String fileData; private Long uid;// : 302 public Long getUid() { @@ -143,4 +144,12 @@ public class OrderApple extends BaseEntity { public void setCreated_at(Date created_at) { this.created_at = created_at; } + + public String getFileData() { + return fileData; + } + + public void setFileData(String fileData) { + this.fileData = fileData; + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/Order.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/Order.java index bb0bf14..ed47249 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/Order.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/Order.java @@ -193,6 +193,10 @@ public class Order extends BaseEntity private int fwpj; + /** 订单附件 */ + @Excel(name = "订单附件") + private String fileData; + private OrderLog orderLog; @@ -835,6 +839,15 @@ public class Order extends BaseEntity this.orderLog = orderLog; } + + public String getFileData() { + return fileData; + } + + public void setFileData(String fileData) { + this.fileData = fileData; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/WorkerMoneyLog.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/WorkerMoneyLog.java index 1b3299b..8cb3556 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/WorkerMoneyLog.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/WorkerMoneyLog.java @@ -2,7 +2,7 @@ package com.ruoyi.system.domain; import java.math.BigDecimal; import java.util.Date; - +import com.fasterxml.jackson.annotation.JsonFormat; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; @@ -10,21 +10,25 @@ import com.ruoyi.common.core.domain.BaseEntity; /** * 师傅金额明细对象 worker_money_log - * + * * @author ruoyi - * @date 2025-05-13 + * @date 2025-06-25 */ public class WorkerMoneyLog extends BaseEntity { private static final long serialVersionUID = 1L; - /** $column.columnComment */ - private Integer id; + /** */ + private int id; /** 师傅id */ @Excel(name = "师傅id") private Long workerId; + /** 师傅id */ + @Excel(name = "师傅id") + private String workerName; + /** 订单ID */ @Excel(name = "订单ID") private Long oid; @@ -51,7 +55,7 @@ public class WorkerMoneyLog extends BaseEntity /** 提成比例 */ @Excel(name = "提成比例") - private Integer cr; + private int cr; /** 质保金 */ @Excel(name = "质保金") @@ -61,158 +65,290 @@ public class WorkerMoneyLog extends BaseEntity @Excel(name = "上门费") private BigDecimal doorPrice; - /** $column.columnComment */ + /** */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "", width = 30, dateFormat = "yyyy-MM-dd") private Date createdAt; - /** $column.columnComment */ + /** */ private Date updatedAt; - public void setId(Integer id) + /** 状态 0正常 1锁单 */ + @Excel(name = "状态 0正常 1锁单") + private Integer status; + + /** 锁单类型 0系统锁单 1后台锁单 */ + @Excel(name = "锁单类型 0系统锁单 1后台锁单") + private Integer statusType; + + /** 锁单开始时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "锁单开始时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date beginlook; + + /** 锁单结束时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "锁单结束时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date endlook; + + /** 锁单天数 */ + @Excel(name = "锁单天数") + private Integer lookday; + + /** 平台变更金额 */ + @Excel(name = "平台变更金额") + private BigDecimal adminUpPrice; + + /** 平台变更金额原因 */ + @Excel(name = "平台变更金额原因") + private String adminUpReamk; + + /** 锁单金额 */ + @Excel(name = "锁单金额") + private BigDecimal lookMoney; + + public void setId(int id) { this.id = id; } - public Integer getId() + public int getId() { return id; } - public void setWorkerId(Long workerId) + public void setWorkerId(Long workerId) { this.workerId = workerId; } - public Long getWorkerId() + public Long getWorkerId() { return workerId; } - public void setOid(Long oid) + public void setOid(Long oid) { this.oid = oid; } - public Long getOid() + public Long getOid() { return oid; } - public void setOrderId(String orderId) + public void setOrderId(String orderId) { this.orderId = orderId; } - public String getOrderId() + public String getOrderId() { return orderId; } - public void setPrice(BigDecimal price) + public void setPrice(BigDecimal price) { this.price = price; } - public BigDecimal getPrice() + public BigDecimal getPrice() { return price; } - public void setType(Integer type) + public void setType(Integer type) { this.type = type; } - public Integer getType() + public Integer getType() { return type; } - public void setServicePrice(BigDecimal servicePrice) + public void setServicePrice(BigDecimal servicePrice) { this.servicePrice = servicePrice; } - public BigDecimal getServicePrice() + public BigDecimal getServicePrice() { return servicePrice; } - public void setReductionPrice(BigDecimal reductionPrice) + public void setReductionPrice(BigDecimal reductionPrice) { this.reductionPrice = reductionPrice; } - public BigDecimal getReductionPrice() + public BigDecimal getReductionPrice() { return reductionPrice; } - public void setCr(Integer cr) + public void setCr(Integer cr) { this.cr = cr; } - public Integer getCr() + public Integer getCr() { return cr; } - public void setMergin(BigDecimal mergin) + public void setMergin(BigDecimal mergin) { this.mergin = mergin; } - public BigDecimal getMergin() + public BigDecimal getMergin() { return mergin; } - public void setDoorPrice(BigDecimal doorPrice) + public void setDoorPrice(BigDecimal doorPrice) { this.doorPrice = doorPrice; } - public BigDecimal getDoorPrice() + public BigDecimal getDoorPrice() { return doorPrice; } - public void setCreatedAt(Date createdAt) + public void setCreatedAt(Date createdAt) { this.createdAt = createdAt; } - public Date getCreatedAt() + public Date getCreatedAt() { return createdAt; } - public void setUpdatedAt(Date updatedAt) + public void setUpdatedAt(Date updatedAt) { this.updatedAt = updatedAt; } - public Date getUpdatedAt() + public Date getUpdatedAt() { return updatedAt; } + public void setStatus(Integer status) + { + this.status = status; + } + + public Integer getStatus() + { + return status; + } + + public void setStatusType(Integer statusType) + { + this.statusType = statusType; + } + + public Integer getStatusType() + { + return statusType; + } + + public void setBeginlook(Date beginlook) + { + this.beginlook = beginlook; + } + + public Date getBeginlook() + { + return beginlook; + } + + public void setEndlook(Date endlook) + { + this.endlook = endlook; + } + + public Date getEndlook() + { + return endlook; + } + + public void setLookday(Integer lookday) + { + this.lookday = lookday; + } + + public Integer getLookday() + { + return lookday; + } + + public void setAdminUpPrice(BigDecimal adminUpPrice) + { + this.adminUpPrice = adminUpPrice; + } + + public BigDecimal getAdminUpPrice() + { + return adminUpPrice; + } + + public void setAdminUpReamk(String adminUpReamk) + { + this.adminUpReamk = adminUpReamk; + } + + public String getAdminUpReamk() + { + return adminUpReamk; + } + + public void setLookMoney(BigDecimal lookMoney) + { + this.lookMoney = lookMoney; + } + + public BigDecimal getLookMoney() + { + return lookMoney; + } + + public String getWorkerName() { + return workerName; + } + + public void setWorkerName(String workerName) { + this.workerName = workerName; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("workerId", getWorkerId()) - .append("oid", getOid()) - .append("orderId", getOrderId()) - .append("price", getPrice()) - .append("type", getType()) - .append("servicePrice", getServicePrice()) - .append("reductionPrice", getReductionPrice()) - .append("cr", getCr()) - .append("mergin", getMergin()) - .append("doorPrice", getDoorPrice()) - .append("createdAt", getCreatedAt()) - .append("updatedAt", getUpdatedAt()) - .toString(); + .append("id", getId()) + .append("workerId", getWorkerId()) + .append("oid", getOid()) + .append("orderId", getOrderId()) + .append("price", getPrice()) + .append("type", getType()) + .append("servicePrice", getServicePrice()) + .append("reductionPrice", getReductionPrice()) + .append("cr", getCr()) + .append("mergin", getMergin()) + .append("doorPrice", getDoorPrice()) + .append("createdAt", getCreatedAt()) + .append("updatedAt", getUpdatedAt()) + .append("status", getStatus()) + .append("statusType", getStatusType()) + .append("beginlook", getBeginlook()) + .append("endlook", getEndlook()) + .append("lookday", getLookday()) + .append("adminUpPrice", getAdminUpPrice()) + .append("adminUpReamk", getAdminUpReamk()) + .append("lookMoney", getLookMoney()) + .toString(); } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/WorkerMoneyLogMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/WorkerMoneyLogMapper.java index b4e1794..580b556 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/WorkerMoneyLogMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/WorkerMoneyLogMapper.java @@ -1,19 +1,20 @@ package com.ruoyi.system.mapper; +import java.math.BigDecimal; import java.util.List; import com.ruoyi.system.domain.WorkerMoneyLog; /** * 师傅金额明细Mapper接口 - * + * * @author ruoyi - * @date 2025-05-13 + * @date 2025-06-25 */ -public interface WorkerMoneyLogMapper +public interface WorkerMoneyLogMapper { /** * 查询师傅金额明细 - * + * * @param id 师傅金额明细主键 * @return 师傅金额明细 */ @@ -21,7 +22,7 @@ public interface WorkerMoneyLogMapper /** * 查询师傅金额明细列表 - * + * * @param workerMoneyLog 师傅金额明细 * @return 师傅金额明细集合 */ @@ -29,7 +30,7 @@ public interface WorkerMoneyLogMapper /** * 新增师傅金额明细 - * + * * @param workerMoneyLog 师傅金额明细 * @return 结果 */ @@ -37,25 +38,44 @@ public interface WorkerMoneyLogMapper /** * 修改师傅金额明细 - * + * * @param workerMoneyLog 师傅金额明细 * @return 结果 */ public int updateWorkerMoneyLog(WorkerMoneyLog workerMoneyLog); + public int updateWorkerMoneyLogforever(WorkerMoneyLog workerMoneyLog); + + + public BigDecimal selectWorkerMoneySumPrice(Integer workerId); + + public BigDecimal selectWorkerMoneySumPriceAsLook(Integer workerId); + + public BigDecimal selectWorkerMoneySumPriceAsNo(Integer workerId); + + public int updateWorkerMoneyLogStatusIfEndlookAfterNow(); + + + + + + + + + /** * 删除师傅金额明细 - * + * * @param id 师傅金额明细主键 * @return 结果 */ - public int deleteWorkerMoneyLogById(Integer id); + public int deleteWorkerMoneyLogById(String id); /** * 批量删除师傅金额明细 - * + * * @param ids 需要删除的数据主键集合 * @return 结果 */ - public int deleteWorkerMoneyLogByIds(Integer[] ids); + public int deleteWorkerMoneyLogByIds(String[] ids); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IWorkerMoneyLogService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IWorkerMoneyLogService.java index ada645b..b67aa4d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IWorkerMoneyLogService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IWorkerMoneyLogService.java @@ -1,19 +1,20 @@ package com.ruoyi.system.service; +import java.math.BigDecimal; import java.util.List; import com.ruoyi.system.domain.WorkerMoneyLog; /** * 师傅金额明细Service接口 - * + * * @author ruoyi - * @date 2025-05-13 + * @date 2025-06-25 */ -public interface IWorkerMoneyLogService +public interface IWorkerMoneyLogService { /** * 查询师傅金额明细 - * + * * @param id 师傅金额明细主键 * @return 师傅金额明细 */ @@ -21,7 +22,7 @@ public interface IWorkerMoneyLogService /** * 查询师傅金额明细列表 - * + * * @param workerMoneyLog 师傅金额明细 * @return 师傅金额明细集合 */ @@ -29,7 +30,7 @@ public interface IWorkerMoneyLogService /** * 新增师傅金额明细 - * + * * @param workerMoneyLog 师傅金额明细 * @return 结果 */ @@ -37,25 +38,35 @@ public interface IWorkerMoneyLogService /** * 修改师傅金额明细 - * + * * @param workerMoneyLog 师傅金额明细 * @return 结果 */ public int updateWorkerMoneyLog(WorkerMoneyLog workerMoneyLog); + public int updateWorkerMoneyLogforever(WorkerMoneyLog workerMoneyLog); + + + public BigDecimal selectWorkerMoneySumPrice(Integer workerId); + + public BigDecimal selectWorkerMoneySumPriceAsLook(Integer workerId); + + public BigDecimal selectWorkerMoneySumPriceAsNo(Integer workerId); + + public int updateWorkerMoneyLogStatusIfEndlookAfterNow(); /** * 批量删除师傅金额明细 - * + * * @param ids 需要删除的师傅金额明细主键集合 * @return 结果 */ - public int deleteWorkerMoneyLogByIds(Integer[] ids); + public int deleteWorkerMoneyLogByIds(String[] ids); /** * 删除师傅金额明细信息 - * + * * @param id 师傅金额明细主键 * @return 结果 */ - public int deleteWorkerMoneyLogById(Integer id); + public int deleteWorkerMoneyLogById(String id); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WorkerMoneyLogServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WorkerMoneyLogServiceImpl.java index d70db6d..cad1b08 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WorkerMoneyLogServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WorkerMoneyLogServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.system.service.impl; +import java.math.BigDecimal; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -9,19 +10,19 @@ import com.ruoyi.system.service.IWorkerMoneyLogService; /** * 师傅金额明细Service业务层处理 - * + * * @author ruoyi - * @date 2025-05-13 + * @date 2025-06-25 */ @Service -public class WorkerMoneyLogServiceImpl implements IWorkerMoneyLogService +public class WorkerMoneyLogServiceImpl implements IWorkerMoneyLogService { @Autowired private WorkerMoneyLogMapper workerMoneyLogMapper; /** * 查询师傅金额明细 - * + * * @param id 师傅金额明细主键 * @return 师傅金额明细 */ @@ -33,7 +34,7 @@ public class WorkerMoneyLogServiceImpl implements IWorkerMoneyLogService /** * 查询师傅金额明细列表 - * + * * @param workerMoneyLog 师傅金额明细 * @return 师傅金额明细 */ @@ -45,7 +46,7 @@ public class WorkerMoneyLogServiceImpl implements IWorkerMoneyLogService /** * 新增师傅金额明细 - * + * * @param workerMoneyLog 师傅金额明细 * @return 结果 */ @@ -57,7 +58,7 @@ public class WorkerMoneyLogServiceImpl implements IWorkerMoneyLogService /** * 修改师傅金额明细 - * + * * @param workerMoneyLog 师傅金额明细 * @return 结果 */ @@ -67,26 +68,50 @@ public class WorkerMoneyLogServiceImpl implements IWorkerMoneyLogService return workerMoneyLogMapper.updateWorkerMoneyLog(workerMoneyLog); } + + public int updateWorkerMoneyLogforever(WorkerMoneyLog workerMoneyLog) { + + return workerMoneyLogMapper.updateWorkerMoneyLogforever(workerMoneyLog); + } + + + + public BigDecimal selectWorkerMoneySumPrice(Integer workerId){ + return workerMoneyLogMapper.selectWorkerMoneySumPrice(workerId); + } + + public BigDecimal selectWorkerMoneySumPriceAsLook(Integer workerId){ + return workerMoneyLogMapper.selectWorkerMoneySumPriceAsLook(workerId); + } + + public BigDecimal selectWorkerMoneySumPriceAsNo(Integer workerId){ + return workerMoneyLogMapper.selectWorkerMoneySumPriceAsNo(workerId); + } + + public int updateWorkerMoneyLogStatusIfEndlookAfterNow(){ + return workerMoneyLogMapper.updateWorkerMoneyLogStatusIfEndlookAfterNow(); + } + /** * 批量删除师傅金额明细 - * + * * @param ids 需要删除的师傅金额明细主键 * @return 结果 */ @Override - public int deleteWorkerMoneyLogByIds(Integer[] ids) + public int deleteWorkerMoneyLogByIds(String[] ids) { return workerMoneyLogMapper.deleteWorkerMoneyLogByIds(ids); } /** * 删除师傅金额明细信息 - * + * * @param id 师傅金额明细主键 * @return 结果 */ @Override - public int deleteWorkerMoneyLogById(Integer id) + public int deleteWorkerMoneyLogById(String id) { return workerMoneyLogMapper.deleteWorkerMoneyLogById(id); } diff --git a/ruoyi-system/src/main/resources/mapper/system/OrderMapper.xml b/ruoyi-system/src/main/resources/mapper/system/OrderMapper.xml index 4d1460c..014a7ca 100644 --- a/ruoyi-system/src/main/resources/mapper/system/OrderMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/OrderMapper.xml @@ -6,6 +6,7 @@ + @@ -60,6 +61,7 @@ + @@ -115,6 +117,7 @@ log_json, json_status, log_images, + file_data, created_at, updated_at, deleted_at @@ -338,6 +341,9 @@ deleted_at, + + file_data = #{fileData}, + created_at, updated_at @@ -471,6 +477,9 @@ #{deletedAt}, + + #{fileData}, + NOW(), NOW() @@ -485,6 +494,11 @@ main_order_id = #{mainOrderId}, + + file_data = #{fileData}, + + + order_id = #{orderId}, diff --git a/ruoyi-system/src/main/resources/mapper/system/WorkerMoneyLogMapper.xml b/ruoyi-system/src/main/resources/mapper/system/WorkerMoneyLogMapper.xml index e8a4dbd..375aa95 100644 --- a/ruoyi-system/src/main/resources/mapper/system/WorkerMoneyLogMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/WorkerMoneyLogMapper.xml @@ -1,9 +1,9 @@ + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -18,34 +18,72 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + - select id, worker_id, oid, order_id, price, type, service_price, reduction_price, cr, mergin, door_price, created_at, updated_at from worker_money_log + select id, worker_id, oid, order_id, price, type, service_price, reduction_price, cr, mergin, door_price, created_at, updated_at, status, status_type, beginlook, endlook, lookday, admin_up_price, admin_up_reamk, look_money from worker_money_log - + + + + + + + + + + UPDATE worker_money_log + SET status = 2 + WHERE endlook > NOW() AND status = 1 + + + insert into worker_money_log @@ -59,8 +97,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" cr, mergin, door_price, - created_at, - updated_at + created_at, + updated_at, + status, + status_type, + beginlook, + endlook, + lookday, + admin_up_price, + admin_up_reamk, + look_money, #{workerId}, @@ -73,8 +119,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{cr}, #{mergin}, #{doorPrice}, - NOW(), - NOW() + #{createdAt}, + #{updatedAt}, + #{status}, + #{statusType}, + #{beginlook}, + #{endlook}, + #{lookday}, + #{adminUpPrice}, + #{adminUpReamk}, + #{lookMoney}, @@ -91,17 +145,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" cr = #{cr}, mergin = #{mergin}, door_price = #{doorPrice}, - updated_at = NOW() + created_at = #{createdAt}, + updated_at = #{updatedAt}, + status = #{status}, + status_type = #{statusType}, + beginlook = #{beginlook}, + endlook = #{endlook}, + lookday = #{lookday}, + admin_up_price = #{adminUpPrice}, + admin_up_reamk = #{adminUpReamk}, + look_money = #{lookMoney}, where id = #{id} - + + update worker_money_log + + endlook =null, + lookday =null + + where id = #{id} + + + delete from worker_money_log where id = #{id} - delete from worker_money_log where id in + delete from worker_money_log where id in #{id} diff --git a/ruoyi-ui/src/api/system/Order.js b/ruoyi-ui/src/api/system/Order.js index 3984868..1875883 100644 --- a/ruoyi-ui/src/api/system/Order.js +++ b/ruoyi-ui/src/api/system/Order.js @@ -43,6 +43,15 @@ export function delOrder(id) { }) } +// 导出服务订单 +export function exportOrder(query) { + return request({ + url: '/system/Order/export', + method: 'get', + params: query + }) +} + // 获取接单记录列表 export function getReceiveRecords(orderId) { return request({ diff --git a/ruoyi-ui/src/api/system/workerMoneyLog.js b/ruoyi-ui/src/api/system/workerMoneyLog.js index 699948d..d5f6d22 100644 --- a/ruoyi-ui/src/api/system/workerMoneyLog.js +++ b/ruoyi-ui/src/api/system/workerMoneyLog.js @@ -42,3 +42,30 @@ export function delWorkerMoneyLog(id) { method: 'delete' }) } + +// 锁住收益 +export function lockWorkerMoney(data) { + return request({ + url: '/system/workerMoneyLog/lock', + method: 'post', + data + }) +} + +// 解锁收益 +export function unlockWorkerMoney(data) { + return request({ + url: '/system/workerMoneyLog/unlock', + method: 'post', + data + }) +} + +// 调整收益 +export function adjustWorkerMoney(data) { + return request({ + url: '/system/workerMoneyLog/adjust', + method: 'post', + data + }) +} diff --git a/ruoyi-ui/src/views/system/Order/index.vue b/ruoyi-ui/src/views/system/Order/index.vue index 90de953..49c4563 100644 --- a/ruoyi-ui/src/views/system/Order/index.vue +++ b/ruoyi-ui/src/views/system/Order/index.vue @@ -316,6 +316,16 @@ + + + - + + + + + + + +

@@ -1163,6 +1269,7 @@ export default { content:"", remark:null }, + fileData: null, // 添加文件数据字段 }, // 表单校验 rules: { @@ -1321,6 +1428,15 @@ export default { // 添加daterangePayTime属性 daterangePayTime: [], daterangeCreatedAt: [], + fileDialogVisible: false, + fileList: [], + previewVisible: false, // 预览弹窗可见性 + previewUrl: '', // 预览图片URL + videoPreviewVisible: false, // 视频预览弹窗可见性 + videoPreviewUrl: '', // 预览视频URL + viewFilesVisible: false, // 查看附件弹窗可见性 + viewFilesList: [], // 查看的文件列表 + imageUrlList: [], // 图片预览列表 } }, created() { @@ -1399,11 +1515,16 @@ export default { cancelTime: null, // 重置取消时间 cancelReason: null, // 重置取消原因 timeoutDuration: null, // 重置超时时长 + fileData: null, // 重置文件数据 } // 重置地址列表 this.addressList = [] this.addressLoading = false this.resetForm("form") + if (this.$refs.upload) { + this.$refs.upload.clearFiles(); + } + this.fileList = [] }, /** 搜索按钮操作 */ handleQuery() { @@ -1527,121 +1648,67 @@ export default { /** 修改按钮操作 */ handleUpdate(row) { - this.reset() - const id = row.id || this.ids - this.getBaseProjectList(row.id) + this.reset(); + const id = row.id || this.ids; getOrder(id).then(response => { - this.form = response.data - - // 如果有用户ID,获取对应的地址列表 - if (this.form.uid) { - this.getAddressList(this.form.uid) - } - - // 时间戳转换为日期格式显示 - if (this.form.makeTime && typeof this.form.makeTime === 'number') { - this.form.makeTime = this.timestampToDate(this.form.makeTime) - } - - // 确保必要的数组和对象被初始化 - if (!this.form.serviceItems) { - this.$set(this.form, 'serviceItems', []) - } - if (!this.form.materials) { - this.$set(this.form, 'materials', []) - } - if (!this.form.orderLog) { - this.$set(this.form, 'orderLog', { - workerId: 1, - workerName: null, - price: 0, - content: "", - remark: null - }) - } - // 如果存在content,尝试解析它 - if (this.form.orderLog && this.form.orderLog.content) { + this.form = response.data; + // 处理文件数据回显 + if (this.form.fileData) { try { - const content = JSON.parse(this.form.orderLog.content) - - // 解析项目报价相关数据(jsonStatus === 6) - if (content.craft) { - this.form.serviceItems = content.craft.map(item => ({ - name: item.name, - price: item.price, - quantity: item.count, - id: null - })) - } - if (content.material) { - this.form.materials = content.material.map(item => ({ - name: item.name, - price: item.price, - quantity: item.count, - id: null - })) - } - if (content.basic) { - this.form.baseProject = content.basic.map(item => item.name) - } - if (content.project) { - this.form.price = content.project.price - } - - // 解析开始服务状态的图片数据(jsonStatus === 7) - if (content.name === "师傅开始服务" && content.image && Array.isArray(content.image)) { - // 将图片地址转换为文件列表格式 - this.form.servicePhotos = content.image.map((url, index) => ({ - name: `image_${index + 1}`, - url: url, - uid: Date.now() + index // 生成唯一的uid - })) - } - - // 解析暂停状态的图片数据(jsonStatus === 8) - if (content.name === "服务暂停" && content.image && Array.isArray(content.image)) { - this.form.servicePhotos = content.image.map((url, index) => ({ - name: `pause_image_${index + 1}`, - url: url, - uid: Date.now() + index - })) - // 解析暂停原因和下次服务时间 - if (content.pauseReason) { - this.form.pauseReason = content.pauseReason; - } - if (content.nextServiceTime) { - this.form.nextServiceTime = content.nextServiceTime; + let files; + if (typeof this.form.fileData === 'string') { + try { + files = JSON.parse(this.form.fileData); + } catch (e) { + files = this.form.fileData.split(',').filter(Boolean); } + } else if (Array.isArray(this.form.fileData)) { + files = this.form.fileData; + } else { + files = []; } - // 解析完成服务状态的图片数据(jsonStatus === 9) - if (content.name === "服务完成" && content.image && Array.isArray(content.image)) { - this.form.servicePhotos = content.image.map((url, index) => ({ - name: `complete_image_${index + 1}`, + this.fileList = files.map((file, index) => { + const url = typeof file === 'string' ? file : file.url; + return { + name: `附件${index + 1}`, url: url, - uid: Date.now() + index - })) - } - - // 解析取消订单数据(jsonStatus >= 10) - if (content.cancelType && this.form.jsonStatus >= 10 && this.form.jsonStatus <= 14) { - this.form.cancelTime = content.cancelTime || null; - this.form.cancelReason = content.cancelReason || null; - this.form.timeoutDuration = content.timeoutDuration || null; - - // 如果是师傅取消,设置师傅信息 - if (content.workerId) { - this.form.orderLog.workerId = content.workerId; - } - } + uid: Date.now() + index, + }; + }); } catch (e) { - console.error('解析orderLog.content失败:', e) + console.error('解析文件数据失败:', e); + this.fileList = []; } + } else { + this.fileList = []; } - this.open = true - this.title = "修改服务订单" - }) + this.open = true; + this.title = "修改订单"; + }); }, + + // 上传文件后的回显处理 + handleUploadSuccess(response) { + const { url } = response.data; + this.fileList.push({ name: url.split('/').pop(), url, uid: Date.now() }); + this.$message.success('文件上传成功'); + }, + + // 删除文件 + handleRemove(file) { + this.fileList = this.fileList.filter(item => item.uid !== file.uid); + this.$message.success('文件已删除'); + }, + + // 提交表单 + handleSubmit() { + const fileData = this.fileList.map(file => file.url).join(','); + this.form.fileData = fileData; + // 其他表单提交逻辑 + this.submitForm(this.form); + }, + /** 提交按钮 */ submitForm() { this.$refs["form"].validate(valid => { @@ -2416,7 +2483,135 @@ export default { return result }, - } + showFileDialog(row) { + let files = []; + if (typeof row.fileData === 'string') { + try { + files = JSON.parse(row.fileData); + } catch (e) { + files = []; + } + } else if (Array.isArray(row.fileData)) { + files = row.fileData; + } + this.fileList = files; + this.fileDialogVisible = true; + }, + isImage(url) { + return /\.(jpg|jpeg|png|gif|bmp|webp|svg)$/i.test(url); + }, + isVideo(url) { + return /\.(mp4|avi|mov|wmv|flv|m4v|3gp|rmvb|mkv)$/i.test(url); + }, + // 文件上传前的验证 + beforeFileUpload(file) { + // 验证文件类型 + const isImage = /\.(jpg|jpeg|png|gif|bmp|webp|svg)$/i.test(file.name); + const isVideo = /\.(mp4|avi|mov|wmv|flv|m4v|3gp|rmvb|mkv)$/i.test(file.name); + if (!isImage && !isVideo) { + this.$message.error('只能上传图片或视频文件!'); + return false; + } + // 验证文件大小(10MB) + const isLt10M = file.size / 1024 / 1024 < 10; + if (!isLt10M) { + this.$message.error('文件大小不能超过 10MB!'); + return false; + } + return true; + }, + // 文件上传成功 + handleFileSuccess(response, file, fileList) { + if (response.code === 200) { + this.fileList = fileList; + // 更新表单数据 + this.form.fileData = this.fileList.map(file => file.url || file.response.url).join(','); + this.$message.success('上传成功'); + } else { + this.$message.error(response.msg || '上传失败'); + // 从文件列表中移除上传失败的文件 + this.fileList = fileList.filter(f => f !== file); + } + }, + // 文件删除 + handleFileRemove(file) { + this.fileList = this.fileList.filter(f => f.uid !== file.uid); + // 更新表单数据 + this.form.fileData = this.fileList.map(file => file.url || file.response.url).join(','); + }, + // 文件预览 + handleFilePreview(file) { + const url = file.url || (file.response && file.response.url); + if (!url) return; + + // 判断文件类型 + const isImage = /\.(jpg|jpeg|png|gif|bmp|webp|svg)$/i.test(url); + const isVideo = /\.(mp4|avi|mov|wmv|flv|m4v|3gp|rmvb|mkv)$/i.test(url); + + if (isImage) { + this.previewUrl = url; + this.previewVisible = true; + } else if (isVideo) { + this.videoPreviewUrl = url; + this.videoPreviewVisible = true; + } + }, + // 超出文件数量限制 + handleFileExceed() { + this.$message.warning('最多只能上传9个文件!'); + }, + // 处理查看附件 + handleViewFiles(row) { + if (!row.fileData) return; + + try { + // 尝试解析文件数据 + let files; + if (typeof row.fileData === 'string') { + // 如果是字符串,尝试解析JSON + try { + files = JSON.parse(row.fileData); + } catch (e) { + // 如果解析失败,可能是逗号分隔的字符串 + files = row.fileData.split(',').filter(Boolean); + } + } else if (Array.isArray(row.fileData)) { + files = row.fileData; + } else { + files = []; + } + + // 处理文件列表 + this.viewFilesList = files.map(file => { + if (typeof file === 'string') { + return { url: file }; + } + return file; + }); + + // 提取所有图片URL用于预览 + this.imageUrlList = this.viewFilesList + .filter(file => this.isImage(file.url)) + .map(file => file.url); + + this.viewFilesVisible = true; + } catch (e) { + console.error('解析文件数据失败:', e); + this.$message.error('文件数据格式错误'); + } + }, + + // 预览视频 + previewVideo(file) { + this.videoPreviewUrl = file.url; + this.videoPreviewVisible = true; + }, + }, + computed: { + imageListOnly() { + return this.fileList.filter(url => this.isImage(url)); + } + } } @@ -2734,4 +2929,81 @@ export default { } } } + +.el-upload--picture-card { + width: 100px; + height: 100px; + line-height: 100px; +} + +.el-upload-list--picture-card .el-upload-list__item { + width: 100px; + height: 100px; +} + +.el-upload-list--picture-card .el-upload-list__item-thumbnail { + width: 100%; + height: 100%; + object-fit: cover; +} + +.file-preview-dialog { + .file-list-container { + display: flex; + flex-wrap: wrap; + gap: 16px; + padding: 16px; + } + + .file-item { + width: 120px; + height: 120px; + border: 1px solid #dcdfe6; + border-radius: 4px; + overflow: hidden; + } + + .preview-item { + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + background-color: #f5f7fa; + cursor: pointer; + } + + .preview-image { + width: 100%; + height: 100%; + } + + .video-preview { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + color: #409eff; + + i { + font-size: 32px; + margin-bottom: 8px; + } + + span { + font-size: 12px; + } + } + + .image-slot { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: 100%; + background-color: #f5f7fa; + color: #909399; + font-size: 24px; + } +} diff --git a/ruoyi-ui/src/views/system/UsersWorker/index.vue b/ruoyi-ui/src/views/system/UsersWorker/index.vue index 7db3102..d71244f 100644 --- a/ruoyi-ui/src/views/system/UsersWorker/index.vue +++ b/ruoyi-ui/src/views/system/UsersWorker/index.vue @@ -199,7 +199,11 @@ - + + + @@ -237,17 +241,23 @@ @confirm="handleEditConfirm" @cancel="editDialogVisible = false" /> + + + + + diff --git a/ruoyi-ui/src/views/system/WorkerApply/index.vue b/ruoyi-ui/src/views/system/WorkerApply/index.vue index b4821aa..59f57fe 100644 --- a/ruoyi-ui/src/views/system/WorkerApply/index.vue +++ b/ruoyi-ui/src/views/system/WorkerApply/index.vue @@ -1,12 +1,12 @@