JtMessageProducerServiceImpl.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package com.goafanti.message.service.impl;
  2. import java.util.Date;
  3. import java.util.HashMap;
  4. import java.util.Iterator;
  5. import java.util.List;
  6. import java.util.Map;
  7. import java.util.UUID;
  8. import org.apache.commons.lang3.StringUtils;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import com.goafanti.common.dao.AdminMapper;
  12. import com.goafanti.common.dao.JtMessageConsumerMapper;
  13. import com.goafanti.common.dao.JtMessageProducerMapper;
  14. import com.goafanti.common.dao.UserMapper;
  15. import com.goafanti.common.model.JtMessageConsumer;
  16. import com.goafanti.common.model.JtMessageProducer;
  17. import com.goafanti.core.mybatis.BaseMybatisDao;
  18. import com.goafanti.core.mybatis.page.Pagination;
  19. import com.goafanti.core.shiro.token.TokenManager;
  20. import com.goafanti.message.service.JtMessageProducerService;
  21. @Service
  22. public class JtMessageProducerServiceImpl extends BaseMybatisDao<JtMessageProducerMapper> implements JtMessageProducerService{
  23. @Autowired
  24. private JtMessageProducerMapper jtMessageProducerMapper;
  25. @Autowired
  26. private UserMapper userMapper;
  27. @Autowired
  28. private AdminMapper adminMapper;
  29. @Autowired
  30. private JtMessageConsumerMapper jtMessageConsumerMapper;
  31. @Override
  32. public int addMessage(JtMessageProducer messageProducer) {
  33. //处理消息内容
  34. messageProducer.setId(UUID.randomUUID().toString());
  35. //获得当前登录用户名字
  36. String create = adminMapper.selectByPrimaryKey(TokenManager.getAdminId()).getName();
  37. if(StringUtils.isBlank(create)){
  38. create = userMapper.selectByPrimaryKey(TokenManager.getUserId()).getUsername();
  39. }
  40. if(StringUtils.isBlank(create)){
  41. return -1;
  42. }
  43. messageProducer.setCreater(create);
  44. if(null != messageProducer.getCreateTime()){
  45. messageProducer.setCreateTime(new Date());
  46. }
  47. return jtMessageProducerMapper.insertSelective(messageProducer);
  48. }
  49. @Override
  50. public int addSendMessage(String messageId) {
  51. // 获得所有正常使用的注册用户
  52. List<JtMessageConsumer> list = userMapper.getAllUser();
  53. Iterator<JtMessageConsumer> it = list.iterator();
  54. while (it.hasNext()) {
  55. JtMessageConsumer mc = (JtMessageConsumer) it.next();
  56. mc.setId(UUID.randomUUID().toString());
  57. mc.setMessageId(messageId);
  58. }
  59. JtMessageProducer messageProducer = new JtMessageProducer();
  60. messageProducer.setId(messageId);
  61. messageProducer.setSendTime(new Date());
  62. messageProducer.setIsSend(true);
  63. messageProducer.setIsDraft(false);
  64. jtMessageProducerMapper.updateByPrimaryKeySelective(messageProducer);
  65. return jtMessageConsumerMapper.addBatch(list);
  66. }
  67. @Override
  68. public JtMessageProducer getMessageById(String messageId) {
  69. return jtMessageProducerMapper.selectByPrimaryKey(messageId);
  70. }
  71. @Override
  72. public int updateMessageById(JtMessageProducer messageProducer) {
  73. int count = 0;
  74. // 推送消息
  75. if(messageProducer.getIsSend() && !messageProducer.getDeleteSign() && !messageProducer.getIsDraft()){
  76. if(null == messageProducer.getSendTime()) messageProducer.setSendTime(new Date());
  77. count += addSendMessage(messageProducer.getId());
  78. }
  79. // 修改消息
  80. messageProducer.setCreateTime(null);//不修改创建时间
  81. count = jtMessageProducerMapper.updateByPrimaryKeySelective(messageProducer);
  82. return count;
  83. }
  84. @SuppressWarnings("unchecked")
  85. @Override
  86. public Pagination<JtMessageProducer> getMessageList(JtMessageProducer messageProducer, String sendStartTime, String sendEndTime, Integer pageNo,Integer pageSize) {
  87. if(pageNo==null || pageNo<1)pageNo=1;
  88. if(pageSize==null ||pageSize<1)pageSize=10;
  89. Map<String, Object> params=new HashMap<String,Object>();
  90. //params.put("create", TokenManager.getUserId());
  91. if(StringUtils.isNotBlank(messageProducer.getTitle()))params.put("title",messageProducer.getTitle());
  92. if(null != messageProducer.getIsDraft())params.put("isDraft",messageProducer.getIsDraft());
  93. if(null != messageProducer.getIsSend())params.put("isSend",messageProducer.getIsSend());
  94. if(StringUtils.isNotBlank(sendStartTime))params.put("sendStartTime",sendStartTime);
  95. if(StringUtils.isNotBlank(sendEndTime))params.put("sendEndTime",sendEndTime);
  96. return (Pagination<JtMessageProducer>) findPage("getMyMessageList", "getMyMessageCount", params, pageNo, pageSize);
  97. }
  98. }