namespace SimpleAdmin.Web.Core; /// /// 提供合同模板、版本、变量和适用范围相关 HTTP 接口。 /// [ApiDescriptionSettings("Application", Tag = "入职合同模板")] [Route("biz/onboarding/contract-template")] [RolePermission] public class OnboardingContractTemplateController { private readonly IOnboardingContractTemplateService _service; private readonly IFileService _fileService; public OnboardingContractTemplateController( IOnboardingContractTemplateService service, IFileService fileService) { _service = service; _fileService = fileService; } /// /// 将入职合同 DOCX 模板上传到阿里云 OSS。 /// [HttpPost("file/upload-docx")] [Consumes("multipart/form-data")] [RequestSizeLimit(20 * 1024 * 1024)] public async Task UploadDocx([FromForm] IFormFile file) { if (file == null || file.Length == 0) throw Oops.Bah("请选择需要上传的 DOCX 文件"); var suffix = Path.GetExtension(file.FileName); if (!string.Equals(suffix, ".docx", StringComparison.OrdinalIgnoreCase)) throw Oops.Bah("合同模板仅支持 DOCX 文件"); return await _fileService.UploadFile(SysDictConst.FILE_ENGINE_ALIYUN_OSS, file); } /// /// 分页查询合同模板。 /// [HttpGet("page")] public async Task Page([FromQuery] OnboardingContractTemplatePageInput input) { return await _service.Page(input); } /// /// 查询合同模板详情。 /// [HttpGet("detail")] public async Task Detail([FromQuery] BaseIdInput input) { return await _service.Detail(input); } /// /// 新增合同模板。 /// [HttpPost("add")] public async Task Add([FromBody] OnboardingContractTemplateAddInput input) { await _service.Add(input); } /// /// 编辑合同模板。 /// [HttpPost("edit")] public async Task Edit([FromBody] OnboardingContractTemplateEditInput input) { await _service.Edit(input); } /// /// 删除合同模板。 /// [HttpPost("delete")] public async Task Delete([FromBody] BaseIdListInput input) { await _service.Delete(input); } /// /// 分页查询合同模板版本。 /// [HttpGet("version/page")] public async Task VersionPage([FromQuery] OnboardingContractVersionPageInput input) { return await _service.VersionPage(input); } /// /// 新增合同模板版本。 /// [HttpPost("version/add")] public async Task AddVersion([FromBody] OnboardingContractVersionAddInput input) { await _service.AddVersion(input); } /// /// 设置合同模板版本状态。 /// [HttpPost("version/set-status")] public async Task SetVersionStatus([FromBody] OnboardingContractVersionStatusInput input) { await _service.SetVersionStatus(input); } /// /// 分页查询模板变量。 /// [HttpGet("variable/page")] public async Task VariablePage([FromQuery] OnboardingTemplateVariablePageInput input) { return await _service.VariablePage(input); } /// /// 新增模板变量。 /// [HttpPost("variable/add")] public async Task AddVariable([FromBody] OnboardingTemplateVariableAddInput input) { await _service.AddVariable(input); } /// /// 编辑模板变量。 /// [HttpPost("variable/edit")] public async Task EditVariable([FromBody] OnboardingTemplateVariableEditInput input) { await _service.EditVariable(input); } /// /// 删除模板变量。 /// [HttpPost("variable/delete")] public async Task DeleteVariable([FromBody] BaseIdListInput input) { await _service.DeleteVariable(input); } /// /// 分页查询合同适用范围。 /// [HttpGet("scope/page")] public async Task ScopePage([FromQuery] OnboardingContractScopePageInput input) { return await _service.ScopePage(input); } /// /// 新增合同适用范围。 /// [HttpPost("scope/add")] public async Task AddScope([FromBody] OnboardingContractScopeAddInput input) { await _service.AddScope(input); } /// /// 编辑合同适用范围。 /// [HttpPost("scope/edit")] public async Task EditScope([FromBody] OnboardingContractScopeEditInput input) { await _service.EditScope(input); } /// /// 删除合同适用范围。 /// [HttpPost("scope/delete")] public async Task DeleteScope([FromBody] BaseIdListInput input) { await _service.DeleteScope(input); } }