You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

176 lines
6.3 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. }
  36. #region 获取数据
  37. /// <summary>
  38. /// 获取页面显示列表分页数据
  39. /// <summary>
  40. /// <param name="_"></param>
  41. /// <returns></returns>
  42. public Response GetPageList(dynamic _)
  43. {
  44. ReqPageParam parameter = this.GetReqData<ReqPageParam>();
  45. var data = journalIBLL.GetPageList(parameter.pagination, parameter.queryJson).ToList();
  46. var result = data.Where(a => a.JSenderId == userInfo.userId || a.JReceiveId.Contains(userInfo.userId));
  47. var jsonData = new
  48. {
  49. rows = result,
  50. total = parameter.pagination.total,
  51. page = parameter.pagination.page,
  52. records = result.Count(),
  53. };
  54. return Success(jsonData);
  55. }
  56. /// <summary>
  57. /// 获取页面显示列表数据
  58. /// <summary>
  59. /// <param name="_"></param>
  60. /// <returns></returns>
  61. public Response GetList(dynamic _)
  62. {
  63. string queryJson = this.GetReqData();
  64. var data = journalIBLL.GetList(queryJson);
  65. var result = data.ToList().Where(a => a.JSenderId == userInfo.userId || a.JReceiveId.Contains(userInfo.userId));
  66. return Success(result);
  67. }
  68. /// <summary>
  69. /// 获取表单数据
  70. /// <summary>
  71. /// <param name="_"></param>
  72. /// <returns></returns>
  73. public Response GetForm(dynamic _)
  74. {
  75. string keyValue = this.GetReqData();
  76. var JournalSendData = journalIBLL.GetJournalSendEntityNoHtml(keyValue);
  77. var jsonData = new
  78. {
  79. JournalSend = JournalSendData,
  80. };
  81. return Success(jsonData);
  82. }
  83. #endregion
  84. #region 提交数据
  85. /// <summary>
  86. /// 删除实体数据
  87. /// <param name="_"></param>
  88. /// <summary>
  89. /// <returns></returns>
  90. public Response DeleteForm(dynamic _)
  91. {
  92. string keyValue = this.GetReqData();
  93. journalIBLL.DeleteEntity(keyValue);
  94. return Success("删除成功!");
  95. }
  96. /// <summary>
  97. /// 保存实体数据(新增、修改)
  98. /// <param name="_"></param>
  99. /// <summary>
  100. /// <returns></returns>
  101. public Response SaveForm(dynamic _)
  102. {
  103. ReqFormEntity parameter = this.GetReqData<ReqFormEntity>();
  104. JournalSendEntity entity = parameter.strEntity.ToObject<JournalSendEntity>();
  105. var userInfo = LoginUserInfo.Get();
  106. entity.JSenderId = userInfo.userId;
  107. entity.JSender = userInfo.realName;
  108. entity.JReceive = userIBLL.GetEntityByUserId(entity.JReceiveId).F_RealName;
  109. entity.JIsSend = true;
  110. entity.JSendTime = DateTime.Now;
  111. journalIBLL.SaveEntity(this.userInfo, parameter.keyValue, entity);
  112. var receiveEntity = new JournalReceiveEntity();
  113. receiveEntity.JContent = entity.JContent;
  114. receiveEntity.JReceive = entity.JReceive;
  115. receiveEntity.JReceiveId = entity.JReceiveId;
  116. receiveEntity.JSender = entity.JSender;
  117. receiveEntity.JSenderId = entity.JSenderId;
  118. receiveEntity.JSendTime = entity.JSendTime;
  119. receiveEntity.JTitle = entity.JTitle;
  120. receiveEntity.JTypeId = entity.JTypeId;
  121. receiveEntity.JIsRead = false;
  122. journalReceiveIBLL.SaveEntity("", receiveEntity);
  123. return Success("保存成功!");
  124. }
  125. public Response SaveDraft(dynamic _)
  126. {
  127. ReqFormEntity parameter = this.GetReqData<ReqFormEntity>();
  128. JournalSendEntity entity = parameter.strEntity.ToObject<JournalSendEntity>();
  129. var userInfo = LoginUserInfo.Get();
  130. entity.JSenderId = userInfo.userId;
  131. entity.JSender = userInfo.realName;
  132. entity.JReceive = userIBLL.GetEntityByUserId(entity.JReceiveId).F_RealName;
  133. entity.JIsSend = false;
  134. entity.JSendTime = DateTime.Now;
  135. journalIBLL.SaveEntity(this.userInfo, parameter.keyValue, entity);
  136. return Success("保存成功!");
  137. }
  138. public Response SavePt(dynamic _)
  139. {
  140. ReqFormEntity parameter = this.GetReqData<ReqFormEntity>();
  141. JournalSendEntity entity = parameter.strEntity.ToObject<JournalSendEntity>();
  142. var userInfo = LoginUserInfo.Get();
  143. entity.JSenderId = userInfo.userId;
  144. entity.JSender = userInfo.realName;
  145. entity.JIsSend = false;
  146. entity.JSendTime = DateTime.Now;
  147. journalIBLL.SaveEntity(parameter.keyValue, entity);
  148. return Success("保存成功!");
  149. }
  150. #endregion
  151. #region 私有类
  152. /// <summary>
  153. /// 表单实体类
  154. /// <summary>
  155. private class ReqFormEntity
  156. {
  157. public string keyValue { get; set; }
  158. public string strEntity { get; set; }
  159. }
  160. #endregion
  161. }
  162. }