Files
chazhi/src/api/tea-room.ts
wangxiaowei d38d4419d9 完善功能
2025-11-29 20:50:19 +08:00

355 lines
7.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 { 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)
}