From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目

---
 src/api/mall/trade/order/index.ts |  188 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 188 insertions(+), 0 deletions(-)

diff --git a/src/api/mall/trade/order/index.ts b/src/api/mall/trade/order/index.ts
new file mode 100644
index 0000000..37fee8c
--- /dev/null
+++ b/src/api/mall/trade/order/index.ts
@@ -0,0 +1,188 @@
+import request from '@/config/axios'
+
+export interface OrderVO {
+  // ========== 璁㈠崟鍩烘湰淇℃伅 ==========
+  id?: number | null // 璁㈠崟缂栧彿
+  no?: string // 璁㈠崟娴佹按鍙�
+  createTime?: Date | null // 涓嬪崟鏃堕棿
+  type?: number | null // 璁㈠崟绫诲瀷
+  terminal?: number | null // 璁㈠崟鏉ユ簮
+  userId?: number | null // 鐢ㄦ埛缂栧彿
+  userIp?: string // 鐢ㄦ埛 IP
+  userRemark?: string // 鐢ㄦ埛澶囨敞
+  status?: number | null // 璁㈠崟鐘舵��
+  productCount?: number | null // 璐拱鐨勫晢鍝佹暟閲�
+  finishTime?: Date | null // 璁㈠崟瀹屾垚鏃堕棿
+  cancelTime?: Date | null // 璁㈠崟鍙栨秷鏃堕棿
+  cancelType?: number | null // 鍙栨秷绫诲瀷
+  remark?: string // 鍟嗗澶囨敞
+
+  // ========== 浠锋牸 + 鏀粯鍩烘湰淇℃伅 ==========
+  payOrderId?: number | null // 鏀粯璁㈠崟缂栧彿
+  payStatus?: boolean // 鏄惁宸叉敮浠�
+  payTime?: Date | null // 浠樻鏃堕棿
+  payChannelCode?: string // 鏀粯娓犻亾
+  totalPrice?: number | null // 鍟嗗搧鍘熶环锛堟�伙級
+  discountPrice?: number | null // 璁㈠崟浼樻儬锛堟�伙級
+  deliveryPrice?: number | null // 杩愯垂閲戦
+  adjustPrice?: number | null // 璁㈠崟璋冧环锛堟�伙級
+  payPrice?: number | null // 搴斾粯閲戦锛堟�伙級
+  // ========== 鏀朵欢 + 鐗╂祦鍩烘湰淇℃伅 ==========
+  deliveryType?: number | null // 鍙戣揣鏂瑰紡
+  pickUpStoreId?: number // 鑷彁闂ㄥ簵缂栧彿
+  pickUpVerifyCode?: string // 鑷彁鏍搁攢鐮�
+  deliveryTemplateId?: number | null // 閰嶉�佹ā鏉跨紪鍙�
+  logisticsId?: number | null // 鍙戣揣鐗╂祦鍏徃缂栧彿
+  logisticsNo?: string // 鍙戣揣鐗╂祦鍗曞彿
+  deliveryTime?: Date | null // 鍙戣揣鏃堕棿
+  receiveTime?: Date | null // 鏀惰揣鏃堕棿
+  receiverName?: string // 鏀朵欢浜哄悕绉�
+  receiverMobile?: string // 鏀朵欢浜烘墜鏈�
+  receiverPostCode?: number | null // 鏀朵欢浜洪偖缂�
+  receiverAreaId?: number | null // 鏀朵欢浜哄湴鍖虹紪鍙�
+  receiverAreaName?: string //鏀朵欢浜哄湴鍖哄悕瀛�
+  receiverDetailAddress?: string // 鏀朵欢浜鸿缁嗗湴鍧�
+
+  // ========== 鍞悗鍩烘湰淇℃伅 ==========
+  afterSaleStatus?: number | null // 鍞悗鐘舵��
+  refundPrice?: number | null // 閫�娆鹃噾棰�
+
+  // ========== 钀ラ攢鍩烘湰淇℃伅 ==========
+  couponId?: number | null // 浼樻儬鍔电紪鍙�
+  couponPrice?: number | null // 浼樻儬鍔靛噺鍏嶉噾棰�
+  pointPrice?: number | null // 绉垎鎶垫墸鐨勯噾棰�
+  vipPrice?: number | null // VIP 鍑忓厤閲戦
+
+  items?: OrderItemRespVO[] // 璁㈠崟椤瑰垪琛�
+  // 涓嬪崟鐢ㄦ埛淇℃伅
+  user?: {
+    id?: number | null
+    nickname?: string
+    avatar?: string
+  }
+  // 鎺ㄥ箍鐢ㄦ埛淇℃伅
+  brokerageUser?: {
+    id?: number | null
+    nickname?: string
+    avatar?: string
+  }
+  // 璁㈠崟鎿嶄綔鏃ュ織
+  logs?: OrderLogRespVO[]
+}
+
+export interface OrderLogRespVO {
+  content?: string
+  createTime?: Date
+  userType?: number
+}
+
+export interface OrderItemRespVO {
+  // ========== 璁㈠崟椤瑰熀鏈俊鎭� ==========
+  id?: number | null // 缂栧彿
+  userId?: number | null // 鐢ㄦ埛缂栧彿
+  orderId?: number | null // 璁㈠崟缂栧彿
+  // ========== 鍟嗗搧鍩烘湰淇℃伅 ==========
+  spuId?: number | null // 鍟嗗搧 SPU 缂栧彿
+  spuName?: string //鍟嗗搧 SPU 鍚嶇О
+  skuId?: number | null // 鍟嗗搧 SKU 缂栧彿
+  picUrl?: string //鍟嗗搧鍥剧墖
+  count?: number | null //璐拱鏁伴噺
+  // ========== 浠锋牸 + 鏀粯鍩烘湰淇℃伅 ==========
+  originalPrice?: number | null //鍟嗗搧鍘熶环锛堟�伙級
+  originalUnitPrice?: number | null //鍟嗗搧鍘熶环锛堝崟锛�
+  discountPrice?: number | null //鍟嗗搧浼樻儬锛堟�伙級
+  payPrice?: number | null //鍟嗗搧瀹炰粯閲戦锛堟�伙級
+  orderPartPrice?: number | null //瀛愯鍗曞垎鎽婇噾棰濓紙鎬伙級
+  orderDividePrice?: number | null //鍒嗘憡鍚庡瓙璁㈠崟瀹炰粯閲戦锛堟�伙級
+  // ========== 钀ラ攢鍩烘湰淇℃伅 ==========
+  // TODO 鑺嬭壙锛氬湪鎹夋懜涓�涓�
+  // ========== 鍞悗鍩烘湰淇℃伅 ==========
+  afterSaleStatus?: number | null // 鍞悗鐘舵��
+  properties?: ProductPropertiesVO[] //灞炴�ф暟缁�
+}
+
+export interface ProductPropertiesVO {
+  propertyId?: number | null // 灞炴�х殑缂栧彿
+  propertyName?: string // 灞炴�х殑鍚嶇О
+  valueId?: number | null //灞炴�у�肩殑缂栧彿
+  valueName?: string // 灞炴�у�肩殑鍚嶇О
+}
+
+/** 浜ゆ槗璁㈠崟缁熻 */
+export interface TradeOrderSummaryRespVO {
+  /** 璁㈠崟鏁伴噺 */
+  orderCount?: number
+  /** 璁㈠崟閲戦 */
+  orderPayPrice?: string
+  /** 閫�娆惧崟鏁� */
+  afterSaleCount?: number
+  /** 閫�娆鹃噾棰� */
+  afterSalePrice?: string
+}
+
+// 鏌ヨ浜ゆ槗璁㈠崟鍒楄〃
+export const getOrderPage = async (params: any) => {
+  return await request.get({ url: `/trade/order/page`, params })
+}
+
+// 鏌ヨ浜ゆ槗璁㈠崟缁熻
+export const getOrderSummary = async (params: any) => {
+  return await request.get<TradeOrderSummaryRespVO>({ url: `/trade/order/summary`, params })
+}
+
+// 鏌ヨ浜ゆ槗璁㈠崟璇︽儏
+export const getOrder = async (id: number | null) => {
+  return await request.get({ url: `/trade/order/get-detail?id=` + id })
+}
+
+// 鏌ヨ浜ゆ槗璁㈠崟鐗╂祦璇︽儏
+export const getExpressTrackList = async (id: number | null) => {
+  return await request.get({ url: `/trade/order/get-express-track-list?id=` + id })
+}
+
+export interface DeliveryVO {
+  id?: number // 璁㈠崟缂栧彿
+  logisticsId: number | null // 鐗╂祦鍏徃缂栧彿
+  logisticsNo: string // 鐗╂祦缂栧彿
+}
+
+// 璁㈠崟鍙戣揣
+export const deliveryOrder = async (data: DeliveryVO) => {
+  return await request.put({ url: `/trade/order/delivery`, data })
+}
+
+// 璁㈠崟澶囨敞
+export const updateOrderRemark = async (data: any) => {
+  return await request.put({ url: `/trade/order/update-remark`, data })
+}
+
+// 璁㈠崟璋冧环
+export const updateOrderPrice = async (data: any) => {
+  return await request.put({ url: `/trade/order/update-price`, data })
+}
+
+// 淇敼璁㈠崟鍦板潃
+export const updateOrderAddress = async (data: any) => {
+  return await request.put({ url: `/trade/order/update-address`, data })
+}
+
+// 璁㈠崟鏍搁攢
+export const pickUpOrder = async (id: number) => {
+  return await request.put({ url: `/trade/order/pick-up-by-id?id=${id}` })
+}
+
+// 璁㈠崟鏍搁攢
+export const pickUpOrderByVerifyCode = async (pickUpVerifyCode: string) => {
+  return await request.put({
+    url: `/trade/order/pick-up-by-verify-code`,
+    params: { pickUpVerifyCode }
+  })
+}
+
+// 鏌ヨ鏍搁攢鐮佸搴旂殑璁㈠崟
+export const getOrderByPickUpVerifyCode = async (pickUpVerifyCode: string) => {
+  return await request.get<OrderVO>({
+    url: `/trade/order/get-by-pick-up-verify-code`,
+    params: { pickUpVerifyCode }
+  })
+}

--
Gitblit v1.8.0