Files
energy_dist/dist/generated/api/generated_financial_product.controller.js
T
2026-04-21 22:34:39 +08:00

434 lines
19 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"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.GeneratedFinancial_productController = void 0;
const openapi = require("@nestjs/swagger");
const common_1 = require("@nestjs/common");
const swagger_1 = require("@nestjs/swagger");
const api_1 = require("../../app/common/api");
const typeorm_1 = require("@nestjs/typeorm");
const typeorm_2 = require("typeorm");
const api_optional_decorator_1 = require("../../app/common/decorator/api_optional.decorator");
const class_validator_1 = require("class-validator");
const order_by_enum_1 = require("../../app/common/enum/order_by.enum");
const expression_enum_1 = require("../../app/common/enum/expression.enum");
const class_transformer_1 = require("class-transformer");
const financial_product_model_1 = require("../../model/financial_product.model");
const ExtraExp = {
eq: (k, v) => {
return (0, typeorm_2.Equal)(v);
},
neq: (k, v) => {
return (0, typeorm_2.Not)(v);
},
gt: (k, v) => {
return (0, typeorm_2.MoreThan)(v);
},
egt: (k, v) => {
return (0, typeorm_2.MoreThanOrEqual)(v);
},
lt: (k, v) => {
return (0, typeorm_2.LessThan)(v);
},
elt: (k, v) => {
return (0, typeorm_2.LessThanOrEqual)(v);
},
between: (k, v) => {
const p = Array.isArray(v) ? v : `${v}`.split(',');
if (p.length < 2) {
return undefined;
}
if (typeof p[1] == 'undefined') {
throw new common_1.BadRequestException({
message: k + '字段,between查询参数错误需要用逗号分割',
});
}
return (0, typeorm_2.Between)(p[0], p[1]);
},
'not between': (k, v) => {
const p = Array.isArray(v) ? v : `${v}`.split(',');
if (p.length < 2) {
return undefined;
}
if (typeof p[1] == 'undefined') {
throw new common_1.BadRequestException({
message: k + '字段,between查询参数错误需要用逗号分割',
});
}
return (0, typeorm_2.Not)((0, typeorm_2.Between)(p[0], p[1]));
},
in: (k, v) => {
if (!Array.isArray(v)) {
v = `${v}`.split(',');
}
return (0, typeorm_2.In)(v);
},
'not in': (k, v) => {
if (!Array.isArray(v)) {
v = `${v}`.split(',');
}
return (0, typeorm_2.Not)((0, typeorm_2.In)(v));
},
like: (k, v) => {
return (0, typeorm_2.Like)(`%${v}%`);
},
slike: (k, v) => {
return (0, typeorm_2.Like)(`${v}%`);
},
elike: (k, v) => {
return (0, typeorm_2.Like)(`${v}%`);
},
};
class GeneratedFinancial_productFindOrderDto {
id;
createTime;
updateTime;
deleteTime;
name;
period;
principal;
yieldRate;
}
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: 'ID', enum: order_by_enum_1.OrderBy }),
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
__metadata("design:type", String)
], GeneratedFinancial_productFindOrderDto.prototype, "id", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '创建时间', enum: order_by_enum_1.OrderBy }),
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
__metadata("design:type", String)
], GeneratedFinancial_productFindOrderDto.prototype, "createTime", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '更新时间', enum: order_by_enum_1.OrderBy }),
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
__metadata("design:type", String)
], GeneratedFinancial_productFindOrderDto.prototype, "updateTime", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '删除时间', enum: order_by_enum_1.OrderBy }),
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
__metadata("design:type", String)
], GeneratedFinancial_productFindOrderDto.prototype, "deleteTime", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '名称', enum: order_by_enum_1.OrderBy }),
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
__metadata("design:type", String)
], GeneratedFinancial_productFindOrderDto.prototype, "name", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '周期(单位:天)', enum: order_by_enum_1.OrderBy }),
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
__metadata("design:type", String)
], GeneratedFinancial_productFindOrderDto.prototype, "period", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '本金', enum: order_by_enum_1.OrderBy }),
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
__metadata("design:type", String)
], GeneratedFinancial_productFindOrderDto.prototype, "principal", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '收益率(%', enum: order_by_enum_1.OrderBy }),
(0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy),
__metadata("design:type", String)
], GeneratedFinancial_productFindOrderDto.prototype, "yieldRate", void 0);
class GeneratedFinancial_productFindRelationDto {
}
class GeneratedFinancial_productFindExpressionDto {
id;
createTime;
updateTime;
deleteTime;
name;
period;
principal;
yieldRate;
}
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: 'ID', enum: expression_enum_1.Expression }),
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
__metadata("design:type", String)
], GeneratedFinancial_productFindExpressionDto.prototype, "id", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '创建时间', enum: expression_enum_1.Expression }),
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
__metadata("design:type", String)
], GeneratedFinancial_productFindExpressionDto.prototype, "createTime", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '更新时间', enum: expression_enum_1.Expression }),
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
__metadata("design:type", String)
], GeneratedFinancial_productFindExpressionDto.prototype, "updateTime", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '删除时间', enum: expression_enum_1.Expression }),
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
__metadata("design:type", String)
], GeneratedFinancial_productFindExpressionDto.prototype, "deleteTime", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '名称', enum: expression_enum_1.Expression }),
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
__metadata("design:type", String)
], GeneratedFinancial_productFindExpressionDto.prototype, "name", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '周期(单位:天)', enum: expression_enum_1.Expression }),
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
__metadata("design:type", String)
], GeneratedFinancial_productFindExpressionDto.prototype, "period", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '本金', enum: expression_enum_1.Expression }),
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
__metadata("design:type", String)
], GeneratedFinancial_productFindExpressionDto.prototype, "principal", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({ description: '收益率(%', enum: expression_enum_1.Expression }),
(0, class_validator_1.IsEnum)(expression_enum_1.Expression),
__metadata("design:type", String)
], GeneratedFinancial_productFindExpressionDto.prototype, "yieldRate", void 0);
class GeneratedFinancial_productFindExtraDto {
expression;
order;
relations;
}
__decorate([
(0, api_optional_decorator_1.ApiOptional)({
description: '查询表达式',
example: { "id": "gt" },
type: GeneratedFinancial_productFindExpressionDto
}),
(0, class_transformer_1.Type)(() => GeneratedFinancial_productFindExpressionDto),
(0, class_validator_1.ValidateNested)(),
__metadata("design:type", GeneratedFinancial_productFindExpressionDto)
], GeneratedFinancial_productFindExtraDto.prototype, "expression", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({
description: '指定字段排序',
example: { "id": "desc" },
type: [GeneratedFinancial_productFindOrderDto],
}),
(0, class_validator_1.IsArray)(),
(0, class_transformer_1.Type)(() => GeneratedFinancial_productFindOrderDto),
(0, class_validator_1.ValidateNested)({ each: true }),
__metadata("design:type", Array)
], GeneratedFinancial_productFindExtraDto.prototype, "order", void 0);
__decorate([
(0, api_optional_decorator_1.ApiOptional)({
description: '查询关联数据',
type: GeneratedFinancial_productFindRelationDto,
}),
(0, class_transformer_1.Type)(() => GeneratedFinancial_productFindRelationDto),
(0, class_validator_1.ValidateNested)(),
__metadata("design:type", GeneratedFinancial_productFindRelationDto)
], GeneratedFinancial_productFindExtraDto.prototype, "relations", void 0);
class GeneratedFinancial_productFindWhereDto {
id;
createTime;
updateTime;
deleteTime;
name;
period;
principal;
yieldRate;
}
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'ID' }),
(0, class_validator_1.Allow)(),
__metadata("design:type", Number)
], GeneratedFinancial_productFindWhereDto.prototype, "id", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '创建时间' }),
(0, class_validator_1.Allow)(),
__metadata("design:type", String)
], GeneratedFinancial_productFindWhereDto.prototype, "createTime", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '更新时间' }),
(0, class_validator_1.Allow)(),
__metadata("design:type", String)
], GeneratedFinancial_productFindWhereDto.prototype, "updateTime", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '删除时间' }),
(0, class_validator_1.Allow)(),
__metadata("design:type", String)
], GeneratedFinancial_productFindWhereDto.prototype, "deleteTime", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '名称' }),
(0, class_validator_1.Allow)(),
__metadata("design:type", String)
], GeneratedFinancial_productFindWhereDto.prototype, "name", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '周期(单位:天)' }),
(0, class_validator_1.Allow)(),
__metadata("design:type", Number)
], GeneratedFinancial_productFindWhereDto.prototype, "period", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '本金' }),
(0, class_validator_1.Allow)(),
__metadata("design:type", String)
], GeneratedFinancial_productFindWhereDto.prototype, "principal", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '收益率(%' }),
(0, class_validator_1.Allow)(),
__metadata("design:type", String)
], GeneratedFinancial_productFindWhereDto.prototype, "yieldRate", void 0);
class GeneratedFinancial_productFindDto {
paginated;
where;
extra;
}
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '分页', type: api_1.PaginatedDto }),
(0, class_transformer_1.Type)(() => api_1.PaginatedDto),
(0, class_validator_1.ValidateNested)(),
__metadata("design:type", api_1.PaginatedDto)
], GeneratedFinancial_productFindDto.prototype, "paginated", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '查询条件', type: GeneratedFinancial_productFindWhereDto }),
(0, class_transformer_1.Type)(() => GeneratedFinancial_productFindWhereDto),
(0, class_validator_1.ValidateNested)(),
__metadata("design:type", GeneratedFinancial_productFindWhereDto)
], GeneratedFinancial_productFindDto.prototype, "where", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '额外', type: GeneratedFinancial_productFindExtraDto }),
(0, class_transformer_1.Type)(() => GeneratedFinancial_productFindExtraDto),
(0, class_validator_1.ValidateNested)(),
__metadata("design:type", GeneratedFinancial_productFindExtraDto)
], GeneratedFinancial_productFindDto.prototype, "extra", void 0);
class GeneratedFinancial_productCreateDto extends (0, swagger_1.OmitType)(financial_product_model_1.FinancialProductModel, [
'id',
'createTime',
'updateTime',
'deleteTime',
]) {
}
class GeneratedFinancial_productUpdateDto extends (0, swagger_1.PartialType)(GeneratedFinancial_productCreateDto) {
}
class GeneratedFinancial_productDetailWhereDto extends (0, swagger_1.PartialType)((0, swagger_1.OmitType)(GeneratedFinancial_productFindWhereDto, ['id'])) {
}
class GeneratedFinancial_productDetailDto {
where;
extra;
}
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '查询条件', type: GeneratedFinancial_productDetailWhereDto }),
(0, class_validator_1.Allow)(),
__metadata("design:type", GeneratedFinancial_productDetailWhereDto)
], GeneratedFinancial_productDetailDto.prototype, "where", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: '额外', type: GeneratedFinancial_productFindExtraDto }),
(0, class_validator_1.Allow)(),
__metadata("design:type", GeneratedFinancial_productFindExtraDto)
], GeneratedFinancial_productDetailDto.prototype, "extra", void 0);
const identity = 'userId';
const identityExist = false;
let GeneratedFinancial_productController = class GeneratedFinancial_productController {
repos;
constructor(repos) {
this.repos = repos;
}
async list(dto) {
const page = dto.paginated?.page || 1;
const size = dto.paginated?.size || 15;
const skip = (page - 1) * size;
let where;
if (dto.extra?.expression && dto.where) {
where = Object.fromEntries(Object.entries(dto.where).map(([key, value]) => {
const expression = dto.extra?.expression[key];
if (typeof value != 'undefined' && value != '' && value != null) {
if (expression && ExtraExp[expression]) {
value = ExtraExp[expression](key, value);
}
}
if (expression == expression_enum_1.Expression.between &&
(!value || (Array.isArray(value) && value.length < 2))) {
value = undefined;
}
return [key, value];
}));
}
else {
where = (dto.where || {});
}
where = Object.fromEntries(Object.entries(where).filter(([_, v]) => {
if (typeof v == 'undefined') {
return false;
}
if (typeof v == 'string' && !v) {
return false;
}
return true;
}));
const o = dto.extra?.order && dto.extra?.order.length
? dto.extra?.order
: [{ id: 'desc' }];
const order = Object.fromEntries(o.map((it) => Object.keys(it).map((key) => [key, it[key]]))[0]);
const list = await this.repos.find({
where,
order,
skip: skip,
take: size,
relations: typeof dto.extra?.relations == 'object'
? Object.keys(dto.extra?.relations).filter((it) => dto.extra?.relations[it])
: [],
});
const count = await this.repos.count({
where: where,
});
return api_1.Api.pagination(list, count);
}
async detail(id, dto) {
const where = {
id,
...dto.where,
};
const item = await this.repos.findOne({
where,
relations: typeof dto.extra?.relations == 'object'
? Object.keys(dto.extra?.relations).filter((it) => dto.extra?.relations[it])
: [],
});
return api_1.Api.success(item);
}
};
exports.GeneratedFinancial_productController = GeneratedFinancial_productController;
__decorate([
(0, common_1.Post)('list'),
(0, swagger_1.ApiOperation)({ summary: '理财产品列表' }),
api_1.Api.ApiPaginatedResponse({
model: financial_product_model_1.FinancialProductModel,
codeDescription: '200成功',
}),
openapi.ApiResponse({ status: 201 }),
__param(0, (0, common_1.Body)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [GeneratedFinancial_productFindDto]),
__metadata("design:returntype", Promise)
], GeneratedFinancial_productController.prototype, "list", null);
__decorate([
(0, common_1.Post)('detail/:id'),
(0, swagger_1.ApiParam)({ name: 'id', description: '理财产品ID' }),
(0, swagger_1.ApiOperation)({ summary: '理财产品详情' }),
api_1.Api.ApiResponse({
model: financial_product_model_1.FinancialProductModel,
codeDescription: '200成功',
}),
openapi.ApiResponse({ status: 201 }),
__param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
__param(1, (0, common_1.Body)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Number, GeneratedFinancial_productDetailDto]),
__metadata("design:returntype", Promise)
], GeneratedFinancial_productController.prototype, "detail", null);
exports.GeneratedFinancial_productController = GeneratedFinancial_productController = __decorate([
(0, common_1.Controller)('generated/financial_product'),
(0, swagger_1.ApiTags)('G理财产品'),
__param(0, (0, typeorm_1.InjectRepository)(financial_product_model_1.FinancialProductModel)),
__metadata("design:paramtypes", [typeorm_2.Repository])
], GeneratedFinancial_productController);
//# sourceMappingURL=generated_financial_product.controller.js.map