This commit is contained in:
vastxie
2025-03-04 17:36:53 +08:00
parent cf7dc1d1e7
commit 1e9b9f7ba4
649 changed files with 23183 additions and 1925 deletions

View File

@@ -0,0 +1,168 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CramiController = void 0;
const crami_service_1 = require("./crami.service");
const common_1 = require("@nestjs/common");
const swagger_1 = require("@nestjs/swagger");
const createPackage_dto_1 = require("./dto/createPackage.dto");
const updatePackage_dto_1 = require("./dto/updatePackage.dto");
const createCrami_dto_1 = require("./dto/createCrami.dto");
const superAuth_guard_1 = require("../../common/auth/superAuth.guard");
const jwtAuth_guard_1 = require("../../common/auth/jwtAuth.guard");
const useCrami_dto_1 = require("./dto/useCrami.dto");
const queryAllPackage_dto_1 = require("./dto/queryAllPackage.dto");
const deletePackage_dto_1 = require("./dto/deletePackage.dto");
const queryAllCrami_dto_1 = require("./dto/queryAllCrami.dto");
const adminAuth_guard_1 = require("../../common/auth/adminAuth.guard");
const batchDelCrami_dto_1 = require("./dto/batchDelCrami.dto");
let CramiController = class CramiController {
constructor(cramiService) {
this.cramiService = cramiService;
}
async queryOnePackage(id) {
return this.cramiService.queryOnePackage(id);
}
async queryAllPackage(query) {
return this.cramiService.queryAllPackage(query);
}
async createPackage(body) {
return this.cramiService.createPackage(body);
}
async updatePackage(body) {
return this.cramiService.updatePackage(body);
}
async delPackage(body) {
return this.cramiService.delPackage(body);
}
async createCrami(body) {
return this.cramiService.createCrami(body);
}
async useCrami(req, body) {
return this.cramiService.useCrami(req, body);
}
async queryAllCrami(params, req) {
return this.cramiService.queryAllCrami(params, req);
}
async delCrami(id) {
return this.cramiService.delCrami(id);
}
async batchDelCrami(body) {
return this.cramiService.batchDelCrami(body);
}
};
__decorate([
(0, common_1.Get)('queryOnePackage'),
(0, swagger_1.ApiOperation)({ summary: '查询单个套餐' }),
__param(0, (0, common_1.Query)('id')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Number]),
__metadata("design:returntype", Promise)
], CramiController.prototype, "queryOnePackage", null);
__decorate([
(0, common_1.Get)('queryAllPackage'),
(0, swagger_1.ApiOperation)({ summary: '查询所有套餐' }),
__param(0, (0, common_1.Query)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [queryAllPackage_dto_1.QuerAllPackageDto]),
__metadata("design:returntype", Promise)
], CramiController.prototype, "queryAllPackage", null);
__decorate([
(0, common_1.Post)('createPackage'),
(0, swagger_1.ApiOperation)({ summary: '创建套餐' }),
(0, common_1.UseGuards)(superAuth_guard_1.SuperAuthGuard),
(0, swagger_1.ApiBearerAuth)(),
__param(0, (0, common_1.Body)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [createPackage_dto_1.CreatePackageDto]),
__metadata("design:returntype", Promise)
], CramiController.prototype, "createPackage", null);
__decorate([
(0, common_1.Post)('updatePackage'),
(0, swagger_1.ApiOperation)({ summary: '更新套餐' }),
(0, common_1.UseGuards)(superAuth_guard_1.SuperAuthGuard),
(0, swagger_1.ApiBearerAuth)(),
__param(0, (0, common_1.Body)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [updatePackage_dto_1.UpdatePackageDto]),
__metadata("design:returntype", Promise)
], CramiController.prototype, "updatePackage", null);
__decorate([
(0, common_1.Post)('delPackage'),
(0, swagger_1.ApiOperation)({ summary: '删除套餐' }),
(0, common_1.UseGuards)(superAuth_guard_1.SuperAuthGuard),
(0, swagger_1.ApiBearerAuth)(),
__param(0, (0, common_1.Body)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [deletePackage_dto_1.DeletePackageDto]),
__metadata("design:returntype", Promise)
], CramiController.prototype, "delPackage", null);
__decorate([
(0, common_1.Post)('createCrami'),
(0, swagger_1.ApiOperation)({ summary: '生成卡密' }),
(0, common_1.UseGuards)(superAuth_guard_1.SuperAuthGuard),
(0, swagger_1.ApiBearerAuth)(),
__param(0, (0, common_1.Body)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [createCrami_dto_1.CreatCramiDto]),
__metadata("design:returntype", Promise)
], CramiController.prototype, "createCrami", null);
__decorate([
(0, common_1.Post)('useCrami'),
(0, swagger_1.ApiOperation)({ summary: '使用卡密' }),
(0, common_1.UseGuards)(jwtAuth_guard_1.JwtAuthGuard),
(0, swagger_1.ApiBearerAuth)(),
__param(0, (0, common_1.Req)()),
__param(1, (0, common_1.Body)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object, useCrami_dto_1.UseCramiDto]),
__metadata("design:returntype", Promise)
], CramiController.prototype, "useCrami", null);
__decorate([
(0, common_1.Get)('queryAllCrami'),
(0, swagger_1.ApiOperation)({ summary: '查询所有卡密' }),
(0, common_1.UseGuards)(adminAuth_guard_1.AdminAuthGuard),
(0, swagger_1.ApiBearerAuth)(),
__param(0, (0, common_1.Query)()),
__param(1, (0, common_1.Req)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [queryAllCrami_dto_1.QuerAllCramiDto, Object]),
__metadata("design:returntype", Promise)
], CramiController.prototype, "queryAllCrami", null);
__decorate([
(0, common_1.Post)('delCrami'),
(0, swagger_1.ApiOperation)({ summary: '删除卡密' }),
(0, common_1.UseGuards)(superAuth_guard_1.SuperAuthGuard),
(0, swagger_1.ApiBearerAuth)(),
__param(0, (0, common_1.Body)('id')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Number]),
__metadata("design:returntype", Promise)
], CramiController.prototype, "delCrami", null);
__decorate([
(0, common_1.Post)('batchDelCrami'),
(0, swagger_1.ApiOperation)({ summary: '批量删除卡密' }),
(0, common_1.UseGuards)(superAuth_guard_1.SuperAuthGuard),
(0, swagger_1.ApiBearerAuth)(),
__param(0, (0, common_1.Body)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [batchDelCrami_dto_1.BatchDelCramiDto]),
__metadata("design:returntype", Promise)
], CramiController.prototype, "batchDelCrami", null);
CramiController = __decorate([
(0, swagger_1.ApiTags)('Crami'),
(0, common_1.Controller)('crami'),
__metadata("design:paramtypes", [crami_service_1.CramiService])
], CramiController);
exports.CramiController = CramiController;

