Commit 5f0bbf59 by 罗长华

合并置顶和免打扰接口为聊天设置接口

parent c242ddc7
......@@ -2,7 +2,6 @@ package com.wecloud.im.controller;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.controller.BaseController;
import io.geekidea.springbootplus.framework.shiro.util.SecurityUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -16,10 +15,9 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.wecloud.im.param.ChatSettingParam;
import com.wecloud.im.param.ImConvMemeClientRemarkNameParam;
import com.wecloud.im.param.ListConversationMembersParam;
import com.wecloud.im.param.SetConversationDoNotDisturbParam;
import com.wecloud.im.param.SetConversationTopParam;
import com.wecloud.im.param.add.ImConversationMemAttrUpdate;
import com.wecloud.im.service.ImConversationMembersService;
import com.wecloud.im.vo.ConversationMemberVo;
......@@ -77,39 +75,16 @@ public class ImConversationMembersController extends BaseController {
}
/**
* 会话置顶
* 聊天设置
* @Author luozh
* @Date 2022年04月26日 11:48:59
* @param
* @Return
*/
@ApiOperation(value = "会话置顶")
@PostMapping("/sdk/setTop")
public ApiResult<Boolean> setTop(@RequestBody SetConversationTopParam param) {
Long appId = SecurityUtils.getCurrentAppId();
String clientId = param.getClientId();
Long conversationId = param.getConversationId();
Boolean top = param.getTop();
imConversationMembersService.setTop(appId, clientId, conversationId, top);
return ApiResult.ok();
}
/**
* 设置免打扰
* @Author luozh
* @Date 2022年04月26日 11:49:55
* @param
* @Return
*/
@ApiOperation(value = "会话免打扰")
@PostMapping("/sdk/setDoNotDisturb")
public ApiResult<Boolean> setDoNotDisturb(@RequestBody SetConversationDoNotDisturbParam param) {
Long appId = SecurityUtils.getCurrentAppId();
String clientId = param.getClientId();
Long conversationId = param.getConversationId();
Boolean doNotDisturb = param.getDoNotDisturb();
imConversationMembersService.setDoNotDisturb(appId, clientId, conversationId, doNotDisturb);
return ApiResult.ok();
@ApiOperation(value = "聊天设置")
@PostMapping("/chatSetting")
public ApiResult<Boolean> chatSetting(@RequestBody ChatSettingParam param) {
return ApiResult.ok(imConversationMembersService.chatSetting(param));
}
}
......
......@@ -4,14 +4,14 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 设置会话置顶入参
* 聊天设置入参
* @Author luozh
* @Date 2022年04月26日 11:52
* @Version 1.0
*/
@Data
public class SetConversationTopParam {
public class ChatSettingParam {
@ApiModelProperty("客户端id")
String clientId;
......@@ -19,7 +19,10 @@ public class SetConversationTopParam {
@ApiModelProperty("会话id")
Long conversationId;
@ApiModelProperty("设置类型")
ChatSettingTypeEnum type;
@ApiModelProperty("是否免打扰")
private Boolean top;
private Boolean on;
}
package com.wecloud.im.param;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
/**
*
* @Author luozh
* @Date 2022年04月27日 17:26
* @Version 1.0
*/
public enum ChatSettingTypeEnum implements BaseEnum {
/**
* 1-置顶
*/
TOP(1, "置顶"),
/**
* 2-消息免打扰
*/
DO_NOT_DISTURB(2, "消息免打扰"),
;
ChatSettingTypeEnum(int code, String desc) {
this.code = code;
this.desc = desc;
}
@JsonValue
@EnumValue
private final Integer code;
private final String desc;
@Override
public Integer getCode() {
return null;
}
@Override
public String getDesc() {
return null;
}
}
......@@ -10,6 +10,7 @@ import com.wecloud.im.entity.ImApplication;
import com.wecloud.im.entity.ImConversationMembers;
import com.wecloud.im.param.ApiImConversationMembersPageParam;
import com.wecloud.im.param.ApiImConversationMembersQueryVo;
import com.wecloud.im.param.ChatSettingParam;
import com.wecloud.im.param.ImConvMemeClientRemarkNameParam;
import com.wecloud.im.param.ImConversationMembersPageParam;
import com.wecloud.im.param.ImConversationMembersQueryVo;
......@@ -129,14 +130,5 @@ public interface ImConversationMembersService extends BaseService<ImConversation
* @param
* @Return
*/
Boolean setTop(Long appId, String clientId, Long conversationId, Boolean top);
/**
* 设置免打扰
* @Author luozh
* @Date 2022年04月25日 06:24:43
* @param
* @Return
*/
Boolean setDoNotDisturb(Long appId, String clientId, Long conversationId, Boolean doNotDisturb);
Boolean chatSetting(ChatSettingParam param);
}
......@@ -6,6 +6,7 @@ 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 io.geekidea.springbootplus.framework.shiro.util.SecurityUtils;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
......@@ -31,6 +32,8 @@ import com.wecloud.im.mapper.ImConversationMapper;
import com.wecloud.im.mapper.ImConversationMembersMapper;
import com.wecloud.im.param.ApiImConversationMembersPageParam;
import com.wecloud.im.param.ApiImConversationMembersQueryVo;
import com.wecloud.im.param.ChatSettingParam;
import com.wecloud.im.param.ChatSettingTypeEnum;
import com.wecloud.im.param.ImConvMemeClientRemarkNameParam;
import com.wecloud.im.param.ImConversationMembersPageParam;
import com.wecloud.im.param.ImConversationMembersQueryVo;
......@@ -259,21 +262,13 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
}
@Override
public Boolean setTop(Long appId, String clientId, Long conversationId, Boolean top) {
// 找到对应的会话
ImConversationMembers conversation =
baseMapper.selectOne(Wrappers.<ImConversationMembers>lambdaQuery()
.eq(ImConversationMembers::getClientId, clientId)
.eq(ImConversationMembers::getFkConversationId, conversationId)
.eq(ImConversationMembers::getFkAppid, appId));
if (conversation == null) {
throw new BusinessException("会话不存在");
}
return update(Wrappers.<ImConversationMembers>lambdaUpdate().eq(ImConversationMembers::getId, conversation.getId()).set(ImConversationMembers::getTop, top));
}
public Boolean chatSetting(ChatSettingParam param) {
Long appId = SecurityUtils.getCurrentAppId();
String clientId = param.getClientId();
Long conversationId = param.getConversationId();
ChatSettingTypeEnum type = param.getType();
Boolean on = param.getOn();
@Override
public Boolean setDoNotDisturb(Long appId, String clientId, Long conversationId, Boolean doNotDisturb) {
// 找到对应的会话
ImConversationMembers conversation =
baseMapper.selectOne(Wrappers.<ImConversationMembers>lambdaQuery()
......@@ -283,8 +278,16 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
if (conversation == null) {
throw new BusinessException("会话不存在");
}
return update(Wrappers.<ImConversationMembers>lambdaUpdate().eq(ImConversationMembers::getId,
conversation.getId()).set(ImConversationMembers::getDoNotDisturb, doNotDisturb));
boolean result = false;
if (ChatSettingTypeEnum.TOP.equals(type)) {
result = update(Wrappers.<ImConversationMembers>lambdaUpdate().eq(ImConversationMembers::getId,
conversation.getId()).set(ImConversationMembers::getTop, on));
} else if (ChatSettingTypeEnum.DO_NOT_DISTURB.equals(type)) {
result = update(Wrappers.<ImConversationMembers>lambdaUpdate().eq(ImConversationMembers::getId,
conversation.getId()).set(ImConversationMembers::getDoNotDisturb, on));
}
return result;
}
}
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