ZxNoticeServiceImpl.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. package com.ruoyi.system.service.impl;
  2. import com.ruoyi.common.core.domain.entity.SysUser;
  3. import com.ruoyi.common.utils.DateUtils;
  4. import com.ruoyi.common.utils.SecurityUtils;
  5. import com.ruoyi.system.domain.ZxFj;
  6. import com.ruoyi.system.domain.notice.ZxNotice;
  7. import com.ruoyi.system.domain.notice.ZxUserNotice;
  8. import com.ruoyi.system.mapper.ZxFjMapper;
  9. import com.ruoyi.system.service.IZxNoticeService;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Service;
  12. import com.ruoyi.common.utils.StringUtils;
  13. import org.springframework.transaction.annotation.Transactional;
  14. import com.ruoyi.system.mapper.ZxNoticeMapper;
  15. import java.util.ArrayList;
  16. import java.util.List;
  17. import static com.ruoyi.common.constant.CommonConstants.THR;
  18. /**
  19. * 政协通知公告Service业务层处理
  20. *
  21. * @author boman
  22. * @date 2024-03-05
  23. */
  24. @Service
  25. public class ZxNoticeServiceImpl implements IZxNoticeService
  26. {
  27. @Autowired
  28. private ZxNoticeMapper zxNoticeMapper;
  29. @Autowired
  30. private ZxFjMapper zxFjMapper;
  31. /**
  32. * 查询政协通知公告
  33. *
  34. * @param zxNoticeId 政协通知公告主键
  35. * @return 政协通知公告
  36. */
  37. @Override
  38. public ZxNotice selectZxNoticeByZxNoticeId(Long zxNoticeId)
  39. {
  40. //记录是谁看的
  41. ZxUserNotice zxUserNotice = new ZxUserNotice();
  42. SysUser user = SecurityUtils.getLoginUser().getUser();
  43. ZxNotice zxNotice = zxNoticeMapper.selectZxNoticeByZxNoticeId(zxNoticeId);
  44. zxUserNotice.setUserId(user.getUserId());
  45. zxUserNotice.setUserName(user.getUserName());
  46. zxUserNotice.setZxNoticeId(zxNoticeId);
  47. zxNoticeMapper.insterZxUserNotice(zxUserNotice);
  48. return zxNotice;
  49. }
  50. /**
  51. * 查询政协通知公告列表
  52. *
  53. * @param zxNotice 政协通知公告
  54. * @return 政协通知公告
  55. */
  56. @Override
  57. public List<ZxNotice> selectZxNoticeList(ZxNotice zxNotice)
  58. {
  59. return zxNoticeMapper.selectZxNoticeList(zxNotice);
  60. }
  61. /**
  62. * 新增政协通知公告
  63. *
  64. * @param zxNotice 政协通知公告
  65. * @return 结果
  66. */
  67. @Transactional(rollbackFor = Exception.class)
  68. @Override
  69. public int insertZxNotice(ZxNotice zxNotice)
  70. {
  71. zxNotice.setCreateTime(DateUtils.getNowDate());
  72. int rows = zxNoticeMapper.insertZxNotice(zxNotice);
  73. insertZxFj(zxNotice);
  74. insertZxUserNotice(zxNotice);
  75. return rows;
  76. }
  77. /**
  78. * 修改政协通知公告
  79. *
  80. * @param zxNotice 政协通知公告
  81. * @return 结果
  82. */
  83. @Transactional(rollbackFor = Exception.class)
  84. @Override
  85. public int updateZxNotice(ZxNotice zxNotice)
  86. {
  87. zxNotice.setUpdateTime(DateUtils.getNowDate());
  88. zxNoticeMapper.deleteZxUserNoticeByZxNoticeId(zxNotice.getZxNoticeId());
  89. zxFjMapper.deleteZxFjBySourceId(zxNotice.getZxNoticeId());
  90. insertZxUserNotice(zxNotice);
  91. insertZxFj(zxNotice);
  92. return zxNoticeMapper.updateZxNotice(zxNotice);
  93. }
  94. /**
  95. * 批量删除政协通知公告
  96. *
  97. * @param zxNoticeIds 需要删除的政协通知公告主键
  98. * @return 结果
  99. */
  100. @Transactional
  101. @Override
  102. public int deleteZxNoticeByZxNoticeIds(Long[] zxNoticeIds)
  103. {
  104. zxNoticeMapper.deleteZxUserNoticeByZxNoticeIds(zxNoticeIds);
  105. return zxNoticeMapper.deleteZxNoticeByZxNoticeIds(zxNoticeIds);
  106. }
  107. /**
  108. * 删除政协通知公告信息
  109. *
  110. * @param zxNoticeId 政协通知公告主键
  111. * @return 结果
  112. */
  113. @Transactional
  114. @Override
  115. public int deleteZxNoticeByZxNoticeId(Long zxNoticeId)
  116. {
  117. zxNoticeMapper.deleteZxUserNoticeByZxNoticeId(zxNoticeId);
  118. return zxNoticeMapper.deleteZxNoticeByZxNoticeId(zxNoticeId);
  119. }
  120. /**
  121. * 新增用户与政协通知公告关联信息
  122. *
  123. * @param zxNotice 政协通知公告对象
  124. */
  125. public void insertZxUserNotice(ZxNotice zxNotice)
  126. {
  127. List<ZxUserNotice> zxUserNoticeList = zxNotice.getZxUserNoticeList();
  128. Long zxNoticeId = zxNotice.getZxNoticeId();
  129. if (StringUtils.isNotNull(zxUserNoticeList))
  130. {
  131. List<ZxUserNotice> list = new ArrayList<ZxUserNotice>();
  132. for (ZxUserNotice zxUserNotice : zxUserNoticeList)
  133. {
  134. zxUserNotice.setZxNoticeId(zxNoticeId);
  135. list.add(zxUserNotice);
  136. }
  137. if (list.size() > 0)
  138. {
  139. zxNoticeMapper.batchZxUserNotice(list);
  140. }
  141. }
  142. }
  143. /**
  144. * 新增通知公告附件关联信息
  145. *
  146. * @param zxNotice 政协通知公告对象
  147. */
  148. public void insertZxFj(ZxNotice zxNotice)
  149. {
  150. List<ZxFj> zxFjListFj = zxNotice.getZxFjListFj();
  151. Long zxNoticeId = zxNotice.getZxNoticeId();
  152. if (StringUtils.isNotNull(zxFjListFj))
  153. {
  154. List<ZxFj> list = new ArrayList<ZxFj>();
  155. for (ZxFj zxFj : zxFjListFj)
  156. {
  157. zxFj.setType(THR);
  158. zxFj.setMainId(zxNoticeId);
  159. zxFj.setSourceId(zxNoticeId);
  160. list.add(zxFj);
  161. }
  162. if (list.size() > 0)
  163. {
  164. zxFjMapper.batchZxFj(list);
  165. }
  166. }
  167. }
  168. }