View File

@@ -0,0 +1,56 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CramiEntity = void 0;
const typeorm_1 = require("typeorm");
const baseEntity_1 = require("../../common/entity/baseEntity");
let CramiEntity = class CramiEntity extends baseEntity_1.BaseEntity {
};
__decorate([
(0, typeorm_1.Column)({ unique: true, comment: '存储卡密CDK编码', length: 50 }),
__metadata("design:type", String)
], CramiEntity.prototype, "code", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '卡密CDK类型1 普通 | 2 单人可使用一次 ', default: 1 }),
__metadata("design:type", Number)
], CramiEntity.prototype, "cramiType", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '卡密CDK类型 默认套餐类型 | 不填就是自定义类型', nullable: true }),
__metadata("design:type", Number)
], CramiEntity.prototype, "packageId", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '卡密CDK状态如已使用、未使用等', default: 0 }),
__metadata("design:type", Number)
], CramiEntity.prototype, "status", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '卡密使用账户用户ID信息', nullable: true }),
__metadata("design:type", Number)
], CramiEntity.prototype, "useId", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '卡密有效期天数、从生成创建的时候开始计算设为0则不限时间', default: 0 }),
__metadata("design:type", Number)
], CramiEntity.prototype, "days", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '卡密模型3额度', nullable: true }),
__metadata("design:type", Number)
], CramiEntity.prototype, "model3Count", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '卡密模型4额度', nullable: true }),
__metadata("design:type", Number)
], CramiEntity.prototype, "model4Count", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '卡密MJ绘画额度', nullable: true }),
__metadata("design:type", Number)
], CramiEntity.prototype, "drawMjCount", void 0);
CramiEntity = __decorate([
(0, typeorm_1.Entity)({ name: 'crami' })
], CramiEntity);
exports.CramiEntity = CramiEntity;

View File

