355 lines
7.8 KiB
TypeScript
355 lines
7.8 KiB
TypeScript
import { http } from '@/http/alova'
|
||
import type {
|
||
IHomeTeaRoomListResult,
|
||
IOpenCityListResult,
|
||
ITeaRoomDetailResult,
|
||
ITeaRoomBalanceResult,
|
||
IOrderListResult,
|
||
ITeaRoomPackageDetailsResult,
|
||
ITeaRoomPackageOrderDetailsResult
|
||
} from '@/api/types/tea-room'
|
||
import type { ITeaSpecialistFuture7DaysResult, ITeaSpecialistOrderDetailsResult } from '@/api/types/tea'
|
||
|
||
/**
|
||
* 经纬度转换为城市
|
||
*/
|
||
export interface ILocationToCityParams {
|
||
latitude: number
|
||
longitude: number
|
||
}
|
||
|
||
export function getLocationToCity(data: ILocationToCityParams) {
|
||
return http.Post<{
|
||
message: string
|
||
result: {
|
||
ad_info: {
|
||
province: string
|
||
city: string
|
||
district: string
|
||
adcode: string
|
||
},
|
||
location: {
|
||
lat: number
|
||
lng: number
|
||
}
|
||
}
|
||
}>('/api/common/cityAddress',
|
||
data,
|
||
{
|
||
meta: { ignoreAuth: true }
|
||
}
|
||
)
|
||
}
|
||
|
||
/**
|
||
* 获取门店列表
|
||
*/
|
||
export interface IHomeTeaStoreListParams {
|
||
page: number
|
||
size: number
|
||
search: string
|
||
latitude: number
|
||
longitude: number
|
||
}
|
||
|
||
export function getHomeTeaStoreList(data: IHomeTeaStoreListParams) {
|
||
return http.Post<IHomeTeaRoomListResult>('/api/teaStore/teaStoreLists',
|
||
data,
|
||
{
|
||
meta: { ignoreAuth: true }
|
||
}
|
||
)
|
||
}
|
||
|
||
/**
|
||
* 获取茶室开通城市列表
|
||
*/
|
||
export function getOpenCityList() {
|
||
return http.Post<IOpenCityListResult>('/api/teaStore/teaStoreCity',
|
||
{
|
||
meta: { ignoreAuth: true }
|
||
}
|
||
)
|
||
}
|
||
|
||
/**
|
||
* 茶室搜索历史
|
||
*/
|
||
export function getTeaRoomSearchHistory() {
|
||
return http.Post<{ list: Array<string> }>('/api/teaStore/teaStoreSearchHistory')
|
||
}
|
||
|
||
/**
|
||
* 清除茶室搜索历史
|
||
*/
|
||
export function clearTeaRoomSearchHistory() {
|
||
return http.Post('/api/teaStore/delTeaStoreSearchHistory', null)
|
||
}
|
||
|
||
/**
|
||
* 茶室详情
|
||
*/
|
||
export interface IRoomDetailParams {
|
||
id: number
|
||
latitude: number
|
||
longitude: number
|
||
user_id: number
|
||
}
|
||
|
||
export function getTeaRoomDetail(data: IRoomDetailParams) {
|
||
return http.Post<ITeaRoomDetailResult>('/api/teaStore/teaStoreDetails',
|
||
data
|
||
)
|
||
}
|
||
|
||
/**
|
||
* 收藏茶室
|
||
*/
|
||
export interface ICollectTeaRoomParams {
|
||
id: number
|
||
status: number // 1:收藏 0:取消收藏
|
||
}
|
||
|
||
export function collectTeaRoom(data: ICollectTeaRoomParams) {
|
||
return http.Post('/api/teaStore/teaStoreCollect',
|
||
data
|
||
)
|
||
}
|
||
|
||
/**
|
||
* 收藏的茶室列表
|
||
*/
|
||
export interface ICollectTeaRoomListParams {
|
||
page: number
|
||
size: number
|
||
}
|
||
|
||
export function getCollectTeaRoomList(data: ICollectTeaRoomListParams) {
|
||
return http.Post<IHomeTeaRoomListResult>('/api/teaStore/teaStoreCollectList',
|
||
data
|
||
)
|
||
}
|
||
|
||
/**
|
||
* 获取门店下的茶室列表
|
||
*/
|
||
export interface IStoreTeaRoomListParams {
|
||
id: number
|
||
page: number
|
||
size: number
|
||
}
|
||
|
||
export function getStoreTeaRoomList(data: IStoreTeaRoomListParams) {
|
||
return http.Post<IHomeTeaRoomListResult>('/api/teaStore/teaStoreRoomLists',
|
||
data,
|
||
{
|
||
meta: { ignoreAuth: true }
|
||
}
|
||
)
|
||
}
|
||
|
||
/**
|
||
* 获取未来7天时间
|
||
*/
|
||
export function getNext7Days() {
|
||
return http.Post<ITeaSpecialistFuture7DaysResult>('/api/Common/get7Time')
|
||
}
|
||
|
||
/**
|
||
* 获取门店余额
|
||
*/
|
||
export interface ITeaRoomBalanceParams {
|
||
store_id: number
|
||
}
|
||
|
||
export function getTeaRoomBalance(data: ITeaRoomBalanceParams) {
|
||
return http.Post<ITeaRoomBalanceResult>('/api/user/userStoreMoney', data)
|
||
}
|
||
|
||
/**
|
||
* 创建门店包间订单
|
||
*/
|
||
export interface ICreateTeaRoomOrderParams {
|
||
store_id: number
|
||
room_id: number
|
||
day_time: string
|
||
start_time: string
|
||
end_time: string
|
||
hours: number
|
||
user_coupon_id: number
|
||
group_coupon_id: number
|
||
}
|
||
|
||
export function createTeaRoomOrder(data: ICreateTeaRoomOrderParams) {
|
||
return http.Post<{id: number}>('/api/order/submitStoreOrder', data)
|
||
}
|
||
|
||
/**
|
||
* 获取门店包间订单详情
|
||
*/
|
||
export interface ITeaRoomOrderDetailParams {
|
||
id: number
|
||
latitude: number
|
||
longitude: number
|
||
}
|
||
|
||
export function getTeaRoomOrderDetail(data: ITeaRoomOrderDetailParams) {
|
||
return http.Post<{details: ITeaSpecialistOrderDetailsResult}>('/api/order/orderStoreDetails', data)
|
||
}
|
||
|
||
/**
|
||
* 门店包间订单列表
|
||
*/
|
||
export interface ITeaRoomOrderListParams {
|
||
page: number
|
||
size: number
|
||
order_status: string
|
||
search: string
|
||
}
|
||
|
||
export function getTeaRoomOrderList(data: ITeaRoomOrderListParams) {
|
||
return http.Post<IOrderListResult>('/api/order/orderStoreList', data)
|
||
}
|
||
|
||
/**
|
||
* 取消包间订单
|
||
*/
|
||
export interface ICancelTeaRoomOrderParams {
|
||
id: number
|
||
}
|
||
|
||
export function cancelTeaRoomOrder(data: ICancelTeaRoomOrderParams) {
|
||
return http.Post('/api/order/cancelOrderStore', data)
|
||
}
|
||
|
||
/**
|
||
* 删除包间订单
|
||
*/
|
||
export interface IDeleteTeaRoomOrderParams {
|
||
id: number
|
||
}
|
||
|
||
export function deleteTeaRoomOrder(data: IDeleteTeaRoomOrderParams) {
|
||
return http.Post('/api/order/delOrderStore', data)
|
||
}
|
||
|
||
/**
|
||
* 确认包间订单
|
||
*/
|
||
export interface IConfirmTeaRoomOrderParams {
|
||
id: number
|
||
}
|
||
|
||
export function confirmTeaRoomOrder(data: IConfirmTeaRoomOrderParams) {
|
||
return http.Post('/api/order/userConfirmOrderStore', data)
|
||
}
|
||
|
||
/**
|
||
* 一键续订
|
||
*/
|
||
export interface IRenewTeaRoomOrderParams {
|
||
id: number
|
||
start_time: string
|
||
end_time: string
|
||
renew_hour: number
|
||
}
|
||
|
||
export function renewTeaRoomOrder(data: IRenewTeaRoomOrderParams) {
|
||
return http.Post('/api/order/renewDtime', data)
|
||
}
|
||
|
||
/**
|
||
* 获取茶室套餐
|
||
*/
|
||
export interface ITeaRoomPackageParams {
|
||
page: number
|
||
size: number
|
||
id: number
|
||
}
|
||
|
||
export function getTeaRoomPackage(data: ITeaRoomPackageParams) {
|
||
return http.Post<IHomeTeaRoomListResult>('/api/teaStore/teaStoreGroupLists', data)
|
||
}
|
||
|
||
/**
|
||
* 获取茶室套餐详情
|
||
*/
|
||
export interface ITeaRoomPackageDetailParams {
|
||
id: number
|
||
}
|
||
|
||
export function getTeaRoomPackageDetail(data: ITeaRoomPackageDetailParams) {
|
||
return http.Post<{details: ITeaRoomPackageDetailsResult}>('/api/teaStore/teaStoreGroupDetails', data)
|
||
}
|
||
|
||
/**
|
||
* 提交茶室套餐订单
|
||
*/
|
||
export interface ICreateTeaRoomPackageOrderParams {
|
||
group_id: number
|
||
}
|
||
|
||
export function createTeaRoomPackageOrder(data: ICreateTeaRoomPackageOrderParams) {
|
||
return http.Post<{id: number}>('/api/order/submitGroupOrder', data)
|
||
}
|
||
|
||
/**
|
||
* 茶室套餐订单列表
|
||
*/
|
||
export interface ITeaRoomPackageOrderListParams {
|
||
page: number
|
||
size: number
|
||
use_status: string
|
||
operation_type: number
|
||
search: string
|
||
}
|
||
|
||
export function getTeaRoomPackageOrderList(data: ITeaRoomPackageOrderListParams) {
|
||
return http.Post<IOrderListResult>('/api/order/orderGroupList', data)
|
||
}
|
||
|
||
/**
|
||
* 茶室套餐订单详情
|
||
*/
|
||
export interface ITeaRoomPackageOrderDetailParams {
|
||
id: number
|
||
latitude: number
|
||
longitude: number
|
||
}
|
||
|
||
export function getTeaRoomPackageOrderDetail(data: ITeaRoomPackageOrderDetailParams) {
|
||
return http.Post<{details: ITeaRoomPackageOrderDetailsResult}>('/api/order/orderGroupDetails', data)
|
||
}
|
||
|
||
/**
|
||
* 计算费用明细
|
||
*/
|
||
export interface ICalculateTeaRoomPriceParams {
|
||
room_id: number // 房间id
|
||
coupon_id: number // 优惠券id
|
||
group_coupon_id: number // 团购券id
|
||
nums: number // 提交的小时数
|
||
}
|
||
|
||
export function calculateTeaRoomPrice(data: ICalculateTeaRoomPriceParams) {
|
||
return http.Post<{details: {
|
||
coupon_price: number
|
||
discount_room_price: number
|
||
group_price: number
|
||
nums: number
|
||
order_amount: number
|
||
room_price: number
|
||
discount_all_price: number
|
||
}}>('/api/order/countPrice', data)
|
||
}
|
||
|
||
/**
|
||
* 选择茶室团购券列表
|
||
*/
|
||
export interface ITeaRoomGroupCouponListParams {
|
||
store_id: number
|
||
}
|
||
|
||
export function getTeaRoomGroupCouponList(data: ITeaRoomGroupCouponListParams) {
|
||
return http.Post<{list: {}}>('/api/order/teaStoreGroupUseLists', data)
|
||
} |