新增简历推荐接口

master
xiaochanghai 7 months ago
parent 34d7bd7189
commit 30b2184b61
  1. 7
      Model/Tiobon.Web.pdm
  2. 14
      Tiobon.Core.Api/Controllers/Ghrh/Ghrh_ResumeController.cs
  3. 34
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  4. 8
      Tiobon.Core.Api/Tiobon.Core.xml
  5. 2
      Tiobon.Core.IServices/Ghrh/IGhrh_ResumeServices.cs
  6. 5
      Tiobon.Core.Model/Base/Ghrh/Ghrh_InterviewOrder.Dto.Base.cs
  7. 13
      Tiobon.Core.Model/Consts.cs
  8. 5
      Tiobon.Core.Model/Models/Ghrh/Ghrh_InterviewOrder.cs
  9. 30
      Tiobon.Core.Model/ViewModels/Extend/ResumeViewTab.cs
  10. 4
      Tiobon.Core.Services/BASE/BaseServices.cs
  11. 20
      Tiobon.Core.Services/Ghrh/Ghrh_InterviewOrderServices.cs
  12. 25
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<?PowerDesigner AppLocale="UTF16" ID="{C294868A-C3F3-41AD-98CC-78B6D4E0CC40}" Label="" LastModificationDate="1731479583" Name="Tiobon" Objects="2356" Symbols="94" Target="Microsoft SQL Server 2008" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="15.0.0.2613"?>
<?PowerDesigner AppLocale="UTF16" ID="{C294868A-C3F3-41AD-98CC-78B6D4E0CC40}" Label="" LastModificationDate="1731481029" Name="Tiobon" Objects="2356" Symbols="94" Target="Microsoft SQL Server 2008" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="15.0.0.2613"?>
<!-- do not edit this file -->
<Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
@ -39608,11 +39608,10 @@ Ghra_staff_InsureBase
<a:Code>RecommendId</a:Code>
<a:CreationDate>1731476437</a:CreationDate>
<a:Creator>Administrator</a:Creator>
<a:ModificationDate>1731477359</a:ModificationDate>
<a:ModificationDate>1731481029</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<a:Comment>推荐人ID</a:Comment>
<a:DataType>nvarchar(2000)</a:DataType>
<a:Length>2000</a:Length>
<a:DataType>long</a:DataType>
</o:Column>
<o:Column Id="o2288">
<a:ObjectID>924E8CAA-4918-4516-8CEC-89B70362C55B</a:ObjectID>

@ -200,4 +200,18 @@ public class Ghrh_ResumeController : BaseController<IGhrh_ResumeServices, Ghrh_R
return await _service.Export(body, $"Status ='{status}'");
}
#endregion
#region 推荐
/// <summary>
/// 推荐
/// </summary>
/// <param name="body">信息</param>
/// <param name="id">简历Id</param>
/// <returns></returns>
[HttpPost, Route("Recommend/{id}")]
public async Task<ServiceResult> Recommend([FromBody] ResumeRecommendForm body, long id)
{
return await _service.Recommend(id, body);
}
#endregion
}

@ -6263,7 +6263,7 @@
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.RecommendId">
<summary>
推荐人ID
</summary>
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrderBase.ReceiverIds">
<summary>
@ -16484,7 +16484,7 @@
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.RecommendId">
<summary>
推荐人ID
</summary>
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrh_InterviewOrder.ReceiverIds">
<summary>
@ -21557,6 +21557,16 @@
已作废
</summary>
</member>
<member name="T:Tiobon.Core.Model.Consts.DIC_INTERVIEW_ORDER_STATUS">
<summary>
面试工单-状态
</summary>
</member>
<member name="F:Tiobon.Core.Model.Consts.DIC_INTERVIEW_ORDER_STATUS.HasRecommended">
<summary>
已推荐
</summary>
</member>
<member name="F:Tiobon.Core.Model.AuthorityScopeEnum.NONE">
<summary>
无任何权限
@ -22117,6 +22127,26 @@
Type Description balabala
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendForm.RequestId">
<summary>
人力需求维护ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendForm.InterviewStaffs">
<summary>
面试官列表
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendFormStaff.StaffId">
<summary>
员工ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendFormStaff.Email">
<summary>
邮箱
</summary>
</member>
<member name="T:Tiobon.Core.Model.ViewModels.GuestbookViewModels">
<summary>
留言信息展示类

@ -1344,6 +1344,14 @@
<param name="status">status</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghrh_ResumeController.Recommend(Tiobon.Core.Model.ViewModels.Extend.ResumeRecommendForm,System.Int64)">
<summary>
推荐
</summary>
<param name="body">信息</param>
<param name="id">简历Id</param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghrh_ResumeEduBGController">
<summary>
教育背景(Controller)

@ -32,4 +32,6 @@ public interface IGhrh_ResumeServices : IBaseServices<Ghrh_Resume, Ghrh_ResumeDt
Task<ServiceResult<dynamic>> QueryResult(long id, int langId);
Task<ServiceResult<string>> Export(QueryBody filter, string condition, bool? IsEnable = true);
Task<ServiceResult> Recommend(long id, ResumeRecommendForm recommend);
}

@ -46,9 +46,8 @@ public class Ghrh_InterviewOrderBase
/// <summary>
/// 推荐人ID
/// </summary>
[Display(Name = "RecommendId"), Description("推荐人ID"), MaxLength(2000, ErrorMessage = "推荐人ID 不能超过 2000 个字符")]
public string RecommendId { get; set; }
/// </summary>
public long? RecommendId { get; set; }
/// <summary>
/// 简历接收人ids

