ZxConferenceServiceImpl.java 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. package com.ruoyi.system.service.impl;
  2. import com.ruoyi.common.config.RuoYiConfig;
  3. import com.ruoyi.common.utils.DateUtils;
  4. import com.ruoyi.common.utils.QRCodeUtils;
  5. import com.ruoyi.common.utils.SecurityUtils;
  6. import com.ruoyi.system.domain.ZxFj;
  7. import com.ruoyi.system.domain.conference.ZxConference;
  8. import com.ruoyi.system.domain.conference.ZxConferenceUser;
  9. import com.ruoyi.system.domain.notice.ZxNotice;
  10. import com.ruoyi.system.mapper.ZxFjMapper;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import com.ruoyi.common.utils.StringUtils;
  14. import org.springframework.transaction.annotation.Transactional;
  15. import com.ruoyi.system.mapper.ZxConferenceMapper;
  16. import com.ruoyi.system.service.IZxConferenceService;
  17. import java.util.ArrayList;
  18. import java.util.List;
  19. import static com.ruoyi.common.constant.CommonConstants.FOR;
  20. import static com.ruoyi.common.constant.CommonConstants.THR;
  21. /**
  22. * 政协会议活动Service业务层处理
  23. *
  24. * @author boman
  25. * @date 2024-03-06
  26. */
  27. @Service
  28. public class ZxConferenceServiceImpl implements IZxConferenceService {
  29. @Autowired
  30. private ZxConferenceMapper zxConferenceMapper;
  31. @Autowired
  32. private ZxFjMapper zxFjMapper;
  33. /**
  34. * 查询政协会议活动
  35. *
  36. * @param conferenceId 政协会议活动主键
  37. * @return 政协会议活动
  38. */
  39. @Override
  40. public ZxConference selectZxConferenceByConferenceId(Long conferenceId) {
  41. return zxConferenceMapper.selectZxConferenceByConferenceId(conferenceId);
  42. }
  43. /**
  44. * 查询政协会议活动人员详情
  45. *
  46. * @param conferenceId 政协会议活动主键
  47. * @return
  48. */
  49. @Override
  50. public List<ZxConferenceUser> selectZxConferenceUserByConferenceId(Long conferenceId) {
  51. return zxConferenceMapper.selectZxConferenceUserByConferenceId(conferenceId);
  52. }
  53. /**
  54. *查询政协会议活动人员详情
  55. * @return
  56. */
  57. @Override
  58. public List<ZxConferenceUser> selectZxConferenceUser(ZxConferenceUser zxConferenceUser) {
  59. return zxConferenceMapper.selectZxConferenceUser(zxConferenceUser);
  60. }
  61. /**
  62. * 查询政协会议活动列表
  63. *
  64. * @param zxConference 政协会议活动
  65. * @return 政协会议活动
  66. */
  67. @Override
  68. public List<ZxConference> selectZxConferenceList(ZxConference zxConference) {
  69. //查询是否答复,不答复算未读
  70. List<ZxConference> zxConferences = zxConferenceMapper.selectZxConferenceList(zxConference);
  71. if (zxConferences != null && zxConferences.size() > 0) {
  72. long count;
  73. for (ZxConference conference : zxConferences) {
  74. List<ZxConferenceUser> zxConferenceUserList = conference.getZxConferenceUserList();
  75. conference.setRead("0");
  76. conference.setNoRead("0");
  77. if (zxConferenceUserList != null && zxConferenceUserList.size() > 0) {
  78. //找出答复字段不是null的
  79. count = zxConferenceUserList.stream().filter(e -> e.getIsJoin() != null).count();
  80. conference.setRead(count + "");
  81. conference.setNoRead(String.valueOf(zxConferenceUserList.size() - count));
  82. }
  83. }
  84. }
  85. return zxConferences;
  86. }
  87. /**
  88. * 新增政协会议活动
  89. *
  90. * @param zxConference 政协会议活动
  91. * @return 结果
  92. */
  93. @Transactional(rollbackFor = Exception.class)
  94. @Override
  95. public int insertZxConference(ZxConference zxConference) {
  96. //todo 给参会人员发送短信
  97. zxConference.setCreateTime(DateUtils.getNowDate());
  98. int rows = zxConferenceMapper.insertZxConference(zxConference);
  99. insertZxConferenceUser(zxConference);
  100. insertZxFj(zxConference);
  101. try {
  102. String imagePath= QRCodeUtils.encode(zxConference.getConferenceId().toString(), null, RuoYiConfig.getUploadQrPath(), true);
  103. zxConference.setConferenceQr(imagePath);
  104. zxConferenceMapper.updateZxConference(zxConference);
  105. } catch (Exception e) {
  106. e.printStackTrace();
  107. }
  108. return rows;
  109. }
  110. /**
  111. * 修改政协会议活动
  112. *
  113. * @param zxConference 政协会议活动
  114. * @return 结果
  115. */
  116. @Transactional(rollbackFor = Exception.class)
  117. @Override
  118. public int updateZxConference(ZxConference zxConference) {
  119. //todo 给参会人员发送短信
  120. zxConference.setUpdateTime(DateUtils.getNowDate());
  121. zxConferenceMapper.deleteZxConferenceUserByConferenceId(zxConference.getConferenceId());
  122. zxFjMapper.deleteZxFjBySourceId(zxConference.getConferenceId());
  123. insertZxConferenceUser(zxConference);
  124. insertZxFj(zxConference);
  125. return zxConferenceMapper.updateZxConference(zxConference);
  126. }
  127. /**
  128. * 修改会议答复信息
  129. */
  130. @Override
  131. public int updateReply(ZxConferenceUser zxConferenceUser) {
  132. zxConferenceUser.setUserId(SecurityUtils.getUserId());
  133. return zxConferenceMapper.updateReply(zxConferenceUser);
  134. }
  135. /**
  136. * 批量删除政协会议活动
  137. *
  138. * @param conferenceIds 需要删除的政协会议活动主键
  139. * @return 结果
  140. */
  141. @Transactional(rollbackFor = Exception.class)
  142. @Override
  143. public int deleteZxConferenceByConferenceIds(Long[] conferenceIds) {
  144. zxConferenceMapper.deleteZxConferenceUserByConferenceIds(conferenceIds);
  145. return zxConferenceMapper.deleteZxConferenceByConferenceIds(conferenceIds);
  146. }
  147. /**
  148. * 删除政协会议活动信息
  149. *
  150. * @param conferenceId 政协会议活动主键
  151. * @return 结果
  152. */
  153. @Transactional(rollbackFor = Exception.class)
  154. @Override
  155. public int deleteZxConferenceByConferenceId(Long conferenceId) {
  156. zxConferenceMapper.deleteZxConferenceUserByConferenceId(conferenceId);
  157. return zxConferenceMapper.deleteZxConferenceByConferenceId(conferenceId);
  158. }
  159. /**
  160. * 新增政协会议活动-用户关联信息
  161. *
  162. * @param zxConference 政协会议活动对象
  163. */
  164. public void insertZxConferenceUser(ZxConference zxConference) {
  165. List<ZxConferenceUser> zxConferenceUserList = zxConference.getZxConferenceUserList();
  166. Long conferenceId = zxConference.getConferenceId();
  167. if (StringUtils.isNotNull(zxConferenceUserList)) {
  168. List<ZxConferenceUser> list = new ArrayList<ZxConferenceUser>();
  169. for (ZxConferenceUser zxConferenceUser : zxConferenceUserList) {
  170. zxConferenceUser.setConferenceId(conferenceId);
  171. list.add(zxConferenceUser);
  172. }
  173. if (list.size() > 0) {
  174. zxConferenceMapper.batchZxConferenceUser(list);
  175. }
  176. }
  177. }
  178. /**
  179. * 新增政协会议附件关联信息
  180. *
  181. */
  182. public void insertZxFj(ZxConference zxConference)
  183. {
  184. List<ZxFj> zxFjListFj = zxConference.getZxFjListFj();
  185. Long conferenceId = zxConference.getConferenceId();
  186. if (StringUtils.isNotNull(zxFjListFj))
  187. {
  188. List<ZxFj> list = new ArrayList<ZxFj>();
  189. for (ZxFj zxFj : zxFjListFj)
  190. {
  191. zxFj.setType(FOR);
  192. zxFj.setMainId(conferenceId);
  193. zxFj.setSourceId(conferenceId);
  194. list.add(zxFj);
  195. }
  196. if (list.size() > 0)
  197. {
  198. zxFjMapper.batchZxFj(list);
  199. }
  200. }
  201. }
  202. }