linwe
2024-05-29 c10d6358b9f014375a13821465bc978d0c0da22e
src/main/java/org/springblade/modules/messageRecord/service/impl/MessageRecordServiceImpl.java
@@ -18,9 +18,11 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import liquibase.pro.packaged.S;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.modules.email.service.IEmailAccountService;
import org.springblade.modules.email.service.IEmailService;
@@ -37,6 +39,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.transaction.annotation.Transactional;
import javax.mail.MessagingException;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -63,9 +66,10 @@
   @Override
   @Transactional(rollbackFor = Exception.class)
   public Boolean customizeSave(MessageRecordVO messageRecord) {
      if (StringUtils.isBlank(messageRecord.getType())) {
         return false;
      }
      List<User> userList = new ArrayList();
      if (messageRecord.getMessageResource().equals("1")) {
         //系统消息(receiveUser指定的是部门,所以要通过部门去查人)
         userList = userService.getUserListByDeptIds(messageRecord.getReceiver());
@@ -76,27 +80,27 @@
      //保存消息记录
      boolean saveRecord = save(messageRecord);
      List<MessageUser> messageUserList = new ArrayList<>();
      userList.forEach(user -> {
         MessageUser messageUser = new MessageUser();
         messageUser.setUserId(user.getId().toString());
         messageUser.setMessageRecordId(messageRecord.getId().toString());
         messageUser.setType(messageRecord.getType());
         messageUser.setCreateTime(DateUtil.now());
         messageUser.setUpdateTime(DateUtil.now());
         messageUser.setSendStatus("1");
         if (messageRecord.getType().indexOf("1") > -1) {
            messageUser.setSendStatus("2");
         } else if (messageRecord.getType().indexOf("2") > -1) {
            messageUser.setEmail(user.getEmail());
         } else if (messageRecord.getType().indexOf("3") > -1) {
            messageUser.setSendStatus("2");
            messageUser.setPhone(user.getPhone());
         List<String> longs = Func.toStrList(messageRecord.getType());
         for (String type : longs) {
            MessageUser messageUser = new MessageUser();
            messageUser.setUserId(user.getId().toString());
            messageUser.setMessageRecordId(messageRecord.getId());
            messageUser.setType(type);
            messageUser.setCreateTime(DateUtil.now());
            messageUser.setUpdateTime(DateUtil.now());
            messageUser.setSendStatus("1");
            if (messageUser.getType().indexOf("1") > -1) {
               messageUser.setSendStatus("2");
            } else if (messageUser.getType().indexOf("2") > -1) {
               messageUser.setEmail(user.getEmail());
            } else if (messageUser.getType().indexOf("3") > -1) {
               messageUser.setSendStatus("2");
               messageUser.setPhone(user.getPhone());
            }
            messageUserList.add(messageUser);
         }
         messageUserList.add(messageUser);
      });
      //在message_user表里存数据
      boolean saveBatch = messageUserService.saveBatch(messageUserList);
@@ -138,5 +142,14 @@
      return true;
   }
   @Override
   public List<MessageRecordVO> getUnreadList() {
      try {
         List<MessageRecordVO> aa = emailAccountService.getUnreadList();
         return aa;
      } catch (MessagingException e) {
         e.printStackTrace();
      }
      return null;
   }
}