Sfoglia il codice sorgente

将 UserMessage 从 user 模块迁移到 message 模块

reghao 5 mesi fa
parent
commit
a4150a4451

+ 2 - 2
content/content-service/src/main/java/cn/reghao/tnb/content/app/vod/service/CommentService.java

@@ -10,7 +10,7 @@ import cn.reghao.tnb.content.app.vod.db.mongo.UserCommentMongo;
 import cn.reghao.tnb.content.app.vod.model.po.UserComment;
 import cn.reghao.tnb.content.app.vod.model.po.VideoPost;
 import cn.reghao.tnb.user.api.dto.UserCard;
-import cn.reghao.tnb.user.api.dto.UserMessageDto;
+import cn.reghao.tnb.message.api.dto.UserMessageDto;
 import cn.reghao.tnb.user.api.iface.UserService;
 import cn.reghao.tnb.content.api.dto.comment.CommentSbtDto;
 import cn.reghao.tnb.content.api.dto.comment.ReplyUser;
@@ -69,7 +69,7 @@ public class CommentService {
             String title = "新评论";
             String content = "发表了新评论";
             UserMessageDto userMessageDto = new UserMessageDto(title, content, publishBy);
-            userService.sendUserMessage(userMessageDto);
+            //userService.sendUserMessage(userMessageDto);
         }
     }
 

+ 1 - 1
user/user-api/src/main/java/cn/reghao/tnb/user/api/dto/UserMessageDto.java → message/message-api/src/main/java/cn/reghao/tnb/message/api/dto/UserMessageDto.java

@@ -1,4 +1,4 @@
-package cn.reghao.tnb.user.api.dto;
+package cn.reghao.tnb.message.api.dto;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;

+ 0 - 5
message/message-service/pom.xml

@@ -33,11 +33,6 @@
             <artifactId>account-api</artifactId>
             <version>1.0.0-SNAPSHOT</version>
         </dependency>
-        <dependency>
-            <groupId>cn.reghao.tnb.user</groupId>
-            <artifactId>user-api</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-        </dependency>
 
         <dependency>
             <groupId>mysql</groupId>

+ 5 - 4
user/user-service/src/main/java/cn/reghao/tnb/user/app/controller/UserMessageController.java → message/message-service/src/main/java/cn/reghao/tnb/message/app/controller/UserMessageController.java

@@ -1,9 +1,9 @@
-package cn.reghao.tnb.user.app.controller;
+package cn.reghao.tnb.message.app.controller;
 
 import cn.reghao.jutil.web.WebResult;
 import cn.reghao.tnb.common.auth.UserContext;
-import cn.reghao.tnb.user.app.model.po.UserMessage;
-import cn.reghao.tnb.user.app.service.UserMessageService;
+import cn.reghao.tnb.message.app.model.po.UserMessage;
+import cn.reghao.tnb.message.app.service.UserMessageService;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.Operation;
 import org.springframework.http.MediaType;
@@ -18,7 +18,8 @@ import java.util.Map;
  */
 @Tag(name = "用户消息接口")
 @RestController
