feat: (REQ-3457) 增加批量创建历史聊天用户记录

This commit is contained in:
xudawei 2025-01-02 10:40:14 +08:00
parent 7beffefba7
commit dd1750c7d8
5 changed files with 65 additions and 0 deletions

View File

@ -1,6 +1,7 @@
package cn.axzo.im.center.api.feign;
import cn.axzo.framework.domain.web.result.ApiResult;
import cn.axzo.im.center.api.vo.req.chatuser.BatchCreateChatUserHistoryReq;
import cn.axzo.im.center.api.vo.req.chatuser.CreateChatUserHistoryReq;
import cn.axzo.im.center.api.vo.req.chatuser.QueryChatUserHistoryReq;
import cn.axzo.im.center.api.vo.resp.chatuser.QueryChatUserHistoryResp;
@ -26,6 +27,11 @@ public interface ChatUserApi {
@PostMapping("api/im/chat/user/createChatUserHistory")
ApiResult<Void> createChatUserHistory(@RequestBody @Validated CreateChatUserHistoryReq req);
/**
* 批量-创建历史聊天用户
*/
ApiResult<Void> batchCreateChatUserHistory(BatchCreateChatUserHistoryReq req);
/**
* 获取聊天用户记录
*/

View File

@ -0,0 +1,25 @@
package cn.axzo.im.center.api.vo.req.chatuser;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* 创建聊天用户记录
* @author xudawei
* @date 2024/12/27
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class BatchCreateChatUserHistoryReq {
@NotNull(message = "集合不能为空")
private List<CreateChatUserHistoryReq> reqList;
}

View File

@ -2,6 +2,7 @@ package cn.axzo.im.controller;
import cn.axzo.framework.domain.web.result.ApiResult;
import cn.axzo.im.center.api.feign.ChatUserApi;
import cn.axzo.im.center.api.vo.req.chatuser.BatchCreateChatUserHistoryReq;
import cn.axzo.im.center.api.vo.req.chatuser.CreateChatUserHistoryReq;
import cn.axzo.im.center.api.vo.req.chatuser.QueryChatUserHistoryReq;
import cn.axzo.im.center.api.vo.resp.chatuser.QueryChatUserHistoryResp;
@ -35,6 +36,15 @@ public class ChatUserController implements ChatUserApi {
return ApiResult.ok();
}
/**
* 批量-创建历史聊天用户
*/
@Override
public ApiResult<Void> batchCreateChatUserHistory(BatchCreateChatUserHistoryReq req) {
chatUserHistoryService.batchCreate(req);
return ApiResult.ok();
}
/**
* 查询历史聊天用户
*/

View File

@ -1,5 +1,6 @@
package cn.axzo.im.service;
import cn.axzo.im.center.api.vo.req.chatuser.BatchCreateChatUserHistoryReq;
import cn.axzo.im.center.api.vo.req.chatuser.CreateChatUserHistoryReq;
import cn.axzo.im.center.api.vo.req.chatuser.QueryChatUserHistoryReq;
import cn.axzo.im.center.api.vo.resp.chatuser.QueryChatUserHistoryResp;
@ -20,6 +21,11 @@ public interface ChatUserHistoryService extends IService<ChatUserHistory> {
*/
Boolean create(CreateChatUserHistoryReq req);
/**
* 批量创建历史聊天用户
*/
Boolean batchCreate(BatchCreateChatUserHistoryReq req);
/**
* 查询历史聊天用户
*/

View File

@ -1,5 +1,6 @@
package cn.axzo.im.service.impl;
import cn.axzo.im.center.api.vo.req.chatuser.BatchCreateChatUserHistoryReq;
import cn.axzo.im.center.api.vo.req.chatuser.CreateChatUserHistoryReq;
import cn.axzo.im.center.api.vo.req.chatuser.QueryChatUserHistoryReq;
import cn.axzo.im.center.api.vo.resp.chatuser.QueryChatUserHistoryResp;
@ -9,11 +10,13 @@ import cn.axzo.im.service.ChatUserHistoryService;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author xudawei@axzo.cn
@ -47,6 +50,21 @@ public class ChatUserHistoryServiceImpl extends ServiceImpl<ChatUserHistoryMapp
.build());
}
/**
* 批量创建历史聊天用户
*/
@Override
public Boolean batchCreate(BatchCreateChatUserHistoryReq req) {
if (CollectionUtils.isEmpty(req.getReqList())) {
return false;
}
List<ChatUserHistory> historyList = req.getReqList().stream()
.map(item -> BeanUtil.copyProperties(item, ChatUserHistory.class))
.collect(Collectors.toList());
return this.saveOrUpdateBatch(historyList);
}
/**
* 查询历史聊天用户
*/