@ -282,4 +282,17 @@ public class Consts
public const string Disable = "Disable";
}
#endregion
#region 面试工单
/// <summary>
/// 面试工单-状态
/// </summary>
public static class DIC_INTERVIEW_ORDER_STATUS
{
/// <summary>
/// 已推荐
/// </summary>
public const string HasRecommended = "HasRecommended";
}
#endregion
}

@ -47,9 +47,8 @@ public class Ghrh_InterviewOrder : BasePoco
/// <summary>
/// 推荐人ID
/// </summary>
[Display(Name = "RecommendId"), Description("推荐人ID"), MaxLength(2000, ErrorMessage = "推荐人ID 不能超过 2000 个字符")]
public string RecommendId { get; set; }
/// </summary>
public long? RecommendId { get; set; }
/// <summary>
/// 简历接收人ids

@ -61,7 +61,33 @@ public class ResumeFormColumnSubmit
public List<InsertGhrh_ResumeWorkExpInput> WorkExp { get; set; }
public List<Ghrs_Attachment> Attachment { get; set; }
}
public class ResumeRecommendForm
{
/// <summary>
/// 人力需求维护ID
/// </summary>
public long RequestId { get; set; }
/// <summary>
/// 面试官列表
/// </summary>
public List<ResumeRecommendFormStaff> InterviewStaffs { get; set; }
}
public class ResumeRecommendFormStaff
{
/// <summary>
/// 员工ID
/// </summary>
public long StaffId { get; set; }
/// <summary>
/// 邮箱
/// </summary>
public string Email { get; set; }
}
public class ResumeAttachment
@ -75,6 +101,6 @@ public class ResumeAttachment
}
public class ResumePhotoAttachment: ResumeAttachment
public class ResumePhotoAttachment : ResumeAttachment
{
}

@ -1404,6 +1404,10 @@ public class BaseServices<TEntity, TEntityDto, TInsertDto, TEditDto> : IBaseServ
StaffId = Convert.ToInt32(StaffId1);
return StaffId;
}
public async Task<Ghrs_User> GetUser()
{
return await Db.Queryable<Ghrs_User>().FirstAsync();
}
#region 获取部门列表
public static void LoopToAppendChildren(List<Ghro_Dept> depts, List<Ghro_Dept> depts1, Ghro_Dept dept)

@ -6,10 +6,28 @@
public class Ghrh_InterviewOrderServices : BaseServices<Ghrh_InterviewOrder, Ghrh_InterviewOrderDto, InsertGhrh_InterviewOrderInput, EditGhrh_InterviewOrderInput>, IGhrh_InterviewOrderServices
{
private readonly IBaseRepository<Ghrh_InterviewOrder> _dal;
public Ghrh_InterviewOrderServices(ICaching caching, IBaseRepository<Ghrh_InterviewOrder> dal)
private readonly IGhrh_InterviewLogServices _ghrh_InterviewLogServices;
public Ghrh_InterviewOrderServices(ICaching caching,
IGhrh_InterviewLogServices ghrh_InterviewLogServices,
IBaseRepository<Ghrh_InterviewOrder> dal)
{
this._dal = dal;
base.BaseDal = dal;
base._caching = caching;
_ghrh_InterviewLogServices = ghrh_InterviewLogServices;
}
public override async Task<long> Add(InsertGhrh_InterviewOrderInput entity)
{
var result = await base.Add(entity);
var usser = await GetUser();
await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput()
{
OrderId = result,
RemarkSz = $"用户【{usser?.UserName ?? App.User.ID.ToString()}】推荐了简历!"
});
return result;
}
}

@ -1,4 +1,7 @@
namespace Tiobon.Core.Services;
using Tiobon.Core.IServices;
using static Tiobon.Core.Model.Consts;
namespace Tiobon.Core.Services;
/// <summary>
/// 个人简历 (服务)
@ -16,6 +19,7 @@ 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;
private readonly IGhrh_InterviewOrderServices _ghrh_InterviewOrderServices;
public Ghrh_ResumeServices(ICaching caching,
IBaseRepository<Ghrh_Resume> dal,
IGhrh_ResumeEduBGServices ghre_ResumeEduBGServices,
@ -24,6 +28,7 @@ public class Ghrh_ResumeServices : BaseServices<Ghrh_Resume, Ghrh_ResumeDto, Ins
IGhrh_ResumeLicenceServices ghre_ResumeLicenceServices,
IGhrh_ResumeTrainingServices ghre_ResumeTrainingServices,
IGhrh_ResumeStatementServices ghre_ResumeStatementServices,
IGhrh_InterviewOrderServices ghre_InterviewOrderServices,
IGhrh_ResumeWorkExpServices ghre_ResumeWorkExpServices)
{
this._dal = dal;
@ -35,6 +40,7 @@ public class Ghrh_ResumeServices : BaseServices<Ghrh_Resume, Ghrh_ResumeDto, Ins
_ghrh_ResumeLicenceServices = ghre_ResumeLicenceServices;
_ghrh_ResumeTrainingServices = ghre_ResumeTrainingServices;
_ghrh_ResumeStatementServices = ghre_ResumeStatementServices;
_ghrh_InterviewOrderServices = ghre_InterviewOrderServices;
_ghrh_ResumeWorkExpServices = ghre_ResumeWorkExpServices;
}
@ -1183,4 +1189,21 @@ END";
return result;
}
#endregion
#region 简历推荐
public async Task<ServiceResult> Recommend(long id, ResumeRecommendForm recommend)
{
await _ghrh_InterviewOrderServices.Add(new InsertGhrh_InterviewOrderInput()
{
ResumeId = id,
RequestId = recommend.RequestId,
RecommendTime = DateTime.Now,
RecommendId = App.User.ID,
ReceiverIds = JsonHelper.ObjToJson(recommend),
Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended
});
return ServiceResult.OprateSuccess();
}
#endregion
}
Loading…
Cancel
Save