Browse Source

新增获取聊天历史消息接口

DESKTOP-VAEGFGM\zqc 9 months ago
parent
commit
ad353ef83f

+ 20 - 0
menduner/menduner-im-biz/src/main/java/com/citu/module/menduner/im/controller/app/WuKongMessageController.java

@@ -3,6 +3,7 @@ package com.citu.module.menduner.im.controller.app;
 import com.citu.framework.common.pojo.CommonResult;
 import com.citu.framework.security.core.annotations.PreAuthenticated;
 import com.citu.module.menduner.im.controller.app.base.wukong.ChannelMessageSyncReqVo;
+import com.citu.module.menduner.im.controller.app.base.wukong.HistoryMessagesReqVo;
 import com.citu.module.menduner.im.service.wukong.WuKongMessageService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -38,6 +39,25 @@ public class WuKongMessageController {
       return service.channelMessageSync(reqVo);
     }
 
+
+    /**
+     * @eo.name 获取历史消息
+     * @eo.url /im/history/messages
+     * @eo.method post
+     * @eo.request-type json
+     * @param reqVo
+     * @return CommonResult
+     */
+    @PreAuthenticated
+    @PostMapping("/im/history/messages")
+    public CommonResult historyMessages(@RequestBody HistoryMessagesReqVo reqVo){
+        return service.historyMessages(reqVo);
+    }
+
+
+
+
+
     @Autowired
     public void setService(WuKongMessageService service) {
         this.service = service;

+ 44 - 0
menduner/menduner-im-biz/src/main/java/com/citu/module/menduner/im/controller/app/base/wukong/HistoryMessagesReqVo.java

@@ -0,0 +1,44 @@
+package com.citu.module.menduner.im.controller.app.base.wukong;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+public class HistoryMessagesReqVo {
+    private Page page =new Page(1,1);
+    private String fromUid;
+
+    private String channelId;
+
+    private Integer type;
+
+    public Page getPage() {
+        return page;
+    }
+
+    public void setPage(Page page) {
+        this.page = page;
+    }
+
+    public String getFromUid() {
+        return fromUid;
+    }
+
+    public void setFromUid(String fromUid) {
+        this.fromUid = fromUid;
+    }
+
+    public String getChannelId() {
+        return channelId;
+    }
+
+    public void setChannelId(String channelId) {
+        this.channelId = channelId;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+}

+ 3 - 0
menduner/menduner-im-biz/src/main/java/com/citu/module/menduner/im/service/wukong/WuKongMessageService.java

@@ -2,7 +2,10 @@ package com.citu.module.menduner.im.service.wukong;
 
 import com.citu.framework.common.pojo.CommonResult;
 import com.citu.module.menduner.im.controller.app.base.wukong.ChannelMessageSyncReqVo;
+import com.citu.module.menduner.im.controller.app.base.wukong.HistoryMessagesReqVo;
 
 public interface WuKongMessageService {
     CommonResult channelMessageSync(ChannelMessageSyncReqVo reqVo);
+
+    CommonResult historyMessages(HistoryMessagesReqVo reqVo);
 }

+ 23 - 0
menduner/menduner-im-biz/src/main/java/com/citu/module/menduner/im/service/wukong/WuKongMessageServiceImpl.java

@@ -1,8 +1,14 @@
 package com.citu.module.menduner.im.service.wukong;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.citu.framework.common.pojo.CommonResult;
 import com.citu.module.menduner.im.controller.app.base.wukong.ChannelMessageSyncReqVo;
+import com.citu.module.menduner.im.controller.app.base.wukong.HistoryMessagesReqVo;
+import com.citu.module.menduner.im.dal.dataobject.UserMsgDO;
+import com.citu.module.menduner.im.dal.mysql.UserMsgMapper;
 import com.citu.module.menduner.im.service.UserService;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -13,6 +19,7 @@ public class WuKongMessageServiceImpl implements WuKongMessageService{
 
     WuKongApiService wuKongApiService;
 
+    UserMsgMapper userMsgMapper;
 
 
     @Override
@@ -22,6 +29,22 @@ public class WuKongMessageServiceImpl implements WuKongMessageService{
         return CommonResult.success(wuKongApiService.channelMessageSync(reqVo));
     }
 
+    @Override
+    public CommonResult historyMessages(HistoryMessagesReqVo reqVo) {
+        Page page = reqVo.getPage();
+        userMsgMapper.selectPage(page,new LambdaQueryWrapper<UserMsgDO>()
+                        .eq(null!=reqVo.getType(),UserMsgDO::getType,reqVo.getType())
+                .eq(StringUtils.isNotBlank(reqVo.getFromUid()),UserMsgDO::getFromUid,reqVo.getFromUid())
+                .eq(StringUtils.isNotBlank(reqVo.getChannelId()),UserMsgDO::getChannelId,reqVo.getChannelId()));
+
+        return CommonResult.success(page);
+    }
+
+    @Autowired
+    public void setUserMsgMapper(UserMsgMapper userMsgMapper) {
+        this.userMsgMapper = userMsgMapper;
+    }
+
     @Autowired
     public void setWuKongApiService(WuKongApiService wuKongApiService) {
         this.wuKongApiService = wuKongApiService;