新增简历库已推荐发送提醒接口

master
xiaochanghai 7 months ago
parent a8cb0bebc5
commit e931ed99ab
  1. 333
      Model/Tiobon.Web.pdm
  2. 4
      Tiobon.Core.Api/Controllers/Ghrh/Ghrh_ResumeController.cs
  3. 10
      Tiobon.Core.Model/Base/Ghrh/Ghrh_InterviewOrder.Dto.Base.cs
  4. 5
      Tiobon.Core.Model/Consts.cs
  5. 10
      Tiobon.Core.Model/Models/Ghrh/Ghrh_InterviewOrder.cs
  6. 34
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs

File diff suppressed because it is too large Load Diff

@ -1,4 +1,5 @@
using Tiobon.Core.Model.ViewModels.Extend; using Tiobon.Core.Model.ViewModels.Extend;
using static Tiobon.Core.Model.Consts;
namespace Tiobon.Core.Api.Controllers; namespace Tiobon.Core.Api.Controllers;
@ -34,6 +35,9 @@ public class Ghrh_ResumeController : BaseController<IGhrh_ResumeServices, Ghrh_R
[HttpPost, Route("QueryList/{status}")] [HttpPost, Route("QueryList/{status}")]
public async Task<ServicePageResult<Ghrh_ResumeDto>> QueryByStatus([FromBody] QueryBody body, string status) public async Task<ServicePageResult<Ghrh_ResumeDto>> QueryByStatus([FromBody] QueryBody body, string status)
{ {
if (status == "All")
return await _service.QueryFilterPage(body, $"(Status ='{status}' OR Status ='{DIC_INTERVIEW_ORDER_STATUS.WaitRecommended}' OR Status ='{DIC_INTERVIEW_ORDER_STATUS.HasRecommended}')");
else
return await _service.QueryFilterPage(body, $"Status ='{status}'"); return await _service.QueryFilterPage(body, $"Status ='{status}'");
} }
#endregion #endregion

@ -95,6 +95,16 @@ public class Ghrh_InterviewOrderBase
[Display(Name = "FailInterviewReason"), Description("不合适原因"), MaxLength(256, ErrorMessage = "不合适原因 不能超过 256 个字符")] [Display(Name = "FailInterviewReason"), Description("不合适原因"), MaxLength(256, ErrorMessage = "不合适原因 不能超过 256 个字符")]
public string FailInterviewReason { get; set; } public string FailInterviewReason { get; set; }
/// <summary>
/// 简历首次查询时间
/// </summary>
public DateTime? FirstViewTime { get; set; }
/// <summary>
/// 简历首次查询时间
/// </summary>
public DateTime? LastViewTime { get; set; }
/// <summary> /// <summary>
/// 状态 /// 状态
/// </summary> /// </summary>

@ -289,6 +289,11 @@ public class Consts
/// </summary> /// </summary>
public static class DIC_INTERVIEW_ORDER_STATUS public static class DIC_INTERVIEW_ORDER_STATUS
{ {
/// <summary>
/// 待推荐
/// </summary>
public const string WaitRecommended = "WaitRecommended";
/// <summary> /// <summary>
/// 已推荐 /// 已推荐
/// </summary> /// </summary>

@ -96,6 +96,16 @@ public class Ghrh_InterviewOrder : BasePoco
[Display(Name = "FailInterviewReason"), Description("不合适原因"), MaxLength(256, ErrorMessage = "不合适原因 不能超过 256 个字符")] [Display(Name = "FailInterviewReason"), Description("不合适原因"), MaxLength(256, ErrorMessage = "不合适原因 不能超过 256 个字符")]
public string FailInterviewReason { get; set; } public string FailInterviewReason { get; set; }
/// <summary>
/// 简历首次查询时间
/// </summary>
public DateTime? FirstViewTime { get; set; }
/// <summary>
/// 简历首次查询时间
/// </summary>
public DateTime? LastViewTime { get; set; }
/// <summary> /// <summary>
/// 状态 /// 状态
/// </summary> /// </summary>

@ -66,11 +66,11 @@ public class Ghrh_ResumeServices : BaseServices<Ghrh_Resume, Ghrh_ResumeDto, Ins
{ {
case "WaitRecommend": case "WaitRecommend":
if (jsonParam.columnValue.ObjToInt() == 1) if (jsonParam.columnValue.ObjToInt() == 1)
whereExpression.And(x => x.IsRecommend == false || x.IsRecommend == null); whereExpression.And(x => x.Status == DIC_INTERVIEW_ORDER_STATUS.WaitRecommended);
break; break;
case "HasRecommend": case "HasRecommend":
if (jsonParam.columnValue.ObjToInt() == 1) if (jsonParam.columnValue.ObjToInt() == 1)
whereExpression.And(x => x.IsRecommend == true); whereExpression.And(x => x.Status == DIC_INTERVIEW_ORDER_STATUS.HasRecommended);
break; break;
case "SalaryPeriod": case "SalaryPeriod":
case "Education": case "Education":
@ -891,7 +891,7 @@ END";
resume.Base.ApplicationStatus = status; resume.Base.ApplicationStatus = status;
resume.Base.ApplicationTime = DateTime.Now; resume.Base.ApplicationTime = DateTime.Now;
if (status == "Submit") if (status == "Submit")
resume.Base.Status = "All"; resume.Base.Status = DIC_INTERVIEW_ORDER_STATUS.WaitRecommended;
if (resume.Base.PhotoUrls != null && resume.Base.PhotoUrls.Any()) if (resume.Base.PhotoUrls != null && resume.Base.PhotoUrls.Any())
resume.Base.PhotoUrl = resume.Base.PhotoUrls[0].RelativePath; resume.Base.PhotoUrl = resume.Base.PhotoUrls[0].RelativePath;
@ -1193,6 +1193,11 @@ END";
#region 简历推荐 #region 简历推荐
public async Task<ServiceResult> Recommend(long id, ResumeRecommendForm recommend) public async Task<ServiceResult> Recommend(long id, ResumeRecommendForm recommend)
{ {
await Db.Updateable<Ghrh_InterviewOrder>()
.SetColumns(it => it.IsEnable == 0)
.Where(it => it.ResumeId == id)
.ExecuteCommandAsync();
await _ghrh_InterviewOrderServices.Add(new InsertGhrh_InterviewOrderInput() await _ghrh_InterviewOrderServices.Add(new InsertGhrh_InterviewOrderInput()
{ {
ResumeId = id, ResumeId = id,
@ -1206,4 +1211,27 @@ END";
return ServiceResult.OprateSuccess(); return ServiceResult.OprateSuccess();
} }
#endregion #endregion
#region 简历库已推荐提醒
public async Task<ServiceResult> HasRecommendRemind(long id)
{
var entity = await base.QueryById(id);
if (entity == null)
return ServiceResult.OprateFailed("无效的简历ID!");
if (entity.Status != DIC_INTERVIEW_ORDER_STATUS.HasRecommended)
return ServiceResult.OprateFailed("只有在已推荐状态下简历才能发送提醒!");
var order = await Db.Queryable<Ghrh_InterviewOrder>().FirstAsync(x => x.ResumeId == id);
if (order != null)
{
if (order.FirstViewTime.IsNotEmptyOrNull())
return ServiceResult.OprateFailed("面试官已查看简历,暂不可发送提醒!");
}
return ServiceResult.OprateSuccess();
}
#endregion
} }
Loading…
Cancel
Save