@@ -0,0 +1,49 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CramiModule = void 0;
const common_1 = require("@nestjs/common");
const typeorm_1 = require("@nestjs/typeorm");
const chatGroup_entity_1 = require("../chatGroup/chatGroup.entity");
const chatLog_entity_1 = require("../chatLog/chatLog.entity");
const config_entity_1 = require("../globalConfig/config.entity");
const user_entity_1 = require("../user/user.entity");
const accountLog_entity_1 = require("../userBalance/accountLog.entity");
const balance_entity_1 = require("../userBalance/balance.entity");
const fingerprint_entity_1 = require("../userBalance/fingerprint.entity");
const userBalance_entity_1 = require("../userBalance/userBalance.entity");
const userBalance_service_1 = require("../userBalance/userBalance.service");
const crami_controller_1 = require("./crami.controller");
const crami_entity_1 = require("./crami.entity");
const crami_service_1 = require("./crami.service");
const cramiPackage_entity_1 = require("./cramiPackage.entity");
let CramiModule = class CramiModule {
};
CramiModule = __decorate([
(0, common_1.Global)(),
(0, common_1.Module)({
imports: [
typeorm_1.TypeOrmModule.forFeature([
crami_entity_1.CramiEntity,
cramiPackage_entity_1.CramiPackageEntity,
user_entity_1.UserEntity,
balance_entity_1.BalanceEntity,
accountLog_entity_1.AccountLogEntity,
config_entity_1.ConfigEntity,
userBalance_entity_1.UserBalanceEntity,
fingerprint_entity_1.FingerprintLogEntity,
chatLog_entity_1.ChatLogEntity,
chatGroup_entity_1.ChatGroupEntity,
]),
],
providers: [crami_service_1.CramiService, userBalance_service_1.UserBalanceService],
controllers: [crami_controller_1.CramiController],
exports: [crami_service_1.CramiService],
})
], CramiModule);
exports.CramiModule = CramiModule;

View File

