Commit 5f0bbf59 by 罗长华

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

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