From 1ada498155f672d3f8b2fd57b97d396bd8053d7d Mon Sep 17 00:00:00 2001 From: ndbs Date: Fri, 25 Nov 2022 12:30:05 +0800 Subject: [PATCH] =?UTF-8?q?=E9=98=B3=E5=85=89=E6=95=99=E8=82=B2=20?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Learun.Application.WebApi.csproj | 1 + .../Modules/SunshineEducationApi.cs | 254 ++++++++++++++++++ 2 files changed, 255 insertions(+) create mode 100644 Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/SunshineEducationApi.cs diff --git a/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Learun.Application.WebApi.csproj b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Learun.Application.WebApi.csproj index 241a43d9b..8ae63c870 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Learun.Application.WebApi.csproj +++ b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Learun.Application.WebApi.csproj @@ -200,6 +200,7 @@ + diff --git a/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/SunshineEducationApi.cs b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/SunshineEducationApi.cs new file mode 100644 index 000000000..db567ec6f --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/SunshineEducationApi.cs @@ -0,0 +1,254 @@ +using Nancy; +using Learun.Util; +using System.Collections.Generic; +using Learun.Application.TwoDevelopment.EducationalAdministration; +using System; +using Learun.Application.Base.SystemModule; +using System.IO; +using System.Web.Mvc; +using Learun.Application.WebApi.Modules; +using System.Linq; + +namespace Learun.Application.WebApi +{ + /// + /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 + /// Copyright (c) 2013-2018 北京泉江科技有限公司 + /// 创 建:超级管理员 + /// 日 期:2020-06-03 14:29 + /// 描 述:听课记录 + /// + public class SunshineEducationApi : BaseNoLoginApi + { + private SunshineEducationIBLL sunshineEducationIBLL = new SunshineEducationBLL(); + private AnnexesFileIBLL annexesFileIBLL = new AnnexesFileBLL(); + + /// + /// 阳光教育 + /// + public SunshineEducationApi() + : base("/Learun/adms/SunshineEducation") + { + Get["/pagelist"] = GetPageList; + Get["/list"] = GetList; + Get["/form"] = GetForm; + Get["/statistics"] = StatisticsForm; + //Post["/delete"] = DeleteForm; + Get["/down"] = DownAnnexesFile; + Post["/upload"] = Upload; + Post["/save"] = SaveForm;//提交,回复,评论 + Post["/clicks"] = ClicksForm; + } + #region 获取数据 + + /// + /// 获取页面显示列表分页数据 + /// + /// + /// + public Response GetPageList(dynamic _) + { + ReqPageParam parameter = this.GetReqData(); + var data = sunshineEducationIBLL.GetPageList(parameter.pagination, parameter.queryJson); + var jsonData = new + { + rows = data, + total = parameter.pagination.total, + page = parameter.pagination.page, + records = parameter.pagination.records + }; + return Success(jsonData); + } + /// + /// 获取页面显示列表数据 + /// + /// + /// + public Response GetList(dynamic _) + { + string queryJson = this.GetReqData(); + var data = sunshineEducationIBLL.GetList(queryJson); + return Success(data); + } + /// + /// 获取表单数据 + /// + /// + /// + public Response GetForm(dynamic _) + { + string keyValue = this.GetReqData(); + var sunshineEducationData = sunshineEducationIBLL.GetEntity(keyValue); + sunshineEducationData.Contents = WebHelper.HtmlDecode(sunshineEducationData.Contents); + var jsonData = new + { + sunshineEducation = sunshineEducationData, + }; + return Success(jsonData); + } + + public Response StatisticsForm(dynamic _) + { + var data = sunshineEducationIBLL.GetAllList(); + var zsNum = data.Count(); + var yclNum = data.Count(x => x.Status == 2); + var slzNum = data.Count(x => x.Status == 1); + var wclNum = data.Count(x => x.Status == 0); + return Success(new { zsNum, yclNum, wclNum,slzNum }); + } + + #endregion + + #region 提交数据 + + ///// + ///// 删除实体数据 + ///// + ///// + ///// + //public Response DeleteForm(dynamic _) + //{ + // string keyValue = this.GetReqData(); + // sunshineEducationIBLL.DeleteEntity(keyValue); + // return Success("删除成功!"); + //} + + /// + /// 保存实体数据(新增、修改) + /// + /// + /// + public Response SaveForm(dynamic _) + { + ReqFormEntity parameter = this.GetReqData(); + SunshineEducationEntity entity = parameter.strEntity.ToObject(); + if (!string.IsNullOrEmpty(parameter.keyValue)) + { + var data = sunshineEducationIBLL.GetEntity(parameter.keyValue); + + if (data.AcceptanceCode != entity.AcceptanceCode) + { + return Fail("评论失败,受理单号不正确"); + } + entity.Contents = WebHelper.HtmlEncode(data.Contents); + } + else + { + entity.Contents = WebHelper.HtmlEncode(entity.Contents); + } + sunshineEducationIBLL.SaveEntity(parameter.keyValue, entity); + return Success("保存成功!"); + } + + /// + /// 点击累计 + /// + /// + /// + public Response ClicksForm(dynamic _) + { + string keyValue = this.GetReqData(); + sunshineEducationIBLL.ClicksEntity(keyValue); + return Success("点击数据!"); + } + #endregion + + #region 上传附件图片文件 + + /// + /// 上传附件图片文件 + /// + /// + public Response Upload(dynamic _) + { + var files = (List)this.Context.Request.Files; + string folderId = Guid.NewGuid().ToString(); + string filePath = Config.GetValue("AnnexesFile"); + string uploadDate = DateTime.Now.ToString("yyyyMMdd"); + string fileEextension = Path.GetExtension(files[0].Name); + string fileType = fileEextension.Replace(".", ""); + string fileGuid = Guid.NewGuid().ToString(); + + string virtualPath = string.Format("{0}/{1}/{2}/{3}{4}", filePath, "system", uploadDate, fileGuid, fileEextension); + + //创建文件夹 + string path = Path.GetDirectoryName(virtualPath); + Directory.CreateDirectory(path); + AnnexesFileEntity fileAnnexesEntity = new AnnexesFileEntity(); + if (!System.IO.File.Exists(virtualPath)) + { + byte[] bytes = new byte[files[0].Value.Length]; + files[0].Value.Read(bytes, 0, bytes.Length); + FileInfo file = new FileInfo(virtualPath); + FileStream fs = file.Create(); + fs.Write(bytes, 0, bytes.Length); + fs.Close(); + + //文件信息写入数据库 + fileAnnexesEntity.F_Id = fileGuid; + fileAnnexesEntity.F_FileName = files[0].Name; + fileAnnexesEntity.F_FilePath = virtualPath; + fileAnnexesEntity.F_FileSize = files[0].Value.Length.ToString(); + fileAnnexesEntity.F_FileExtensions = fileEextension; + fileAnnexesEntity.F_FileType = fileType; + fileAnnexesEntity.F_CreateUserId = "system"; + fileAnnexesEntity.F_CreateUserName = "system"; + + annexesFileIBLL.SaveEntity(folderId, fileAnnexesEntity); + } + + return SuccessString(folderId); + } + + /// + /// 删除文件 + /// + /// + /// + public Response DeleteFile(dynamic _) + { + var fileId = this.GetReqData(); + AnnexesFileEntity fileInfoEntity = annexesFileIBLL.GetEntity(fileId); + annexesFileIBLL.DeleteEntity(fileId); + //删除文件 + if (System.IO.File.Exists(fileInfoEntity.F_FilePath)) + { + System.IO.File.Delete(fileInfoEntity.F_FilePath); + } + + return Success("删除成功"); + } + + /// + /// 下载文件 + /// + /// + /// + public Response DownAnnexesFile(dynamic _) + { + string name = this.GetReqData(); + string fileId = name.Split('.')[0]; + var data = annexesFileIBLL.GetEntity(fileId); + string filepath = data.F_FilePath; + if (FileDownHelper.FileExists(filepath)) + { + FileDownHelper.DownLoadnew(filepath); + } + return Success(""); + } + #endregion + + #region 私有类 + + /// + /// 表单实体类 + /// + private class ReqFormEntity + { + public string keyValue { get; set; } + public string strEntity { get; set; } + } + #endregion + + } +} \ No newline at end of file