@@ -0,0 +1,214 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CramiService = void 0;
const common_1 = require("@nestjs/common");
const crami_entity_1 = require("./crami.entity");
const typeorm_1 = require("@nestjs/typeorm");
const typeorm_2 = require("typeorm");
const cramiPackage_entity_1 = require("./cramiPackage.entity");
const utils_1 = require("../../common/utils");
const user_entity_1 = require("../user/user.entity");
const userBalance_service_1 = require("../userBalance/userBalance.service");
const balance_constant_1 = require("../../common/constants/balance.constant");
let CramiService = class CramiService {
constructor(cramiEntity, cramiPackageEntity, userEntity, userBalanceService) {
this.cramiEntity = cramiEntity;
this.cramiPackageEntity = cramiPackageEntity;
this.userEntity = userEntity;
this.userBalanceService = userBalanceService;
}
async queryOnePackage(id) {
return await this.cramiPackageEntity.findOne({ where: { id } });
}
async queryAllPackage(query) {
try {
const { page = 1, size = 10, name, status, type } = query;
const where = {};
name && Object.assign(where, { name: (0, typeorm_2.Like)(`%${name}%`) });
status && Object.assign(where, { status });
if (type) {
if (type > 0) {
Object.assign(where, { days: (0, typeorm_2.MoreThan)(0) });
}
else {
Object.assign(where, { days: (0, typeorm_2.LessThanOrEqual)(0) });
}
}
const [rows, count] = await this.cramiPackageEntity.findAndCount({
skip: (page - 1) * size,
take: size,
where,
order: { order: 'DESC' },
});
return { rows, count };
}
catch (error) {
console.log('error: ', error);
}
}
async createPackage(body) {
const { name, weight } = body;
const p = await this.cramiPackageEntity.findOne({ where: [{ name }, { weight }] });
if (p) {
throw new common_1.HttpException('套餐名称或套餐等级重复、请检查!', common_1.HttpStatus.BAD_REQUEST);
}
try {
return await this.cramiPackageEntity.save(body);
}
catch (error) {
console.log('error: ', error);
throw new common_1.HttpException(error, common_1.HttpStatus.BAD_REQUEST);
}
}
async updatePackage(body) {
const { id, name, weight } = body;
const op = await this.cramiPackageEntity.findOne({ where: { id } });
if (!op) {
throw new common_1.HttpException('当前套餐不存在、请检查你的输入参数!', common_1.HttpStatus.BAD_REQUEST);
}
const count = await this.cramiPackageEntity.count({
where: [
{ name, id: (0, typeorm_2.Not)(id) },
{ weight, id: (0, typeorm_2.Not)(id) },
],
});
if (count) {
throw new common_1.HttpException('套餐名称或套餐等级重复、请检查!', common_1.HttpStatus.BAD_REQUEST);
}
const res = await this.cramiPackageEntity.update({ id }, body);
if (res.affected > 0) {
return '更新套餐成功!';
}
else {
throw new common_1.HttpException('更新套餐失败、请重试!', common_1.HttpStatus.BAD_REQUEST);
}
}
async delPackage(body) {
const { id } = body;
const count = await this.cramiEntity.count({ where: { packageId: id } });
if (count) {
throw new common_1.HttpException('当前套餐下存在卡密、请先删除卡密后才可删除套餐!', common_1.HttpStatus.BAD_REQUEST);
}
return await this.cramiPackageEntity.delete({ id });
}
async createCrami(body) {
const { packageId, count = 1 } = body;
if (packageId) {
const pkg = await this.cramiPackageEntity.findOne({ where: { id: packageId } });
if (!pkg) {
throw new common_1.HttpException('当前套餐不存在、请确认您选择的套餐是否存在!', common_1.HttpStatus.BAD_REQUEST);
}
const { days = -1, model3Count = 0, model4Count = 0, drawMjCount = 0 } = pkg;
const baseCrami = { packageId, days, model3Count, model4Count, drawMjCount };
return await this.generateCrami(baseCrami, count);
}
if (!packageId) {
const { model3Count = 0, model4Count = 0, drawMjCount = 0 } = body;
if ([model3Count, model4Count, drawMjCount].every((v) => !v)) {
throw new common_1.HttpException('自定义卡密必须至少一项余额不为0', common_1.HttpStatus.BAD_REQUEST);
}
const baseCrami = { days: -1, model3Count, model4Count, drawMjCount };
return await this.generateCrami(baseCrami, count);
}
}
async generateCrami(cramiInfo, count) {
const cramiList = [];
for (let i = 0; i < count; i++) {
const code = (0, utils_1.generateCramiCode)();
const crami = this.cramiEntity.create(Object.assign(Object.assign({}, cramiInfo), { code }));
cramiList.push(crami);
}
return await this.cramiEntity.save(cramiList);
}
async useCrami(req, body) {
const { id } = req.user;
const crami = await this.cramiEntity.findOne({ where: { code: body.code } });
if (!crami) {
throw new common_1.HttpException('当前卡密不存在、请确认您输入的卡密是否正确!', common_1.HttpStatus.BAD_REQUEST);
}
const { status, days = -1, model3Count = 0, model4Count = 0, drawMjCount = 0, packageId } = crami;
if (status === 1) {
throw new common_1.HttpException('当前卡密已被使用、请确认您输入的卡密是否正确!', common_1.HttpStatus.BAD_REQUEST);
}
const balanceInfo = { model3Count, model4Count, drawMjCount, packageId };
await this.userBalanceService.addBalanceToUser(id, Object.assign({}, balanceInfo), days);
await this.userBalanceService.saveRecordRechargeLog({
userId: id,
rechargeType: balance_constant_1.RechargeType.PACKAGE_GIFT,
model3Count,
model4Count,
drawMjCount,
days,
});
await this.cramiEntity.update({ code: body.code }, { useId: id, status: 1 });
return '使用卡密成功';
}
async queryAllCrami(params, req) {
const { page = 1, size = 10, status, useId } = params;
const where = {};
status && Object.assign(where, { status });
useId && Object.assign(where, { useId });
const [rows, count] = await this.cramiEntity.findAndCount({
skip: (page - 1) * size,
take: size,
order: { createdAt: 'DESC' },
where,
});
const userIds = rows.map((t) => t.useId);
const packageIds = rows.map((t) => t.packageId);
const userInfos = await this.userEntity.find({ where: { id: (0, typeorm_2.In)(userIds) } });
const packageInfos = await this.cramiPackageEntity.find({ where: { id: (0, typeorm_2.In)(packageIds) } });
rows.forEach((t) => {
var _a, _b, _c;
t.username = (_a = userInfos.find((u) => u.id === t.useId)) === null || _a === void 0 ? void 0 : _a.username;
t.email = (_b = userInfos.find((u) => u.id === t.useId)) === null || _b === void 0 ? void 0 : _b.email;
t.packageName = (_c = packageInfos.find((p) => p.id === t.packageId)) === null || _c === void 0 ? void 0 : _c.name;
});
req.user.role !== 'super' && rows.forEach((t) => (t.email = (0, utils_1.maskEmail)(t.email)));
req.user.role !== 'super' && rows.forEach((t) => (t.code = (0, utils_1.maskCrami)(t.code)));
return { rows, count };
}
async delCrami(id) {
const c = await this.cramiEntity.findOne({ where: { id } });
if (!c) {
throw new common_1.HttpException('当前卡密不存在、请确认您要删除的卡密是否存在!', common_1.HttpStatus.BAD_REQUEST);
}
if (c.status === 1) {
throw new common_1.HttpException('当前卡密已被使用、已使用的卡密禁止删除!', common_1.HttpStatus.BAD_REQUEST);
}
return await this.cramiEntity.delete({ id });
}
async batchDelCrami(body) {
const { ids } = body;
const res = await this.cramiEntity.delete(ids);
if (res.affected > 0) {
return '删除卡密成功!';
}
else {
throw new common_1.HttpException('删除卡密失败、请重试!', common_1.HttpStatus.BAD_REQUEST);
}
}
};
CramiService = __decorate([
(0, common_1.Injectable)(),
__param(0, (0, typeorm_1.InjectRepository)(crami_entity_1.CramiEntity)),
__param(1, (0, typeorm_1.InjectRepository)(cramiPackage_entity_1.CramiPackageEntity)),
__param(2, (0, typeorm_1.InjectRepository)(user_entity_1.UserEntity)),
__metadata("design:paramtypes", [typeorm_2.Repository,
typeorm_2.Repository,
typeorm_2.Repository,
userBalance_service_1.UserBalanceService])
], CramiService);
exports.CramiService = CramiService;

