新增面试记录表

master
xiaochanghai 7 months ago
parent 4e2c5b80ad
commit 7c585e9659
  1. 6930
      Model/Tiobon.Web.pdm
  2. 14
      Tiobon.Core.Api/Controllers/Ghrh/Ghrh_InterviewRecordController.cs
  3. 422
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  4. 5
      Tiobon.Core.Api/Tiobon.Core.xml
  5. 11
      Tiobon.Core.IServices/Ghrh/IGhrh_InterviewRecordServices.cs
  6. 56
      Tiobon.Core.Model/Base/Ghrh/Ghrh_InterviewOrder.Dto.Base.cs
  7. 177
      Tiobon.Core.Model/Base/Ghrh/Ghrh_InterviewRecord.Dto.Base.cs
  8. 28
      Tiobon.Core.Model/Consts.cs
  9. 26
      Tiobon.Core.Model/Edit/Ghrh/Ghrh_InterviewRecord.Dto.EditInput.cs
  10. 26
      Tiobon.Core.Model/Insert/Ghrh/Ghrh_InterviewRecord.Dto.InsertInput.cs
  11. 56
      Tiobon.Core.Model/Models/Ghrh/Ghrh_InterviewOrder.cs
  12. 178
      Tiobon.Core.Model/Models/Ghrh/Ghrh_InterviewRecord.cs
  13. 34
      Tiobon.Core.Model/View/Ghrh/Ghrh_InterviewRecord.Dto.View.cs
  14. 15
      Tiobon.Core.Services/Ghrh/Ghrh_InterviewRecordServices.cs
  15. 47
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs

File diff suppressed because it is too large Load Diff

@ -0,0 +1,14 @@
namespace Tiobon.Core.Api.Controllers;
/// <summary>
/// 面试记录(Controller)
/// </summary>
[Route("api/[controller]")]
[ApiController, GlobalActionFilter]
[Authorize(Permissions.Name), ApiExplorerSettings(GroupName = Grouping.GroupName_Ghrh)]
public class Ghrh_InterviewRecordController : BaseController<IGhrh_InterviewRecordServices, Ghrh_InterviewRecord, Ghrh_InterviewRecordDto, InsertGhrh_InterviewRecordInput, EditGhrh_InterviewRecordInput>
{
public Ghrh_InterviewRecordController(IGhrh_InterviewRecordServices service) : base(service)
{
}
}

