Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 
 

148 linhas
5.2 KiB

  1. using Learun.Application.Base.SystemModule;
  2. using Learun.Application.TwoDevelopment.LR_Desktop;
  3. using Learun.Util;
  4. using Nancy;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.IO;
  8. namespace Learun.Application.WebApi.Modules
  9. {
  10. public class EnrollTemplateApi : BaseNoAuthentication
  11. {
  12. public EnrollTemplateApi()
  13. : base("/learun/adms/enrolltemplate")
  14. {
  15. //下载招生模板
  16. Get["/downenrolltemplate"] = DownEnrollTemplate;
  17. //下载人事模板
  18. Get["/downpersonneltemplate"] = DownPersonnelTemplate;
  19. //上传招生文件
  20. Post["/uploadenroll"] = UploadEnroll;
  21. //上传人事文件
  22. Post["/uploadpersonnel"] = UploadPersonnel;
  23. }
  24. private AnnexesFileIBLL annexesFileIBLL = new AnnexesFileBLL();
  25. private EnrollTemplateIBLL enrollTemplateIBLL = new EnrollTemplateBLL();
  26. private EnrollDataIBLL enrollDataIBLL = new EnrollDataBLL();
  27. /// <summary>
  28. /// 上传招生文件
  29. /// <summary>
  30. /// <returns></returns>
  31. public Response UploadEnroll(dynamic _)
  32. {
  33. var files = (List<HttpFile>)this.Context.Request.Files;
  34. var folderId = Upload(1, files);
  35. return SuccessString(folderId);
  36. }
  37. /// <summary>
  38. /// 上传人事文件
  39. /// </summary>
  40. /// <param name="_"></param>
  41. /// <returns></returns>
  42. public Response UploadPersonnel(dynamic _)
  43. {
  44. var files = (List<HttpFile>)this.Context.Request.Files;
  45. var folderId = Upload(2, files);
  46. return SuccessString(folderId);
  47. }
  48. /// <summary>
  49. /// 上传
  50. /// </summary>
  51. /// <param name="type"></param>
  52. /// <param name="files"></param>
  53. /// <returns></returns>
  54. private string Upload(int type,List<HttpFile> files)
  55. {
  56. var folderId = Guid.NewGuid().ToString();
  57. string filePath = Config.GetValue("AnnexesFile");
  58. string uploadDate = DateTime.Now.ToString("yyyyMMdd");
  59. string FileEextension = Path.GetExtension(files[0].Name);
  60. string fileGuid = Guid.NewGuid().ToString();
  61. string virtualPath = string.Format("{0}/{1}/{2}/{3}{4}", filePath, "EnrollData", uploadDate, fileGuid, FileEextension);
  62. //创建文件夹
  63. string path = Path.GetDirectoryName(virtualPath);
  64. Directory.CreateDirectory(path);
  65. AnnexesFileEntity fileAnnexesEntity = new AnnexesFileEntity();
  66. EnrollDataEntity enrollData = new EnrollDataEntity();
  67. if (!System.IO.File.Exists(virtualPath))
  68. {
  69. byte[] bytes = new byte[files[0].Value.Length];
  70. files[0].Value.Read(bytes, 0, bytes.Length);
  71. FileInfo file = new FileInfo(virtualPath);
  72. FileStream fs = file.Create();
  73. fs.Write(bytes, 0, bytes.Length);
  74. fs.Close();
  75. //文件信息写入数据库
  76. fileAnnexesEntity.F_Id = fileGuid;
  77. fileAnnexesEntity.F_FolderId = folderId;
  78. fileAnnexesEntity.F_FileName = files[0].Name;
  79. fileAnnexesEntity.F_FilePath = virtualPath;
  80. fileAnnexesEntity.F_FileSize = files[0].Value.Length.ToString();
  81. fileAnnexesEntity.F_FileExtensions = FileEextension;
  82. fileAnnexesEntity.F_FileType = FileEextension.Replace(".", "");
  83. annexesFileIBLL.SaveEntity(folderId, fileAnnexesEntity);
  84. enrollData.Id = Guid.NewGuid().ToString();
  85. enrollData.UploadTime = DateTime.Now;
  86. enrollData.Type = type;
  87. enrollData.Path = folderId;
  88. enrollDataIBLL.SaveEntity("",enrollData);
  89. }
  90. return folderId;
  91. }
  92. /// <summary>
  93. /// 下载招生模板
  94. /// </summary>
  95. /// <param name="_"></param>
  96. /// <returns></returns>
  97. public Response DownEnrollTemplate(dynamic _)
  98. {
  99. var enrollTemplate = enrollTemplateIBLL.GetEnabledEntity(1);
  100. if (enrollTemplate == null)
  101. {
  102. return Fail("无可用模板!");
  103. }
  104. var data = annexesFileIBLL.GetEntity(enrollTemplate.Path);
  105. string filepath = data.F_FilePath;
  106. if (FileDownHelper.FileExists(filepath))
  107. {
  108. FileDownHelper.DownLoadnew(filepath);
  109. }
  110. return Success("");
  111. }
  112. /// <summary>
  113. /// 下载人事模板
  114. /// </summary>
  115. /// <param name="_"></param>
  116. /// <returns></returns>
  117. public Response DownPersonnelTemplate(dynamic _)
  118. {
  119. var enrollTemplate = enrollTemplateIBLL.GetEnabledEntity(2);
  120. if (enrollTemplate == null)
  121. {
  122. return Fail("无可用模板!");
  123. }
  124. var data = annexesFileIBLL.GetEntity(enrollTemplate.Path);
  125. string filepath = data.F_FilePath;
  126. if (FileDownHelper.FileExists(filepath))
  127. {
  128. FileDownHelper.DownLoadnew(filepath);
  129. }
  130. return Success("");
  131. }
  132. }
  133. }