View File

@@ -0,0 +1,64 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CramiPackageEntity = void 0;
const typeorm_1 = require("typeorm");
const baseEntity_1 = require("../../common/entity/baseEntity");
let CramiPackageEntity = class CramiPackageEntity extends baseEntity_1.BaseEntity {
};
__decorate([
(0, typeorm_1.Column)({ unique: true, comment: '套餐名称' }),
__metadata("design:type", String)
], CramiPackageEntity.prototype, "name", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '套餐介绍详细信息' }),
__metadata("design:type", String)
], CramiPackageEntity.prototype, "des", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '套餐封面图片', nullable: true }),
__metadata("design:type", String)
], CramiPackageEntity.prototype, "coverImg", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '套餐价格¥', type: 'decimal', scale: 2, precision: 10 }),
__metadata("design:type", Number)
], CramiPackageEntity.prototype, "price", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '套餐排序、数字越大越靠前', default: 100 }),
__metadata("design:type", Number)
], CramiPackageEntity.prototype, "order", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '套餐是否启用中 0禁用 1启用', default: 1 }),
__metadata("design:type", Number)
], CramiPackageEntity.prototype, "status", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '套餐权重、数字越大表示套餐等级越高越贵', unique: true }),
__metadata("design:type", Number)
], CramiPackageEntity.prototype, "weight", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '卡密有效期天数、从使用的时候开始计算,设为-1则不限时间', default: 0 }),
__metadata("design:type", Number)
], CramiPackageEntity.prototype, "days", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '套餐包含的模型3数量', default: 0, nullable: true }),
__metadata("design:type", Number)
], CramiPackageEntity.prototype, "model3Count", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '套餐包含的模型4数量', default: 0, nullable: true }),
__metadata("design:type", Number)
], CramiPackageEntity.prototype, "model4Count", void 0);
__decorate([
(0, typeorm_1.Column)({ comment: '套餐包含的MJ绘画数量', default: 0, nullable: true }),
__metadata("design:type", Number)
], CramiPackageEntity.prototype, "drawMjCount", void 0);
CramiPackageEntity = __decorate([
(0, typeorm_1.Entity)({ name: 'crami_package' })
], CramiPackageEntity);
exports.CramiPackageEntity = CramiPackageEntity;

View File

