index.ts 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. import request from '@/config/axios'
  2. export interface OrderVO {
  3. // ========== 订单基本信息 ==========
  4. id?: number | null // 订单编号
  5. no?: string // 订单流水号
  6. createTime?: Date | null // 下单时间
  7. type?: number | null // 订单类型
  8. terminal?: number | null // 订单来源
  9. userId?: number | null // 用户编号
  10. userIp?: string // 用户 IP
  11. userRemark?: string // 用户备注
  12. status?: number | null // 订单状态
  13. productCount?: number | null // 购买的商品数量
  14. finishTime?: Date | null // 订单完成时间
  15. cancelTime?: Date | null // 订单取消时间
  16. cancelType?: number | null // 取消类型
  17. remark?: string // 商家备注
  18. // ========== 价格 + 支付基本信息 ==========
  19. payOrderId?: number | null // 支付订单编号
  20. payStatus?: boolean // 是否已支付
  21. payTime?: Date | null // 付款时间
  22. payChannelCode?: string // 支付渠道
  23. totalPrice?: number | null // 商品原价(总)
  24. discountPrice?: number | null // 订单优惠(总)
  25. deliveryPrice?: number | null // 运费金额
  26. adjustPrice?: number | null // 订单调价(总)
  27. payPrice?: number | null // 应付金额(总)
  28. // ========== 收件 + 物流基本信息 ==========
  29. deliveryType?: number | null // 发货方式
  30. pickUpStoreId?: number // 自提门店编号
  31. pickUpVerifyCode?: string // 自提核销码
  32. deliveryTemplateId?: number | null // 配送模板编号
  33. logisticsId?: number | null // 发货物流公司编号
  34. logisticsNo?: string // 发货物流单号
  35. deliveryTime?: Date | null // 发货时间
  36. receiveTime?: Date | null // 收货时间
  37. receiverName?: string // 收件人名称
  38. receiverMobile?: string // 收件人手机
  39. receiverPostCode?: number | null // 收件人邮编
  40. receiverAreaId?: number | null // 收件人地区编号
  41. receiverAreaName?: string //收件人地区名字
  42. receiverDetailAddress?: string // 收件人详细地址
  43. // ========== 售后基本信息 ==========
  44. afterSaleStatus?: number | null // 售后状态
  45. refundPrice?: number | null // 退款金额
  46. // ========== 营销基本信息 ==========
  47. couponId?: number | null // 优惠劵编号
  48. couponPrice?: number | null // 优惠劵减免金额
  49. pointPrice?: number | null // 积分抵扣的金额
  50. vipPrice?: number | null // VIP 减免金额
  51. items?: OrderItemRespVO[] // 订单项列表
  52. // 下单用户信息
  53. user?: {
  54. id?: number | null
  55. nickname?: string
  56. avatar?: string
  57. }
  58. // 推广用户信息
  59. brokerageUser?: {
  60. id?: number | null
  61. nickname?: string
  62. avatar?: string
  63. }
  64. // 订单操作日志
  65. logs?: OrderLogRespVO[]
  66. }
  67. export interface OrderLogRespVO {
  68. content?: string
  69. createTime?: Date
  70. userType?: number
  71. }
  72. export interface OrderItemRespVO {
  73. // ========== 订单项基本信息 ==========
  74. id?: number | null // 编号
  75. userId?: number | null // 用户编号
  76. orderId?: number | null // 订单编号
  77. // ========== 商品基本信息 ==========
  78. spuId?: number | null // 商品 SPU 编号
  79. spuName?: string //商品 SPU 名称
  80. skuId?: number | null // 商品 SKU 编号
  81. picUrl?: string //商品图片
  82. count?: number | null //购买数量
  83. // ========== 价格 + 支付基本信息 ==========
  84. originalPrice?: number | null //商品原价(总)
  85. originalUnitPrice?: number | null //商品原价(单)
  86. discountPrice?: number | null //商品优惠(总)
  87. payPrice?: number | null //商品实付金额(总)
  88. orderPartPrice?: number | null //子订单分摊金额(总)
  89. orderDividePrice?: number | null //分摊后子订单实付金额(总)
  90. // ========== 营销基本信息 ==========
  91. // TODO 芋艿:在捉摸一下
  92. // ========== 售后基本信息 ==========
  93. afterSaleStatus?: number | null // 售后状态
  94. properties?: ProductPropertiesVO[] //属性数组
  95. }
  96. export interface ProductPropertiesVO {
  97. propertyId?: number | null // 属性的编号
  98. propertyName?: string // 属性的名称
  99. valueId?: number | null //属性值的编号
  100. valueName?: string // 属性值的名称
  101. }
  102. /** 交易订单统计 */
  103. export interface TradeOrderSummaryRespVO {
  104. /** 订单数量 */
  105. orderCount?: number
  106. /** 订单金额 */
  107. orderPayPrice?: string
  108. /** 退款单数 */
  109. afterSaleCount?: number
  110. /** 退款金额 */
  111. afterSalePrice?: string
  112. }
  113. // 查询交易订单列表
  114. export const getOrderPage = async (params: any) => {
  115. return await request.get({ url: `/trade/order/page`, params })
  116. }
  117. // 查询交易订单统计
  118. export const getOrderSummary = async (params: any) => {
  119. return await request.get<TradeOrderSummaryRespVO>({ url: `/trade/order/summary`, params })
  120. }
  121. // 查询交易订单详情
  122. export const getOrder = async (id: number | null) => {
  123. return await request.get({ url: `/trade/order/get-detail?id=` + id })
  124. }
  125. // 查询交易订单物流详情
  126. export const getExpressTrackList = async (id: number | null) => {
  127. return await request.get({ url: `/trade/order/get-express-track-list?id=` + id })
  128. }
  129. export interface DeliveryVO {
  130. id?: number // 订单编号
  131. logisticsId: number | null // 物流公司编号
  132. logisticsNo: string // 物流编号
  133. }
  134. // 订单发货
  135. export const deliveryOrder = async (data: DeliveryVO) => {
  136. return await request.put({ url: `/trade/order/delivery`, data })
  137. }
  138. // 订单备注
  139. export const updateOrderRemark = async (data: any) => {
  140. return await request.put({ url: `/trade/order/update-remark`, data })
  141. }
  142. // 订单调价
  143. export const updateOrderPrice = async (data: any) => {
  144. return await request.put({ url: `/trade/order/update-price`, data })
  145. }
  146. // 修改订单地址
  147. export const updateOrderAddress = async (data: any) => {
  148. return await request.put({ url: `/trade/order/update-address`, data })
  149. }
  150. // 订单核销
  151. export const pickUpOrder = async (id: number) => {
  152. return await request.put({ url: `/trade/order/pick-up-by-id?id=${id}` })
  153. }
  154. // 订单核销
  155. export const pickUpOrderByVerifyCode = async (pickUpVerifyCode: string) => {
  156. return await request.put({
  157. url: `/trade/order/pick-up-by-verify-code`,
  158. params: { pickUpVerifyCode }
  159. })
  160. }
  161. // 查询核销码对应的订单
  162. export const getOrderByPickUpVerifyCode = async (pickUpVerifyCode: string) => {
  163. return await request.get<OrderVO>({
  164. url: `/trade/order/get-by-pick-up-verify-code`,
  165. params: { pickUpVerifyCode }
  166. })
  167. }