"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.GeneratedJob_huntingController = 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 job_hunting_model_1 = require("../../model/job_hunting.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 GeneratedJob_huntingFindOrderDto { id; createTime; updateTime; deleteTime; realName; idCardNo; phone; teamCount; dreamResume; status; type; rejectReason; } __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) ], GeneratedJob_huntingFindOrderDto.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) ], GeneratedJob_huntingFindOrderDto.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) ], GeneratedJob_huntingFindOrderDto.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) ], GeneratedJob_huntingFindOrderDto.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) ], GeneratedJob_huntingFindOrderDto.prototype, "realName", 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) ], GeneratedJob_huntingFindOrderDto.prototype, "idCardNo", 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) ], GeneratedJob_huntingFindOrderDto.prototype, "phone", 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) ], GeneratedJob_huntingFindOrderDto.prototype, "teamCount", 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) ], GeneratedJob_huntingFindOrderDto.prototype, "dreamResume", void 0); __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '审核状态:0=待审核,1=审核通过,2=审核驳回', enum: order_by_enum_1.OrderBy }), (0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy), __metadata("design:type", String) ], GeneratedJob_huntingFindOrderDto.prototype, "status", void 0); __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '类型:0=组织,1=宣传', enum: order_by_enum_1.OrderBy }), (0, class_validator_1.IsEnum)(order_by_enum_1.OrderBy), __metadata("design:type", String) ], GeneratedJob_huntingFindOrderDto.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) ], GeneratedJob_huntingFindOrderDto.prototype, "rejectReason", void 0); class GeneratedJob_huntingFindRelationDto { user; } __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '' }), (0, class_validator_1.IsBoolean)(), __metadata("design:type", Boolean) ], GeneratedJob_huntingFindRelationDto.prototype, "user", void 0); class GeneratedJob_huntingFindExpressionDto { id; createTime; updateTime; deleteTime; realName; idCardNo; phone; teamCount; dreamResume; status; type; rejectReason; } __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) ], GeneratedJob_huntingFindExpressionDto.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) ], GeneratedJob_huntingFindExpressionDto.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) ], GeneratedJob_huntingFindExpressionDto.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) ], GeneratedJob_huntingFindExpressionDto.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) ], GeneratedJob_huntingFindExpressionDto.prototype, "realName", 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) ], GeneratedJob_huntingFindExpressionDto.prototype, "idCardNo", 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) ], GeneratedJob_huntingFindExpressionDto.prototype, "phone", 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) ], GeneratedJob_huntingFindExpressionDto.prototype, "teamCount", 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) ], GeneratedJob_huntingFindExpressionDto.prototype, "dreamResume", void 0); __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '审核状态:0=待审核,1=审核通过,2=审核驳回', enum: expression_enum_1.Expression }), (0, class_validator_1.IsEnum)(expression_enum_1.Expression), __metadata("design:type", String) ], GeneratedJob_huntingFindExpressionDto.prototype, "status", void 0); __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '类型:0=组织,1=宣传', enum: expression_enum_1.Expression }), (0, class_validator_1.IsEnum)(expression_enum_1.Expression), __metadata("design:type", String) ], GeneratedJob_huntingFindExpressionDto.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) ], GeneratedJob_huntingFindExpressionDto.prototype, "rejectReason", void 0); class GeneratedJob_huntingFindExtraDto { expression; order; relations; } __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '查询表达式', example: { "id": "gt" }, type: GeneratedJob_huntingFindExpressionDto }), (0, class_transformer_1.Type)(() => GeneratedJob_huntingFindExpressionDto), (0, class_validator_1.ValidateNested)(), __metadata("design:type", GeneratedJob_huntingFindExpressionDto) ], GeneratedJob_huntingFindExtraDto.prototype, "expression", void 0); __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '指定字段排序', example: { "id": "desc" }, type: [GeneratedJob_huntingFindOrderDto], }), (0, class_validator_1.IsArray)(), (0, class_transformer_1.Type)(() => GeneratedJob_huntingFindOrderDto), (0, class_validator_1.ValidateNested)({ each: true }), __metadata("design:type", Array) ], GeneratedJob_huntingFindExtraDto.prototype, "order", void 0); __decorate([ (0, api_optional_decorator_1.ApiOptional)({ description: '查询关联数据', type: GeneratedJob_huntingFindRelationDto, }), (0, class_transformer_1.Type)(() => GeneratedJob_huntingFindRelationDto), (0, class_validator_1.ValidateNested)(), __metadata("design:type", GeneratedJob_huntingFindRelationDto) ], GeneratedJob_huntingFindExtraDto.prototype, "relations", void 0); class GeneratedJob_huntingFindWhereDto { id; createTime; updateTime; deleteTime; realName; idCardNo; phone; teamCount; dreamResume; status; type; rejectReason; } __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: 'ID' }), (0, class_validator_1.Allow)(), __metadata("design:type", Number) ], GeneratedJob_huntingFindWhereDto.prototype, "id", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '创建时间' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedJob_huntingFindWhereDto.prototype, "createTime", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '更新时间' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedJob_huntingFindWhereDto.prototype, "updateTime", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '删除时间' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedJob_huntingFindWhereDto.prototype, "deleteTime", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '姓名' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedJob_huntingFindWhereDto.prototype, "realName", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '身份证号' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedJob_huntingFindWhereDto.prototype, "idCardNo", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '联系电话' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedJob_huntingFindWhereDto.prototype, "phone", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '团队人数' }), (0, class_validator_1.Allow)(), __metadata("design:type", Number) ], GeneratedJob_huntingFindWhereDto.prototype, "teamCount", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '追梦履历' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedJob_huntingFindWhereDto.prototype, "dreamResume", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '审核状态:0=待审核,1=审核通过,2=审核驳回' }), (0, class_validator_1.Allow)(), __metadata("design:type", Number) ], GeneratedJob_huntingFindWhereDto.prototype, "status", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '类型:0=组织,1=宣传' }), (0, class_validator_1.Allow)(), __metadata("design:type", Number) ], GeneratedJob_huntingFindWhereDto.prototype, "type", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '驳回原因' }), (0, class_validator_1.Allow)(), __metadata("design:type", String) ], GeneratedJob_huntingFindWhereDto.prototype, "rejectReason", void 0); class GeneratedJob_huntingFindDto { 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) ], GeneratedJob_huntingFindDto.prototype, "paginated", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '查询条件', type: GeneratedJob_huntingFindWhereDto }), (0, class_transformer_1.Type)(() => GeneratedJob_huntingFindWhereDto), (0, class_validator_1.ValidateNested)(), __metadata("design:type", GeneratedJob_huntingFindWhereDto) ], GeneratedJob_huntingFindDto.prototype, "where", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '额外', type: GeneratedJob_huntingFindExtraDto }), (0, class_transformer_1.Type)(() => GeneratedJob_huntingFindExtraDto), (0, class_validator_1.ValidateNested)(), __metadata("design:type", GeneratedJob_huntingFindExtraDto) ], GeneratedJob_huntingFindDto.prototype, "extra", void 0); class GeneratedJob_huntingCreateDto extends (0, swagger_1.OmitType)(job_hunting_model_1.JobHuntingModel, [ 'id', 'createTime', 'updateTime', 'deleteTime', 'user', 'userId', ]) { } class GeneratedJob_huntingUpdateDto extends (0, swagger_1.PartialType)(GeneratedJob_huntingCreateDto) { } class GeneratedJob_huntingDetailWhereDto extends (0, swagger_1.PartialType)((0, swagger_1.OmitType)(GeneratedJob_huntingFindWhereDto, ['id'])) { } class GeneratedJob_huntingDetailDto { where; extra; } __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '查询条件', type: GeneratedJob_huntingDetailWhereDto }), (0, class_validator_1.Allow)(), __metadata("design:type", GeneratedJob_huntingDetailWhereDto) ], GeneratedJob_huntingDetailDto.prototype, "where", void 0); __decorate([ (0, swagger_1.ApiPropertyOptional)({ description: '额外', type: GeneratedJob_huntingFindExtraDto }), (0, class_validator_1.Allow)(), __metadata("design:type", GeneratedJob_huntingFindExtraDto) ], GeneratedJob_huntingDetailDto.prototype, "extra", void 0); const identity = 'userId'; const identityExist = true; let GeneratedJob_huntingController = class GeneratedJob_huntingController { 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.GeneratedJob_huntingController = GeneratedJob_huntingController; __decorate([ (0, common_1.Post)('list'), (0, swagger_1.ApiOperation)({ summary: '求职申请列表' }), api_1.Api.ApiPaginatedResponse({ model: job_hunting_model_1.JobHuntingModel, codeDescription: '200成功', }), openapi.ApiResponse({ status: 201 }), __param(0, (0, common_1.Body)()), __metadata("design:type", Function), __metadata("design:paramtypes", [GeneratedJob_huntingFindDto]), __metadata("design:returntype", Promise) ], GeneratedJob_huntingController.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: job_hunting_model_1.JobHuntingModel, 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, GeneratedJob_huntingDetailDto]), __metadata("design:returntype", Promise) ], GeneratedJob_huntingController.prototype, "detail", null); exports.GeneratedJob_huntingController = GeneratedJob_huntingController = __decorate([ (0, common_1.Controller)('generated/job_hunting'), (0, swagger_1.ApiTags)('G求职申请'), __param(0, (0, typeorm_1.InjectRepository)(job_hunting_model_1.JobHuntingModel)), __metadata("design:paramtypes", [typeorm_2.Repository]) ], GeneratedJob_huntingController); //# sourceMappingURL=generated_job_hunting.controller.js.map