100 lines
3.6 KiB
TypeScript
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
|
|
};
|