123
This commit is contained in:
@@ -3,12 +3,17 @@ package com.ruoyi.web.controller.cai.app;
|
||||
import cn.dev33.satoken.annotation.SaIgnore;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.cai.domain.UserChatRecord;
|
||||
import com.ruoyi.cai.executor.ExecutorConstant;
|
||||
import com.ruoyi.cai.service.UserChatRecordService;
|
||||
import com.ruoyi.cai.service.UserOnlineService;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.yunxin.manager.YunxinManager;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.StreamUtils;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@@ -29,6 +34,8 @@ public class YxNotifyController {
|
||||
private YunxinManager yunxinManager;
|
||||
@Autowired
|
||||
private UserOnlineService onlineService;
|
||||
@Autowired
|
||||
private UserChatRecordService userChatRecordService;
|
||||
|
||||
@PostMapping("/notify")
|
||||
@Operation(hidden = true)
|
||||
@@ -55,6 +62,35 @@ public class YxNotifyController {
|
||||
String accid = body.getString("accid");
|
||||
String timestamp = body.getString("timestamp");
|
||||
onlineService.updateOnlineByYunxin(eventType,Long.valueOf(accid),Long.valueOf(timestamp));
|
||||
}else if("1".equals(eventType)){ // 会话记录
|
||||
String convType = body.getString("convType");
|
||||
String msgType = body.getString("msgType");
|
||||
if("PICTURE".equals(msgType) && "PERSON".equals(convType)){
|
||||
String ext = body.getString("ext");
|
||||
ExecutorConstant.SYNC_EXECUTOR.execute(() -> {
|
||||
try {
|
||||
JSONObject extJson = JSON.parseObject(ext);
|
||||
String recordId = extJson.getString("recordId");
|
||||
if(StringUtils.isEmpty(recordId)){
|
||||
log.warn("同步图片忽略,recordId为空");
|
||||
return;
|
||||
}
|
||||
UserChatRecord userChatRecord = userChatRecordService.getById(recordId);
|
||||
if(userChatRecord == null){
|
||||
log.warn("同步图片忽略,recordId未找到记录");
|
||||
return;
|
||||
}
|
||||
String attach = body.getString("attach");
|
||||
JSONObject attachJson = JSON.parseObject(attach);
|
||||
String url = attachJson.getString("url");
|
||||
userChatRecordService.update(Wrappers.lambdaUpdate(UserChatRecord.class)
|
||||
.eq(UserChatRecord::getId, userChatRecord.getId())
|
||||
.set(UserChatRecord::getContent, url));
|
||||
}catch (Exception e){
|
||||
log.warn("同步图片失败!",e);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user