import request from '@/utils/request'; import type { ApiResult, PageResult } from '@/api'; import type { ShopNotification, ShopNotificationParam } from './model'; /** * 分页查询消息通知 */ export async function pageShopNotification(params: ShopNotificationParam) { const res = await request.get>>( '/shop/shop-notification/page', params ); if (res.code === 0) { return res.data; } return Promise.reject(new Error(res.message)); } /** * 查询全部消息通知 */ export async function listShopNotification(params?: ShopNotificationParam) { const res = await request.get>( '/shop/shop-notification', params ); if (res.code === 0 && res.data) { return res.data; } return Promise.reject(new Error(res.message)); } /** * 根据id查询消息通知 */ export async function getShopNotification(id: number) { const res = await request.get>( '/shop/shop-notification/' + id ); if (res.code === 0) { return res.data; } return Promise.reject(new Error(res.message)); } /** * 添加消息通知 */ export async function addShopNotification(data: ShopNotification) { const res = await request.post>( '/shop/shop-notification', data ); if (res.code === 0) { return res.message; } return Promise.reject(new Error(res.message)); } /** * 修改消息通知 */ export async function updateShopNotification(data: ShopNotification) { const res = await request.put>( '/shop/shop-notification', data ); if (res.code === 0) { return res.message; } return Promise.reject(new Error(res.message)); } /** * 删除消息通知 */ export async function removeShopNotification(id?: number) { const res = await request.del>( '/shop/shop-notification/' + id ); if (res.code === 0) { return res.message; } return Promise.reject(new Error(res.message)); } /** * 获取用户消息列表 */ export async function getShopNotificationByUserId(userId: number) { const res = await request.get>( '/shop/shop-notification/user/' + userId ); if (res.code === 0 && res.data) { return res.data; } return Promise.reject(new Error(res.message)); } /** * 标记消息已读 */ export async function markShopNotificationAsRead(id: number, userId: number) { const res = await request.put>( '/shop/shop-notification/read/' + id + '?userId=' + userId, null ); if (res.code === 0) { return res.message; } return Promise.reject(new Error(res.message)); } /** * 标记全部已读 */ export async function markAllShopNotificationAsRead(userId: number) { const res = await request.put>( '/shop/shop-notification/read-all?userId=' + userId, null ); if (res.code === 0) { return res.message; } return Promise.reject(new Error(res.message)); } /** * 获取未读消息数量 */ export async function getShopNotificationUnreadCount(userId: number) { const res = await request.get>( '/shop/shop-notification/unread-count', { userId } ); if (res.code === 0) { return res.data; } return Promise.reject(new Error(res.message)); }