diff --git a/src/api/glt/gltTicketTemplate/index.ts b/src/api/glt/gltTicketTemplate/index.ts new file mode 100644 index 0000000..2cff028 --- /dev/null +++ b/src/api/glt/gltTicketTemplate/index.ts @@ -0,0 +1,105 @@ +import request from '@/utils/request'; +import type { ApiResult, PageResult } from '@/api'; +import type { GltTicketTemplate, GltTicketTemplateParam } from './model'; + +/** + * 分页查询水票 + */ +export async function pageGltTicketTemplate(params: GltTicketTemplateParam) { + const res = await request.get>>( + '/glt/glt-ticket-template/page', + { + params + } + ); + if (res.data.code === 0) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 查询水票列表 + */ +export async function listGltTicketTemplate(params?: GltTicketTemplateParam) { + const res = await request.get>( + '/glt/glt-ticket-template', + { + params + } + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 添加水票 + */ +export async function addGltTicketTemplate(data: GltTicketTemplate) { + const res = await request.post>( + '/glt/glt-ticket-template', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 修改水票 + */ +export async function updateGltTicketTemplate(data: GltTicketTemplate) { + const res = await request.put>( + '/glt/glt-ticket-template', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 删除水票 + */ +export async function removeGltTicketTemplate(id?: number) { + const res = await request.delete>( + '/glt/glt-ticket-template/' + id + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 批量删除水票 + */ +export async function removeBatchGltTicketTemplate(data: (number | undefined)[]) { + const res = await request.delete>( + '/glt/glt-ticket-template/batch', + { + data + } + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 根据id查询水票 + */ +export async function getGltTicketTemplate(id: number) { + const res = await request.get>( + '/glt/glt-ticket-template/' + id + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} diff --git a/src/api/glt/gltTicketTemplate/model/index.ts b/src/api/glt/gltTicketTemplate/model/index.ts new file mode 100644 index 0000000..dbd5a11 --- /dev/null +++ b/src/api/glt/gltTicketTemplate/model/index.ts @@ -0,0 +1,55 @@ +import type { PageParam } from '@/api'; + +/** + * 水票 + */ +export interface GltTicketTemplate { + // + id?: number; + // 关联商品ID + goodsId?: number; + // 名称 + name?: string; + // 启用 + enabled?: string; + // 单位名称 + unitName?: string; + // 最小购买数量 + minBuyQty?: number; + // 起始发送数量 + startSendQty?: number; + // 买赠:买1送4 => gift_multiplier=4 + giftMultiplier?: number; + // 是否把购买量也计入套票总量(默认仅计入赠送量) + includeBuyQty?: string; + // 每期释放数量(默认每月释放10) + monthlyReleaseQty?: number; + // 总共释放多少期(若配置>0,则按期数平均分摊) + releasePeriods?: number; + // 首期释放时机:0=支付成功当刻;1=下个月同日 + firstReleaseMode?: number; + // 用户ID + userId?: number; + // 排序(数字越小越靠前) + sortNumber?: number; + // 备注 + comments?: string; + // 状态, 0正常, 1冻结 + status?: number; + // 是否删除, 0否, 1是 + deleted?: number; + // 租户id + tenantId?: number; + // 创建时间 + createTime?: string; + // 修改时间 + updateTime?: string; +} + +/** + * 水票搜索条件 + */ +export interface GltTicketTemplateParam extends PageParam { + id?: number; + keywords?: string; +} diff --git a/src/api/glt/gltUserTicket/index.ts b/src/api/glt/gltUserTicket/index.ts new file mode 100644 index 0000000..d117348 --- /dev/null +++ b/src/api/glt/gltUserTicket/index.ts @@ -0,0 +1,105 @@ +import request from '@/utils/request'; +import type { ApiResult, PageResult } from '@/api'; +import type { GltUserTicket, GltUserTicketParam } from './model'; + +/** + * 分页查询我的水票 + */ +export async function pageGltUserTicket(params: GltUserTicketParam) { + const res = await request.get>>( + '/glt/glt-user-ticket/page', + { + params + } + ); + if (res.data.code === 0) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 查询我的水票列表 + */ +export async function listGltUserTicket(params?: GltUserTicketParam) { + const res = await request.get>( + '/glt/glt-user-ticket', + { + params + } + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 添加我的水票 + */ +export async function addGltUserTicket(data: GltUserTicket) { + const res = await request.post>( + '/glt/glt-user-ticket', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 修改我的水票 + */ +export async function updateGltUserTicket(data: GltUserTicket) { + const res = await request.put>( + '/glt/glt-user-ticket', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 删除我的水票 + */ +export async function removeGltUserTicket(id?: number) { + const res = await request.delete>( + '/glt/glt-user-ticket/' + id + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 批量删除我的水票 + */ +export async function removeBatchGltUserTicket(data: (number | undefined)[]) { + const res = await request.delete>( + '/glt/glt-user-ticket/batch', + { + data + } + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 根据id查询我的水票 + */ +export async function getGltUserTicket(id: number) { + const res = await request.get>( + '/glt/glt-user-ticket/' + id + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} diff --git a/src/api/glt/gltUserTicket/model/index.ts b/src/api/glt/gltUserTicket/model/index.ts new file mode 100644 index 0000000..b23a863 --- /dev/null +++ b/src/api/glt/gltUserTicket/model/index.ts @@ -0,0 +1,53 @@ +import type { PageParam } from '@/api'; + +/** + * 我的水票 + */ +export interface GltUserTicket { + // + id?: number; + // 模板ID + templateId?: number; + // 商品ID + goodsId?: number; + // 订单ID + orderId?: number; + // 订单编号 + orderNo?: string; + // 订单商品ID + orderGoodsId?: number; + // 总数量 + totalQty?: number; + // 可用数量 + availableQty?: number; + // 冻结数量 + frozenQty?: number; + // 已使用数量 + usedQty?: number; + // 已释放数量 + releasedQty?: number; + // 用户ID + userId?: number; + // 排序(数字越小越靠前) + sortNumber?: number; + // 备注 + comments?: string; + // 状态, 0正常, 1冻结 + status?: number; + // 是否删除, 0否, 1是 + deleted?: number; + // 租户id + tenantId?: number; + // 创建时间 + createTime?: string; + // 修改时间 + updateTime?: string; +} + +/** + * 我的水票搜索条件 + */ +export interface GltUserTicketParam extends PageParam { + id?: number; + keywords?: string; +} diff --git a/src/api/glt/gltUserTicketLog/index.ts b/src/api/glt/gltUserTicketLog/index.ts new file mode 100644 index 0000000..6dfd105 --- /dev/null +++ b/src/api/glt/gltUserTicketLog/index.ts @@ -0,0 +1,105 @@ +import request from '@/utils/request'; +import type { ApiResult, PageResult } from '@/api'; +import type { GltUserTicketLog, GltUserTicketLogParam } from './model'; + +/** + * 分页查询消费日志 + */ +export async function pageGltUserTicketLog(params: GltUserTicketLogParam) { + const res = await request.get>>( + '/glt/glt-user-ticket-log/page', + { + params + } + ); + if (res.data.code === 0) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 查询消费日志列表 + */ +export async function listGltUserTicketLog(params?: GltUserTicketLogParam) { + const res = await request.get>( + '/glt/glt-user-ticket-log', + { + params + } + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 添加消费日志 + */ +export async function addGltUserTicketLog(data: GltUserTicketLog) { + const res = await request.post>( + '/glt/glt-user-ticket-log', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 修改消费日志 + */ +export async function updateGltUserTicketLog(data: GltUserTicketLog) { + const res = await request.put>( + '/glt/glt-user-ticket-log', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 删除消费日志 + */ +export async function removeGltUserTicketLog(id?: number) { + const res = await request.delete>( + '/glt/glt-user-ticket-log/' + id + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 批量删除消费日志 + */ +export async function removeBatchGltUserTicketLog(data: (number | undefined)[]) { + const res = await request.delete>( + '/glt/glt-user-ticket-log/batch', + { + data + } + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 根据id查询消费日志 + */ +export async function getGltUserTicketLog(id: number) { + const res = await request.get>( + '/glt/glt-user-ticket-log/' + id + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} diff --git a/src/api/glt/gltUserTicketLog/model/index.ts b/src/api/glt/gltUserTicketLog/model/index.ts new file mode 100644 index 0000000..e41e9ea --- /dev/null +++ b/src/api/glt/gltUserTicketLog/model/index.ts @@ -0,0 +1,53 @@ +import type { PageParam } from '@/api'; + +/** + * 消费日志 + */ +export interface GltUserTicketLog { + // + id?: number; + // 用户水票ID + userTicketId?: number; + // 变更类型 + changeType?: number; + // 可更改 + changeAvailable?: number; + // 更改冻结状态 + changeFrozen?: number; + // 已使用更改 + changeUsed?: number; + // 可用后 + availableAfter?: number; + // 冻结后 + frozenAfter?: number; + // 使用后 + usedAfter?: number; + // 订单ID + orderId?: number; + // 订单编号 + orderNo?: string; + // 用户ID + userId?: number; + // 排序(数字越小越靠前) + sortNumber?: number; + // 备注 + comments?: string; + // 状态, 0正常, 1冻结 + status?: number; + // 是否删除, 0否, 1是 + deleted?: number; + // 租户id + tenantId?: number; + // 创建时间 + createTime?: string; + // 修改时间 + updateTime?: string; +} + +/** + * 消费日志搜索条件 + */ +export interface GltUserTicketLogParam extends PageParam { + id?: number; + keywords?: string; +} diff --git a/src/api/glt/gltUserTicketRelease/index.ts b/src/api/glt/gltUserTicketRelease/index.ts new file mode 100644 index 0000000..3891951 --- /dev/null +++ b/src/api/glt/gltUserTicketRelease/index.ts @@ -0,0 +1,105 @@ +import request from '@/utils/request'; +import type { ApiResult, PageResult } from '@/api'; +import type { GltUserTicketRelease, GltUserTicketReleaseParam } from './model'; + +/** + * 分页查询水票释放 + */ +export async function pageGltUserTicketRelease(params: GltUserTicketReleaseParam) { + const res = await request.get>>( + '/glt/glt-user-ticket-release/page', + { + params + } + ); + if (res.data.code === 0) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 查询水票释放列表 + */ +export async function listGltUserTicketRelease(params?: GltUserTicketReleaseParam) { + const res = await request.get>( + '/glt/glt-user-ticket-release', + { + params + } + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 添加水票释放 + */ +export async function addGltUserTicketRelease(data: GltUserTicketRelease) { + const res = await request.post>( + '/glt/glt-user-ticket-release', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 修改水票释放 + */ +export async function updateGltUserTicketRelease(data: GltUserTicketRelease) { + const res = await request.put>( + '/glt/glt-user-ticket-release', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 删除水票释放 + */ +export async function removeGltUserTicketRelease(id?: number) { + const res = await request.delete>( + '/glt/glt-user-ticket-release/' + id + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 批量删除水票释放 + */ +export async function removeBatchGltUserTicketRelease(data: (number | undefined)[]) { + const res = await request.delete>( + '/glt/glt-user-ticket-release/batch', + { + data + } + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 根据id查询水票释放 + */ +export async function getGltUserTicketRelease(id: number) { + const res = await request.get>( + '/glt/glt-user-ticket-release/' + id + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} diff --git a/src/api/glt/gltUserTicketRelease/model/index.ts b/src/api/glt/gltUserTicketRelease/model/index.ts new file mode 100644 index 0000000..c16d6ae --- /dev/null +++ b/src/api/glt/gltUserTicketRelease/model/index.ts @@ -0,0 +1,37 @@ +import type { PageParam } from '@/api'; + +/** + * 水票释放 + */ +export interface GltUserTicketRelease { + // + id?: string; + // 水票ID + userTicketId?: string; + // 用户ID + userId?: number; + // 周期编号 + periodNo?: number; + // 释放数量 + releaseQty?: number; + // 释放时间 + releaseTime?: string; + // 状态 + status?: number; + // 是否删除, 0否, 1是 + deleted?: number; + // 租户id + tenantId?: number; + // 创建时间 + createTime?: string; + // 修改时间 + updateTime?: string; +} + +/** + * 水票释放搜索条件 + */ +export interface GltUserTicketReleaseParam extends PageParam { + id?: number; + keywords?: string; +} diff --git a/src/views/glt/gltTicketTemplate/components/gltTicketTemplateEdit.vue b/src/views/glt/gltTicketTemplate/components/gltTicketTemplateEdit.vue new file mode 100644 index 0000000..62b505c --- /dev/null +++ b/src/views/glt/gltTicketTemplate/components/gltTicketTemplateEdit.vue @@ -0,0 +1,264 @@ + + + + diff --git a/src/views/glt/gltTicketTemplate/components/search.vue b/src/views/glt/gltTicketTemplate/components/search.vue new file mode 100644 index 0000000..82fea9d --- /dev/null +++ b/src/views/glt/gltTicketTemplate/components/search.vue @@ -0,0 +1,42 @@ + + + + diff --git a/src/views/glt/gltTicketTemplate/index.vue b/src/views/glt/gltTicketTemplate/index.vue new file mode 100644 index 0000000..4a6fb5c --- /dev/null +++ b/src/views/glt/gltTicketTemplate/index.vue @@ -0,0 +1,275 @@ + + + + + + + diff --git a/src/views/glt/gltUserTicket/components/gltUserTicketEdit.vue b/src/views/glt/gltUserTicket/components/gltUserTicketEdit.vue new file mode 100644 index 0000000..ae9119d --- /dev/null +++ b/src/views/glt/gltUserTicket/components/gltUserTicketEdit.vue @@ -0,0 +1,292 @@ + + + + diff --git a/src/views/glt/gltUserTicket/components/search.vue b/src/views/glt/gltUserTicket/components/search.vue new file mode 100644 index 0000000..9f8dd13 --- /dev/null +++ b/src/views/glt/gltUserTicket/components/search.vue @@ -0,0 +1,42 @@ + + + + diff --git a/src/views/glt/gltUserTicket/index.vue b/src/views/glt/gltUserTicket/index.vue new file mode 100644 index 0000000..de540b0 --- /dev/null +++ b/src/views/glt/gltUserTicket/index.vue @@ -0,0 +1,314 @@ + + + + + + + diff --git a/src/views/glt/gltUserTicketLog/components/gltUserTicketLogEdit.vue b/src/views/glt/gltUserTicketLog/components/gltUserTicketLogEdit.vue new file mode 100644 index 0000000..dda28a0 --- /dev/null +++ b/src/views/glt/gltUserTicketLog/components/gltUserTicketLogEdit.vue @@ -0,0 +1,292 @@ + + + + diff --git a/src/views/glt/gltUserTicketLog/components/search.vue b/src/views/glt/gltUserTicketLog/components/search.vue new file mode 100644 index 0000000..82fea9d --- /dev/null +++ b/src/views/glt/gltUserTicketLog/components/search.vue @@ -0,0 +1,42 @@ + + + + diff --git a/src/views/glt/gltUserTicketLog/index.vue b/src/views/glt/gltUserTicketLog/index.vue new file mode 100644 index 0000000..42a7cc5 --- /dev/null +++ b/src/views/glt/gltUserTicketLog/index.vue @@ -0,0 +1,314 @@ + + + + + + + diff --git a/src/views/glt/gltUserTicketRelease/components/gltUserTicketReleaseEdit.vue b/src/views/glt/gltUserTicketRelease/components/gltUserTicketReleaseEdit.vue new file mode 100644 index 0000000..da37912 --- /dev/null +++ b/src/views/glt/gltUserTicketRelease/components/gltUserTicketReleaseEdit.vue @@ -0,0 +1,225 @@ + + + + diff --git a/src/views/glt/gltUserTicketRelease/components/search.vue b/src/views/glt/gltUserTicketRelease/components/search.vue new file mode 100644 index 0000000..82fea9d --- /dev/null +++ b/src/views/glt/gltUserTicketRelease/components/search.vue @@ -0,0 +1,42 @@ + + + + diff --git a/src/views/glt/gltUserTicketRelease/index.vue b/src/views/glt/gltUserTicketRelease/index.vue new file mode 100644 index 0000000..a0d06c4 --- /dev/null +++ b/src/views/glt/gltUserTicketRelease/index.vue @@ -0,0 +1,266 @@ + + + + + + +