import { axios } from "timi-web-api"; import { withCurrentStoreId } from "@/utils/store"; import type { DirectProductOrderCreateRequest, FundRecord, FundRecordPage, OrderPaymentActionRequest, OrderPaymentNoRefundRequest, OrderPaymentReceiveRequest, OrderPaymentRefundRequest, OrderPaymentRevokeRequest, SalesOrder, SalesOrderCancelRequest, SalesOrderPage, SalesOrderPageResult, SalesOrderSummary, SalesOrderUpdateRequest } from "@/types/SalesOrder"; const ORDER_URI = "/gao/sales/order"; const FUND_URI = "/gao/fund/record"; async function list(page: SalesOrderPage): Promise> { return await axios.post(`${ORDER_URI}/list`, withCurrentStoreId(page)); } async function summary(page: SalesOrderPage): Promise { return await axios.post(`${ORDER_URI}/summary`, withCurrentStoreId(page)); } async function detail(id: string): Promise { return await axios.post(`${ORDER_URI}/detail`, undefined, { params: { id } }); } async function createDirectProduct(request: DirectProductOrderCreateRequest): Promise { return await axios.post(`${ORDER_URI}/direct-product/create`, withCurrentStoreId(request)); } async function update(request: SalesOrderUpdateRequest): Promise { return await axios.post(`${ORDER_URI}/update`, request); } async function cancel(request: SalesOrderCancelRequest): Promise { return await axios.post(`${ORDER_URI}/cancel`, request); } async function receivePayment(request: OrderPaymentReceiveRequest): Promise { return await axios.post(`${ORDER_URI}/payment/receive`, request); } async function receivePaymentAndVerify(request: OrderPaymentReceiveRequest): Promise { return await axios.post(`${ORDER_URI}/payment/receive-and-verify`, request); } async function verifyPayment(id: string): Promise { return await axios.post(`${ORDER_URI}/payment/verify`, undefined, { params: { id } }); } async function rejectPayment(request: OrderPaymentActionRequest): Promise { return await axios.post(`${ORDER_URI}/payment/reject`, request); } async function cancelPayment(request: OrderPaymentActionRequest): Promise { return await axios.post(`${ORDER_URI}/payment/cancel`, request); } async function refund(request: OrderPaymentRefundRequest): Promise { return await axios.post(`${ORDER_URI}/refund`, request); } async function confirmNoRefund(request: OrderPaymentNoRefundRequest): Promise { return await axios.post(`${ORDER_URI}/refund/confirm-none`, request); } async function revokeFund(request: OrderPaymentRevokeRequest): Promise { return await axios.post(`${ORDER_URI}/fund/revoke`, request); } async function fundRecordList(page: FundRecordPage): Promise> { return await axios.post(`${FUND_URI}/list`, withCurrentStoreId(page)); } async function fundRecordDetail(id: string): Promise { return await axios.post(`${FUND_URI}/detail`, undefined, { params: { id } }); } async function myReceiveRecordList(page: FundRecordPage): Promise> { return await axios.post(`${FUND_URI}/my-receive/list`, withCurrentStoreId(page)); } async function myReceiveRecordDetail(id: string): Promise { return await axios.post(`${FUND_URI}/my-receive/detail`, undefined, { params: { id } }); } export default { list, summary, detail, createDirectProduct, update, cancel, receivePayment, receivePaymentAndVerify, verifyPayment, rejectPayment, cancelPayment, refund, confirmNoRefund, revokeFund, fundRecordList, fundRecordDetail, myReceiveRecordList, myReceiveRecordDetail };