feat:【antd/ele】【mall/promotion】优化 api 的注释
This commit is contained in:
@@ -33,6 +33,7 @@ export namespace MallBargainActivityApi {
|
|||||||
stock: number; // 活动库存
|
stock: number; // 活动库存
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO @puhui999:要不要删除?
|
||||||
/** 扩展 SKU 配置 */
|
/** 扩展 SKU 配置 */
|
||||||
export type SkuExtension = {
|
export type SkuExtension = {
|
||||||
productConfig: BargainProduct; // 砍价活动配置
|
productConfig: BargainProduct; // 砍价活动配置
|
||||||
|
|||||||
@@ -5,12 +5,6 @@ import type { MallSpuApi } from '#/api/mall/product/spu';
|
|||||||
import { requestClient } from '#/api/request';
|
import { requestClient } from '#/api/request';
|
||||||
|
|
||||||
export namespace MallCombinationActivityApi {
|
export namespace MallCombinationActivityApi {
|
||||||
/** 拼团活动所需属性 */
|
|
||||||
export interface CombinationProduct {
|
|
||||||
spuId: number; // 商品 SPU 编号
|
|
||||||
skuId: number; // 商品 SKU 编号
|
|
||||||
combinationPrice: number; // 拼团价格
|
|
||||||
}
|
|
||||||
/** 拼团活动 */
|
/** 拼团活动 */
|
||||||
export interface CombinationActivity {
|
export interface CombinationActivity {
|
||||||
id?: number; // 活动编号
|
id?: number; // 活动编号
|
||||||
@@ -31,6 +25,14 @@ export namespace MallCombinationActivityApi {
|
|||||||
products: CombinationProduct[]; // 商品列表
|
products: CombinationProduct[]; // 商品列表
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO @puhui999:要不要删除?
|
||||||
|
/** 拼团活动所需属性 */
|
||||||
|
export interface CombinationProduct {
|
||||||
|
spuId: number; // 商品 SPU 编号
|
||||||
|
skuId: number; // 商品 SKU 编号
|
||||||
|
combinationPrice: number; // 拼团价格
|
||||||
|
}
|
||||||
|
|
||||||
/** 扩展 SKU 配置 */
|
/** 扩展 SKU 配置 */
|
||||||
export type SkuExtension = {
|
export type SkuExtension = {
|
||||||
productConfig: CombinationProduct; // 拼团活动配置
|
productConfig: CombinationProduct; // 拼团活动配置
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ export namespace MallDiscountActivityApi {
|
|||||||
products?: DiscountProduct[]; // 商品列表
|
products?: DiscountProduct[]; // 商品列表
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO @puhui999:要不要删除?
|
||||||
/** 扩展 SKU 配置 */
|
/** 扩展 SKU 配置 */
|
||||||
export type SkuExtension = {
|
export type SkuExtension = {
|
||||||
productConfig: DiscountProduct; // 限时折扣配置
|
productConfig: DiscountProduct; // 限时折扣配置
|
||||||
|
|||||||
@@ -5,18 +5,12 @@ import { requestClient } from '#/api/request';
|
|||||||
export namespace MallDiyPageApi {
|
export namespace MallDiyPageApi {
|
||||||
/** 装修页面 */
|
/** 装修页面 */
|
||||||
export interface DiyPage {
|
export interface DiyPage {
|
||||||
/** 页面编号 */
|
id?: number; // 页面编号
|
||||||
id?: number;
|
templateId?: number; // 模板编号
|
||||||
/** 模板编号 */
|
name: string; // 页面名称
|
||||||
templateId?: number;
|
remark: string; // 备注
|
||||||
/** 页面名称 */
|
previewPicUrls: string[]; // 预览图片地址数组
|
||||||
name: string;
|
property: string; // 页面属性
|
||||||
/** 备注 */
|
|
||||||
remark: string;
|
|
||||||
/** 预览图片地址数组 */
|
|
||||||
previewPicUrls: string[];
|
|
||||||
/** 页面属性 */
|
|
||||||
property: string;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,26 +7,18 @@ import { requestClient } from '#/api/request';
|
|||||||
export namespace MallDiyTemplateApi {
|
export namespace MallDiyTemplateApi {
|
||||||
/** 装修模板 */
|
/** 装修模板 */
|
||||||
export interface DiyTemplate {
|
export interface DiyTemplate {
|
||||||
/** 模板编号 */
|
id?: number; // 模板编号
|
||||||
id?: number;
|
name: string; // 模板名称
|
||||||
/** 模板名称 */
|
used: boolean; // 是否使用
|
||||||
name: string;
|
usedTime?: Date; // 使用时间
|
||||||
/** 是否使用 */
|
remark: string; // 备注
|
||||||
used: boolean;
|
previewPicUrls: string[]; // 预览图片地址数组
|
||||||
/** 使用时间 */
|
property: string; // 模板属性
|
||||||
usedTime?: Date;
|
|
||||||
/** 备注 */
|
|
||||||
remark: string;
|
|
||||||
/** 预览图片地址数组 */
|
|
||||||
previewPicUrls: string[];
|
|
||||||
/** 模板属性 */
|
|
||||||
property: string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 装修模板属性(包含页面列表) */
|
/** 装修模板属性(包含页面列表) */
|
||||||
export interface DiyTemplateProperty extends DiyTemplate {
|
export interface DiyTemplateProperty extends DiyTemplate {
|
||||||
/** 页面列表 */
|
pages: MallDiyPageApi.DiyPage[]; // 页面列表
|
||||||
pages: MallDiyPageApi.DiyPage[];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ export namespace MallKefuConversationApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** 会话置顶请求 */
|
/** 会话置顶请求 */
|
||||||
export interface ConversationPinnedUpdate {
|
export interface ConversationPinnedUpdateReqVO {
|
||||||
id: number; // 会话编号
|
id: number; // 会话编号
|
||||||
pinned: boolean; // 是否置顶
|
pinned: boolean; // 是否置顶
|
||||||
}
|
}
|
||||||
@@ -40,7 +40,7 @@ export function getConversation(id: number) {
|
|||||||
|
|
||||||
/** 客服会话置顶 */
|
/** 客服会话置顶 */
|
||||||
export function updateConversationPinned(
|
export function updateConversationPinned(
|
||||||
data: MallKefuConversationApi.ConversationPinnedUpdate,
|
data: MallKefuConversationApi.ConversationPinnedUpdateReqVO,
|
||||||
) {
|
) {
|
||||||
return requestClient.put(
|
return requestClient.put(
|
||||||
'/promotion/kefu-conversation/update-conversation-pinned',
|
'/promotion/kefu-conversation/update-conversation-pinned',
|
||||||
|
|||||||
@@ -24,11 +24,6 @@ export namespace MallKefuMessageApi {
|
|||||||
contentType: number; // 消息类型
|
contentType: number; // 消息类型
|
||||||
content: string; // 消息内容
|
content: string; // 消息内容
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 消息列表查询参数 */
|
|
||||||
export interface MessageQuery extends PageParam {
|
|
||||||
conversationId: number; // 会话编号
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 发送客服消息 */
|
/** 发送客服消息 */
|
||||||
@@ -44,7 +39,7 @@ export function updateKeFuMessageReadStatus(conversationId: number) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** 获得消息列表(流式加载) */
|
/** 获得消息列表(流式加载) */
|
||||||
export function getKeFuMessageList(params: MallKefuMessageApi.MessageQuery) {
|
export function getKeFuMessageList(params: PageParam) {
|
||||||
return requestClient.get<PageResult<MallKefuMessageApi.Message>>(
|
return requestClient.get<PageResult<MallKefuMessageApi.Message>>(
|
||||||
'/promotion/kefu-message/list',
|
'/promotion/kefu-message/list',
|
||||||
{ params },
|
{ params },
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ export namespace MallPointActivityApi {
|
|||||||
price: number; // 兑换金额,单位:分
|
price: number; // 兑换金额,单位:分
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO @puhui999:这些还需要么?
|
||||||
/** 扩展 SKU 配置 */
|
/** 扩展 SKU 配置 */
|
||||||
export type SkuExtension = {
|
export type SkuExtension = {
|
||||||
productConfig: PointProduct; // 积分商城商品配置
|
productConfig: PointProduct; // 积分商城商品配置
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ export namespace MallSeckillActivityApi {
|
|||||||
products?: SeckillProduct[]; // 秒杀商品列表
|
products?: SeckillProduct[]; // 秒杀商品列表
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO @puhui999:这些还需要么?
|
||||||
/** 扩展 SKU 配置 */
|
/** 扩展 SKU 配置 */
|
||||||
export type SkuExtension = {
|
export type SkuExtension = {
|
||||||
productConfig: SeckillProduct; // 秒杀商品配置
|
productConfig: SeckillProduct; // 秒杀商品配置
|
||||||
|
|||||||
@@ -12,12 +12,6 @@ export namespace MallSeckillConfigApi {
|
|||||||
sliderPicUrls: string[]; // 秒杀轮播图
|
sliderPicUrls: string[]; // 秒杀轮播图
|
||||||
status: number; // 活动状态
|
status: number; // 活动状态
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 时段配置状态更新 */
|
|
||||||
export interface StatusUpdate {
|
|
||||||
id: number; // 编号
|
|
||||||
status: number; // 状态
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 查询秒杀时段分页 */
|
/** 查询秒杀时段分页 */
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
||||||
import type { MallArticleCategoryApi } from '#/api/mall/promotion/articleCategory';
|
import type { MallArticleCategoryApi } from '#/api/mall/promotion/article/category';
|
||||||
|
|
||||||
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@ import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
|||||||
import {
|
import {
|
||||||
deleteArticleCategory,
|
deleteArticleCategory,
|
||||||
getArticleCategoryPage,
|
getArticleCategoryPage,
|
||||||
} from '#/api/mall/promotion/articleCategory';
|
} from '#/api/mall/promotion/article/category';
|
||||||
import { $t } from '#/locales';
|
import { $t } from '#/locales';
|
||||||
|
|
||||||
import { useGridColumns, useGridFormSchema } from './data';
|
import { useGridColumns, useGridFormSchema } from './data';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import type { MallArticleCategoryApi } from '#/api/mall/promotion/articleCategory';
|
import type { MallArticleCategoryApi } from '#/api/mall/promotion/article/category';
|
||||||
|
|
||||||
import { computed, ref } from 'vue';
|
import { computed, ref } from 'vue';
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ import {
|
|||||||
createArticleCategory,
|
createArticleCategory,
|
||||||
getArticleCategory,
|
getArticleCategory,
|
||||||
updateArticleCategory,
|
updateArticleCategory,
|
||||||
} from '#/api/mall/promotion/articleCategory';
|
} from '#/api/mall/promotion/article/category';
|
||||||
import { $t } from '#/locales';
|
import { $t } from '#/locales';
|
||||||
|
|
||||||
import { useFormSchema } from '../data';
|
import { useFormSchema } from '../data';
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import type { VbenFormSchema } from '#/adapter/form';
|
import type { VbenFormSchema } from '#/adapter/form';
|
||||||
import type { VxeGridPropTypes } from '#/adapter/vxe-table';
|
import type { VxeGridPropTypes } from '#/adapter/vxe-table';
|
||||||
import type { MallArticleCategoryApi } from '#/api/mall/promotion/articleCategory';
|
import type { MallArticleCategoryApi } from '#/api/mall/promotion/article/category';
|
||||||
|
|
||||||
import { CommonStatusEnum, DICT_TYPE } from '@vben/constants';
|
import { CommonStatusEnum, DICT_TYPE } from '@vben/constants';
|
||||||
import { getDictOptions } from '@vben/hooks';
|
import { getDictOptions } from '@vben/hooks';
|
||||||
|
|
||||||
import { z } from '#/adapter/form';
|
import { z } from '#/adapter/form';
|
||||||
import { getSimpleArticleCategoryList } from '#/api/mall/promotion/articleCategory';
|
import { getSimpleArticleCategoryList } from '#/api/mall/promotion/article/category';
|
||||||
import { getRangePickerDefaultProps } from '#/utils';
|
import { getRangePickerDefaultProps } from '#/utils';
|
||||||
|
|
||||||
/** 关联数据 */
|
/** 关联数据 */
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
||||||
import type { MallBannerApi } from '#/api/mall/market/banner';
|
import type { MallBannerApi } from '#/api/mall/promotion/banner';
|
||||||
|
|
||||||
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
||||||
|
|
||||||
import { message } from 'ant-design-vue';
|
import { message } from 'ant-design-vue';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import { deleteBanner, getBannerPage } from '#/api/mall/market/banner';
|
import { deleteBanner, getBannerPage } from '#/api/mall/promotion/banner';
|
||||||
import { $t } from '#/locales';
|
import { $t } from '#/locales';
|
||||||
|
|
||||||
import { useGridColumns, useGridFormSchema } from './data';
|
import { useGridColumns, useGridFormSchema } from './data';
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import type { MallBannerApi } from '#/api/mall/market/banner';
|
import type { MallBannerApi } from '#/api/mall/promotion/banner';
|
||||||
|
import type { SystemUserApi } from '#/api/system/user';
|
||||||
|
|
||||||
import { computed, ref } from 'vue';
|
import { computed, ref } from 'vue';
|
||||||
|
|
||||||
@@ -12,7 +13,7 @@ import {
|
|||||||
createBanner,
|
createBanner,
|
||||||
getBanner,
|
getBanner,
|
||||||
updateBanner,
|
updateBanner,
|
||||||
} from '#/api/mall/market/banner';
|
} from '#/api/mall/promotion/banner';
|
||||||
import { $t } from '#/locales';
|
import { $t } from '#/locales';
|
||||||
|
|
||||||
import { useFormSchema } from '../data';
|
import { useFormSchema } from '../data';
|
||||||
|
|||||||
@@ -5,16 +5,11 @@ import { requestClient } from '#/api/request';
|
|||||||
export namespace MallArticleCategoryApi {
|
export namespace MallArticleCategoryApi {
|
||||||
/** 文章分类 */
|
/** 文章分类 */
|
||||||
export interface ArticleCategory {
|
export interface ArticleCategory {
|
||||||
/** 分类编号 */
|
id: number; // 分类编号
|
||||||
id: number;
|
name: string; // 分类名称
|
||||||
/** 分类名称 */
|
picUrl: string; // 分类图片
|
||||||
name: string;
|
status: number; // 状态
|
||||||
/** 分类图片 */
|
sort: number; // 排序
|
||||||
picUrl: string;
|
|
||||||
/** 状态 */
|
|
||||||
status: number;
|
|
||||||
/** 排序 */
|
|
||||||
sort: number;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5,18 +5,18 @@ import { requestClient } from '#/api/request';
|
|||||||
export namespace MallBannerApi {
|
export namespace MallBannerApi {
|
||||||
/** Banner 信息 */
|
/** Banner 信息 */
|
||||||
export interface Banner {
|
export interface Banner {
|
||||||
id: number;
|
id: number; // Banner 编号
|
||||||
title: string;
|
title: string; // Banner 标题
|
||||||
picUrl: string;
|
picUrl: string; // Banner 图片
|
||||||
status: number;
|
status: number; // 状态
|
||||||
url: string;
|
url: string; // 链接地址
|
||||||
position: number;
|
position: number; // Banner 位置
|
||||||
sort: number;
|
sort: number; // 排序
|
||||||
memo: string;
|
memo: string; // 备注
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 查询Banner管理列表 */
|
/** 查询 Banner 管理列表 */
|
||||||
export function getBannerPage(params: PageParam) {
|
export function getBannerPage(params: PageParam) {
|
||||||
return requestClient.get<PageResult<MallBannerApi.Banner>>(
|
return requestClient.get<PageResult<MallBannerApi.Banner>>(
|
||||||
'/promotion/banner/page',
|
'/promotion/banner/page',
|
||||||
@@ -24,24 +24,24 @@ export function getBannerPage(params: PageParam) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 查询Banner管理详情 */
|
/** 查询 Banner 管理详情 */
|
||||||
export function getBanner(id: number) {
|
export function getBanner(id: number) {
|
||||||
return requestClient.get<MallBannerApi.Banner>(
|
return requestClient.get<MallBannerApi.Banner>(
|
||||||
`/promotion/banner/get?id=${id}`,
|
`/promotion/banner/get?id=${id}`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 新增Banner管理 */
|
/** 新增 Banner 管理 */
|
||||||
export function createBanner(data: MallBannerApi.Banner) {
|
export function createBanner(data: MallBannerApi.Banner) {
|
||||||
return requestClient.post('/promotion/banner/create', data);
|
return requestClient.post('/promotion/banner/create', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 修改Banner管理 */
|
/** 修改 Banner 管理 */
|
||||||
export function updateBanner(data: MallBannerApi.Banner) {
|
export function updateBanner(data: MallBannerApi.Banner) {
|
||||||
return requestClient.put('/promotion/banner/update', data);
|
return requestClient.put('/promotion/banner/update', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 删除Banner管理 */
|
/** 删除 Banner 管理 */
|
||||||
export function deleteBanner(id: number) {
|
export function deleteBanner(id: number) {
|
||||||
return requestClient.delete(`/promotion/banner/delete?id=${id}`);
|
return requestClient.delete(`/promotion/banner/delete?id=${id}`);
|
||||||
}
|
}
|
||||||
@@ -7,62 +7,41 @@ import { requestClient } from '#/api/request';
|
|||||||
export namespace MallBargainActivityApi {
|
export namespace MallBargainActivityApi {
|
||||||
/** 砍价活动 */
|
/** 砍价活动 */
|
||||||
export interface BargainActivity {
|
export interface BargainActivity {
|
||||||
/** 活动编号 */
|
id?: number; // 活动编号
|
||||||
id?: number;
|
name?: string; // 活动名称
|
||||||
/** 活动名称 */
|
startTime?: Date; // 开始时间
|
||||||
name?: string;
|
endTime?: Date; // 结束时间
|
||||||
/** 开始时间 */
|
status?: number; // 状态
|
||||||
startTime?: Date;
|
helpMaxCount?: number; // 达到该人数,才能砍到低价
|
||||||
/** 结束时间 */
|
bargainCount?: number; // 最大帮砍次数
|
||||||
endTime?: Date;
|
totalLimitCount?: number; // 最大购买次数
|
||||||
/** 状态 */
|
spuId: number; // 商品 SPU 编号
|
||||||
status?: number;
|
skuId: number; // 商品 SKU 编号
|
||||||
/** 达到该人数,才能砍到低价 */
|
bargainFirstPrice: number; // 砍价起始价格,单位分
|
||||||
helpMaxCount?: number;
|
bargainMinPrice: number; // 砍价底价
|
||||||
/** 最大帮砍次数 */
|
stock: number; // 活动库存
|
||||||
bargainCount?: number;
|
randomMinPrice?: number; // 用户每次砍价的最小金额,单位:分
|
||||||
/** 最大购买次数 */
|
randomMaxPrice?: number; // 用户每次砍价的最大金额,单位:分
|
||||||
totalLimitCount?: number;
|
|
||||||
/** 商品 SPU 编号 */
|
|
||||||
spuId: number;
|
|
||||||
/** 商品 SKU 编号 */
|
|
||||||
skuId: number;
|
|
||||||
/** 砍价起始价格,单位分 */
|
|
||||||
bargainFirstPrice: number;
|
|
||||||
/** 砍价底价 */
|
|
||||||
bargainMinPrice: number;
|
|
||||||
/** 活动库存 */
|
|
||||||
stock: number;
|
|
||||||
/** 用户每次砍价的最小金额,单位:分 */
|
|
||||||
randomMinPrice?: number;
|
|
||||||
/** 用户每次砍价的最大金额,单位:分 */
|
|
||||||
randomMaxPrice?: number;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 砍价活动所需属性。选择的商品和属性的时候使用方便使用活动的通用封装 */
|
/** 砍价活动所需属性。选择的商品和属性的时候使用方便使用活动的通用封装 */
|
||||||
export interface BargainProduct {
|
export interface BargainProduct {
|
||||||
/** 商品 SPU 编号 */
|
spuId: number; // 商品 SPU 编号
|
||||||
spuId: number;
|
skuId: number; // 商品 SKU 编号
|
||||||
/** 商品 SKU 编号 */
|
bargainFirstPrice: number; // 砍价起始价格,单位分
|
||||||
skuId: number;
|
bargainMinPrice: number; // 砍价底价
|
||||||
/** 砍价起始价格,单位分 */
|
stock: number; // 活动库存
|
||||||
bargainFirstPrice: number;
|
|
||||||
/** 砍价底价 */
|
|
||||||
bargainMinPrice: number;
|
|
||||||
/** 活动库存 */
|
|
||||||
stock: number;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO @puhui999:要不要删除?
|
||||||
/** 扩展 SKU 配置 */
|
/** 扩展 SKU 配置 */
|
||||||
export type SkuExtension = {
|
export type SkuExtension = {
|
||||||
/** 砍价活动配置 */
|
productConfig: BargainProduct; // 砍价活动配置
|
||||||
productConfig: BargainProduct;
|
|
||||||
} & MallSpuApi.Sku;
|
} & MallSpuApi.Sku;
|
||||||
|
|
||||||
/** 扩展 SPU 配置 */
|
/** 扩展 SPU 配置 */
|
||||||
export interface SpuExtension extends MallSpuApi.Spu {
|
export interface SpuExtension extends MallSpuApi.Spu {
|
||||||
/** SKU 列表 */
|
skus: SkuExtension[]; // SKU 列表
|
||||||
skus: SkuExtension[];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,16 +5,11 @@ import { requestClient } from '#/api/request';
|
|||||||
export namespace MallBargainHelpApi {
|
export namespace MallBargainHelpApi {
|
||||||
/** 砍价记录 */
|
/** 砍价记录 */
|
||||||
export interface BargainHelp {
|
export interface BargainHelp {
|
||||||
/** 记录编号 */
|
id: number; // 记录编号
|
||||||
id: number;
|
record: number; // 砍价记录编号
|
||||||
/** 砍价记录编号 */
|
userId: number; // 用户编号
|
||||||
record: number;
|
reducePrice: number; // 砍掉金额
|
||||||
/** 用户编号 */
|
endTime: Date; // 结束时间
|
||||||
userId: number;
|
|
||||||
/** 砍掉金额 */
|
|
||||||
reducePrice: number;
|
|
||||||
/** 结束时间 */
|
|
||||||
endTime: Date;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,26 +5,16 @@ import { requestClient } from '#/api/request';
|
|||||||
export namespace MallBargainRecordApi {
|
export namespace MallBargainRecordApi {
|
||||||
/** 砍价记录 */
|
/** 砍价记录 */
|
||||||
export interface BargainRecord {
|
export interface BargainRecord {
|
||||||
/** 记录编号 */
|
id: number; // 记录编号
|
||||||
id: number;
|
activityId: number; // 活动编号
|
||||||
/** 活动编号 */
|
userId: number; // 用户编号
|
||||||
activityId: number;
|
spuId: number; // 商品 SPU 编号
|
||||||
/** 用户编号 */
|
skuId: number; // 商品 SKU 编号
|
||||||
userId: number;
|
bargainFirstPrice: number; // 砍价起始价格
|
||||||
/** 商品 SPU 编号 */
|
bargainPrice: number; // 砍价价格
|
||||||
spuId: number;
|
status: number; // 状态
|
||||||
/** 商品 SKU 编号 */
|
orderId: number; // 订单编号
|
||||||
skuId: number;
|
endTime: Date; // 结束时间
|
||||||
/** 砍价起始价格 */
|
|
||||||
bargainFirstPrice: number;
|
|
||||||
/** 砍价价格 */
|
|
||||||
bargainPrice: number;
|
|
||||||
/** 状态 */
|
|
||||||
status: number;
|
|
||||||
/** 订单编号 */
|
|
||||||
orderId: number;
|
|
||||||
/** 结束时间 */
|
|
||||||
endTime: Date;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,67 +5,42 @@ import type { MallSpuApi } from '#/api/mall/product/spu';
|
|||||||
import { requestClient } from '#/api/request';
|
import { requestClient } from '#/api/request';
|
||||||
|
|
||||||
export namespace MallCombinationActivityApi {
|
export namespace MallCombinationActivityApi {
|
||||||
/** 拼团活动所需属性 */
|
|
||||||
export interface CombinationProduct {
|
|
||||||
/** 商品 SPU 编号 */
|
|
||||||
spuId: number;
|
|
||||||
/** 商品 SKU 编号 */
|
|
||||||
skuId: number;
|
|
||||||
/** 拼团价格 */
|
|
||||||
combinationPrice: number;
|
|
||||||
}
|
|
||||||
/** 拼团活动 */
|
/** 拼团活动 */
|
||||||
export interface CombinationActivity {
|
export interface CombinationActivity {
|
||||||
/** 活动编号 */
|
id?: number; // 活动编号
|
||||||
id?: number;
|
name?: string; // 活动名称
|
||||||
/** 活动名称 */
|
spuId?: number; // 商品 SPU 编号
|
||||||
name?: string;
|
totalLimitCount?: number; // 总限购数量
|
||||||
/** 商品 SPU 编号 */
|
singleLimitCount?: number; // 单次限购数量
|
||||||
spuId?: number;
|
startTime?: Date; // 开始时间
|
||||||
/** 总限购数量 */
|
endTime?: Date; // 结束时间
|
||||||
totalLimitCount?: number;
|
userSize?: number; // 用户数量
|
||||||
/** 单次限购数量 */
|
totalCount?: number; // 总数量
|
||||||
singleLimitCount?: number;
|
successCount?: number; // 成功数量
|
||||||
/** 开始时间 */
|
orderUserCount?: number; // 订单用户数量
|
||||||
startTime?: Date;
|
virtualGroup?: number; // 虚拟成团
|
||||||
/** 结束时间 */
|
status?: number; // 状态
|
||||||
endTime?: Date;
|
limitDuration?: number; // 限制时长
|
||||||
/** 用户数量 */
|
combinationPrice?: number; // 拼团价格
|
||||||
userSize?: number;
|
products: CombinationProduct[]; // 商品列表
|
||||||
/** 总数量 */
|
}
|
||||||
totalCount?: number;
|
|
||||||
/** 成功数量 */
|
// TODO @puhui999:要不要删除?
|
||||||
successCount?: number;
|
/** 拼团活动所需属性 */
|
||||||
/** 订单用户数量 */
|
export interface CombinationProduct {
|
||||||
orderUserCount?: number;
|
spuId: number; // 商品 SPU 编号
|
||||||
/** 虚拟成团 */
|
skuId: number; // 商品 SKU 编号
|
||||||
virtualGroup?: number;
|
combinationPrice: number; // 拼团价格
|
||||||
/** 状态 */
|
|
||||||
status?: number;
|
|
||||||
/** 限制时长 */
|
|
||||||
limitDuration?: number;
|
|
||||||
/** 拼团价格 */
|
|
||||||
combinationPrice?: number;
|
|
||||||
/** 商品列表 */
|
|
||||||
products: CombinationProduct[];
|
|
||||||
/** 图片 */
|
|
||||||
picUrl?: string;
|
|
||||||
/** 商品名称 */
|
|
||||||
spuName?: string;
|
|
||||||
/** 市场价 */
|
|
||||||
marketPrice?: number;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 扩展 SKU 配置 */
|
/** 扩展 SKU 配置 */
|
||||||
export type SkuExtension = {
|
export type SkuExtension = {
|
||||||
/** 拼团活动配置 */
|
productConfig: CombinationProduct; // 拼团活动配置
|
||||||
productConfig: CombinationProduct;
|
|
||||||
} & MallSpuApi.Sku;
|
} & MallSpuApi.Sku;
|
||||||
|
|
||||||
/** 扩展 SPU 配置 */
|
/** 扩展 SPU 配置 */
|
||||||
export interface SpuExtension extends MallSpuApi.Spu {
|
export interface SpuExtension extends MallSpuApi.Spu {
|
||||||
/** SKU 列表 */
|
skus: SkuExtension[]; // SKU 列表
|
||||||
skus: SkuExtension[];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,44 +5,27 @@ import { requestClient } from '#/api/request';
|
|||||||
export namespace MallCombinationRecordApi {
|
export namespace MallCombinationRecordApi {
|
||||||
/** 拼团记录 */
|
/** 拼团记录 */
|
||||||
export interface CombinationRecord {
|
export interface CombinationRecord {
|
||||||
/** 拼团记录编号 */
|
id: number; // 拼团记录编号
|
||||||
id: number;
|
activityId: number; // 拼团活动编号
|
||||||
/** 拼团活动编号 */
|
nickname: string; // 用户昵称
|
||||||
activityId: number;
|
avatar: string; // 用户头像
|
||||||
/** 用户昵称 */
|
headId: number; // 团长编号
|
||||||
nickname: string;
|
expireTime: string; // 过期时间
|
||||||
/** 用户头像 */
|
userSize: number; // 可参团人数
|
||||||
avatar: string;
|
userCount: number; // 已参团人数
|
||||||
/** 团长编号 */
|
status: number; // 拼团状态
|
||||||
headId: number;
|
spuName: string; // 商品名字
|
||||||
/** 过期时间 */
|
picUrl: string; // 商品图片
|
||||||
expireTime: string;
|
virtualGroup: boolean; // 是否虚拟成团
|
||||||
/** 可参团人数 */
|
startTime: string; // 开始时间 (订单付款后开始的时间)
|
||||||
userSize: number;
|
endTime: string; // 结束时间(成团时间/失败时间)
|
||||||
/** 已参团人数 */
|
|
||||||
userCount: number;
|
|
||||||
/** 拼团状态 */
|
|
||||||
status: number;
|
|
||||||
/** 商品名字 */
|
|
||||||
spuName: string;
|
|
||||||
/** 商品图片 */
|
|
||||||
picUrl: string;
|
|
||||||
/** 是否虚拟成团 */
|
|
||||||
virtualGroup: boolean;
|
|
||||||
/** 开始时间 (订单付款后开始的时间) */
|
|
||||||
startTime: string;
|
|
||||||
/** 结束时间(成团时间/失败时间) */
|
|
||||||
endTime: string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 拼团记录概要信息 */
|
/** 拼团记录概要信息 */
|
||||||
export interface RecordSummary {
|
export interface RecordSummary {
|
||||||
/** 待成团数量 */
|
pendingCount: number; // 待成团数量
|
||||||
pendingCount: number;
|
successCount: number; // 已成团数量
|
||||||
/** 已成团数量 */
|
failCount: number; // 已失败数量
|
||||||
successCount: number;
|
|
||||||
/** 已失败数量 */
|
|
||||||
failCount: number;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,48 +7,34 @@ import { requestClient } from '#/api/request';
|
|||||||
export namespace MallDiscountActivityApi {
|
export namespace MallDiscountActivityApi {
|
||||||
/** 限时折扣相关属性 */
|
/** 限时折扣相关属性 */
|
||||||
export interface DiscountProduct {
|
export interface DiscountProduct {
|
||||||
/** 商品 SPU 编号 */
|
spuId: number; // 商品 SPU 编号
|
||||||
spuId: number;
|
skuId: number; // 商品 SKU 编号
|
||||||
/** 商品 SKU 编号 */
|
discountType: number; // 折扣类型
|
||||||
skuId: number;
|
discountPercent: number; // 折扣百分比
|
||||||
/** 折扣类型 */
|
discountPrice: number; // 折扣价格
|
||||||
discountType: number;
|
|
||||||
/** 折扣百分比 */
|
|
||||||
discountPercent: number;
|
|
||||||
/** 折扣价格 */
|
|
||||||
discountPrice: number;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 限时折扣活动 */
|
/** 限时折扣活动 */
|
||||||
export interface DiscountActivity {
|
export interface DiscountActivity {
|
||||||
/** 活动编号 */
|
id?: number; // 活动编号
|
||||||
id?: number;
|
spuId?: number; // 商品 SPU 编号
|
||||||
/** 商品 SPU 编号 */
|
name?: string; // 活动名称
|
||||||
spuId?: number;
|
status?: number; // 状态
|
||||||
/** 活动名称 */
|
remark?: string; // 备注
|
||||||
name?: string;
|
startTime?: Date; // 开始时间
|
||||||
/** 状态 */
|
endTime?: Date; // 结束时间
|
||||||
status?: number;
|
products?: DiscountProduct[]; // 商品列表
|
||||||
/** 备注 */
|
|
||||||
remark?: string;
|
|
||||||
/** 开始时间 */
|
|
||||||
startTime?: Date;
|
|
||||||
/** 结束时间 */
|
|
||||||
endTime?: Date;
|
|
||||||
/** 商品列表 */
|
|
||||||
products?: DiscountProduct[];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO @puhui999:要不要删除?
|
||||||
/** 扩展 SKU 配置 */
|
/** 扩展 SKU 配置 */
|
||||||
export type SkuExtension = {
|
export type SkuExtension = {
|
||||||
/** 限时折扣配置 */
|
productConfig: DiscountProduct; // 限时折扣配置
|
||||||
productConfig: DiscountProduct;
|
|
||||||
} & MallSpuApi.Sku;
|
} & MallSpuApi.Sku;
|
||||||
|
|
||||||
/** 扩展 SPU 配置 */
|
/** 扩展 SPU 配置 */
|
||||||
export interface SpuExtension extends MallSpuApi.Spu {
|
export interface SpuExtension extends MallSpuApi.Spu {
|
||||||
/** SKU 列表 */
|
skus: SkuExtension[]; // SKU 列表
|
||||||
skus: SkuExtension[];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,18 +5,12 @@ import { requestClient } from '#/api/request';
|
|||||||
export namespace MallDiyPageApi {
|
export namespace MallDiyPageApi {
|
||||||
/** 装修页面 */
|
/** 装修页面 */
|
||||||
export interface DiyPage {
|
export interface DiyPage {
|
||||||
/** 页面编号 */
|
id?: number; // 页面编号
|
||||||
id?: number;
|
templateId?: number; // 模板编号
|
||||||
/** 模板编号 */
|
name: string; // 页面名称
|
||||||
templateId?: number;
|
remark: string; // 备注
|
||||||
/** 页面名称 */
|
previewPicUrls: string[]; // 预览图片地址数组
|
||||||
name: string;
|
property: string; // 页面属性
|
||||||
/** 备注 */
|
|
||||||
remark: string;
|
|
||||||
/** 预览图片地址数组 */
|
|
||||||
previewPicUrls: string[];
|
|
||||||
/** 页面属性 */
|
|
||||||
property: string;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,26 +7,18 @@ import { requestClient } from '#/api/request';
|
|||||||
export namespace MallDiyTemplateApi {
|
export namespace MallDiyTemplateApi {
|
||||||
/** 装修模板 */
|
/** 装修模板 */
|
||||||
export interface DiyTemplate {
|
export interface DiyTemplate {
|
||||||
/** 模板编号 */
|
id?: number; // 模板编号
|
||||||
id?: number;
|
name: string; // 模板名称
|
||||||
/** 模板名称 */
|
used: boolean; // 是否使用
|
||||||
name: string;
|
usedTime?: Date; // 使用时间
|
||||||
/** 是否使用 */
|
remark: string; // 备注
|
||||||
used: boolean;
|
previewPicUrls: string[]; // 预览图片地址数组
|
||||||
/** 使用时间 */
|
property: string; // 模板属性
|
||||||
usedTime?: Date;
|
|
||||||
/** 备注 */
|
|
||||||
remark: string;
|
|
||||||
/** 预览图片地址数组 */
|
|
||||||
previewPicUrls: string[];
|
|
||||||
/** 模板属性 */
|
|
||||||
property: string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 装修模板属性(包含页面列表) */
|
/** 装修模板属性(包含页面列表) */
|
||||||
export interface DiyTemplateProperty extends DiyTemplate {
|
export interface DiyTemplateProperty extends DiyTemplate {
|
||||||
/** 页面列表 */
|
pages: MallDiyPageApi.DiyPage[]; // 页面列表
|
||||||
pages: MallDiyPageApi.DiyPage[];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ export namespace MallKefuConversationApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** 会话置顶请求 */
|
/** 会话置顶请求 */
|
||||||
export interface ConversationPinnedUpdate {
|
export interface ConversationPinnedUpdateReqVO {
|
||||||
id: number; // 会话编号
|
id: number; // 会话编号
|
||||||
pinned: boolean; // 是否置顶
|
pinned: boolean; // 是否置顶
|
||||||
}
|
}
|
||||||
@@ -40,7 +40,7 @@ export function getConversation(id: number) {
|
|||||||
|
|
||||||
/** 客服会话置顶 */
|
/** 客服会话置顶 */
|
||||||
export function updateConversationPinned(
|
export function updateConversationPinned(
|
||||||
data: MallKefuConversationApi.ConversationPinnedUpdate,
|
data: MallKefuConversationApi.ConversationPinnedUpdateReqVO,
|
||||||
) {
|
) {
|
||||||
return requestClient.put(
|
return requestClient.put(
|
||||||
'/promotion/kefu-conversation/update-conversation-pinned',
|
'/promotion/kefu-conversation/update-conversation-pinned',
|
||||||
|
|||||||
@@ -24,11 +24,6 @@ export namespace MallKefuMessageApi {
|
|||||||
contentType: number; // 消息类型
|
contentType: number; // 消息类型
|
||||||
content: string; // 消息内容
|
content: string; // 消息内容
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 消息列表查询参数 */
|
|
||||||
export interface MessageQuery extends PageParam {
|
|
||||||
conversationId: number; // 会话编号
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 发送客服消息 */
|
/** 发送客服消息 */
|
||||||
@@ -44,7 +39,7 @@ export function updateKeFuMessageReadStatus(conversationId: number) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** 获得消息列表(流式加载) */
|
/** 获得消息列表(流式加载) */
|
||||||
export function getKeFuMessageList(params: MallKefuMessageApi.MessageQuery) {
|
export function getKeFuMessageList(params: PageParam) {
|
||||||
return requestClient.get<PageResult<MallKefuMessageApi.Message>>(
|
return requestClient.get<PageResult<MallKefuMessageApi.Message>>(
|
||||||
'/promotion/kefu-message/list',
|
'/promotion/kefu-message/list',
|
||||||
{ params },
|
{ params },
|
||||||
|
|||||||
@@ -7,80 +7,52 @@ import { requestClient } from '#/api/request';
|
|||||||
export namespace MallPointActivityApi {
|
export namespace MallPointActivityApi {
|
||||||
/** 积分商城商品 */
|
/** 积分商城商品 */
|
||||||
export interface PointProduct {
|
export interface PointProduct {
|
||||||
/** 积分商城商品编号 */
|
id?: number; // 积分商城商品编号
|
||||||
id?: number;
|
activityId?: number; // 积分商城活动 id
|
||||||
/** 积分商城活动 id */
|
spuId?: number; // 商品 SPU 编号
|
||||||
activityId?: number;
|
skuId: number; // 商品 SKU 编号
|
||||||
/** 商品 SPU 编号 */
|
count: number; // 可兑换数量
|
||||||
spuId?: number;
|
point: number; // 兑换积分
|
||||||
/** 商品 SKU 编号 */
|
price: number; // 兑换金额,单位:分
|
||||||
skuId: number;
|
stock: number; // 积分商城商品库存
|
||||||
/** 可兑换数量 */
|
activityStatus?: number; // 积分商城商品状态
|
||||||
count: number;
|
|
||||||
/** 兑换积分 */
|
|
||||||
point: number;
|
|
||||||
/** 兑换金额,单位:分 */
|
|
||||||
price: number;
|
|
||||||
/** 积分商城商品库存 */
|
|
||||||
stock: number;
|
|
||||||
/** 积分商城商品状态 */
|
|
||||||
activityStatus?: number;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 积分商城活动 */
|
/** 积分商城活动 */
|
||||||
export interface PointActivity {
|
export interface PointActivity {
|
||||||
/** 积分商城活动编号 */
|
id: number; // 积分商城活动编号
|
||||||
id: number;
|
spuId: number; // 积分商城活动商品
|
||||||
/** 积分商城活动商品 */
|
status: number; // 活动状态
|
||||||
spuId: number;
|
stock: number; // 积分商城活动库存
|
||||||
/** 活动状态 */
|
totalStock: number; // 积分商城活动总库存
|
||||||
status: number;
|
remark?: string; // 备注
|
||||||
/** 积分商城活动库存 */
|
sort: number; // 排序
|
||||||
stock: number;
|
createTime: string; // 创建时间
|
||||||
/** 积分商城活动总库存 */
|
products: PointProduct[]; // 积分商城商品
|
||||||
totalStock: number;
|
spuName: string; // 商品名称
|
||||||
/** 备注 */
|
picUrl: string; // 商品主图
|
||||||
remark?: string;
|
marketPrice: number; // 商品市场价,单位:分
|
||||||
/** 排序 */
|
point: number; // 兑换积分
|
||||||
sort: number;
|
price: number; // 兑换金额,单位:分
|
||||||
/** 创建时间 */
|
|
||||||
createTime: string;
|
|
||||||
/** 积分商城商品 */
|
|
||||||
products: PointProduct[];
|
|
||||||
/** 商品名称 */
|
|
||||||
spuName: string;
|
|
||||||
/** 商品主图 */
|
|
||||||
picUrl: string;
|
|
||||||
/** 商品市场价,单位:分 */
|
|
||||||
marketPrice: number;
|
|
||||||
/** 兑换积分 */
|
|
||||||
point: number;
|
|
||||||
/** 兑换金额,单位:分 */
|
|
||||||
price: number;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO @puhui999:这些还需要么?
|
||||||
/** 扩展 SKU 配置 */
|
/** 扩展 SKU 配置 */
|
||||||
export type SkuExtension = {
|
export type SkuExtension = {
|
||||||
/** 积分商城商品配置 */
|
productConfig: PointProduct; // 积分商城商品配置
|
||||||
productConfig: PointProduct;
|
|
||||||
} & MallSpuApi.Sku;
|
} & MallSpuApi.Sku;
|
||||||
|
|
||||||
/** 扩展 SPU 配置 */
|
/** 扩展 SPU 配置 */
|
||||||
export interface SpuExtension extends MallSpuApi.Spu {
|
export interface SpuExtension extends MallSpuApi.Spu {
|
||||||
/** SKU 列表 */
|
skus: SkuExtension[]; // SKU 列表
|
||||||
skus: SkuExtension[];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 扩展 SPU 配置(带积分信息) */
|
/** 扩展 SPU 配置(带积分信息) */
|
||||||
export interface SpuExtensionWithPoint extends MallSpuApi.Spu {
|
export interface SpuExtensionWithPoint extends MallSpuApi.Spu {
|
||||||
/** 积分商城活动库存 */
|
pointStock: number; // 积分商城活动库存
|
||||||
pointStock: number;
|
pointTotalStock: number; // 积分商城活动总库存
|
||||||
/** 积分商城活动总库存 */
|
point: number; // 兑换积分
|
||||||
pointTotalStock: number;
|
pointPrice: number; // 兑换金额,单位:分
|
||||||
/** 兑换积分 */
|
|
||||||
point: number;
|
|
||||||
/** 兑换金额,单位:分 */
|
|
||||||
pointPrice: number;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,48 +5,30 @@ import { requestClient } from '#/api/request';
|
|||||||
export namespace MallRewardActivityApi {
|
export namespace MallRewardActivityApi {
|
||||||
/** 优惠规则 */
|
/** 优惠规则 */
|
||||||
export interface RewardRule {
|
export interface RewardRule {
|
||||||
/** 满足金额 */
|
limit?: number; // 满足金额
|
||||||
limit?: number;
|
discountPrice?: number; // 优惠金额
|
||||||
/** 优惠金额 */
|
freeDelivery?: boolean; // 是否包邮
|
||||||
discountPrice?: number;
|
point: number; // 赠送积分
|
||||||
/** 是否包邮 */
|
|
||||||
freeDelivery?: boolean;
|
|
||||||
/** 赠送积分 */
|
|
||||||
point: number;
|
|
||||||
/** 赠送优惠券数量 */
|
|
||||||
giveCouponTemplateCounts?: {
|
giveCouponTemplateCounts?: {
|
||||||
[key: number]: number;
|
[key: number]: number;
|
||||||
};
|
}; // 赠送优惠券数量
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 满减送活动 */
|
/** 满减送活动 */
|
||||||
export interface RewardActivity {
|
export interface RewardActivity {
|
||||||
/** 活动编号 */
|
id?: number; // 活动编号
|
||||||
id?: number;
|
name?: string; // 活动名称
|
||||||
/** 活动名称 */
|
status?: number; // 活动状态
|
||||||
name?: string;
|
startTime?: Date; // 开始时间
|
||||||
/** 开始时间 */
|
endTime?: Date; // 结束时间
|
||||||
startTime?: Date;
|
startAndEndTime?: Date[]; // 开始和结束时间(仅前端使用)
|
||||||
/** 结束时间 */
|
remark?: string; // 备注
|
||||||
endTime?: Date;
|
conditionType?: number; // 条件类型
|
||||||
/** 开始和结束时间(仅前端使用) */
|
productScope?: number; // 商品范围
|
||||||
startAndEndTime?: Date[];
|
rules: RewardRule[]; // 优惠规则列表
|
||||||
/** 备注 */
|
productScopeValues?: number[]; // 商品范围值(仅表单使用):值为品类编号列表、商品编号列表
|
||||||
remark?: string;
|
productCategoryIds?: number[]; // 商品分类编号列表(仅表单使用)
|
||||||
/** 条件类型 */
|
productSpuIds?: number[]; // 商品 SPU 编号列表(仅表单使用)
|
||||||
conditionType?: number;
|
|
||||||
/** 商品范围 */
|
|
||||||
productScope?: number;
|
|
||||||
/** 优惠规则列表 */
|
|
||||||
rules: RewardRule[];
|
|
||||||
/** 商品范围值(仅表单使用):值为品类编号列表、商品编号列表 */
|
|
||||||
productScopeValues?: number[];
|
|
||||||
/** 商品分类编号列表(仅表单使用) */
|
|
||||||
productCategoryIds?: number[];
|
|
||||||
/** 商品 SPU 编号列表(仅表单使用) */
|
|
||||||
productSpuIds?: number[];
|
|
||||||
/** 状态 */
|
|
||||||
status?: number;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,72 +7,43 @@ import { requestClient } from '#/api/request';
|
|||||||
export namespace MallSeckillActivityApi {
|
export namespace MallSeckillActivityApi {
|
||||||
/** 秒杀商品 */
|
/** 秒杀商品 */
|
||||||
export interface SeckillProduct {
|
export interface SeckillProduct {
|
||||||
/** 商品 SKU 编号 */
|
skuId: number; // 商品 SKU 编号
|
||||||
skuId: number;
|
spuId: number; // 商品 SPU 编号
|
||||||
/** 商品 SPU 编号 */
|
seckillPrice: number; // 秒杀价格
|
||||||
spuId: number;
|
stock: number; // 秒杀库存
|
||||||
/** 秒杀价格 */
|
|
||||||
seckillPrice: number;
|
|
||||||
/** 秒杀库存 */
|
|
||||||
stock: number;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 秒杀活动 */
|
/** 秒杀活动 */
|
||||||
export interface SeckillActivity {
|
export interface SeckillActivity {
|
||||||
/** 活动编号 */
|
id?: number; // 活动编号
|
||||||
id?: number;
|
spuId?: number; // 商品 SPU 编号
|
||||||
/** 商品 SPU 编号 */
|
name?: string; // 活动名称
|
||||||
spuId?: number;
|
status?: number; // 活动状态
|
||||||
/** 活动名称 */
|
remark?: string; // 备注
|
||||||
name?: string;
|
startTime?: Date; // 开始时间
|
||||||
/** 活动状态 */
|
endTime?: Date; // 结束时间
|
||||||
status?: number;
|
sort?: number; // 排序
|
||||||
/** 备注 */
|
configIds?: string; // 配置编号
|
||||||
remark?: string;
|
orderCount?: number; // 订单数量
|
||||||
/** 开始时间 */
|
userCount?: number; // 用户数量
|
||||||
startTime: Date;
|
totalPrice?: number; // 总金额
|
||||||
/** 结束时间 */
|
totalLimitCount?: number; // 总限购数量
|
||||||
endTime: Date;
|
singleLimitCount?: number; // 单次限购数量
|
||||||
/** 排序 */
|
stock?: number; // 秒杀库存
|
||||||
sort?: number;
|
totalStock?: number; // 秒杀总库存
|
||||||
/** 配置编号 */
|
seckillPrice?: number; // 秒杀价格
|
||||||
configIds?: number[];
|
products?: SeckillProduct[]; // 秒杀商品列表
|
||||||
/** 订单数量 */
|
|
||||||
orderCount?: number;
|
|
||||||
/** 用户数量 */
|
|
||||||
userCount?: number;
|
|
||||||
/** 总金额 */
|
|
||||||
totalPrice?: number;
|
|
||||||
/** 总限购数量 */
|
|
||||||
totalLimitCount?: number;
|
|
||||||
/** 单次限购数量 */
|
|
||||||
singleLimitCount?: number;
|
|
||||||
/** 秒杀库存 */
|
|
||||||
stock?: number;
|
|
||||||
/** 秒杀总库存 */
|
|
||||||
totalStock?: number;
|
|
||||||
/** 秒杀价格 */
|
|
||||||
seckillPrice?: number;
|
|
||||||
/** 秒杀商品列表 */
|
|
||||||
products?: SeckillProduct[];
|
|
||||||
/** 图片 */
|
|
||||||
picUrl?: string;
|
|
||||||
/** 商品名称 */
|
|
||||||
spuName?: string;
|
|
||||||
/** 市场价 */
|
|
||||||
marketPrice?: number;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO @puhui999:这些还需要么?
|
||||||
/** 扩展 SKU 配置 */
|
/** 扩展 SKU 配置 */
|
||||||
export type SkuExtension = {
|
export type SkuExtension = {
|
||||||
/** 秒杀商品配置 */
|
productConfig: SeckillProduct; // 秒杀商品配置
|
||||||
productConfig: SeckillProduct;
|
|
||||||
} & MallSpuApi.Sku;
|
} & MallSpuApi.Sku;
|
||||||
|
|
||||||
/** 扩展 SPU 配置 */
|
/** 扩展 SPU 配置 */
|
||||||
export interface SpuExtension extends MallSpuApi.Spu {
|
export interface SpuExtension extends MallSpuApi.Spu {
|
||||||
/** SKU 列表 */
|
skus: SkuExtension[]; // SKU 列表
|
||||||
skus: SkuExtension[];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,26 +5,12 @@ import { requestClient } from '#/api/request';
|
|||||||
export namespace MallSeckillConfigApi {
|
export namespace MallSeckillConfigApi {
|
||||||
/** 秒杀时段 */
|
/** 秒杀时段 */
|
||||||
export interface SeckillConfig {
|
export interface SeckillConfig {
|
||||||
/** 编号 */
|
id: number; // 编号
|
||||||
id: number;
|
name: string; // 秒杀时段名称
|
||||||
/** 秒杀时段名称 */
|
startTime: string; // 开始时间点
|
||||||
name: string;
|
endTime: string; // 结束时间点
|
||||||
/** 开始时间点 */
|
sliderPicUrls: string[]; // 秒杀轮播图
|
||||||
startTime: string;
|
status: number; // 活动状态
|
||||||
/** 结束时间点 */
|
|
||||||
endTime: string;
|
|
||||||
/** 秒杀轮播图 */
|
|
||||||
sliderPicUrls: string[];
|
|
||||||
/** 活动状态 */
|
|
||||||
status: number;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 时段配置状态更新 */
|
|
||||||
export interface StatusUpdate {
|
|
||||||
/** 编号 */
|
|
||||||
id: number;
|
|
||||||
/** 状态 */
|
|
||||||
status: number;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
||||||
import type { MallArticleCategoryApi } from '#/api/mall/promotion/articleCategory';
|
import type { MallArticleCategoryApi } from '#/api/mall/promotion/article/category';
|
||||||
|
|
||||||
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@ import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
|||||||
import {
|
import {
|
||||||
deleteArticleCategory,
|
deleteArticleCategory,
|
||||||
getArticleCategoryPage,
|
getArticleCategoryPage,
|
||||||
} from '#/api/mall/promotion/articleCategory';
|
} from '#/api/mall/promotion/article/category';
|
||||||
import { $t } from '#/locales';
|
import { $t } from '#/locales';
|
||||||
|
|
||||||
import { useGridColumns, useGridFormSchema } from './data';
|
import { useGridColumns, useGridFormSchema } from './data';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import type { MallArticleCategoryApi } from '#/api/mall/promotion/articleCategory';
|
import type { MallArticleCategoryApi } from '#/api/mall/promotion/article/category';
|
||||||
|
|
||||||
import { computed, ref } from 'vue';
|
import { computed, ref } from 'vue';
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ import {
|
|||||||
createArticleCategory,
|
createArticleCategory,
|
||||||
getArticleCategory,
|
getArticleCategory,
|
||||||
updateArticleCategory,
|
updateArticleCategory,
|
||||||
} from '#/api/mall/promotion/articleCategory';
|
} from '#/api/mall/promotion/article/category';
|
||||||
import { $t } from '#/locales';
|
import { $t } from '#/locales';
|
||||||
|
|
||||||
import { useFormSchema } from '../data';
|
import { useFormSchema } from '../data';
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import type { VbenFormSchema } from '#/adapter/form';
|
import type { VbenFormSchema } from '#/adapter/form';
|
||||||
import type { VxeGridPropTypes } from '#/adapter/vxe-table';
|
import type { VxeGridPropTypes } from '#/adapter/vxe-table';
|
||||||
import type { MallArticleCategoryApi } from '#/api/mall/promotion/articleCategory';
|
import type { MallArticleCategoryApi } from '#/api/mall/promotion/article/category';
|
||||||
|
|
||||||
import { CommonStatusEnum, DICT_TYPE } from '@vben/constants';
|
import { CommonStatusEnum, DICT_TYPE } from '@vben/constants';
|
||||||
import { getDictOptions } from '@vben/hooks';
|
import { getDictOptions } from '@vben/hooks';
|
||||||
|
|
||||||
import { z } from '#/adapter/form';
|
import { z } from '#/adapter/form';
|
||||||
import { getSimpleArticleCategoryList } from '#/api/mall/promotion/articleCategory';
|
import { getSimpleArticleCategoryList } from '#/api/mall/promotion/article/category';
|
||||||
import { getRangePickerDefaultProps } from '#/utils';
|
import { getRangePickerDefaultProps } from '#/utils';
|
||||||
|
|
||||||
/** 关联数据 */
|
/** 关联数据 */
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
||||||
import type { MallBannerApi } from '#/api/mall/market/banner';
|
import type { MallBannerApi } from '#/api/mall/promotion/banner';
|
||||||
|
|
||||||
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
import { DocAlert, Page, useVbenModal } from '@vben/common-ui';
|
||||||
|
|
||||||
import { ElLoading, ElMessage } from 'element-plus';
|
import { ElLoading, ElMessage } from 'element-plus';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import { deleteBanner, getBannerPage } from '#/api/mall/market/banner';
|
import { deleteBanner, getBannerPage } from '#/api/mall/promotion/banner';
|
||||||
import { $t } from '#/locales';
|
import { $t } from '#/locales';
|
||||||
|
|
||||||
import { useGridColumns, useGridFormSchema } from './data';
|
import { useGridColumns, useGridFormSchema } from './data';
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import type { MallBannerApi } from '#/api/mall/market/banner';
|
import type { MallBannerApi } from '#/api/mall/promotion/banner';
|
||||||
|
import type { SystemUserApi } from '#/api/system/user';
|
||||||
|
|
||||||
import { computed, ref } from 'vue';
|
import { computed, ref } from 'vue';
|
||||||
|
|
||||||
@@ -12,7 +13,7 @@ import {
|
|||||||
createBanner,
|
createBanner,
|
||||||
getBanner,
|
getBanner,
|
||||||
updateBanner,
|
updateBanner,
|
||||||
} from '#/api/mall/market/banner';
|
} from '#/api/mall/promotion/banner';
|
||||||
import { $t } from '#/locales';
|
import { $t } from '#/locales';
|
||||||
|
|
||||||
import { useFormSchema } from '../data';
|
import { useFormSchema } from '../data';
|
||||||
|
|||||||
Reference in New Issue
Block a user