Kaynağa Gözat

微信会话内容存储开发

anderx 6 ay önce
ebeveyn
işleme
95a1f6681c

+ 5 - 2
src/main/java/com/kede/common/task/ConversationContentTask.java

@@ -37,7 +37,7 @@ public class ConversationContentTask {
         Integer count = 0;
         //循环获取数据,每次100条,count不足100条时最后一次循序
 //        while (count < pageLimit) {
-            pageEnd=3;
+        pageSeq=0;pageEnd=200;
             Map<String, Object> map = conversationContentService.getChatData(pageSeq, pageEnd);
             List<InputChatMsg> list = (List<InputChatMsg>) map.get("list");
             pushChatMsg(list);
@@ -54,7 +54,10 @@ public class ConversationContentTask {
     }
 
     private void pushChatMsg(List<InputChatMsg> list) {
+        int index=0;
         for (InputChatMsg chatMsg : list) {
+            index++;
+            System.out.println("第"+index+"条数据");
             System.out.println(chatMsg);
             String from = chatMsg.getFrom();
             //获取发送这名称
@@ -75,7 +78,7 @@ public class ConversationContentTask {
             }else {
                 conversationContentService.pushGetRoomName(chatMsg.getRoomid());
             }
-            if (StringUtils.isEmpty(chatName)){
+            if (StringUtils.isNotEmpty(chatName)){
                 ChatMsg chatMsg1 = chatMsgMapper.selectByMsgId(chatMsg.getMsgid());
                 if (chatMsg1 == null){
                     ChatMsg in= new ChatMsg();

+ 13 - 1
src/main/java/com/kede/wechat/bo/InputChatMsg.java

@@ -6,6 +6,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import com.kede.common.utils.DateUtils;
 import javafx.scene.text.Text;
 
+import java.io.UnsupportedEncodingException;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -50,7 +51,18 @@ public class InputChatMsg {
         this.msgtype = jsonObject.getString("msgtype");
         JSONObject text = jsonObject.getJSONObject("text");
         if (text!=null){
-            this.content = text.getString("content");
+            String content1 = text.getString("content");
+            try {
+                String osname = System.getProperties().getProperty("os.name");
+                if (osname.contains("Windows")) {
+                    String result = new String(content1.getBytes("GBK"),"UTF-8");
+                    this.content =result;
+                }else{
+                    this.content = content1;
+                }
+            } catch (UnsupportedEncodingException e) {
+                throw new RuntimeException(e);
+            }
         }
 
     }

+ 6 - 2
src/main/java/com/kede/wechat/service/impl/ConversationContentServiceImpl.java

@@ -131,8 +131,12 @@ public class ConversationContentServiceImpl implements ConversationContentServic
                 }
                 String str = String.valueOf(Finance.GetContentFromSlice(msg));
                 com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSONObject.parseObject(str);
-                InputChatMsg chatMsg = new InputChatMsg(jsonObject);
-                list.add(chatMsg);
+//                System.out.println(jsonObject);
+                String action = jsonObject.getString("action");
+                if (!action.equals("switch")){
+                    InputChatMsg chatMsg = new InputChatMsg(jsonObject);
+                    list.add(chatMsg);
+                }
                 Finance.FreeSlice(msg);
             } catch (Exception e) {
                 e.printStackTrace();