@@ -0,0 +1,23 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BatchDelCramiDto = void 0;
const swagger_1 = require("@nestjs/swagger");
const class_validator_1 = require("class-validator");
class BatchDelCramiDto {
}
__decorate([
(0, swagger_1.ApiProperty)({ example: 1, description: '要删除的套餐Ids', required: true }),
(0, class_validator_1.IsArray)({ message: '参数类型为数组' }),
(0, class_validator_1.ArrayMinSize)(1, { message: '最短长度为1' }),
__metadata("design:type", Array)
], BatchDelCramiDto.prototype, "ids", void 0);
exports.BatchDelCramiDto = BatchDelCramiDto;

View File

@@ -0,0 +1,49 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CreatCramiDto = void 0;
const class_validator_1 = require("class-validator");
const swagger_1 = require("@nestjs/swagger");
class CreatCramiDto {
}
__decorate([
(0, swagger_1.ApiProperty)({ example: 1, description: '套餐类型', required: true }),
(0, class_validator_1.IsNumber)({}, { message: '套餐类型必须是number' }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", Number)
], CreatCramiDto.prototype, "packageId", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 1, description: '单次生成卡密数量' }),
(0, class_validator_1.IsNumber)({}, { message: '创建卡密的张数数量' }),
(0, class_validator_1.Max)(50, { message: '单次创建卡密的张数数量不能超过50张' }),
(0, class_validator_1.Min)(1, { message: '单次创建卡密的张数数量不能少于1张' }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", Number)
], CreatCramiDto.prototype, "count", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 0, description: '卡密携带模型3额度' }),
(0, class_validator_1.IsNumber)({}, { message: '卡密携带的余额必须是number' }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", Number)
], CreatCramiDto.prototype, "model3Count", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 100, description: '卡密携带模型4额度' }),
(0, class_validator_1.IsNumber)({}, { message: '卡密携带额度类型必须是number' }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", Number)
], CreatCramiDto.prototype, "model4Count", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 3, description: '卡密携带MJ绘画额度' }),
(0, class_validator_1.IsNumber)({}, { message: '卡密携带额度类型必须是number' }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", Number)
], CreatCramiDto.prototype, "drawMjCount", void 0);
exports.CreatCramiDto = CreatCramiDto;

View File

@@ -0,0 +1,81 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CreatePackageDto = void 0;
const class_validator_1 = require("class-validator");
const swagger_1 = require("@nestjs/swagger");
const class_transformer_1 = require("class-transformer");
class CreatePackageDto {
}
__decorate([
(0, swagger_1.ApiProperty)({ example: '基础套餐100次卡', description: '套餐名称', required: true }),
(0, class_validator_1.IsDefined)({ message: '套餐名称是必传参数' }),
__metadata("design:type", String)
], CreatePackageDto.prototype, "name", void 0);
__decorate([
(0, swagger_1.ApiProperty)({
example: '这是一个100次对话余额的套餐我们将为您额外赠送3次绘画余额活动期间我们将在套餐基础上额外赠送您十次对话余额和1次绘画余额',
description: '套餐详情描述',
required: true,
}),
(0, class_validator_1.IsDefined)({ message: '套餐描述是必传参数' }),
__metadata("design:type", String)
], CreatePackageDto.prototype, "des", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 7, default: 0, description: '套餐等级设置' }),
(0, class_validator_1.IsNumber)({}, { message: '套餐等级权重必须为数字' }),
__metadata("design:type", Number)
], CreatePackageDto.prototype, "weight", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 1, description: '套餐扣费类型 1按次数 2按Token', required: true }),
__metadata("design:type", Number)
], CreatePackageDto.prototype, "deductionType", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 'https://xxxx.png', description: '套餐封面图片' }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", String)
], CreatePackageDto.prototype, "coverImg", void 0);
__decorate([
(0, class_transformer_1.Transform)(({ value }) => parseFloat(value)),
__metadata("design:type", Number)
], CreatePackageDto.prototype, "price", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 100, description: '套餐排序、数字越大越靠前' }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", Number)
], CreatePackageDto.prototype, "order", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 1, description: '套餐状态 0禁用 1启用', required: true }),
(0, class_validator_1.IsNumber)({}, { message: '套餐状态必须是Number' }),
(0, class_validator_1.IsIn)([0, 1], { message: '套餐状态错误' }),
__metadata("design:type", Number)
], CreatePackageDto.prototype, "status", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 7, default: 0, description: '套餐有效期 -1为永久不过期' }),
(0, class_validator_1.IsNumber)({}, { message: '套餐有效期天数类型必须是number' }),
__metadata("design:type", Number)
], CreatePackageDto.prototype, "days", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 1000, default: 0, description: '模型3对话次数' }),
(0, class_validator_1.IsNumber)({}, { message: '模型3对话次数必须是number类型' }),
__metadata("design:type", Number)
], CreatePackageDto.prototype, "model3Count", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 10, default: 0, description: '模型4对话次数' }),
(0, class_validator_1.IsNumber)({}, { message: '模型4对话次数必须是number类型' }),
__metadata("design:type", Number)
], CreatePackageDto.prototype, "model4Count", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 10, default: 0, description: 'MJ绘画次数' }),
(0, class_validator_1.IsNumber)({}, { message: 'MJ绘画次数必须是number类型' }),
__metadata("design:type", Number)
], CreatePackageDto.prototype, "drawMjCount", void 0);
exports.CreatePackageDto = CreatePackageDto;

