"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.GeneratedWallet_billController = 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 user_id_context_1 = require("../../app/common/context/user_id.context"); 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 wallet_bill_model_1 = require("../../model/wallet_bill.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 GeneratedWallet_billFindOrderDto { id; createTime; updateTime; deleteTime; type; before; after; amount; remark; } __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) ], GeneratedWallet_billFindOrderDto.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) ], GeneratedWallet_billFindOrderDto.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) ], GeneratedWallet_billFindOrderDto.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) ], GeneratedWallet_billFindOrderDto.prototype, "deleteTime", void 0); __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '账单类型:Recharge=充值(601),WithdrawReject=提现驳回(602),Transfer=宣传金划转到余额(603),FinancialProfit=理财产品收益(604),FinancialPrincipalReturn=理财产品本金退回(605),Withdrawal=提现(901),FinancialBuy=购买理财产品(902)', enum: order_by_enum_1.OrderBy }), (0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy), __metadata("design:type", String) ], GeneratedWallet_billFindOrderDto.prototype, "type", 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) ], GeneratedWallet_billFindOrderDto.prototype, "before", 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) ], GeneratedWallet_billFindOrderDto.prototype, "after", 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) ], GeneratedWallet_billFindOrderDto.prototype, "amount", 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) ], GeneratedWallet_billFindOrderDto.prototype, "remark", void 0); class GeneratedWallet_billFindRelationDto { user; } __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '' }), (0, class_validator_1.IsBoolean)(), __metadata("design:type", Boolean) ], GeneratedWallet_billFindRelationDto.prototype, "user", void 0); class GeneratedWallet_billFindExpressionDto { id; createTime; updateTime; deleteTime; type; before; after; amount; remark; } __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) ], GeneratedWallet_billFindExpressionDto.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) ], GeneratedWallet_billFindExpressionDto.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) ], GeneratedWallet_billFindExpressionDto.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) ], GeneratedWallet_billFindExpressionDto.prototype, "deleteTime", void 0); __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '账单类型:Recharge=充值(601),WithdrawReject=提现驳回(602),Transfer=宣传金划转到余额(603),FinancialProfit=理财产品收益(604),FinancialPrincipalReturn=理财产品本金退回(605),Withdrawal=提现(901),FinancialBuy=购买理财产品(902)', enum: expression_enum_1.Expression }), (0, class_validator_1.IsEnum)(expression_enum_1.Expression), __metadata("design:type", String) ], GeneratedWallet_billFindExpressionDto.prototype, "type", 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) ], GeneratedWallet_billFindExpressionDto.prototype, "before", 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) ], GeneratedWallet_billFindExpressionDto.prototype, "after", 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) ], GeneratedWallet_billFindExpressionDto.prototype, "amount", 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) ], GeneratedWallet_billFindExpressionDto.prototype, "remark", void 0); class GeneratedWallet_billFindExtraDto { expression; order; relations; } __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '查询表达式', example: { "id": "gt" }, type: GeneratedWallet_billFindExpressionDto }), (0, class_transformer_1.Type)(() => GeneratedWallet_billFindExpressionDto), (0, class_validator_1.ValidateNested)(), __metadata("design:type", GeneratedWallet_billFindExpressionDto) ], GeneratedWallet_billFindExtraDto.prototype, "expression", void 0); __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '指定字段排序', example: { "id": "desc" }, type: [GeneratedWallet_billFindOrderDto], }), (0, class_validator_1.IsArray)(), (0, class_transformer_1.Type)(() => GeneratedWallet_billFindOrderDto), (0, class_validator_1.ValidateNested)({ each: true }), __metadata("design:type", Array) ], GeneratedWallet_billFindExtraDto.prototype, "order", void 0); __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '查询关联数据', type: GeneratedWallet_billFindRelationDto, }), (0, class_transformer_1.Type)(() => GeneratedWallet_billFindRelationDto), (0, class_validator_1.ValidateNested)(), __metadata("design:type", GeneratedWallet_billFindRelationDto) ], GeneratedWallet_billFindExtraDto.prototype, "relations", void 0); class GeneratedWallet_billFindWhereDto { id; createTime; updateTime; deleteTime; type; before; after; amount; remark; } __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: 'ID' }), (0, class_validator_1.Allow)(), __metadata("design:type", Number) ], GeneratedWallet_billFindWhereDto.prototype, "id", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '创建时间' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedWallet_billFindWhereDto.prototype, "createTime", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '更新时间' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedWallet_billFindWhereDto.prototype, "updateTime", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '删除时间' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedWallet_billFindWhereDto.prototype, "deleteTime", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '账单类型:Recharge=充值(601),WithdrawReject=提现驳回(602),Transfer=宣传金划转到余额(603),FinancialProfit=理财产品收益(604),FinancialPrincipalReturn=理财产品本金退回(605),Withdrawal=提现(901),FinancialBuy=购买理财产品(902)' }), (0, class_validator_1.Allow)(), __metadata("design:type", Number) ], GeneratedWallet_billFindWhereDto.prototype, "type", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '动账前现金余额' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedWallet_billFindWhereDto.prototype, "before", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '动账后余额' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedWallet_billFindWhereDto.prototype, "after", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '动账金额,有正负' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedWallet_billFindWhereDto.prototype, "amount", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '备注' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedWallet_billFindWhereDto.prototype, "remark", void 0); class GeneratedWallet_billFindDto { 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) ], GeneratedWallet_billFindDto.prototype, "paginated", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '查询条件', type: GeneratedWallet_billFindWhereDto }), (0, class_transformer_1.Type)(() => GeneratedWallet_billFindWhereDto), (0, class_validator_1.ValidateNested)(), __metadata("design:type", GeneratedWallet_billFindWhereDto) ], GeneratedWallet_billFindDto.prototype, "where", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '额外', type: GeneratedWallet_billFindExtraDto }), (0, class_transformer_1.Type)(() => GeneratedWallet_billFindExtraDto), (0, class_validator_1.ValidateNested)(), __metadata("design:type", GeneratedWallet_billFindExtraDto) ], GeneratedWallet_billFindDto.prototype, "extra", void 0); class GeneratedWallet_billCreateDto extends (0, swagger_1.OmitType)(wallet_bill_model_1.WalletBillModel, [ 'id', 'createTime', 'updateTime', 'deleteTime', 'user', 'userId', ]) { } class GeneratedWallet_billUpdateDto extends (0, swagger_1.PartialType)(GeneratedWallet_billCreateDto) { } class GeneratedWallet_billDetailWhereDto extends (0, swagger_1.PartialType)((0, swagger_1.OmitType)(GeneratedWallet_billFindWhereDto, ['id'])) { } class GeneratedWallet_billDetailDto { where; extra; } __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '查询条件', type: GeneratedWallet_billDetailWhereDto }), (0, class_validator_1.Allow)(), __metadata("design:type", GeneratedWallet_billDetailWhereDto) ], GeneratedWallet_billDetailDto.prototype, "where", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '额外', type: GeneratedWallet_billFindExtraDto }), (0, class_validator_1.Allow)(), __metadata("design:type", GeneratedWallet_billFindExtraDto) ], GeneratedWallet_billDetailDto.prototype, "extra", void 0); const identity = 'userId'; const identityExist = true; let GeneratedWallet_billController = class GeneratedWallet_billController { 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; })); if (identityExist && identity && (0, user_id_context_1.getUserIdContext)()) { where[identity] = (0, user_id_context_1.getUserIdContext)(); } 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, }; if (identityExist && identity && (0, user_id_context_1.getUserIdContext)()) { where[identity] = (0, user_id_context_1.getUserIdContext)(); } 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.GeneratedWallet_billController = GeneratedWallet_billController; __decorate([ (0, common_1.Post)('list'), (0, swagger_1.ApiOperation)({ summary: '钱包账单列表' }), api_1.Api.ApiPaginatedResponse({ model: wallet_bill_model_1.WalletBillModel, codeDescription: '200成功', }), openapi.ApiResponse({ status: 201 }), __param(0, (0, common_1.Body)()), __metadata("design:type", Function), __metadata("design:paramtypes", [GeneratedWallet_billFindDto]), __metadata("design:returntype", Promise) ], GeneratedWallet_billController.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: wallet_bill_model_1.WalletBillModel, 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, GeneratedWallet_billDetailDto]), __metadata("design:returntype", Promise) ], GeneratedWallet_billController.prototype, "detail", null); exports.GeneratedWallet_billController = GeneratedWallet_billController = __decorate([ (0, common_1.Controller)('generated/wallet_bill'), (0, swagger_1.ApiTags)('G钱包账单'), __param(0, (0, typeorm_1.InjectRepository)(wallet_bill_model_1.WalletBillModel)), __metadata("design:paramtypes", [typeorm_2.Repository]) ], GeneratedWallet_billController); //# sourceMappingURL=generated_wallet_bill.controller.js.map