|
@@ -23,6 +23,7 @@ import com.ads.common.util.UtilMessage;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.dingtalk.api.request.OapiChatCreateRequest;
|
|
@@ -32,6 +33,7 @@ import com.dingtalk.api.response.OapiV2UserGetbymobileResponse;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.*;
|
|
@@ -160,6 +162,7 @@ public class ConversationServiceImpl extends ServiceImpl<ConversationDao, Conver
|
|
|
if (StringUtils.isNotBlank(request.getConversationName())) {
|
|
|
wrapper.like("conversation_name", request.getConversationName());
|
|
|
}
|
|
|
+ wrapper.like(StringUtils.isNotBlank(request.getOwnerName()), "owner_name", request.getOwnerName());
|
|
|
wrapper.eq("status", CONVERSATION_STTAUS_NORMAL);
|
|
|
wrapper.orderByDesc("create_time");
|
|
|
return JsonResult.success(new PageUtils(this.baseMapper.findPage(page, wrapper)), UtilMessage.GET_MESSAGE_SUCCESS);
|
|
@@ -216,7 +219,7 @@ public class ConversationServiceImpl extends ServiceImpl<ConversationDao, Conver
|
|
|
conversation.setStatus(chatInfo.getStatus().intValue());
|
|
|
//群成员的userid列表
|
|
|
List<String> useridlist = chatInfo.getUseridlist();
|
|
|
- if (CollUtil.isEmpty(useridlist)){
|
|
|
+ if (CollUtil.isEmpty(useridlist)) {
|
|
|
//所有成员退出,群已解散
|
|
|
conversation.setStatus(CONVERSATION_STTAUS_DISMISS);
|
|
|
}
|
|
@@ -225,10 +228,10 @@ public class ConversationServiceImpl extends ServiceImpl<ConversationDao, Conver
|
|
|
if (CONVERSATION_STTAUS_DISMISS.equals(conversation.getStatus())) {
|
|
|
//删除会话文件关系
|
|
|
docConversationRelService.remove(new LambdaQueryWrapper<DocConversationRel>()
|
|
|
- .eq(DocConversationRel::getChatId,conversation.getChatId()));
|
|
|
+ .eq(DocConversationRel::getChatId, conversation.getChatId()));
|
|
|
//删除会话文件分类关系
|
|
|
docTypeConversationRelService.remove(new LambdaQueryWrapper<DocTypeConversationRel>()
|
|
|
- .eq(DocTypeConversationRel::getChatId,conversation.getChatId()));
|
|
|
+ .eq(DocTypeConversationRel::getChatId, conversation.getChatId()));
|
|
|
//群已解散
|
|
|
return JsonResult.success(SYNC_SUCCESS);
|
|
|
}
|
|
@@ -268,6 +271,20 @@ public class ConversationServiceImpl extends ServiceImpl<ConversationDao, Conver
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public JsonResult batchSync(String conversationName, String ownerName) {
|
|
|
+ LambdaQueryWrapper<Conversation> queryWrapper = Wrappers.lambdaQuery(new Conversation()).eq(Conversation::getStatus, CONVERSATION_STTAUS_NORMAL)
|
|
|
+ .like(StringUtils.isNotBlank(conversationName), Conversation::getConversationName, conversationName)
|
|
|
+ .like(StringUtils.isNotBlank(ownerName), Conversation::getOwnerName, ownerName);
|
|
|
+ List<Conversation> conversations = baseMapper.selectList(queryWrapper);
|
|
|
+ if (!CollectionUtils.isEmpty(conversations)) {
|
|
|
+ conversations.parallelStream().forEach(conversation -> {
|
|
|
+ sync(conversation.getChatId());
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return JsonResult.success(SYNC_SUCCESS);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public List<ConversationDropListResponse> getDropList() {
|
|
|
List<Conversation> conversationList = this.baseMapper.selectList(new LambdaQueryWrapper<Conversation>()
|
|
|
.eq(Conversation::getStatus, 1)
|