// @ts-ignore
/* eslint-disable */
import request from '../request';

/** 创建会员 POST /operation/createUser */
export async function createUser(
	body: BusinessAPI.UserCreateCmd,
	options?: { [key: string]: any },
) {
	return request<BusinessAPI.SingleResponseUserVO>('/operation/createUser', {
		method: 'POST',
		headers: {
			'Content-Type': 'application/json',
		},
		data: body,
		...(options || {}),
	});
}

/** 删除用户 DELETE /operation/destroyUser */
export async function destroyUser(
	body: BusinessAPI.UserDestroyCmd,
	options?: { [key: string]: any },
) {
	return request<BusinessAPI.Response>('/operation/destroyUser', {
		method: 'DELETE',
		headers: {
			'Content-Type': 'application/json',
		},
		data: body,
		...(options || {}),
	});
}

/** 禁用用户 POST /operation/disableUser */
export async function disableUser(
	body: BusinessAPI.UserDisableCmd,
	options?: { [key: string]: any },
) {
	return request<BusinessAPI.Response>('/operation/disableUser', {
		method: 'POST',
		headers: {
			'Content-Type': 'application/json',
		},
		data: body,
		...(options || {}),
	});
}

/** 启用用户 POST /operation/enableUser */
export async function enableUser(
	body: BusinessAPI.UserEnableCmd,
	options?: { [key: string]: any },
) {
	return request<BusinessAPI.Response>('/operation/enableUser', {
		method: 'POST',
		headers: {
			'Content-Type': 'application/json',
		},
		data: body,
		...(options || {}),
	});
}

/** 用户列表 GET /operation/listUser */
export async function listUser(
	// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
	params: BusinessAPI.listUserParams,
	options?: { [key: string]: any },
) {
	return request<BusinessAPI.MultiResponseUserVO>('/operation/listUser', {
		method: 'GET',
		params: {
			...params,
			userListQry: undefined,
			...params['userListQry'],
		},
		...(options || {}),
	});
}

/** 用户列表 GET /operation/pageUser */
export async function pageUser(
	// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
	params: BusinessAPI.pageUserParams,
	options?: { [key: string]: any },
) {
	return request<BusinessAPI.PageResponseUserVO>('/operation/pageUser', {
		method: 'GET',
		params: {
			...params,
			userPageQry: undefined,
			...params['userPageQry'],
		},
		...(options || {}),
	});
}

/** 获取用户 GET /operation/showUser */
export async function showUser(
	// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
	params: BusinessAPI.showUserParams,
	options?: { [key: string]: any },
) {
	return request<BusinessAPI.SingleResponseUserVO>('/operation/showUser', {
		method: 'GET',
		params: {
			...params,
			userShowQry: undefined,
			...params['userShowQry'],
		},
		...(options || {}),
	});
}

/** 更新用户 PUT /operation/updateUser */
export async function updateUser(
	body: BusinessAPI.UserUpdateCmd,
	options?: { [key: string]: any },
) {
	return request<BusinessAPI.SingleResponseUserVO>('/operation/updateUser', {
		method: 'PUT',
		headers: {
			'Content-Type': 'application/json',
		},
		data: body,
		...(options || {}),
	});
}

/** 更新用户 PATCH /operation/updateUser */
export async function updateUser1(
	body: BusinessAPI.UserUpdateCmd,
	options?: { [key: string]: any },
) {
	return request<BusinessAPI.SingleResponseUserVO>('/operation/updateUser', {
		method: 'PATCH',
		headers: {
			'Content-Type': 'application/json',
		},
		data: body,
		...(options || {}),
	});
}
