补充注释
This commit is contained in:
+18
@@ -1,9 +1,27 @@
|
||||
namespace SimpleAdmin.Application;
|
||||
|
||||
/// <summary>
|
||||
/// 员工端材料上传前校验参数。
|
||||
/// </summary>
|
||||
public class OnboardingMaterialUploadValidationInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 员工填写链接中的明文 Token。
|
||||
/// </summary>
|
||||
public string Token { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 材料类型 Id。
|
||||
/// </summary>
|
||||
public long MaterialTypeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 待上传文件名称。
|
||||
/// </summary>
|
||||
public string FileName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 待上传文件大小,单位为字节。
|
||||
/// </summary>
|
||||
public long FileLength { get; set; }
|
||||
}
|
||||
|
||||
+47
@@ -1,38 +1,85 @@
|
||||
namespace SimpleAdmin.Application;
|
||||
|
||||
/// <summary>
|
||||
/// 单个动态字段填写值。
|
||||
/// </summary>
|
||||
public class OnboardingDynamicValueInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 动态字段 Id。
|
||||
/// </summary>
|
||||
public long FieldId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 动态字段填写值。
|
||||
/// </summary>
|
||||
public string FieldValue { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 批量保存员工动态字段参数。
|
||||
/// </summary>
|
||||
public class OnboardingSaveDynamicValuesInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 员工填写链接中的明文 Token。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.DataAnnotations.Required]
|
||||
public string Token { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 待保存的字段或变量值集合。
|
||||
/// </summary>
|
||||
public List<OnboardingDynamicValueInput> Values { get; set; } = new();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存员工已上传材料参数。
|
||||
/// </summary>
|
||||
public class OnboardingSaveMaterialInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 员工填写链接中的明文 Token。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.DataAnnotations.Required]
|
||||
public string Token { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 材料类型 Id。
|
||||
/// </summary>
|
||||
public long MaterialTypeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 系统文件 Id。
|
||||
/// </summary>
|
||||
public long FileId { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 员工确认阅读合同参数。
|
||||
/// </summary>
|
||||
public class OnboardingConfirmContractInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 员工填写链接中的明文 Token。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.DataAnnotations.Required]
|
||||
public string Token { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 任务合同 Id。
|
||||
/// </summary>
|
||||
public long TaskContractId { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 员工提交入职资料参数。
|
||||
/// </summary>
|
||||
public class OnboardingSubmitInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 员工填写链接中的明文 Token。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.DataAnnotations.Required]
|
||||
public string Token { get; set; }
|
||||
}
|
||||
|
||||
+18
@@ -1,10 +1,28 @@
|
||||
namespace SimpleAdmin.Application;
|
||||
|
||||
/// <summary>
|
||||
/// 定义员工端入职资料提交业务能力。
|
||||
/// </summary>
|
||||
public interface IOnboardingPublicSubmissionService : ITransient
|
||||
{
|
||||
/// <summary>
|
||||
/// 保存候选人填写的动态字段值。
|
||||
/// </summary>
|
||||
Task SaveDynamicValues(OnboardingSaveDynamicValuesInput input);
|
||||
/// <summary>
|
||||
/// 关联候选人已经上传的系统文件与材料类型。
|
||||
/// </summary>
|
||||
Task SaveMaterial(OnboardingSaveMaterialInput input);
|
||||
/// <summary>
|
||||
/// 记录候选人已阅读并确认指定任务合同。
|
||||
/// </summary>
|
||||
Task ConfirmContract(OnboardingConfirmContractInput input);
|
||||
/// <summary>
|
||||
/// 校验全部必填资料后提交入职任务进入审核。
|
||||
/// </summary>
|
||||
Task Submit(OnboardingSubmitInput input);
|
||||
/// <summary>
|
||||
/// 在保存文件前校验材料适用范围、扩展名、大小和数量。
|
||||
/// </summary>
|
||||
Task ValidateMaterialUpload(OnboardingMaterialUploadValidationInput input);
|
||||
}
|
||||
|
||||
+19
-2
@@ -1,5 +1,8 @@
|
||||
namespace SimpleAdmin.Application;
|
||||
|
||||
/// <summary>
|
||||
/// 实现员工端入职资料提交业务能力。
|
||||
/// </summary>
|
||||
public class OnboardingPublicSubmissionService : IOnboardingPublicSubmissionService
|
||||
{
|
||||
private readonly SqlSugarScope _db;
|
||||
@@ -12,6 +15,9 @@ public class OnboardingPublicSubmissionService : IOnboardingPublicSubmissionServ
|
||||
_snapshotService = snapshotService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存候选人填写的动态字段值。
|
||||
/// </summary>
|
||||
public async Task SaveDynamicValues(OnboardingSaveDynamicValuesInput input)
|
||||
{
|
||||
var task = await GetEditableTask(input.Token);
|
||||
@@ -52,6 +58,9 @@ public class OnboardingPublicSubmissionService : IOnboardingPublicSubmissionServ
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 关联候选人已经上传的系统文件与材料类型。
|
||||
/// </summary>
|
||||
public async Task SaveMaterial(OnboardingSaveMaterialInput input)
|
||||
{
|
||||
var task = await GetEditableTask(input.Token);
|
||||
@@ -84,6 +93,9 @@ public class OnboardingPublicSubmissionService : IOnboardingPublicSubmissionServ
|
||||
}).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 记录候选人已阅读并确认指定任务合同。
|
||||
/// </summary>
|
||||
public async Task ConfirmContract(OnboardingConfirmContractInput input)
|
||||
{
|
||||
var task = await GetEditableTask(input.Token);
|
||||
@@ -97,6 +109,9 @@ public class OnboardingPublicSubmissionService : IOnboardingPublicSubmissionServ
|
||||
await _db.Updateable(contract).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 校验全部必填资料后提交入职任务进入审核。
|
||||
/// </summary>
|
||||
public async Task Submit(OnboardingSubmitInput input)
|
||||
{
|
||||
var task = await GetEditableTask(input.Token);
|
||||
@@ -111,6 +126,7 @@ public class OnboardingPublicSubmissionService : IOnboardingPublicSubmissionServ
|
||||
|
||||
await _snapshotService.Build(task.Id, info);
|
||||
|
||||
// 提交时统一完成动态字段、材料、合同变量和合同确认校验,保存阶段只负责暂存。
|
||||
var requiredFields = (await GetEffectiveFormRequirements(task))
|
||||
.Where(item => item.Required)
|
||||
.Select(item => item.FieldId)
|
||||
@@ -160,6 +176,9 @@ public class OnboardingPublicSubmissionService : IOnboardingPublicSubmissionServ
|
||||
}).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 在保存文件前校验材料适用范围、扩展名、大小和数量。
|
||||
/// </summary>
|
||||
public async Task ValidateMaterialUpload(OnboardingMaterialUploadValidationInput input)
|
||||
{
|
||||
var task = await GetEditableTask(input.Token);
|
||||
@@ -262,5 +281,3 @@ public class OnboardingPublicSubmissionService : IOnboardingPublicSubmissionServ
|
||||
return task;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user