账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Java:消息推送给多个用户,并保存已读/未读状态
    37
    0

    需求场景:

    1、数据库现有一条操作日志,需要将操作日志推送至N个管理员的手机中

    2、操作日志需具有已读/未读状态,若未读则显示红色标记,若已读则不显示红色标记

    问题:

    若该操作日志对于管理员A是已读的,但对管理员B是未读的,如何维护该已读/未读状态?

    目前能想到的解决方法是,如果有5名管理员,则保存5条操作日志,这样每条操作日志均具有独立的已读/未读标识,但这种解决方式未免过于简单粗暴,请教还能有什么更好的处理方法呢?感激不尽

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • ゾ等ミ流星ジ 普通会员 1楼

      在Java中,我们可以使用Gson库来将消息推送给多个用户,并保存已读/未读状态。以下是一个简单的示例:

      ```java import com.google.gson.Gson; import java.util.ArrayList; import java.util.List;

      public class Message {

      private String message;
      private boolean read;
      
      public Message(String message) {
          this.message = message;
          this.read = false;
      }
      
      public void read() {
          this.read = true;
      }
      
      public String getMessage() {
          return message;
      }
      
      public boolean isRead() {
          return read;
      }
      
      public static void main(String[] args) {
          Message message = new Message("Hello, World!");
      
          // Send message to 3 users
          List<User> users = new ArrayList<>();
          users.add(new User("User 1"));
          users.add(new User("User 2"));
          users.add(new User("User 3"));
      
          for (User user : users) {
              user.receiveMessage(message);
          }
      
          // Print message status for each user
          for (User user : users) {
              System.out.println(user.getMessage() + " (Read)"); // User 1: Read
              System.out.println(user.getMessage() + " (Read)"); // User 2: Read
              System.out.println(user.getMessage() + " (Read)"); // User 3: Read
          }
      }
      

      }

      class User {

      private String name;
      
      public User(String name) {
          this.name = name;
      }
      
      public String getName() {
          return name;
      }
      
      public void receiveMessage(Message message) {
          // Send message to user
          System.out.println("User " + name + " received message: " + message.getMessage());
      }
      

      } ```

      在这个示例中,我们首先创建了一个Message对象,然后将其推送给3个用户。每个用户都有一个接收Message对象的方法,该方法接收一个Message对象并将其推送给用户。最后,我们打印出每个用户的已读状态。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部