Commit 68a1456a by giaogiao

增加接口: 允许客户端修改是否单向隐藏会话

parent c9c74580
package com.wecloud.im.controller;
import com.wecloud.im.param.add.ImConversationCreate;
import com.wecloud.im.param.add.ImConversationDisplayUpdate;
import com.wecloud.im.service.ImConversationService;
import com.wecloud.im.vo.ImConversationCreateVo;
import com.wecloud.im.vo.MyConversationListVo;
......@@ -10,7 +11,6 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -54,12 +54,12 @@ public class ImConversationController extends BaseController {
}
/**
* 单向删除(隐藏)会话
* 修改是否单向隐藏会话
*/
@PostMapping("/display/{id}")
@ApiOperation(value = "单向删除(隐藏)会话", notes = "云端聊天记录不删除;假设有A和B两个用户,A删会话,B还能发; 如果B发了消息,A这边要重新把会话显示出来,并能显示之前的聊天记录")
public ApiResult<Boolean> displayConversation(@PathVariable("id") Long id) throws Exception {
boolean flag = imConversationService.displayConversation(id);
@PostMapping("/display")
@ApiOperation(value = "修改是否单向隐藏会话", notes = "云端聊天记录不删除;假设有A和B两个用户,A删会话,B还能发; 如果B发了消息,A这边要重新把会话显示出来,并能显示之前的聊天记录")
public ApiResult<Boolean> displayConversation(@RequestBody ImConversationDisplayUpdate imConversationDisplayUpdate) throws Exception {
boolean flag = imConversationService.displayConversation(imConversationDisplayUpdate);
return ApiResult.result(flag);
}
......
package com.wecloud.im.param.add;
import io.geekidea.springbootplus.framework.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* 修改是否单向隐藏会话
*
* @author wei
* @since 2021-05-07
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "修改是否单向隐藏会话")
public class ImConversationDisplayUpdate extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("会话id")
private Long conversationId;
@ApiModelProperty("显示状态 1显示 0不显示")
private Integer displayStatus;
}
......@@ -4,6 +4,7 @@ import com.wecloud.im.entity.ImConversation;
import com.wecloud.im.param.ImConversationPageParam;
import com.wecloud.im.param.ImConversationQueryVo;
import com.wecloud.im.param.add.ImConversationCreate;
import com.wecloud.im.param.add.ImConversationDisplayUpdate;
import com.wecloud.im.vo.ImConversationCreateVo;
import com.wecloud.im.vo.MyConversationListVo;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
......@@ -48,13 +49,12 @@ public interface ImConversationService extends BaseService<ImConversation> {
boolean updateImConversation(ImConversation imConversation) throws Exception;
/**
* 删除
* 是否单向隐藏会话","云端聊天记录不删除;假设有A和B两个用户,A删会话,B还能发; 如果B发了消息,A这边要重新把会话显示出来,并能显示之前的聊天记录"
*
* @param id
* @return
* @throws Exception
*/
boolean displayConversation(Long id) throws Exception;
boolean displayConversation(ImConversationDisplayUpdate imConversationDisplayUpdate) throws Exception;
/**
* 根据ID获取查询对象
......
......@@ -14,6 +14,7 @@ import com.wecloud.im.mapper.ImConversationMapper;
import com.wecloud.im.param.ImConversationPageParam;
import com.wecloud.im.param.ImConversationQueryVo;
import com.wecloud.im.param.add.ImConversationCreate;
import com.wecloud.im.param.add.ImConversationDisplayUpdate;
import com.wecloud.im.service.ImApplicationService;
import com.wecloud.im.service.ImClientService;
import com.wecloud.im.service.ImConversationMembersService;
......@@ -177,22 +178,21 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
/**
* 单向删除(隐藏)会话","云端聊天记录不删除;假设有A和B两个用户,A删会话,B还能发; 如果B发了消息,A这边要重新把会话显示出来,并能显示之前的聊天记录"
* 是否单向隐藏会话","云端聊天记录不删除;假设有A和B两个用户,A删会话,B还能发; 如果B发了消息,A这边要重新把会话显示出来,并能显示之前的聊天记录"
*
* @param id
* @return
* @throws Exception
*/
@Transactional(rollbackFor = Exception.class)
@Override
public boolean displayConversation(Long id) throws Exception {
public boolean displayConversation(ImConversationDisplayUpdate imConversationDisplayUpdate) throws Exception {
ImClient curentClient = imClientService.getCurentClient();
// 修改为删除隐藏状态
boolean update = imConversationMembersService.update(new UpdateWrapper<ImConversationMembers>()
.set("display_status", "0")
.set("display_status", imConversationDisplayUpdate.getDisplayStatus())
.eq("fk_client_id", curentClient.getId())
.eq("fk_conversation_id", "id")
.eq("fk_conversation_id", imConversationDisplayUpdate.getConversationId())
.eq("fk_appid", curentClient.getFkAppid())
);
return update;
......
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