Files
gao-customer-h5/src/api/SalesOrderAPI.ts
T
2026-09-19 01:21:55 +08:00

100 lines
3.6 KiB
TypeScript

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<SalesOrderPageResult<SalesOrder>> {
return await axios.post(`${ORDER_URI}/list`, withCurrentStoreId(page));
}
async function summary(page: SalesOrderPage): Promise<SalesOrderSummary> {
return await axios.post(`${ORDER_URI}/summary`, withCurrentStoreId(page));
}
async function detail(id: string): Promise<SalesOrder> {
return await axios.post(`${ORDER_URI}/detail`, undefined, { params: { id } });
}
async function createDirectProduct(request: DirectProductOrderCreateRequest): Promise<SalesOrder> {
return await axios.post(`${ORDER_URI}/direct-product/create`, withCurrentStoreId(request));
}
async function update(request: SalesOrderUpdateRequest): Promise<SalesOrder> {
return await axios.post(`${ORDER_URI}/update`, request);
}
async function cancel(request: SalesOrderCancelRequest): Promise<SalesOrder> {
return await axios.post(`${ORDER_URI}/cancel`, request);
}
async function receivePayment(request: OrderPaymentReceiveRequest): Promise<FundRecord> {
return await axios.post(`${ORDER_URI}/payment/receive`, request);
}
async function receivePaymentAndVerify(request: OrderPaymentReceiveRequest): Promise<FundRecord> {
return await axios.post(`${ORDER_URI}/payment/receive-and-verify`, request);
}
async function verifyPayment(id: string): Promise<FundRecord> {
return await axios.post(`${ORDER_URI}/payment/verify`, undefined, { params: { id } });
}
async function rejectPayment(request: OrderPaymentActionRequest): Promise<FundRecord> {
return await axios.post(`${ORDER_URI}/payment/reject`, request);
}
async function cancelPayment(request: OrderPaymentActionRequest): Promise<FundRecord> {
return await axios.post(`${ORDER_URI}/payment/cancel`, request);
}
async function refund(request: OrderPaymentRefundRequest): Promise<FundRecord> {
return await axios.post(`${ORDER_URI}/refund`, request);
}
async function confirmNoRefund(request: OrderPaymentNoRefundRequest): Promise<FundRecord> {
return await axios.post(`${ORDER_URI}/refund/confirm-none`, request);
}
async function revokeFund(request: OrderPaymentRevokeRequest): Promise<FundRecord> {
return await axios.post(`${ORDER_URI}/fund/revoke`, request);
}
async function fundRecordList(page: FundRecordPage): Promise<SalesOrderPageResult<FundRecord>> {
return await axios.post(`${FUND_URI}/list`, withCurrentStoreId(page));
}
async function fundRecordDetail(id: string): Promise<FundRecord> {
return await axios.post(`${FUND_URI}/detail`, undefined, { params: { id } });
}
async function myReceiveRecordList(page: FundRecordPage): Promise<SalesOrderPageResult<FundRecord>> {
return await axios.post(`${FUND_URI}/my-receive/list`, withCurrentStoreId(page));
}
async function myReceiveRecordDetail(id: string): Promise<FundRecord> {
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
};