@ -6265,11 +6265,16 @@
简历ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.OrderId">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.OrderNo">
<summary>
订单号
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Round">
<summary>
轮数
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.RecommendTime">
<summary>
推荐时间
@ -6278,129 +6283,239 @@
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.RecommendId">
<summary>
推荐人ID
</summary>
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.InterviewBeginTime">
<summary>
面试开始时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.InterviewEndTime">
<summary>
面试结束时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.InterviewResult">
<summary>
面试结果
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.FailInterviewReason">
<summary>
不合适原因
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Status">
<summary>
状态
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.RemarkSz">
<summary>
备注
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.IsDefault">
<summary>
默认标志
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse1">
<summary>
预留字段1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse2">
<summary>
预留字段2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse3">
<summary>
预留字段3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse4">
<summary>
预留字段4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse5">
<summary>
预留字段5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse6">
<summary>
预留字段6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.ReceiverIds">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse7">
<summary>
预留字段7
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse8">
<summary>
预留字段8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse9">
<summary>
预留字段9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse10">
<summary>
预留字段10
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.ReverseI1">
<summary>
预留字段11
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.ReverseI2">
<summary>
预留字段12
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase">
<summary>
面试记录 (Dto.Base)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.OrderId">
<summary>
订单ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.Round">
<summary>
轮数
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.ReceiverIds">
<summary>
简历接收人ids
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.PlanInterviewTime1">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.PlanInterviewTime1">
<summary>
预面试时间1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.PlanInterviewTime2">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.PlanInterviewTime2">
<summary>
预面试时间2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.PlanInterviewTime3">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.PlanInterviewTime3">
<summary>
预面试时间3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.InterviewTime1">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.InterviewTime">
<summary>
面试时间段
面试时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.InterviewTime">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.InterviewBeginTime">
<summary>
面试时间
面试开始时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.InterviewResult">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.InterviewEndTime">
<summary>
面试结果
面试结束时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.FailInterviewReason">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.FirstViewTime">
<summary>
不合适原因
简历首次查询时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.FirstViewTime">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.LastViewTime">
<summary>
简历首次查询时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.LastViewTime">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.InterviewResult">
<summary>
简历首次查询时间
面试结果
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Status">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.FailInterviewReason">
<summary>
状态
不合适原因
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.RemarkSz">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.RemarkSz">
<summary>
备注
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.IsDefault">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.IsDefault">
<summary>
默认标志
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse1">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.Reverse1">
<summary>
预留字段1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse2">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.Reverse2">
<summary>
预留字段2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse3">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.Reverse3">
<summary>
预留字段3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse4">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.Reverse4">
<summary>
预留字段4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse5">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.Reverse5">
<summary>
预留字段5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse6">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.Reverse6">
<summary>
预留字段6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse7">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.Reverse7">
<summary>
预留字段7
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse8">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.Reverse8">
<summary>
预留字段8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse9">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.Reverse9">
<summary>
预留字段9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.Reverse10">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.Reverse10">
<summary>
预留字段10
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.ReverseI1">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.ReverseI1">
<summary>
预留字段11
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.ReverseI2">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordBase.ReverseI2">
<summary>
预留字段12
</summary>
@ -9717,6 +9832,11 @@
面试工单 (Dto.EditInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.EditGhrh_InterviewRecordInput">
<summary>
面试记录 (Dto.EditInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.EditGhrh_ResumeInput">
<summary>
个人简历 (Dto.EditInput)
@ -10067,6 +10187,11 @@
面试工单 (Dto.InsertInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.InsertGhrh_InterviewRecordInput">
<summary>
面试记录 (Dto.InsertInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.InsertGhrh_ResumeInput">
<summary>
个人简历 (Dto.InsertInput)
@ -16751,11 +16876,16 @@
简历ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.OrderId">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.OrderNo">
<summary>
订单号
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Round">
<summary>
轮数
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.RecommendTime">
<summary>
推荐时间
@ -16764,129 +16894,239 @@
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.RecommendId">
<summary>
推荐人ID
</summary>
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.InterviewBeginTime">
<summary>
面试开始时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.InterviewEndTime">
<summary>
面试结束时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.InterviewResult">
<summary>
面试结果
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.FailInterviewReason">
<summary>
不合适原因
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Status">
<summary>
状态
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.RemarkSz">
<summary>
备注
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.IsDefault">
<summary>
默认标志
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse1">
<summary>
预留字段1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse2">
<summary>
预留字段2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse3">
<summary>
预留字段3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.ReceiverIds">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse4">
<summary>
预留字段4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse5">
<summary>
预留字段5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse6">
<summary>
预留字段6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse7">
<summary>
预留字段7
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse8">
<summary>
预留字段8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse9">
<summary>
预留字段9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse10">
<summary>
预留字段10
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.ReverseI1">
<summary>
预留字段11
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.ReverseI2">
<summary>
预留字段12
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghrh_InterviewRecord">
<summary>
面试记录 (Model)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.OrderId">
<summary>
订单ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.Round">
<summary>
轮数
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.ReceiverIds">
<summary>
简历接收人ids
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.PlanInterviewTime1">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.PlanInterviewTime1">
<summary>
预面试时间1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.PlanInterviewTime2">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.PlanInterviewTime2">
<summary>
预面试时间2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.PlanInterviewTime3">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.PlanInterviewTime3">
<summary>
预面试时间3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.InterviewTime1">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.InterviewTime">
<summary>
面试时间段
面试时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.InterviewTime">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.InterviewBeginTime">
<summary>
面试时间
面试开始时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.InterviewResult">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.InterviewEndTime">
<summary>
面试结果
面试结束时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.FailInterviewReason">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.FirstViewTime">
<summary>
不合适原因
简历首次查询时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.FirstViewTime">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.LastViewTime">
<summary>
简历首次查询时间
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.LastViewTime">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.InterviewResult">
<summary>
简历首次查询时间
面试结果
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Status">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.FailInterviewReason">
<summary>
状态
不合适原因
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.RemarkSz">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.RemarkSz">
<summary>
备注
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.IsDefault">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.IsDefault">
<summary>
默认标志
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse1">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.Reverse1">
<summary>
预留字段1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse2">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.Reverse2">
<summary>
预留字段2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse3">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.Reverse3">
<summary>
预留字段3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse4">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.Reverse4">
<summary>
预留字段4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse5">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.Reverse5">
<summary>
预留字段5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse6">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.Reverse6">
<summary>
预留字段6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse7">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.Reverse7">
<summary>
预留字段7
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse8">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.Reverse8">
<summary>
预留字段8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse9">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.Reverse9">
<summary>
预留字段9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.Reverse10">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.Reverse10">
<summary>
预留字段10
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.ReverseI1">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.ReverseI1">
<summary>
预留字段11
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.ReverseI2">
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecord.ReverseI2">
<summary>
预留字段12
</summary>
@ -21557,6 +21797,21 @@
修改信息
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghrh_InterviewRecordDto">
<summary>
面试记录(Dto.View1)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordDto.CreateDataInfo">
<summary>
创建信息
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewRecordDto.UpdateDataInfo">
<summary>
修改信息
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghrh_ResumeDto">
<summary>
个人简历(Dto.View1)
@ -22112,6 +22367,41 @@
已推荐
</summary>
</member>
<member name="F:Tiobon.Core.Model.Consts.DIC_INTERVIEW_ORDER_STATUS.WaitAppointment">
<summary>
待预约
</summary>
</member>
<member name="F:Tiobon.Core.Model.Consts.DIC_INTERVIEW_ORDER_STATUS.WaitInterview">
<summary>
待面试
</summary>
</member>
<member name="F:Tiobon.Core.Model.Consts.DIC_INTERVIEW_ORDER_STATUS.HasInterview">
<summary>
已面试
</summary>
</member>
<member name="F:Tiobon.Core.Model.Consts.DIC_INTERVIEW_ORDER_STATUS.WaitSendOffer">
<summary>
待发offer
</summary>
</member>
<member name="F:Tiobon.Core.Model.Consts.DIC_INTERVIEW_ORDER_STATUS.HasSendOffer">
<summary>
已发offer
</summary>
</member>
<member name="F:Tiobon.Core.Model.Consts.DIC_INTERVIEW_ORDER_STATUS.HasOffer">
<summary>
已录用
</summary>
</member>
<member name="F:Tiobon.Core.Model.Consts.DIC_INTERVIEW_ORDER_STATUS.End">
<summary>
面试结束
</summary>
</member>
<member name="F:Tiobon.Core.Model.AuthorityScopeEnum.NONE">
<summary>
无任何权限

@ -1242,6 +1242,11 @@
面试工单(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghrh_InterviewRecordController">
<summary>
面试记录(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghrh_ResumeController">
<summary>
个人简历(Controller)

@ -0,0 +1,11 @@
using Tiobon.Core.IServices.BASE;
using Tiobon.Core.Model.Models;
namespace Tiobon.Core.IServices;
/// <summary>
/// 面试记录(自定义服务接口)
/// </summary>
public interface IGhrh_InterviewRecordServices :IBaseServices<Ghrh_InterviewRecord, Ghrh_InterviewRecordDto, InsertGhrh_InterviewRecordInput, EditGhrh_InterviewRecordInput>
{
}

@ -6,7 +6,7 @@
*
* Ver
*
*V0.01 2024/11/13 14:32:36 SimonHsiao
*V0.01 2024/11/14 9:11:30 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
@ -36,53 +36,33 @@ public class Ghrh_InterviewOrderBase
/// <summary>
/// 订单号
/// </summary>
[Display(Name = "OrderId"), Description("订单号"), MaxLength(32, ErrorMessage = "订单号 不能超过 32 个字符")]
public string OrderId { get; set; }
[Display(Name = "OrderNo"), Description("订单号"), MaxLength(32, ErrorMessage = "订单号 不能超过 32 个字符")]
public string OrderNo { get; set; }
/// <summary>
/// 推荐时间
/// </summary>
public DateTime? RecommendTime { get; set; }
/// <summary>
/// 推荐人ID
/// </summary>
public long? RecommendId { get; set; }
/// <summary>
/// 简历接收人ids
/// </summary>
[Display(Name = "ReceiverIds"), Description("简历接收人ids"), MaxLength(2000, ErrorMessage = "简历接收人ids 不能超过 2000 个字符")]
public string ReceiverIds { get; set; }
/// <summary>
/// 预面试时间1
/// 轮数
/// </summary>
[Display(Name = "PlanInterviewTime1"), Description("预面试时间1"), MaxLength(256, ErrorMessage = "预面试时间1 不能超过 256 个字符")]
public string PlanInterviewTime1 { get; set; }
public int? Round { get; set; }
/// <summary>
/// 预面试时间2
/// 推荐时间
/// </summary>
[Display(Name = "PlanInterviewTime2"), Description("预面试时间2"), MaxLength(256, ErrorMessage = "预面试时间2 不能超过 256 个字符")]
public string PlanInterviewTime2 { get; set; }
public DateTime? RecommendTime { get; set; }
/// <summary>
/// 预面试时间3
/// 推荐人ID
/// </summary>
[Display(Name = "PlanInterviewTime3"), Description("预面试时间3"), MaxLength(256, ErrorMessage = "预面试时间3 不能超过 256 个字符")]
public string PlanInterviewTime3 { get; set; }
public long? RecommendId { get; set; }
/// <summary>
/// 面试时间
/// 面试开始时间
/// </summary>
[Display(Name = "InterviewTime1"), Description("面试时间段"), MaxLength(256, ErrorMessage = "面试时间段 不能超过 256 个字符")]
public string InterviewTime1 { get; set; }
public DateTime? InterviewBeginTime { get; set; }
/// <summary>
/// 面试时间
/// 面试结束时间
/// </summary>
public DateTime? InterviewTime { get; set; }
public DateTime? InterviewEndTime { get; set; }
/// <summary>
/// 面试结果
@ -95,16 +75,6 @@ public class Ghrh_InterviewOrderBase
[Display(Name = "FailInterviewReason"), Description("不合适原因"), MaxLength(256, ErrorMessage = "不合适原因 不能超过 256 个字符")]
public string FailInterviewReason { get; set; }
/// <summary>
/// 简历首次查询时间
/// </summary>
public DateTime? FirstViewTime { get; set; }
/// <summary>
/// 简历首次查询时间
/// </summary>
public DateTime? LastViewTime { get; set; }
/// <summary>
/// 状态
/// </summary>

@ -0,0 +1,177 @@
/* ,
* Ghrh_InterviewRecord.cs
*
* N / A
* Ghrh_InterviewRecord
*
* Ver
*
*V0.01 2024/11/14 9:19:49 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
*  
* SimonHsiao
*
*/
namespace Tiobon.Core.Model.Models;
/// <summary>
/// 面试记录 (Dto.Base)
/// </summary>
public class Ghrh_InterviewRecordBase
{
/// <summary>
/// 订单ID
/// </summary>
public long? OrderId { get; set; }
/// <summary>
/// 轮数
/// </summary>
public int? Round { get; set; }
/// <summary>
/// 简历接收人ids
/// </summary>
[Display(Name = "ReceiverIds"), Description("简历接收人ids"), MaxLength(2000, ErrorMessage = "简历接收人ids 不能超过 2000 个字符")]
public string ReceiverIds { get; set; }
/// <summary>
/// 预面试时间1
/// </summary>
[Display(Name = "PlanInterviewTime1"), Description("预面试时间1"), MaxLength(256, ErrorMessage = "预面试时间1 不能超过 256 个字符")]
public string PlanInterviewTime1 { get; set; }
/// <summary>
/// 预面试时间2
/// </summary>
[Display(Name = "PlanInterviewTime2"), Description("预面试时间2"), MaxLength(256, ErrorMessage = "预面试时间2 不能超过 256 个字符")]
public string PlanInterviewTime2 { get; set; }
/// <summary>
/// 预面试时间3
/// </summary>
[Display(Name = "PlanInterviewTime3"), Description("预面试时间3"), MaxLength(256, ErrorMessage = "预面试时间3 不能超过 256 个字符")]
public string PlanInterviewTime3 { get; set; }
/// <summary>
/// 面试时间
/// </summary>
[Display(Name = "InterviewTime"), Description("面试时间"), MaxLength(256, ErrorMessage = "面试时间 不能超过 256 个字符")]
public string InterviewTime { get; set; }
/// <summary>
/// 面试开始时间
/// </summary>
public DateTime? InterviewBeginTime { get; set; }
/// <summary>
/// 面试结束时间
/// </summary>
public DateTime? InterviewEndTime { get; set; }
/// <summary>
/// 简历首次查询时间
/// </summary>
public DateTime? FirstViewTime { get; set; }
/// <summary>
/// 简历首次查询时间
/// </summary>
public DateTime? LastViewTime { get; set; }
/// <summary>
/// 面试结果
/// </summary>
public bool? InterviewResult { get; set; }
/// <summary>
/// 不合适原因
/// </summary>
[Display(Name = "FailInterviewReason"), Description("不合适原因"), MaxLength(256, ErrorMessage = "不合适原因 不能超过 256 个字符")]
public string FailInterviewReason { get; set; }
/// <summary>
/// 备注
/// </summary>
[Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
public string RemarkSz { get; set; }
/// <summary>
/// 默认标志
/// </summary>
public int? IsDefault { get; set; }
/// <summary>
/// 预留字段1
/// </summary>
[Display(Name = "Reverse1"), Description("预留字段1"), MaxLength(1000, ErrorMessage = "预留字段1 不能超过 1000 个字符")]
public string Reverse1 { get; set; }
/// <summary>
/// 预留字段2
/// </summary>
[Display(Name = "Reverse2"), Description("预留字段2"), MaxLength(1000, ErrorMessage = "预留字段2 不能超过 1000 个字符")]
public string Reverse2 { get; set; }
/// <summary>
/// 预留字段3
/// </summary>
[Display(Name = "Reverse3"), Description("预留字段3"), MaxLength(1000, ErrorMessage = "预留字段3 不能超过 1000 个字符")]
public string Reverse3 { get; set; }
/// <summary>
/// 预留字段4
/// </summary>
[Display(Name = "Reverse4"), Description("预留字段4"), MaxLength(1000, ErrorMessage = "预留字段4 不能超过 1000 个字符")]
public string Reverse4 { get; set; }
/// <summary>
/// 预留字段5
/// </summary>
[Display(Name = "Reverse5"), Description("预留字段5"), MaxLength(1000, ErrorMessage = "预留字段5 不能超过 1000 个字符")]
public string Reverse5 { get; set; }
/// <summary>
/// 预留字段6
/// </summary>
[Display(Name = "Reverse6"), Description("预留字段6"), MaxLength(1000, ErrorMessage = "预留字段6 不能超过 1000 个字符")]
public string Reverse6 { get; set; }
/// <summary>
/// 预留字段7
/// </summary>
[Display(Name = "Reverse7"), Description("预留字段7"), MaxLength(1000, ErrorMessage = "预留字段7 不能超过 1000 个字符")]
public string Reverse7 { get; set; }
/// <summary>
/// 预留字段8
/// </summary>
[Display(Name = "Reverse8"), Description("预留字段8"), MaxLength(1000, ErrorMessage = "预留字段8 不能超过 1000 个字符")]
public string Reverse8 { get; set; }
/// <summary>
/// 预留字段9
/// </summary>
[Display(Name = "Reverse9"), Description("预留字段9"), MaxLength(1000, ErrorMessage = "预留字段9 不能超过 1000 个字符")]
public string Reverse9 { get; set; }
/// <summary>
/// 预留字段10
/// </summary>
[Display(Name = "Reverse10"), Description("预留字段10"), MaxLength(1000, ErrorMessage = "预留字段10 不能超过 1000 个字符")]
public string Reverse10 { get; set; }
/// <summary>
/// 预留字段11
/// </summary>
public int? ReverseI1 { get; set; }
/// <summary>
/// 预留字段12
/// </summary>
public int? ReverseI2 { get; set; }
}

@ -298,6 +298,34 @@ public class Consts
/// 已推荐
/// </summary>
public const string HasRecommended = "HasRecommended";
/// <summary>
/// 待预约
/// </summary>
public const string WaitAppointment = "WaitAppointment";
/// <summary>
/// 待面试
/// </summary>
public const string WaitInterview = "WaitInterview";
/// <summary>
/// 已面试
/// </summary>
public const string HasInterview = "HasInterview";
/// <summary>
/// 待发offer
/// </summary>
public const string WaitSendOffer = "WaitSendOffer";
/// <summary>
/// 已发offer
/// </summary>
public const string HasSendOffer = "HasSendOffer";
/// <summary>
/// 已录用
/// </summary>
public const string HasOffer = "HasOffer";
/// <summary>
/// 面试结束
/// </summary>
public const string End = "End";
}
#endregion
}

@ -0,0 +1,26 @@
/* ,
* Ghrh_InterviewRecord.cs
*
* N / A
* Ghrh_InterviewRecord
*
* Ver
*
*V0.01 2024/11/14 9:19:49 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
*  
* SimonHsiao
*
*/
namespace Tiobon.Core.Model.Models;
/// <summary>
/// 面试记录 (Dto.EditInput)
/// </summary>
public class EditGhrh_InterviewRecordInput : Ghrh_InterviewRecordBase
{
}

@ -0,0 +1,26 @@
/* ,
* Ghrh_InterviewRecord.cs
*
* N / A
* Ghrh_InterviewRecord
*
* Ver
*
*V0.01 2024/11/14 9:19:49 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
*  
* SimonHsiao
*
*/
namespace Tiobon.Core.Model.Models;
/// <summary>
/// 面试记录 (Dto.InsertInput)
/// </summary>
public class InsertGhrh_InterviewRecordInput : Ghrh_InterviewRecordBase
{
}

@ -6,7 +6,7 @@
*
* Ver
*
*V0.01 2024/11/13 14:32:36 SimonHsiao
*V0.01 2024/11/14 9:11:30 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
@ -37,53 +37,33 @@ public class Ghrh_InterviewOrder : BasePoco
/// <summary>
/// 订单号
/// </summary>
[Display(Name = "OrderId"), Description("订单号"), MaxLength(32, ErrorMessage = "订单号 不能超过 32 个字符")]
public string OrderId { get; set; }
[Display(Name = "OrderNo"), Description("订单号"), MaxLength(32, ErrorMessage = "订单号 不能超过 32 个字符")]
public string OrderNo { get; set; }
/// <summary>
/// 推荐时间
/// </summary>
public DateTime? RecommendTime { get; set; }
/// <summary>
/// 推荐人ID
/// </summary>
public long? RecommendId { get; set; }
/// <summary>
/// 简历接收人ids
/// </summary>
[Display(Name = "ReceiverIds"), Description("简历接收人ids"), MaxLength(2000, ErrorMessage = "简历接收人ids 不能超过 2000 个字符")]
public string ReceiverIds { get; set; }
/// <summary>
/// 预面试时间1
/// 轮数
/// </summary>
[Display(Name = "PlanInterviewTime1"), Description("预面试时间1"), MaxLength(256, ErrorMessage = "预面试时间1 不能超过 256 个字符")]
public string PlanInterviewTime1 { get; set; }
public int? Round { get; set; }
/// <summary>
/// 预面试时间2
/// 推荐时间
/// </summary>
[Display(Name = "PlanInterviewTime2"), Description("预面试时间2"), MaxLength(256, ErrorMessage = "预面试时间2 不能超过 256 个字符")]
public string PlanInterviewTime2 { get; set; }
public DateTime? RecommendTime { get; set; }
/// <summary>
/// 预面试时间3
/// 推荐人ID
/// </summary>
[Display(Name = "PlanInterviewTime3"), Description("预面试时间3"), MaxLength(256, ErrorMessage = "预面试时间3 不能超过 256 个字符")]
public string PlanInterviewTime3 { get; set; }
public long? RecommendId { get; set; }
/// <summary>
/// 面试时间
/// 面试开始时间
/// </summary>
[Display(Name = "InterviewTime1"), Description("面试时间段"), MaxLength(256, ErrorMessage = "面试时间段 不能超过 256 个字符")]
public string InterviewTime1 { get; set; }
public DateTime? InterviewBeginTime { get; set; }
/// <summary>
/// 面试时间
/// 面试结束时间
/// </summary>
public DateTime? InterviewTime { get; set; }
public DateTime? InterviewEndTime { get; set; }
/// <summary>
/// 面试结果
@ -96,16 +76,6 @@ public class Ghrh_InterviewOrder : BasePoco
[Display(Name = "FailInterviewReason"), Description("不合适原因"), MaxLength(256, ErrorMessage = "不合适原因 不能超过 256 个字符")]
public string FailInterviewReason { get; set; }
/// <summary>
/// 简历首次查询时间
/// </summary>
public DateTime? FirstViewTime { get; set; }
/// <summary>
/// 简历首次查询时间
/// </summary>
public DateTime? LastViewTime { get; set; }
/// <summary>
/// 状态
/// </summary>

@ -0,0 +1,178 @@
/* ,
* Ghrh_InterviewRecord.cs
*
* N / A
* Ghrh_InterviewRecord
*
* Ver
*
*V0.01 2024/11/14 9:19:49 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
*  
* SimonHsiao
*
*/
namespace Tiobon.Core.Model.Models;
/// <summary>
/// 面试记录 (Model)
/// </summary>
[SugarTable("Ghrh_InterviewRecord", "Ghrh_InterviewRecord"), Entity(TableCnName = "面试记录", TableName = "Ghrh_InterviewRecord")]
public class Ghrh_InterviewRecord : BasePoco
{
/// <summary>
/// 订单ID
/// </summary>
public long? OrderId { get; set; }
/// <summary>
/// 轮数
/// </summary>
public int? Round { get; set; }
/// <summary>
/// 简历接收人ids
/// </summary>
[Display(Name = "ReceiverIds"), Description("简历接收人ids"), MaxLength(2000, ErrorMessage = "简历接收人ids 不能超过 2000 个字符")]
public string ReceiverIds { get; set; }
/// <summary>
/// 预面试时间1
/// </summary>
[Display(Name = "PlanInterviewTime1"), Description("预面试时间1"), MaxLength(256, ErrorMessage = "预面试时间1 不能超过 256 个字符")]
public string PlanInterviewTime1 { get; set; }
/// <summary>
/// 预面试时间2
/// </summary>
[Display(Name = "PlanInterviewTime2"), Description("预面试时间2"), MaxLength(256, ErrorMessage = "预面试时间2 不能超过 256 个字符")]
public string PlanInterviewTime2 { get; set; }
/// <summary>
/// 预面试时间3
/// </summary>
[Display(Name = "PlanInterviewTime3"), Description("预面试时间3"), MaxLength(256, ErrorMessage = "预面试时间3 不能超过 256 个字符")]
public string PlanInterviewTime3 { get; set; }
/// <summary>
/// 面试时间
/// </summary>
[Display(Name = "InterviewTime"), Description("面试时间"), MaxLength(256, ErrorMessage = "面试时间 不能超过 256 个字符")]
public string InterviewTime { get; set; }
/// <summary>
/// 面试开始时间
/// </summary>
public DateTime? InterviewBeginTime { get; set; }
/// <summary>
/// 面试结束时间
/// </summary>
public DateTime? InterviewEndTime { get; set; }
/// <summary>
/// 简历首次查询时间
/// </summary>
public DateTime? FirstViewTime { get; set; }
/// <summary>
/// 简历首次查询时间
/// </summary>
public DateTime? LastViewTime { get; set; }
/// <summary>
/// 面试结果
/// </summary>
public bool? InterviewResult { get; set; }
/// <summary>
/// 不合适原因
/// </summary>
[Display(Name = "FailInterviewReason"), Description("不合适原因"), MaxLength(256, ErrorMessage = "不合适原因 不能超过 256 个字符")]
public string FailInterviewReason { get; set; }
/// <summary>
/// 备注
/// </summary>
[Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
public string RemarkSz { get; set; }
/// <summary>
/// 默认标志
/// </summary>
public int? IsDefault { get; set; }
/// <summary>
/// 预留字段1
/// </summary>
[Display(Name = "Reverse1"), Description("预留字段1"), MaxLength(1000, ErrorMessage = "预留字段1 不能超过 1000 个字符")]
public string Reverse1 { get; set; }
/// <summary>
/// 预留字段2
/// </summary>
[Display(Name = "Reverse2"), Description("预留字段2"), MaxLength(1000, ErrorMessage = "预留字段2 不能超过 1000 个字符")]
public string Reverse2 { get; set; }
/// <summary>
/// 预留字段3
/// </summary>
[Display(Name = "Reverse3"), Description("预留字段3"), MaxLength(1000, ErrorMessage = "预留字段3 不能超过 1000 个字符")]
public string Reverse3 { get; set; }
/// <summary>
/// 预留字段4
/// </summary>
[Display(Name = "Reverse4"), Description("预留字段4"), MaxLength(1000, ErrorMessage = "预留字段4 不能超过 1000 个字符")]
public string Reverse4 { get; set; }
/// <summary>
/// 预留字段5
/// </summary>
[Display(Name = "Reverse5"), Description("预留字段5"), MaxLength(1000, ErrorMessage = "预留字段5 不能超过 1000 个字符")]
public string Reverse5 { get; set; }
/// <summary>
/// 预留字段6
/// </summary>
[Display(Name = "Reverse6"), Description("预留字段6"), MaxLength(1000, ErrorMessage = "预留字段6 不能超过 1000 个字符")]
public string Reverse6 { get; set; }
/// <summary>
/// 预留字段7
/// </summary>
[Display(Name = "Reverse7"), Description("预留字段7"), MaxLength(1000, ErrorMessage = "预留字段7 不能超过 1000 个字符")]
public string Reverse7 { get; set; }
/// <summary>
/// 预留字段8
/// </summary>
[Display(Name = "Reverse8"), Description("预留字段8"), MaxLength(1000, ErrorMessage = "预留字段8 不能超过 1000 个字符")]
public string Reverse8 { get; set; }
/// <summary>
/// 预留字段9
/// </summary>
[Display(Name = "Reverse9"), Description("预留字段9"), MaxLength(1000, ErrorMessage = "预留字段9 不能超过 1000 个字符")]
public string Reverse9 { get; set; }
/// <summary>
/// 预留字段10
/// </summary>
[Display(Name = "Reverse10"), Description("预留字段10"), MaxLength(1000, ErrorMessage = "预留字段10 不能超过 1000 个字符")]
public string Reverse10 { get; set; }
/// <summary>
/// 预留字段11
/// </summary>
public int? ReverseI1 { get; set; }
/// <summary>
/// 预留字段12
/// </summary>
public int? ReverseI2 { get; set; }
}

@ -0,0 +1,34 @@
/* ,
* Ghrh_InterviewRecord.cs
*
* N / A
* Ghrh_InterviewRecord
*
* Ver
*
*V0.01 2024/11/14 9:19:49 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
*  
* SimonHsiao
*
*/
namespace Tiobon.Core.Model.Models;
/// <summary>
/// 面试记录(Dto.View1)
/// </summary>
public class Ghrh_InterviewRecordDto : Ghrh_InterviewRecord
{
/// <summary>
/// 创建信息
/// </summary>
public string CreateDataInfo { get; set; }
/// <summary>
/// 修改信息
/// </summary>
public string UpdateDataInfo { get; set; }
}

@ -0,0 +1,15 @@
namespace Tiobon.Core.Services;
/// <summary>
/// 面试记录 (服务)
/// </summary>
public class Ghrh_InterviewRecordServices : BaseServices<Ghrh_InterviewRecord, Ghrh_InterviewRecordDto, InsertGhrh_InterviewRecordInput, EditGhrh_InterviewRecordInput>, IGhrh_InterviewRecordServices
{
private readonly IBaseRepository<Ghrh_InterviewRecord> _dal;
public Ghrh_InterviewRecordServices(ICaching caching, IBaseRepository<Ghrh_InterviewRecord> dal)
{
this._dal = dal;
base.BaseDal = dal;
base._caching = caching;
}
}

@ -1,6 +1,4 @@
using System.Collections.Generic;
using Tiobon.Core.IServices;
using static Tiobon.Core.Model.Consts;
using static Tiobon.Core.Model.Consts;
namespace Tiobon.Core.Services;
@ -20,7 +18,15 @@ public class Ghrh_ResumeServices : BaseServices<Ghrh_Resume, Ghrh_ResumeDto, Ins
private readonly IGhrh_ResumeLicenceServices _ghrh_ResumeLicenceServices;
private readonly IGhrh_ResumeTrainingServices _ghrh_ResumeTrainingServices;
private readonly IGhrh_ResumeStatementServices _ghrh_ResumeStatementServices;
/// <summary>
/// 面试工单
/// </summary>
private readonly IGhrh_InterviewOrderServices _ghrh_InterviewOrderServices;
/// <summary>
/// 面试记录
/// </summary>
private readonly IGhrh_InterviewRecordServices _ghrh_InterviewRecordServices;
public Ghrh_ResumeServices(ICaching caching,
IBaseRepository<Ghrh_Resume> dal,
IGhrh_ResumeEduBGServices ghre_ResumeEduBGServices,
@ -30,6 +36,7 @@ public class Ghrh_ResumeServices : BaseServices<Ghrh_Resume, Ghrh_ResumeDto, Ins
IGhrh_ResumeTrainingServices ghre_ResumeTrainingServices,
IGhrh_ResumeStatementServices ghre_ResumeStatementServices,
IGhrh_InterviewOrderServices ghre_InterviewOrderServices,
IGhrh_InterviewRecordServices ghre_InterviewRecordServices,
IGhrh_ResumeWorkExpServices ghre_ResumeWorkExpServices)
{
this._dal = dal;
@ -42,6 +49,7 @@ public class Ghrh_ResumeServices : BaseServices<Ghrh_Resume, Ghrh_ResumeDto, Ins
_ghrh_ResumeTrainingServices = ghre_ResumeTrainingServices;
_ghrh_ResumeStatementServices = ghre_ResumeStatementServices;
_ghrh_InterviewOrderServices = ghre_InterviewOrderServices;
_ghrh_InterviewRecordServices = ghre_InterviewRecordServices;
_ghrh_ResumeWorkExpServices = ghre_ResumeWorkExpServices;
}
@ -1194,20 +1202,34 @@ END";
#region 简历推荐
public async Task<ServiceResult> Recommend(long id, ResumeRecommendForm recommend)
{
if (await AnyAsync(x => x.Status == DIC_INTERVIEW_ORDER_STATUS.HasRecommended ||
x.Status == DIC_INTERVIEW_ORDER_STATUS.HasRecommended ||
x.Status == DIC_INTERVIEW_ORDER_STATUS.WaitAppointment ||
x.Status == DIC_INTERVIEW_ORDER_STATUS.WaitInterview ||
x.Status == DIC_INTERVIEW_ORDER_STATUS.HasInterview))
return ServiceResult.OprateFailed("简历正推荐中,不可重复推荐!");
await Db.Updateable<Ghrh_InterviewOrder>()
.SetColumns(it => it.IsEnable == 0)
.Where(it => it.ResumeId == id)
.ExecuteCommandAsync();
await _ghrh_InterviewOrderServices.Add(new InsertGhrh_InterviewOrderInput()
var orderId = await _ghrh_InterviewOrderServices.Add(new InsertGhrh_InterviewOrderInput()
{
ResumeId = id,
RequestId = recommend.RequestId,
RecommendTime = DateTime.Now,
RecommendId = App.User.ID,
ReceiverIds = JsonHelper.ObjToJson(recommend.InterviewStaffs),
Round = 1,
OrderNo = await GenerateContinuousSequence("Ghrh_InterviewOrder", "OrderNo", "V"),
Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended
});
await _ghrh_InterviewRecordServices.Add(new InsertGhrh_InterviewRecordInput()
{
OrderId = orderId,
Round = 1,
ReceiverIds = JsonHelper.ObjToJson(recommend.InterviewStaffs),
});
return ServiceResult.OprateSuccess();
}
@ -1226,18 +1248,19 @@ END";
var order = await Db.Queryable<Ghrh_InterviewOrder>().FirstAsync(x => x.ResumeId == id);
if (order != null)
{
if (order.FirstViewTime.IsNotEmptyOrNull())
var record = await _ghrh_InterviewRecordServices.QuerySingle(x => x.Round == order.Round && x.OrderId == order.Id);
if (record.FirstViewTime.IsNotEmptyOrNull())
return ServiceResult.OprateFailed("面试官已查看简历,暂不可发送提醒!");
if (order.ReceiverIds.IsNotEmptyOrNull())
if (record.ReceiverIds.IsNotEmptyOrNull())
{
var staffs = JsonHelper.JsonToObj<List<ResumeRecommendFormStaff>>(order.ReceiverIds);
var staffs = JsonHelper.JsonToObj<List<ResumeRecommendFormStaff>>(record.ReceiverIds);
await SendMessage(staffs.Select(x => x.StaffId).ToList(), "简历提醒", "您有个简历推荐,请及时查看!");
}
}
return ServiceResult.OprateSuccess();
}
#endregion
}
return ServiceResult.OprateSuccess();
}
#endregion
}
Loading…
Cancel
Save