-@RequestMapping("/api/user/message")
+//@RequestMapping("/api/user/message")
+@RequestMapping("/api/message/user")
 public class UserMessageController {
     private final UserMessageService userMessageService;
 

+ 2 - 2
user/user-service/src/main/java/cn/reghao/tnb/user/app/db/mapper/UserMessageMapper.java → message/message-service/src/main/java/cn/reghao/tnb/message/app/db/mapper/UserMessageMapper.java

@@ -1,7 +1,7 @@
-package cn.reghao.tnb.user.app.db.mapper;
+package cn.reghao.tnb.message.app.db.mapper;
 
 import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.user.app.model.po.UserMessage;
+import cn.reghao.tnb.message.app.model.po.UserMessage;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 

+ 2 - 2
user/user-service/src/main/java/cn/reghao/tnb/user/app/model/po/UserMessage.java → message/message-service/src/main/java/cn/reghao/tnb/message/app/model/po/UserMessage.java

@@ -1,7 +1,7 @@
-package cn.reghao.tnb.user.app.model.po;
+package cn.reghao.tnb.message.app.model.po;
 
 import cn.reghao.jutil.jdk.db.BaseObject;
-import cn.reghao.tnb.user.api.dto.UserMessageDto;
+import cn.reghao.tnb.message.api.dto.UserMessageDto;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.NoArgsConstructor;

+ 5 - 7
message/message-service/src/main/java/cn/reghao/tnb/message/app/service/MessageConsumer.java

@@ -3,17 +3,15 @@ package cn.reghao.tnb.message.app.service;
 import cn.reghao.jutil.jdk.serializer.JsonConverter;
 import cn.reghao.tnb.common.util.ConstantId;
 import cn.reghao.tnb.message.api.constant.MsgType;
+import cn.reghao.tnb.message.api.dto.UserMessageDto;
 import cn.reghao.tnb.message.api.dto.msg.RtmpMessage;
 import cn.reghao.tnb.message.app.model.msg.DingMsgUtil;
 import cn.reghao.tnb.message.app.service.notifier.ding.DingMsg;
 import cn.reghao.tnb.message.api.constant.NotifyType;
 import cn.reghao.tnb.message.api.dto.msg.LoginMessage;
 import cn.reghao.tnb.message.api.dto.msg.VerifyMessage;
-import cn.reghao.tnb.user.api.dto.UserMessageDto;
-import cn.reghao.tnb.user.api.iface.UserService;
 import com.google.gson.JsonObject;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.stereotype.Service;
 
 /**
@@ -23,12 +21,12 @@ import org.springframework.stereotype.Service;
 @Slf4j
 @Service
 public class MessageConsumer {
-    @DubboReference(check = false, retries = 0)
-    private UserService userService;
     private final NotifyService notifyService;
+    private final UserMessageService userMessageService;
 
-    public MessageConsumer(NotifyService notifyService) {
+    public MessageConsumer(NotifyService notifyService, UserMessageService userMessageService) {
         this.notifyService = notifyService;
+        this.userMessageService = userMessageService;
     }
 
     public void handleMessage(String jsonPayload) {
@@ -74,6 +72,6 @@ public class MessageConsumer {
         String title = "webhook 通知";
         String content = String.format("发送 %s 消息, 消息内容: %s", msgType.name(), jsonPayload);
         UserMessageDto userMessageDto = new UserMessageDto(title, content, ConstantId.ANONYMOUS_USER_ID);
-        userService.sendUserMessage(userMessageDto);
+        userMessageService.addMessage(userMessageDto);
     }
 }

+ 11 - 15
message/message-service/src/main/java/cn/reghao/tnb/message/app/service/NotifyService.java

@@ -2,16 +2,13 @@ package cn.reghao.tnb.message.app.service;
 
 import cn.reghao.jutil.jdk.thread.ThreadPoolWrapper;
 import cn.reghao.tnb.common.util.ConstantId;
-import cn.reghao.tnb.message.app.model.po.Webhook;
+import cn.reghao.tnb.message.api.dto.UserMessageDto;
 import cn.reghao.tnb.message.app.service.notifier.Notify;
 import cn.reghao.tnb.message.app.service.notifier.ding.DingMsg;
 import cn.reghao.tnb.message.app.service.notifier.ding.DingNotify;
 import cn.reghao.tnb.message.app.service.notifier.email.EmailMsg;
 import cn.reghao.tnb.message.app.service.notifier.email.EmailNotify;
-import cn.reghao.tnb.user.api.dto.UserMessageDto;
-import cn.reghao.tnb.user.api.iface.UserService;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.stereotype.Service;
 
 import java.util.concurrent.ExecutorService;
@@ -25,28 +22,27 @@ import java.util.concurrent.ExecutorService;
 @Slf4j
 @Service
 public class NotifyService {
-    @DubboReference(check = false, retries = 0)
-    private UserService userService;
-
     private final ExecutorService threadPool = ThreadPoolWrapper.threadPool("notify-service");
     private final DingNotify dingNotify;
     private final EmailNotify emailNotify;
+    private final UserMessageService userMessageService;
 
-    public NotifyService(DingNotify dingNotify, EmailNotify emailNotify) {
+    public NotifyService(DingNotify dingNotify, EmailNotify emailNotify,
+                         UserMessageService userMessageService) {
         this.dingNotify = dingNotify;
         this.emailNotify = emailNotify;
+        this.userMessageService = userMessageService;
     }
 
     public <T> void notify(String receiver, T msg) {
         if (msg instanceof DingMsg) {
             DingMsg dingMsg = (DingMsg) msg;
-            threadPool.execute(new NotifyTask<>(dingNotify, receiver, dingMsg, userService));
+            threadPool.execute(new NotifyTask<>(dingNotify, receiver, dingMsg, userMessageService));
         } else if (msg instanceof EmailMsg) {
             EmailMsg emailMsg = (EmailMsg) msg;
-            threadPool.execute(new NotifyTask<>(emailNotify, receiver, emailMsg, userService));
+            threadPool.execute(new NotifyTask<>(emailNotify, receiver, emailMsg, userMessageService));
         }
     }
-
     /**
      * @param
      * @return
@@ -56,13 +52,13 @@ public class NotifyService {
         private final Notify<T> notify;
         private final String receiver;
         private final T msg;
-        private final UserService userService;
+        private final UserMessageService userMessageService;
 
-        public NotifyTask(Notify<T> notify, String receiver, T msg, UserService userService) {
+        public NotifyTask(Notify<T> notify, String receiver, T msg, UserMessageService userMessageService) {
             this.notify = notify;
             this.receiver = receiver;
             this.msg = msg;
-            this.userService = userService;
+            this.userMessageService = userMessageService;
         }
 
         @Override
@@ -73,7 +69,7 @@ public class NotifyService {
                 String title = "发送通知失败";
                 String content = String.format("发送给 %s 的通知失败 -> %s", receiver, e.getMessage());
                 UserMessageDto userMessageDto = new UserMessageDto(title, content, ConstantId.ANONYMOUS_USER_ID);
-                userService.sendUserMessage(userMessageDto);
+                userMessageService.addMessage(userMessageDto);
             }
         }
     }

+ 4 - 4
user/user-service/src/main/java/cn/reghao/tnb/user/app/service/UserMessageService.java → message/message-service/src/main/java/cn/reghao/tnb/message/app/service/UserMessageService.java

@@ -1,12 +1,12 @@
-package cn.reghao.tnb.user.app.service;
+package cn.reghao.tnb.message.app.service;
 
 import cn.reghao.jutil.tool.id.SnowFlake;
 import cn.reghao.tnb.account.api.iface.AccountQuery;
 import cn.reghao.tnb.common.auth.AccountRole;
 import cn.reghao.tnb.common.util.ConstantId;
-import cn.reghao.tnb.user.api.dto.UserMessageDto;
-import cn.reghao.tnb.user.app.db.mapper.UserMessageMapper;
-import cn.reghao.tnb.user.app.model.po.UserMessage;
+import cn.reghao.tnb.message.api.dto.UserMessageDto;
+import cn.reghao.tnb.message.app.db.mapper.UserMessageMapper;
+import cn.reghao.tnb.message.app.model.po.UserMessage;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.stereotype.Service;

+ 5 - 6
message/message-service/src/main/java/cn/reghao/tnb/message/app/ws/chat/ChatService.java

@@ -6,7 +6,7 @@ import cn.reghao.tnb.message.api.model.EventType;
 import cn.reghao.tnb.message.api.model.resp.EventMessageResp;
 import cn.reghao.tnb.message.api.model.resp.EvtLoginResp;
 import cn.reghao.tnb.message.app.ws.chat.msg.ChatPayload;
-import cn.reghao.tnb.user.api.iface.UserContactService;
+//import cn.reghao.tnb.user.api.iface.UserContactService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.stereotype.Component;
@@ -25,8 +25,8 @@ import java.util.List;
 public class ChatService {
     @DubboReference(check = false, retries = 0)
     private AccountQuery accountQuery;
-    @DubboReference(check = false, retries = 0)
-    private UserContactService userContactService;
+    //@DubboReference(check = false, retries = 0)
+    //private UserContactService userContactService;
 
     private final ChatConnection chatConnection;
 
@@ -38,8 +38,7 @@ public class ChatService {
         EvtLoginResp evtLoginResp = new EvtLoginResp(userId, online);
         EventMessageResp<EvtLoginResp> resp = new EventMessageResp<>(EventType.event_login, evtLoginResp);
         TextMessage textMessage = new TextMessage(JsonConverter.objectToJson(resp));
-
-        userContactService.setOnline(userId, online);
+        /*userContactService.setOnline(userId, online);
         List<Long> friendIds = userContactService.getOnlineFriends(userId);
         for (Long friendId : friendIds) {
             WebSocketSession session = chatConnection.getUserSession(friendId);
@@ -50,7 +49,7 @@ public class ChatService {
                     e.printStackTrace();
                 }
             }
-        }
+        }*/
     }
 
     public void onEventTalk(String payload) throws IOException {

+ 3 - 3
user/user-service/src/main/resources/mapper/UserMessageMapper.xml → message/message-service/src/main/resources/mapper/UserMessageMapper.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
-<mapper namespace="cn.reghao.tnb.user.app.db.mapper.UserMessageMapper">
+<mapper namespace="cn.reghao.tnb.message.app.db.mapper.UserMessageMapper">
     <insert id="save" useGeneratedKeys="true" keyProperty="id">
         insert into user_message
         (`msg_type`,`message_id`,`title`,`content`,`unread`,`user_id`)
@@ -20,12 +20,12 @@
         from user_message
         where unread is true and user_id=#{userId}
     </select>
-    <select id="findByUnread" resultType="cn.reghao.tnb.user.app.model.po.UserMessage">
+    <select id="findByUnread" resultType="cn.reghao.tnb.message.app.model.po.UserMessage">
         select *
         from user_message
         where unread is true and user_id=#{userId}
     </select>
-    <select id="findByMessageId" resultType="cn.reghao.tnb.user.app.model.po.UserMessage">
+    <select id="findByMessageId" resultType="cn.reghao.tnb.message.app.model.po.UserMessage">
         select *
         from user_message
         where message_id=#{messageId}

+ 0 - 2
user/user-api/src/main/java/cn/reghao/tnb/user/api/iface/UserService.java

@@ -1,7 +1,6 @@
 package cn.reghao.tnb.user.api.iface;
 
 import cn.reghao.tnb.user.api.dto.UserCard;
-import cn.reghao.tnb.user.api.dto.UserMessageDto;
 
 import java.util.List;
 
@@ -13,7 +12,6 @@ public interface UserService {
     UserCard getUserAvatar(long userId);
     List<Long> getFollowingIds(long userId);
     boolean isVip(long userId);
-    void sendUserMessage(UserMessageDto userMessageDto);
     int getRecommendMode(long userId);
     boolean setRecommendMode(long userId, int mode);
     boolean contactContain(long userId, long friendId);

+ 2 - 11
user/user-service/src/main/java/cn/reghao/tnb/user/app/rpc/UserServiceImpl.java

@@ -2,12 +2,10 @@ package cn.reghao.tnb.user.app.rpc;
 
 import cn.reghao.tnb.account.api.iface.AccountQuery;
 import cn.reghao.tnb.user.api.dto.UserCard;
-import cn.reghao.tnb.user.api.dto.UserMessageDto;
 import cn.reghao.tnb.user.api.iface.UserService;
 import cn.reghao.tnb.user.app.db.mapper.UserContactMapper;
 import cn.reghao.tnb.user.app.db.mapper.UserRecommendMapper;
 import cn.reghao.tnb.user.app.model.po.UserRecommend;
-import cn.reghao.tnb.user.app.service.UserMessageService;
 import cn.reghao.tnb.user.app.service.UserRelationService;
 import cn.reghao.tnb.user.app.service.UserProfileService;
 import cn.reghao.tnb.user.app.service.UserVipService;
@@ -31,17 +29,15 @@ public class UserServiceImpl implements UserService {
     private final UserRelationService userRelationService;
     private final UserVipService userVipService;
     private final UserProfileService userProfileService;
-    private final UserMessageService userMessageService;
     private final UserRecommendMapper userRecommendMapper;
     private final UserContactMapper userContactMapper;
 
     public UserServiceImpl(UserRelationService userRelationService, UserVipService userVipService,
-                           UserProfileService userProfileService, UserMessageService userMessageService,
-                           UserRecommendMapper userRecommendMapper, UserContactMapper userContactMapper) {
+                           UserProfileService userProfileService, UserRecommendMapper userRecommendMapper,
+                           UserContactMapper userContactMapper) {
         this.userRelationService = userRelationService;
         this.userVipService = userVipService;
         this.userProfileService = userProfileService;
-        this.userMessageService = userMessageService;
         this.userRecommendMapper = userRecommendMapper;
         this.userContactMapper = userContactMapper;
     }
@@ -66,11 +62,6 @@ public class UserServiceImpl implements UserService {
         return userVipService.isVip(userId);
     }
 
-    @Override
-    public void sendUserMessage(UserMessageDto userMessageDto) {
-        userMessageService.addMessage(userMessageDto);
-    }
-
     @Override
     public int getRecommendMode(long userId) {
         Integer mode = userRecommendMapper.findByUserId(userId);

+ 5 - 9
user/user-service/src/main/java/cn/reghao/tnb/user/app/rpc/UserWalletServiceImpl.java

@@ -5,7 +5,7 @@ import cn.reghao.jutil.tool.id.SnowFlake;
 import cn.reghao.tnb.common.auth.UserContext;
 import cn.reghao.tnb.common.util.ConstantId;
 import cn.reghao.tnb.user.api.dto.ChargeReq;
-import cn.reghao.tnb.user.api.dto.UserMessageDto;
+import cn.reghao.tnb.message.api.dto.UserMessageDto;
 import cn.reghao.tnb.user.api.dto.WalletChargeDto;
 import cn.reghao.tnb.user.api.iface.UserService;
 import cn.reghao.tnb.user.api.iface.UserWalletService;
@@ -15,7 +15,6 @@ import cn.reghao.tnb.user.app.model.constant.BillType;
 import cn.reghao.tnb.user.app.model.po.WalletBill;
 import cn.reghao.tnb.user.app.model.po.WalletCharge;
 import cn.reghao.tnb.user.app.model.vo.WalletDetail;
-import cn.reghao.tnb.user.app.service.UserMessageService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.apache.dubbo.config.annotation.DubboService;
@@ -38,14 +37,11 @@ public class UserWalletServiceImpl implements UserWalletService {
     private final SnowFlake idGenerator;
     private final WalletChargeMapper walletChargeMapper;
     private final WalletBillMapper walletBillMapper;
-    private final UserMessageService userMessageService;
 
-    public UserWalletServiceImpl(WalletChargeMapper walletChargeMapper, WalletBillMapper walletBillMapper,
-                                 UserMessageService userMessageService) {
+    public UserWalletServiceImpl(WalletChargeMapper walletChargeMapper, WalletBillMapper walletBillMapper) {
         this.idGenerator = new SnowFlake(1L, 1L);
         this.walletChargeMapper = walletChargeMapper;
         this.walletBillMapper = walletBillMapper;
-        this.userMessageService = userMessageService;
     }
 
     @Override
@@ -58,7 +54,7 @@ public class UserWalletServiceImpl implements UserWalletService {
         String title = "充值消息";
         String content = String.format("来自 %s 的充值请求", loginUser);
         UserMessageDto userMessageDto = new UserMessageDto(title, content, ConstantId.ANONYMOUS_USER_ID);
-        userService.sendUserMessage(userMessageDto);
+        //userService.sendUserMessage(userMessageDto);
     }
 
     @Override
@@ -85,7 +81,7 @@ public class UserWalletServiceImpl implements UserWalletService {
         String title = "充值成功";
         String content = String.format("系统同意了您的充值请求");
         UserMessageDto userMessageDto = new UserMessageDto(title, content, receiver);
-        userMessageService.addMessage(userMessageDto);
+        //userMessageService.addMessage(userMessageDto);
     }
 
     @Override
@@ -110,7 +106,7 @@ public class UserWalletServiceImpl implements UserWalletService {
         String title = "充值失败";
         String content = String.format("系统拒绝了您的充值请求");
         UserMessageDto userMessageDto = new UserMessageDto(title, content, receiver);
-        userMessageService.addMessage(userMessageDto);
+        //userMessageService.addMessage(userMessageDto);
     }
 
     @Transactional(rollbackFor = Exception.class)