ZxConferenceServiceImpl.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. package com.ruoyi.system.service.impl;
  2. import com.ruoyi.common.utils.DateUtils;
  3. import com.ruoyi.system.domain.conference.ZxConference;
  4. import com.ruoyi.system.domain.conference.ZxConferenceUser;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Service;
  7. import com.ruoyi.common.utils.StringUtils;
  8. import org.springframework.transaction.annotation.Transactional;
  9. import com.ruoyi.system.mapper.ZxConferenceMapper;
  10. import com.ruoyi.system.service.IZxConferenceService;
  11. import java.util.ArrayList;
  12. import java.util.List;
  13. /**
  14. * 政协会议活动Service业务层处理
  15. *
  16. * @author boman
  17. * @date 2024-03-06
  18. */
  19. @Service
  20. public class ZxConferenceServiceImpl implements IZxConferenceService {
  21. @Autowired
  22. private ZxConferenceMapper zxConferenceMapper;
  23. /**
  24. * 查询政协会议活动
  25. *
  26. * @param conferenceId 政协会议活动主键
  27. * @return 政协会议活动
  28. */
  29. @Override
  30. public ZxConference selectZxConferenceByConferenceId(Long conferenceId) {
  31. return zxConferenceMapper.selectZxConferenceByConferenceId(conferenceId);
  32. }
  33. /**
  34. * 查询政协会议活动人员详情
  35. *
  36. * @param conferenceId 政协会议活动主键
  37. * @return
  38. */
  39. @Override
  40. public List<ZxConferenceUser> selectZxConferenceUserByConferenceId(Long conferenceId) {
  41. return zxConferenceMapper.selectZxConferenceUserByConferenceId(conferenceId);
  42. }
  43. /**
  44. * 查询政协会议活动列表
  45. *
  46. * @param zxConference 政协会议活动
  47. * @return 政协会议活动
  48. */
  49. @Override
  50. public List<ZxConference> selectZxConferenceList(ZxConference zxConference) {
  51. //查询是否答复,不答复算未读
  52. List<ZxConference> zxConferences = zxConferenceMapper.selectZxConferenceList(zxConference);
  53. if (zxConferences != null && zxConferences.size() > 0) {
  54. for (ZxConference conference : zxConferences) {
  55. List<ZxConferenceUser> zxConferenceUserList = conference.getZxConferenceUserList();
  56. //找出答复字段不是null的
  57. long count = zxConferenceUserList.stream().filter(e -> e.getIsJoin() != null).count();
  58. conference.setRead(count + "");
  59. conference.setNoRead(String.valueOf(zxConferenceUserList.size() - count));
  60. }
  61. }
  62. return zxConferences;
  63. }
  64. /**
  65. * 新增政协会议活动
  66. *
  67. * @param zxConference 政协会议活动
  68. * @return 结果
  69. */
  70. @Transactional(rollbackFor = Exception.class)
  71. @Override
  72. public int insertZxConference(ZxConference zxConference) {
  73. //todo 给参会人员发送短信
  74. zxConference.setCreateTime(DateUtils.getNowDate());
  75. int rows = zxConferenceMapper.insertZxConference(zxConference);
  76. insertZxConferenceUser(zxConference);
  77. return rows;
  78. }
  79. /**
  80. * 修改政协会议活动
  81. *
  82. * @param zxConference 政协会议活动
  83. * @return 结果
  84. */
  85. @Transactional(rollbackFor = Exception.class)
  86. @Override
  87. public int updateZxConference(ZxConference zxConference) {
  88. //todo 给参会人员发送短信
  89. zxConference.setUpdateTime(DateUtils.getNowDate());
  90. zxConferenceMapper.deleteZxConferenceUserByConferenceId(zxConference.getConferenceId());
  91. insertZxConferenceUser(zxConference);
  92. return zxConferenceMapper.updateZxConference(zxConference);
  93. }
  94. /**
  95. * 修改会议答复信息
  96. */
  97. @Override
  98. public int updateReply(ZxConferenceUser zxConferenceUser) {
  99. return zxConferenceMapper.updateReply(zxConferenceUser);
  100. }
  101. /**
  102. * 批量删除政协会议活动
  103. *
  104. * @param conferenceIds 需要删除的政协会议活动主键
  105. * @return 结果
  106. */
  107. @Transactional
  108. @Override
  109. public int deleteZxConferenceByConferenceIds(Long[] conferenceIds) {
  110. zxConferenceMapper.deleteZxConferenceUserByConferenceIds(conferenceIds);
  111. return zxConferenceMapper.deleteZxConferenceByConferenceIds(conferenceIds);
  112. }
  113. /**
  114. * 删除政协会议活动信息
  115. *
  116. * @param conferenceId 政协会议活动主键
  117. * @return 结果
  118. */
  119. @Transactional
  120. @Override
  121. public int deleteZxConferenceByConferenceId(Long conferenceId) {
  122. zxConferenceMapper.deleteZxConferenceUserByConferenceId(conferenceId);
  123. return zxConferenceMapper.deleteZxConferenceByConferenceId(conferenceId);
  124. }
  125. /**
  126. * 新增政协会议活动-用户关联信息
  127. *
  128. * @param zxConference 政协会议活动对象
  129. */
  130. public void insertZxConferenceUser(ZxConference zxConference) {
  131. List<ZxConferenceUser> zxConferenceUserList = zxConference.getZxConferenceUserList();
  132. Long conferenceId = zxConference.getConferenceId();
  133. if (StringUtils.isNotNull(zxConferenceUserList)) {
  134. List<ZxConferenceUser> list = new ArrayList<ZxConferenceUser>();
  135. for (ZxConferenceUser zxConferenceUser : zxConferenceUserList) {
  136. zxConferenceUser.setConferenceId(conferenceId);
  137. list.add(zxConferenceUser);
  138. }
  139. if (list.size() > 0) {
  140. zxConferenceMapper.batchZxConferenceUser(list);
  141. }
  142. }
  143. }
  144. }