View File

@@ -0,0 +1,22 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DeletePackageDto = void 0;
const swagger_1 = require("@nestjs/swagger");
const class_validator_1 = require("class-validator");
class DeletePackageDto {
}
__decorate([
(0, swagger_1.ApiProperty)({ example: 1, description: '要修改的套餐Id', required: true }),
(0, class_validator_1.IsNumber)({}, { message: '套餐ID必须是Number' }),
__metadata("design:type", Number)
], DeletePackageDto.prototype, "id", void 0);
exports.DeletePackageDto = DeletePackageDto;

View File

@@ -0,0 +1,37 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.QuerAllCramiDto = void 0;
const class_validator_1 = require("class-validator");
const swagger_1 = require("@nestjs/swagger");
class QuerAllCramiDto {
}
__decorate([
(0, swagger_1.ApiProperty)({ example: 1, description: '查询页数', required: false }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", Number)
], QuerAllCramiDto.prototype, "page", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 10, description: '每页数量', required: false }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", Number)
], QuerAllCramiDto.prototype, "size", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 1, description: '使用人Id', required: false }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", Number)
], QuerAllCramiDto.prototype, "useId", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 1, description: '卡密状态 0未使用 1已消费', required: false }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", Number)
], QuerAllCramiDto.prototype, "status", void 0);
exports.QuerAllCramiDto = QuerAllCramiDto;

View File

@@ -0,0 +1,42 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.QuerAllPackageDto = void 0;
const class_validator_1 = require("class-validator");
const swagger_1 = require("@nestjs/swagger");
class QuerAllPackageDto {
}
__decorate([
(0, swagger_1.ApiProperty)({ example: 1, description: '查询页数', required: false }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", Number)
], QuerAllPackageDto.prototype, "page", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 10, description: '每页数量', required: false }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", Number)
], QuerAllPackageDto.prototype, "size", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 'name', description: '套餐名称', required: false }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", String)
], QuerAllPackageDto.prototype, "name", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 1, description: '套餐状态 0禁用 1启用', required: false }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", Number)
], QuerAllPackageDto.prototype, "status", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ example: 1, description: '套餐类型 -1永久套餐 1限时套餐', required: false }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", Number)
], QuerAllPackageDto.prototype, "type", void 0);
exports.QuerAllPackageDto = QuerAllPackageDto;

View File

@@ -0,0 +1,23 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.UpdatePackageDto = void 0;
const class_validator_1 = require("class-validator");
const swagger_1 = require("@nestjs/swagger");
const createPackage_dto_1 = require("./createPackage.dto");
class UpdatePackageDto extends createPackage_dto_1.CreatePackageDto {
}
__decorate([
(0, swagger_1.ApiProperty)({ example: 1, description: '要修改的套餐Id', required: true }),
(0, class_validator_1.IsNumber)({}, { message: '套餐ID必须是Number' }),
__metadata("design:type", Number)
], UpdatePackageDto.prototype, "id", void 0);
exports.UpdatePackageDto = UpdatePackageDto;

View File

@@ -0,0 +1,22 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.UseCramiDto = void 0;
const class_validator_1 = require("class-validator");
const swagger_1 = require("@nestjs/swagger");
class UseCramiDto {
}
__decorate([
(0, swagger_1.ApiProperty)({ example: 'ffar684rv254fs4f', description: '卡密信息', required: true }),
(0, class_validator_1.IsDefined)({ message: '套餐名称是必传参数' }),
__metadata("design:type", String)
], UseCramiDto.prototype, "code", void 0);
exports.UseCramiDto = UseCramiDto;