Commit 044019c4 by 罗长华

调整MessageService错误

parent 4fd6b716
......@@ -52,7 +52,7 @@ public class MessageAction {
@ApiOperation("消息撤回")
public WsResponse<Map<String, Boolean>> withdraw(ActionRequest request, ImMsgRecall msgRecall, String reqId) {
log.info("撤回消息内容:{}", JSON.toJSONString(msgRecall));
boolean r = imMessageService.withdrawMsg(request, msgRecall);
boolean r = imMessageService.withdrawMsg(msgRecall);
Map<String, Boolean> result = new HashMap<>();
result.put("result", r);
return WsResponse.ok(result);
......@@ -66,9 +66,9 @@ public class MessageAction {
*/
@ActionMapping("/delete")
@ApiOperation("删除消息内容")
public WsResponse<Map<String, Boolean>> deleteMsg(ActionRequest request, MsgDeleteParam msgDeleteParam, String reqId) {
log.info("删除消息内容:{}", JSON.toJSONString(msgDeleteParam));
boolean r = imMessageService.deleteMsg(request, msgDeleteParam);
public WsResponse<Map<String, Boolean>> deleteMsg(MsgDeleteParam data) {
log.info("删除消息内容:{}", JSON.toJSONString(data));
boolean r = imMessageService.deleteMsg(data);
Map<String, Boolean> result = new HashMap<>();
result.put("result", r);
return WsResponse.ok(result);
......@@ -82,9 +82,9 @@ public class MessageAction {
*/
@ActionMapping("/updateMsgById")
@ApiOperation("修改消息体")
public WsResponse<Map<String, Boolean>> updateMsgById(ActionRequest request, ImMsgUpdate imMsgUpdate, String reqId) {
log.info("修改消息内容:{}", JSON.toJSONString(imMsgUpdate));
boolean r = imMessageService.updateMsgById(imMsgUpdate);
public WsResponse<Map<String, Boolean>> updateMsgById(ImMsgUpdate data) {
log.info("修改消息内容:{}", JSON.toJSONString(data));
boolean r = imMessageService.updateMsgById(data);
Map<String, Boolean> result = new HashMap<>();
result.put("result", r);
return WsResponse.ok(result);
......@@ -99,9 +99,9 @@ public class MessageAction {
*/
@ActionMapping("/getHistoryMsg")
@ApiOperation("查询某个会话历史消息分页列表")
public WsResponse<Paging<OfflineMsgDto>> getHistoryMsg(ActionRequest request, ImHistoryMessagePageParam param, String reqId) {
log.info("查询某个会话历史消息分页列表:{}", JSON.toJSONString(param));
return WsResponse.ok(imMessageService.getHistoryMsgConversationId(param));
public WsResponse<Paging<OfflineMsgDto>> getHistoryMsg(ImHistoryMessagePageParam data) {
log.info("查询某个会话历史消息分页列表:{}", JSON.toJSONString(data));
return WsResponse.ok(imMessageService.getHistoryMsgConversationId(data));
}
/**
......@@ -113,9 +113,9 @@ public class MessageAction {
*/
@ActionMapping("/getReaders")
@ApiOperation("查询某个消息已读client列表和未读client")
public WsResponse<ReaderList> getReaders(ActionRequest request, GetReadersParam param, String reqId) {
log.info("查询某个消息已读client列表和未读client:{}", JSON.toJSONString(param));
return WsResponse.ok(imMessageService.getReaders(request, param));
public WsResponse<ReaderList> getReaders(GetReadersParam data) {
log.info("查询某个消息已读client列表和未读client:{}", JSON.toJSONString(data));
return WsResponse.ok(imMessageService.getReaders(data));
}
}
package com.wecloud.im.controller;
import com.wecloud.im.param.GetReadersParam;
import com.wecloud.im.param.ImHistoryMessagePageParam;
import com.wecloud.im.param.MsgDeleteParam;
import com.wecloud.im.param.add.ImMsgRecall;
import com.wecloud.im.param.add.ImMsgUpdate;
import com.wecloud.im.service.ImMessageService;
import com.wecloud.im.vo.ImMessageOfflineListVo;
import com.wecloud.im.vo.OfflineMsgDto;
import com.wecloud.im.vo.ReaderList;
import io.geekidea.springbootplus.framework.common.api.ApiCode;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.controller.BaseController;
......@@ -18,6 +9,9 @@ import io.geekidea.springbootplus.framework.log.enums.OperationLogType;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
......@@ -26,7 +20,15 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import com.wecloud.im.param.GetReadersParam;
import com.wecloud.im.param.ImHistoryMessagePageParam;
import com.wecloud.im.param.MsgDeleteParam;
import com.wecloud.im.param.add.ImMsgRecall;
import com.wecloud.im.param.add.ImMsgUpdate;
import com.wecloud.im.service.ImMessageService;
import com.wecloud.im.vo.ImMessageOfflineListVo;
import com.wecloud.im.vo.OfflineMsgDto;
import com.wecloud.im.vo.ReaderList;
/**
* 消息存储表 控制器
......@@ -49,7 +51,7 @@ public class ImMessageController extends BaseController {
@PostMapping("/withdraw")
@ApiOperation(value = "消息撤回", notes = "只能撤回客户端自己发送的消息")
public ApiResult<Boolean> withdrawMsg(@RequestBody ImMsgRecall imMsgRecall) throws Exception {
return ApiResult.ok(imMessageService.withdrawMsg(null, imMsgRecall));
return ApiResult.ok(imMessageService.withdrawMsg(imMsgRecall));
}
/**
......@@ -64,7 +66,7 @@ public class ImMessageController extends BaseController {
if (CollectionUtils.isEmpty(param.getMsgIds())) {
return ApiResult.fail("请选择要删除的消息id");
}
return ApiResult.ok(imMessageService.deleteMsg(null, param));
return ApiResult.ok(imMessageService.deleteMsg(param));
}
/**
......@@ -103,7 +105,7 @@ public class ImMessageController extends BaseController {
@PostMapping("/getReaders")
@ApiOperation(value = "查询某个消息已读client列表和未读client")
public ApiResult<ReaderList> getReaders(@Validated @RequestBody GetReadersParam param) {
ReaderList readerList = imMessageService.getReaders(null, param);
ReaderList readerList = imMessageService.getReaders(param);
return ApiResult.ok(readerList);
}
......
package com.wecloud.im.service;
import com.wecloud.dispatch.extend.ActionRequest;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.service.BaseService;
import io.geekidea.springbootplus.framework.core.pagination.Paging;
import java.util.List;
import org.springframework.transaction.annotation.Transactional;
import com.wecloud.im.entity.ImApplication;
import com.wecloud.im.entity.ImClient;
import com.wecloud.im.entity.ImMessage;
......@@ -17,12 +24,6 @@ import com.wecloud.im.vo.OfflineMsgDto;
import com.wecloud.im.vo.ReaderList;
import com.wecloud.im.ws.model.request.ReceiveDataVO;
import com.wecloud.im.ws.model.request.ReceiveVO;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.service.BaseService;
import io.geekidea.springbootplus.framework.core.pagination.Paging;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 消息存储表 服务类
......@@ -54,14 +55,14 @@ public interface ImMessageService extends BaseService<ImMessage> {
* @param request
* @return
*/
Boolean withdrawMsg(ActionRequest request, ImMsgRecall imMsgRecall);
Boolean withdrawMsg(ImMsgRecall imMsgRecall);
/**
* 删除消息
* @param param
* @return
*/
Boolean deleteMsg(ActionRequest request, MsgDeleteParam param);
Boolean deleteMsg(MsgDeleteParam param);
/**
* 修改消息体
......@@ -129,6 +130,6 @@ public interface ImMessageService extends BaseService<ImMessage> {
* @param param
* @return
*/
ReaderList getReaders(ActionRequest request, GetReadersParam param);
ReaderList getReaders(GetReadersParam param);
}
package com.wecloud.im.service.impl;
import io.geekidea.springbootplus.framework.common.api.ApiCode;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.exception.BusinessException;
import io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl;
import io.geekidea.springbootplus.framework.core.pagination.PageInfo;
import io.geekidea.springbootplus.framework.core.pagination.Paging;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.wecloud.dispatch.extend.ActionRequest;
import com.wecloud.im.entity.ImApiMessageOnlineSend;
import com.wecloud.im.entity.ImApplication;
import com.wecloud.im.entity.ImClient;
......@@ -25,6 +43,7 @@ import com.wecloud.im.param.MsgDeleteParam;
import com.wecloud.im.param.add.ImMsgRecall;
import com.wecloud.im.param.add.ImMsgSendToOnlineClient;
import com.wecloud.im.param.add.ImMsgUpdate;
import com.wecloud.im.service.ContextService;
import com.wecloud.im.service.ImApplicationService;
import com.wecloud.im.service.ImClientService;
import com.wecloud.im.service.ImConversationMembersService;
......@@ -44,23 +63,7 @@ import com.wecloud.im.ws.sender.ChannelSender;
import com.wecloud.pushserver.client.model.constant.MqConstant;
import com.wecloud.pushserver.client.model.dto.PushDTO;
import com.wecloud.utils.JsonUtils;
import io.geekidea.springbootplus.framework.common.api.ApiCode;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.exception.BusinessException;
import io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl;
import io.geekidea.springbootplus.framework.core.pagination.PageInfo;
import io.geekidea.springbootplus.framework.core.pagination.Paging;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 消息存储表 服务实现类
......@@ -88,6 +91,8 @@ public class ImMessageServiceImpl extends BaseServiceImpl<ImMessageMapper, ImMes
@Autowired
private ImConversationMembersService imConversationMembersService;
private ContextService contextService;
@Autowired
private ChannelSender channelSender;
......@@ -202,23 +207,9 @@ public class ImMessageServiceImpl extends BaseServiceImpl<ImMessageMapper, ImMes
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean withdrawMsg(ActionRequest request, ImMsgRecall imMsgRecall) {
ImClient imClientSender;
ImApplication imApplication;
if (request != null) {
imClientSender = imClientService.getCacheImClient(request.getSenderClientId());
imApplication = imApplicationService.getCacheById(imClientSender.getFkAppid());
} else {
imClientSender = imClientService.getCurrentClient();
// 查询imApplication
imApplication = imApplicationService.getCacheById(imClientSender.getFkAppid());
}
if (imClientSender == null) {
throw new BusinessException("查无发送用户信息");
}
if (imApplication == null) {
throw new BusinessException("查无应用信息");
}
public Boolean withdrawMsg(ImMsgRecall imMsgRecall) {
ImClient imClientSender = contextService.getImClientIfNotNullOrThrow();
ImApplication imApplication = contextService.getImApplicationIfNotNullOrThrow(imClientSender.getFkAppid());
ImMessage messageById = this.getById(imMsgRecall.getMsgId());
// 判断该消息是否是该客户端发送 todo 单向撤回、双向撤回开关可配置
......@@ -313,23 +304,9 @@ public class ImMessageServiceImpl extends BaseServiceImpl<ImMessageMapper, ImMes
}
@Override
public Boolean deleteMsg(ActionRequest request, MsgDeleteParam param) {
ImClient imClientSender;
ImApplication imApplication;
if (request != null) {
imClientSender = imClientService.getCacheImClient(request.getSenderClientId());
imApplication = imApplicationService.getCacheById(imClientSender.getFkAppid());
} else {
imClientSender = imClientService.getCurrentClient();
// 查询imApplication
imApplication = imApplicationService.getCacheById(imClientSender.getFkAppid());
}
if (imClientSender == null) {
throw new BusinessException("查无发送用户信息");
}
if (imApplication == null) {
throw new BusinessException("查无应用信息");
}
public Boolean deleteMsg(MsgDeleteParam param) {
ImClient imClientSender = contextService.getImClientIfNotNullOrThrow();
ImApplication imApplication = contextService.getImApplicationIfNotNullOrThrow(imClientSender.getFkAppid());
// todo 单向撤回、双向撤回开关可配置
Boolean deleteOther = true;
List<ImMessage> imMessageList = this.listByIds(param.getMsgIds());
......@@ -457,16 +434,8 @@ public class ImMessageServiceImpl extends BaseServiceImpl<ImMessageMapper, ImMes
* @return
*/
@Override
public ReaderList getReaders(ActionRequest request, GetReadersParam param) {
ImClient imClientSender;
if (request != null) {
imClientSender = imClientService.getCacheImClient(request.getSenderClientId());
} else {
imClientSender = imClientService.getCurrentClient();
}
if (imClientSender == null) {
throw new BusinessException("查无发送用户信息");
}
public ReaderList getReaders(GetReadersParam param) {
ImClient imClientSender = contextService.getImClientIfNotNullOrThrow();
List<ReaderVo> readerVos = imMessageMapper.getReaders(imClientSender.getId(), param);
if (CollectionUtils.isEmpty(readerVos)) {
return null;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment