Commit 68a1456a by giaogiao

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

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