Files
admin-ui/src/api/assets/asset/index.ts

247 lines
4.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { newService } from '/@/utils/request';
// 资产列表查询参数
export interface AssetQueryParams {
name?: string;
type?: string;
status?: number;
pageNum?: number;
pageSize?: number;
}
// 获取资产列表
export function listAssets(params?: AssetQueryParams) {
return newService({
url: '/assets/asset/listAssets',
method: 'get',
params,
});
}
// 更新资产状态
export function updateAssetStatus(id: string, status: number) {
return newService({
url: '/assets/asset/updateAssetStatus',
method: 'put',
data: { id, status },
});
}
// 删除资产
export function deleteAsset(id: string) {
return newService({
url: '/assets/asset/deleteAsset',
method: 'delete',
params: { id },
});
}
// 获取资产详情
export function getAsset(id: string) {
return newService({
url: '/assets/asset/getAsset',
method: 'get',
params: { id },
});
}
// 获取分类选项
export function getAssetCategories() {
return newService({
url: '/assets/asset/getAsset',
method: 'get',
});
}
// 新增资产
export function createAsset(data: any) {
return newService({
url: '/assets/asset/createAsset',
method: 'post',
data,
});
}
// 修改资产
export function updateAsset(data: any) {
return newService({
url: '/assets/asset/updateAsset',
method: 'put',
data,
});
}
// 上传资产图片
export function uploadAssetImage(file: File) {
const formData = new FormData();
formData.append('file', file);
return newService({
url: '/oss/file/uploadFile',
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data',
},
});
}
// SKU 列表查询参数
export interface SkuQueryParams {
assetId: string;
status?: number;
keyword?: string;
minPrice?: number;
maxPrice?: number;
pageNum?: number;
pageSize?: number;
}
// SKU 创建参数
export interface CreateSkuParams {
assetId: string;
assetName: string;
skuName: string;
imageUrl?: string;
specValues?: Record<string, any>;
price: number;
unlimitedStock: boolean;
stock: number;
sort?: number;
status?: number;
}
// 获取 SKU 列表
export function listAssetSkus(params: SkuQueryParams) {
return newService({
url: '/assets/asset/sku/listAssetSkus',
method: 'get',
params,
});
}
// 根据assetId获取资产和SKU信息用于套餐开通弹窗
export function getAssetAndSku(params: { assetId: string }) {
return newService({
url: '/assets/asset/getAssetAndSku',
method: 'get',
params,
});
}
// 创建 SKU
export function createAssetSku(data: CreateSkuParams) {
return newService({
url: '/assets/asset/sku/createAssetSku',
method: 'post',
data,
});
}
// 获取 SKU 详情
export function getAssetSku(id: string) {
return newService({
url: '/assets/asset/sku/getAssetSku',
method: 'get',
params: { id },
});
}
// 修改 SKU支持部分更新只传递修改过的字段
export function updateAssetSku(data: Partial<CreateSkuParams> & { id: string }) {
return newService({
url: '/assets/asset/sku/updateAssetSku',
method: 'put',
data,
});
}
// 删除 SKU
export function deleteAssetSku(id: string) {
return newService({
url: '/assets/asset/sku/deleteAssetSku',
method: 'delete',
params: { id },
});
}
// 获取规格单位选项
export function getSpecsUnitOptions(assetType: string) {
return newService({
url: '/assets/enum/getSpecsUnit',
method: 'get',
params: { assetType },
});
}
// 获取库存表单字段
export function getStockFormFields(assetSkuId: string) {
return newService({
url: '/assets/stock/manage/getStockFormFields',
method: 'get',
params: { assetSkuId },
});
}
// 库存操作
export interface StockOperationParams {
assetSkuId: string;
stock?: number;
batchNo?: string;
productionDate?: string;
expiryDate?: string;
expiryWarningDate?: string;
[key: string]: any; // 支持动态字段
}
export function stockOperation(data: StockOperationParams) {
return newService({
url: '/assets/stock/manage/stockOperation',
method: 'post',
data,
});
}
// 操作日志查询参数
export interface LogQueryParams {
collection_id: string;
pageNum?: number;
pageSize?: number;
}
// 操作日志信息
export interface OperationLogInfo {
id: string;
service_name: string;
collection: string;
collection_id: string[];
operation: string;
creator: string;
createdAt: string;
data: { FieldName: string; FieldValue: any }[] | null;
ip_address: string;
}
// 查询操作日志
export function listLogs(params: LogQueryParams) {
return newService({
url: '/assets/log/listLogs',
method: 'get',
params,
});
}
// 订阅/开通资产服务参数
export interface SubscribeAssetParams {
skuId: string;
assetId?: string;
}
// 订阅/开通资产服务
export function subscribeAsset(data: SubscribeAssetParams) {
return newService({
url: '/assets/asset/subscribe',
method: 'post',
data,
});
}