using Mapster;
using MediatR;
using Newtonsoft.Json;
using Swashbuckle.AspNetCore.Annotations;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
///
/// 查询用户简历
///
[Resource([EnumResourceController.UserResume])]
public class GetUserResumeQuery : IRequest
{
///
/// 用户Id
///
public Guid? UserId { get; set; }
}
///
/// 查询用户简历-结果
///
public class GetUserResumeQueryResult
{
public GetUserResumeQueryResult()
{
UserExpectJobs = [];
UserCredentials = [];
Photos = [];
TaskInfoUsers = [];
}
///
/// 用户Id
///
public Guid Id { get; set; }
///
/// 完善度
///
public int CompleteRate { get; set; }
///
/// 头像
///
public string Avatar { get; set; }
///
/// 姓名
///
public string Name { get; set; }
///
/// 手机号
///
/// 联系电话
public string ContactPhoneNumber { get; set; }
///
/// 身份证号
///
public string Identity { get; set; }
///
/// 性别
///
public EnumUserGender? Gender { get; set; }
///
/// 年龄
///
public int? Age { get; set; }
///
/// 是否实名
///
public bool IsReal { get; set; }
///
/// 上岗次数
///
[AdaptIgnore]
public int TaskCount { get; set; }
///
/// 常驻省份编号
///
public string ProvinceCode { get; set; }
///
/// 常驻省份
///
public string ProvinceContent { get; set; }
///
/// 常驻城市编号
///
public string CityCode { get; set; }
///
/// 常驻城市
///
public string CityContent { get; set; }
///
/// 身份编号
///
public string PersonalIdentityCode { get; set; }
///
/// 身份
///
public string PersonalIdentityContent { get; set; }
///
/// 学历编号
///
public string EducationalBackgroundCode { get; set; }
///
/// 学历
///
public string EducationalBackgroundContent { get; set; }
///
/// 用户信息期望岗位
///
public List UserExpectJobs { get; set; }
///
/// 空闲时间
///
public EnumPersonalFreeTime? FreeTime { get; set; }
///
/// 求职状态
///
public EnumPersonalJobSeekingStatus? JobSeekingStatus { get; set; }
///
/// 用户信息资格证书
///
public List UserCredentials { get; set; }
///
/// 工作资历
///
public string WorkSeniority { get; set; }
///
/// 工作经验
///
public string WorkExperience { get; set; }
///
/// 身高
///
public int? Height { get; set; }
///
/// 体重
///
public int? Weight { get; set; }
///
/// 生活照
///
[JsonIgnore, SwaggerIgnore]
public List Photos { get; set; }
///
/// 生活照
///
[AdaptIgnore]
[JsonProperty("photos")]
public List PhotoImgs => Photos.Select(it => it.Img).ToList();
///
/// 经历
///
public List TaskInfoUsers { get; set; }
///
/// 报名时间
///
public DateTime? CreatedTime { get; set; }
///
/// 录用状态
///
public EnumTaskUserHireStatus? HireStatus { get; set; }
///
/// 录用时间
///
public DateTime? HireTime { get; set; }
///
/// 安排状态
///
public EnumTaskUserArrangeStatus? ArrangeStatus { get; set; }
///
/// 安排状态
///
public DateTime? ArrangeTime { get; set; }
///
/// 灵工签约状态
///
public EnumTaskUserSignContractStatus? UserSignContractStatus { get; set; }
///
/// 灵工签约时间
///
public DateTime? UserSignContractTime { get; set; }
///
/// 企业签约状态
///
public EnumTaskUserSignContractStatus? EnterpriseSignContractStatus { get; set; }
///
/// 企业签约时间
///
public DateTime? EnterpriseSignContractTime { get; set; }
///
/// 电子合同
///
public string ContractUrl { get; set; }
}
///
/// 查询用户简历-结果
///
public class GetUserResumeQueryResultExpectJob
{
///
/// 期望岗位上级编号
///
public string ExpectJobParentCode { get; set; }
///
/// 期望岗位编号
///
public string ExpectJobCode { get; set; }
///
/// 期望岗位
///
public string ExpectJobContent { get; set; }
}
///
/// 查询用户简历-结果
///
public class GetUserResumeQueryResultCredential
{
///
/// 证书类型编号
///
public string TypeCode { get; set; }
///
/// 证书类型
///
public string TypeContent { get; set; }
///
/// 证书编号
///
public string Code { get; set; }
///
/// 永久证书
///
public bool IsForever { get; set; }
///
/// 开始日期
///
public DateTime StartDate { get; set; }
///
/// 结束日期
///
public DateTime EndDate { get; set; }
///
/// 发证单位
///
public string IssueUnit { get; set; }
///
/// 证书正面照片
///
public string Img { get; set; }
///
/// 证书反面照片
///
public string BackImg { get; set; }
}
///
/// 查询用户简历-结果
///
public class GetUserResumeQueryResultPhoto
{
///
/// 照片
///
public string Img { get; set; }
}
///
/// 查询用户简历-结果-经历
///
public class GetUserResumeQueryResultExperience
{
///
/// 签约时间
///
public DateTime? SignContractTime { get; set; }
///
/// 企业全称
///
public string EnterpriseName => TaskInfo.Enterprise.EnterpriseName;
///
/// 任务名称
///
public string Name => TaskInfo.Name;
///
/// 任务
///
[JsonIgnore, SwaggerIgnore]
public GetUserResumeQueryResultTaskInfo TaskInfo { get; set; }
}
///
/// 查询用户简历-结果-经历
///
public class GetUserResumeQueryResultTaskInfo
{
///
/// 企业
///
public GetUserResumeQueryResultTaskInfoEnterprise Enterprise { get; set; }
///
/// 任务名称
///
public string Name { get; set; }
}
///
/// 查询用户简历-结果-经历
///
public class GetUserResumeQueryResultTaskInfoEnterprise
{
///
/// 企业全称
///
public string EnterpriseName { get; set; }
}
}