Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 
 
 

196 строки
6.8 KiB

  1. using Nancy;
  2. using Learun.Util;
  3. using System.Collections.Generic;
  4. using Learun.Application.TwoDevelopment.EducationalAdministration;
  5. using System.Linq;
  6. using Learun.Application.Organization;
  7. using System;
  8. namespace Learun.Application.WebApi
  9. {
  10. /// <summary>
  11. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  12. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  13. /// 创 建:超级管理员
  14. /// 日 期:2019-06-17 16:28
  15. /// 描 述:日志发送
  16. /// </summary>
  17. public class JournalApi : BaseApi
  18. {
  19. private JournalSendIBLL journalIBLL = new JournalSendBLL();
  20. private JournalReceiveIBLL journalReceiveIBLL = new JournalReceiveBLL();
  21. private UserIBLL userIBLL = new UserBLL();
  22. /// <summary>
  23. /// 注册接口
  24. /// <summary>
  25. public JournalApi()
  26. : base("/Learun/adms/EducationalAdministration/Journal")
  27. {
  28. Get["/pagelist"] = GetPageList;
  29. Get["/list"] = GetList;
  30. Get["/form"] = GetForm;
  31. Post["/delete"] = DeleteForm;
  32. Post["/save"] = SaveForm;
  33. Post["/saveDraft"] = SaveDraft;
  34. Post["/savePt"] = SavePt;
  35. Post["/send"] = Send;
  36. }
  37. #region 获取数据
  38. /// <summary>
  39. /// 获取页面显示列表分页数据
  40. /// <summary>
  41. /// <param name="_"></param>
  42. /// <returns></returns>
  43. public Response GetPageList(dynamic _)
  44. {
  45. ReqPageParam parameter = this.GetReqData<ReqPageParam>();
  46. var data = journalIBLL.GetPageList(parameter.pagination, parameter.queryJson);
  47. if (data != null)
  48. {
  49. foreach (var item in data)
  50. {
  51. item.JContent = WebHelper.HtmlDecode(item.JContent);
  52. }
  53. }
  54. var jsonData = new
  55. {
  56. rows = data,
  57. total = parameter.pagination.total,
  58. page = parameter.pagination.page,
  59. records = data.Count()
  60. };
  61. return Success(jsonData);
  62. }
  63. /// <summary>
  64. /// 获取页面显示列表数据
  65. /// <summary>
  66. /// <param name="_"></param>
  67. /// <returns></returns>
  68. public Response GetList(dynamic _)
  69. {
  70. string queryJson = this.GetReqData();
  71. var data = journalIBLL.GetList(queryJson);
  72. var result = data.ToList().Where(a => a.JSenderId == userInfo.userId || a.JReceiveId.Contains(userInfo.userId));
  73. return Success(result);
  74. }
  75. /// <summary>
  76. /// 获取表单数据
  77. /// <summary>
  78. /// <param name="_"></param>
  79. /// <returns></returns>
  80. public Response GetForm(dynamic _)
  81. {
  82. string keyValue = this.GetReqData();
  83. var JournalSendData = journalIBLL.GetJournalSendEntityNoHtml(keyValue);
  84. if (JournalSendData != null)
  85. {
  86. JournalSendData.JContent = WebHelper.HtmlDecode(JournalSendData.JContent);
  87. }
  88. var jsonData = new
  89. {
  90. JournalSend = JournalSendData,
  91. };
  92. return Success(jsonData);
  93. }
  94. #endregion
  95. #region 提交数据
  96. /// <summary>
  97. /// 删除实体数据
  98. /// <param name="_"></param>
  99. /// <summary>
  100. /// <returns></returns>
  101. public Response DeleteForm(dynamic _)
  102. {
  103. string keyValue = this.GetReqData();
  104. journalIBLL.DeleteEntity(keyValue);
  105. return Success("删除成功!");
  106. }
  107. /// <summary>
  108. /// 保存实体数据(新增、修改)
  109. /// <param name="_"></param>
  110. /// <summary>
  111. /// <returns></returns>
  112. public Response SaveForm(dynamic _)
  113. {
  114. ReqFormEntity parameter = this.GetReqData<ReqFormEntity>();
  115. JournalSendEntity entity = parameter.strEntity.ToObject<JournalSendEntity>();
  116. var userInfo = LoginUserInfo.Get();
  117. entity.JSenderId = userInfo.userId;
  118. entity.JSender = userInfo.realName;
  119. entity.JReceive = userIBLL.GetEntityByUserId(entity.JReceiveId).F_RealName;
  120. entity.JIsSend = true;
  121. entity.JSendTime = DateTime.Now;
  122. journalIBLL.SaveEntity(this.userInfo, parameter.keyValue, entity);
  123. var receiveEntity = new JournalReceiveEntity();
  124. receiveEntity.JContent = entity.JContent;
  125. receiveEntity.JReceive = entity.JReceive;
  126. receiveEntity.JReceiveId = entity.JReceiveId;
  127. receiveEntity.JSender = entity.JSender;
  128. receiveEntity.JSenderId = entity.JSenderId;
  129. receiveEntity.JSendTime = entity.JSendTime;
  130. receiveEntity.JTitle = entity.JTitle;
  131. receiveEntity.JTypeId = entity.JTypeId;
  132. receiveEntity.JIsRead = false;
  133. journalReceiveIBLL.SaveEntity("", receiveEntity);
  134. return Success("保存成功!");
  135. }
  136. public Response SaveDraft(dynamic _)
  137. {
  138. ReqFormEntity parameter = this.GetReqData<ReqFormEntity>();
  139. JournalSendEntity entity = parameter.strEntity.ToObject<JournalSendEntity>();
  140. var userInfo = LoginUserInfo.Get();
  141. entity.JSenderId = userInfo.userId;
  142. entity.JSender = userInfo.realName;
  143. entity.JReceive = userIBLL.GetEntityByUserId(entity.JReceiveId).F_RealName;
  144. entity.JIsSend = false;
  145. entity.JSendTime = DateTime.Now;
  146. journalIBLL.SaveEntity(this.userInfo, parameter.keyValue, entity);
  147. return Success("保存成功!");
  148. }
  149. public Response SavePt(dynamic _)
  150. {
  151. ReqFormEntity parameter = this.GetReqData<ReqFormEntity>();
  152. JournalSendEntity entity = parameter.strEntity.ToObject<JournalSendEntity>();
  153. var userInfo = LoginUserInfo.Get();
  154. //entity.JContent = WebHelper.HtmlDecode(entity.JContent);
  155. entity.JSenderId = userInfo.userId;
  156. entity.JSender = userInfo.realName;
  157. entity.JIsSend = false;
  158. entity.JSendTime = DateTime.Now;
  159. journalIBLL.SaveEntity(parameter.keyValue, entity);
  160. return Success("保存成功!");
  161. }
  162. public Response Send(dynamic _)
  163. {
  164. string keyValue = this.GetReqData();
  165. journalIBLL.Send(keyValue);
  166. return Success("发送成功!");
  167. }
  168. #endregion
  169. #region 私有类
  170. /// <summary>
  171. /// 表单实体类
  172. /// <summary>
  173. private class ReqFormEntity
  174. {
  175. public string keyValue { get; set; }
  176. public string strEntity { get; set; }
  177. }
  178. #endregion
  179. }
  180. }