Commit 05dd4427 by giaogiao

增加黑名单功能:

描述: 拉入黑名单后,双方都不能正常发送消息,聊天会话列表不会消失

新增接口:
1.将client拉入黑名单接口
2.将client移除黑名单接口
3.查询黑名单列表
parent 941f2ae7
package com.wecloud.im.controller;
import com.wecloud.im.param.ImClientBlacklistPageParam;
import com.wecloud.im.param.ImClientBlacklistQueryVo;
import com.wecloud.im.param.add.ImClientBlacklistUpdate;
import com.wecloud.im.service.ImClientBlacklistService;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.controller.BaseController;
import io.geekidea.springbootplus.framework.core.pagination.Paging;
import io.geekidea.springbootplus.framework.core.validator.groups.Add;
import io.geekidea.springbootplus.framework.log.annotation.OperationLog;
import io.geekidea.springbootplus.framework.log.enums.OperationLogType;
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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 黑名单 控制器
*
* @author wei
* @since 2021-06-17
*/
@Slf4j
@RestController
@RequestMapping("/ClientBlacklist")
@Api(value = "黑名单API", tags = {"黑名单"})
public class ImClientBlacklistController extends BaseController {
@Autowired
private ImClientBlacklistService imClientBlacklistService;
/**
* 添加黑名单
*/
@PostMapping("/add")
@OperationLog(name = "拉入黑名单", type = OperationLogType.ADD)
@ApiOperation(value = "拉入黑名单")
public ApiResult<Boolean> addImClientBlacklist(@Validated(Add.class) @RequestBody ImClientBlacklistUpdate imClientBlacklistUpdate) throws Exception {
return imClientBlacklistService.addImClientBlacklist(imClientBlacklistUpdate);
}
/**
* 删除黑名单
*/
@PostMapping("/delete")
@OperationLog(name = "移出黑名单", type = OperationLogType.DELETE)
@ApiOperation(value = "移出黑名单")
public ApiResult<Boolean> deleteImClientBlacklist(@RequestBody ImClientBlacklistUpdate imClientBlacklistUpdate) throws Exception {
return imClientBlacklistService.removeImClientBlacklist(imClientBlacklistUpdate);
}
/**
* 黑名单分页列表
*/
@PostMapping("/getPageList")
@OperationLog(name = "黑名单分页列表", type = OperationLogType.PAGE)
@ApiOperation(value = "黑名单分页列表")
public ApiResult<Paging<ImClientBlacklistQueryVo>> getImClientBlacklistPageList(@RequestBody ImClientBlacklistPageParam imClientBlacklistPageParam) throws Exception {
return imClientBlacklistService.getImClientBlacklistPageList(imClientBlacklistPageParam);
}
// /**
// * 修改黑名单
// */
// @PostMapping("/update")
// @OperationLog(name = "修改黑名单", type = OperationLogType.UPDATE)
// @ApiOperation(value = "修改黑名单")
// public ApiResult<Boolean> updateImClientBlacklist(@Validated(Update.class) @RequestBody ImClientBlacklist imClientBlacklist) throws Exception {
// boolean flag = imClientBlacklistService.updateImClientBlacklist(imClientBlacklist);
// return ApiResult.result(flag);
// }
// /**
// * 获取黑名单详情
// */
// @GetMapping("/info/{id}")
// @OperationLog(name = "黑名单详情", type = OperationLogType.INFO)
// @ApiOperation(value = "黑名单详情")
// public ApiResult<ImClientBlacklistQueryVo> getImClientBlacklist(@PathVariable("id") Long id) throws Exception {
// ImClientBlacklistQueryVo imClientBlacklistQueryVo = imClientBlacklistService.getImClientBlacklistById(id);
// return ApiResult.ok(imClientBlacklistQueryVo);
// }
// /**
// * 黑名单分页列表
// */
// @PostMapping("/getPageList")
// @OperationLog(name = "黑名单分页列表", type = OperationLogType.PAGE)
// @ApiOperation(value = "黑名单分页列表")
// public ApiResult<Paging<ImClientBlacklistQueryVo>> getImClientBlacklistPageList(@Validated @RequestBody ImClientBlacklistPageParam imClientBlacklistPageParam) throws Exception {
// Paging<ImClientBlacklistQueryVo> paging = imClientBlacklistService.getImClientBlacklistPageList(imClientBlacklistPageParam);
// return ApiResult.ok(paging);
// }
}
package com.wecloud.im.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
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;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* 黑名单
*
* @author wei
* @since 2021-06-17
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "ImClientBlacklist对象")
public class ImClientBlacklist extends BaseEntity {
private static final long serialVersionUID = 1L;
@NotNull(message = "客户端id不能为空")
@ApiModelProperty("客户端id")
@TableId(value = "id", type = IdType.INPUT)
private Long id;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("修改时间")
private Date updateTime;
@ApiModelProperty("应用appid")
private Long fkAppid;
@ApiModelProperty("拉黑者")
private Long fkClientIdPrevent;
@ApiModelProperty("被拉黑")
private Long fkClientIdBePrevent;
}
package com.wecloud.im.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wecloud.im.entity.ImClientBlacklist;
import com.wecloud.im.param.ImClientBlacklistQueryVo;
import io.geekidea.springbootplus.framework.core.pagination.Paging;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.io.Serializable;
/**
* 黑名单 Mapper 接口
*
* @author wei
* @since 2021-06-17
*/
@Repository
public interface ImClientBlacklistMapper extends BaseMapper<ImClientBlacklist> {
/**
* 查询我的拉黑列表
*
* @param clientId
* @return
*/
Paging<ImClientBlacklistQueryVo> getImClientBlacklistPageList(@Param("page") Page page, @Param("clientId") Long clientId);
/**
* 根据ID获取查询对象
*
* @param id
* @return
*/
ImClientBlacklistQueryVo getImClientBlacklistById(Serializable id);
// /**
// * 获取分页对象
// *
// * @param page
// * @param imClientBlacklistPageParam
// * @return
// */
// IPage<ImClientBlacklistQueryVo> getImClientBlacklistPageList(@Param("page") Page page, @Param("param") ImClientBlacklistPageParam imClientBlacklistPageParam);
}
package com.wecloud.im.param;
import io.geekidea.springbootplus.framework.core.pagination.BasePageOrderParam;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <pre>
* 黑名单 分页参数对象
* </pre>
*
* @author wei
* @date 2021-06-17
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "黑名单分页参数")
public class ImClientBlacklistPageParam extends BasePageOrderParam {
private static final long serialVersionUID = 1L;
}
package com.wecloud.im.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* <pre>
* 黑名单 查询结果对象
* </pre>
*
* @author wei
* @date 2021-06-17
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "ImClientBlacklistQueryVo对象")
public class ImClientBlacklistQueryVo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("被拉黑者id")
private String clientIdBePrevent;
}
\ No newline at end of file
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-06-17
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "ImClientBlacklistUpdate")
public class ImClientBlacklistUpdate extends BaseEntity {
@ApiModelProperty("被拉黑者id")
private String clientIdBePrevent;
}
package com.wecloud.im.service;
import com.wecloud.im.entity.ImClientBlacklist;
import com.wecloud.im.param.ImClientBlacklistPageParam;
import com.wecloud.im.param.ImClientBlacklistQueryVo;
import com.wecloud.im.param.add.ImClientBlacklistUpdate;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.service.BaseService;
import io.geekidea.springbootplus.framework.core.pagination.Paging;
/**
* 黑名单 服务类
*
* @author wei
* @since 2021-06-17
*/
public interface ImClientBlacklistService extends BaseService<ImClientBlacklist> {
/**
* 当前客户端是否被拉黑
*
* @param currentClient 当前客户端
* @param toClient 对方客户端
* @return
*/
boolean isBeBlack(Long currentClient, Long toClient);
/**
* 拉入黑名单
*
* @param imClientBlacklistUpdate
* @return
* @throws Exception
*/
ApiResult<Boolean> addImClientBlacklist(ImClientBlacklistUpdate imClientBlacklistUpdate) throws Exception;
/**
* 移出黑名单
*
* @param imClientBlacklistUpdate
* @return
* @throws Exception
*/
ApiResult<Boolean> removeImClientBlacklist(ImClientBlacklistUpdate imClientBlacklistUpdate) throws Exception;
/**
* 保存
*
* @param imClientBlacklist
* @return
* @throws Exception
*/
boolean saveImClientBlacklist(ImClientBlacklist imClientBlacklist) throws Exception;
/**
* 修改
*
* @param imClientBlacklist
* @return
* @throws Exception
*/
boolean updateImClientBlacklist(ImClientBlacklist imClientBlacklist) throws Exception;
/**
* 删除
*
* @param id
* @return
* @throws Exception
*/
boolean deleteImClientBlacklist(Long id) throws Exception;
/**
* 根据ID获取查询对象
*
* @param id
* @return
* @throws Exception
*/
ImClientBlacklistQueryVo getImClientBlacklistById(Long id) throws Exception;
// /**
// * 获取分页对象
// *
// * @param imClientBlacklistPageParam
// * @return
// * @throws Exception
// */
// Paging<ImClientBlacklistQueryVo> getImClientBlacklistPageList(ImClientBlacklistPageParam imClientBlacklistPageParam) throws Exception;
/**
* 获取分页对象
*
* @return
* @throws Exception
*/
ApiResult<Paging<ImClientBlacklistQueryVo>> getImClientBlacklistPageList(ImClientBlacklistPageParam imClientBlacklistPageParam) throws Exception;
}
package com.wecloud.im.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wecloud.im.entity.ImClient;
import com.wecloud.im.entity.ImClientBlacklist;
import com.wecloud.im.mapper.ImClientBlacklistMapper;
import com.wecloud.im.param.ImClientBlacklistPageParam;
import com.wecloud.im.param.ImClientBlacklistQueryVo;
import com.wecloud.im.param.add.ImClientBlacklistUpdate;
import com.wecloud.im.service.ImClientBlacklistService;
import com.wecloud.im.service.ImClientService;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
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.SnowflakeUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
/**
* 黑名单 服务实现类
*
* @author wei
* @since 2021-06-17
*/
@Slf4j
@Service
public class ImClientBlacklistServiceImpl extends BaseServiceImpl<ImClientBlacklistMapper, ImClientBlacklist> implements ImClientBlacklistService {
@Autowired
private ImClientBlacklistMapper imClientBlacklistMapper;
@Autowired
private ImClientService imClientService;
@Override
public boolean isBeBlack(Long currentClient, Long toClient) {
ImClientBlacklist one = this.getOne(new QueryWrapper<ImClientBlacklist>().lambda()
.eq(ImClientBlacklist::getFkClientIdPrevent, currentClient)
.eq(ImClientBlacklist::getFkClientIdBePrevent, toClient));
return one != null;
}
@Override
public ApiResult<Boolean> addImClientBlacklist(ImClientBlacklistUpdate imClientBlacklistUpdate) throws Exception {
ImClient client = imClientService.getClient();
ImClient client1 = imClientService.getOne(new QueryWrapper<ImClient>().lambda()
.eq(ImClient::getFkAppid, client.getFkAppid())
.eq(ImClient::getClientId, imClientBlacklistUpdate.getClientIdBePrevent()));
ImClientBlacklist imClientBlacklist = new ImClientBlacklist();
imClientBlacklist.setId(SnowflakeUtil.getId());
imClientBlacklist.setCreateTime(new Date());
imClientBlacklist.setFkAppid(client.getFkAppid());
imClientBlacklist.setFkClientIdPrevent(client.getId());
imClientBlacklist.setFkClientIdBePrevent(client1.getId());
boolean save = this.save(imClientBlacklist);
return ApiResult.ok();
}
@Override
public ApiResult<Boolean> removeImClientBlacklist(ImClientBlacklistUpdate imClientBlacklistUpdate) throws Exception {
ImClient client = imClientService.getClient();
ImClient client1 = imClientService.getOne(new QueryWrapper<ImClient>().lambda()
.eq(ImClient::getFkAppid, client.getFkAppid())
.eq(ImClient::getClientId, imClientBlacklistUpdate.getClientIdBePrevent()));
ImClientBlacklist one = this.getOne(new QueryWrapper<ImClientBlacklist>().lambda()
.eq(ImClientBlacklist::getFkClientIdPrevent, client.getId())
.eq(ImClientBlacklist::getFkClientIdBePrevent, client1.getId()));
this.deleteImClientBlacklist(one.getId());
return ApiResult.ok();
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean saveImClientBlacklist(ImClientBlacklist imClientBlacklist) throws Exception {
return super.save(imClientBlacklist);
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean updateImClientBlacklist(ImClientBlacklist imClientBlacklist) throws Exception {
return super.updateById(imClientBlacklist);
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean deleteImClientBlacklist(Long id) throws Exception {
return super.removeById(id);
}
@Override
public ImClientBlacklistQueryVo getImClientBlacklistById(Long id) throws Exception {
return imClientBlacklistMapper.getImClientBlacklistById(id);
}
// @Override
// public Paging<ImClientBlacklistQueryVo> getImClientBlacklistPageList(ImClientBlacklistPageParam imClientBlacklistPageParam) throws Exception {
// Page<ImClientBlacklistQueryVo> page = new PageInfo<>(imClientBlacklistPageParam, OrderItem.desc(getLambdaColumn(ImClientBlacklist::getCreateTime)));
// IPage<ImClientBlacklistQueryVo> iPage = imClientBlacklistMapper.getImClientBlacklistPageList(page, imClientBlacklistPageParam);
// return new Paging<ImClientBlacklistQueryVo>(iPage);
// }
@Override
public ApiResult<Paging<ImClientBlacklistQueryVo>> getImClientBlacklistPageList(ImClientBlacklistPageParam imClientBlacklistPageParam) throws Exception {
Page<ImClientBlacklistQueryVo> page = new PageInfo<>(imClientBlacklistPageParam, OrderItem.desc(getLambdaColumn(ImClientBlacklist::getCreateTime)));
ImClient client = imClientService.getClient();
Paging<ImClientBlacklistQueryVo> imClientBlacklistPageList = imClientBlacklistMapper.getImClientBlacklistPageList(page, client.getId());
return ApiResult.ok(imClientBlacklistPageList);
}
}
...@@ -10,6 +10,7 @@ import com.wecloud.im.entity.ImInbox; ...@@ -10,6 +10,7 @@ import com.wecloud.im.entity.ImInbox;
import com.wecloud.im.entity.ImMessage; import com.wecloud.im.entity.ImMessage;
import com.wecloud.im.entity.ImMessageOnlineSend; import com.wecloud.im.entity.ImMessageOnlineSend;
import com.wecloud.im.service.ImApplicationService; import com.wecloud.im.service.ImApplicationService;
import com.wecloud.im.service.ImClientBlacklistService;
import com.wecloud.im.service.ImClientService; import com.wecloud.im.service.ImClientService;
import com.wecloud.im.service.ImConversationMembersService; import com.wecloud.im.service.ImConversationMembersService;
import com.wecloud.im.service.ImInboxService; import com.wecloud.im.service.ImInboxService;
...@@ -44,6 +45,9 @@ import java.util.List; ...@@ -44,6 +45,9 @@ import java.util.List;
public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy { public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy {
@Autowired @Autowired
private ImClientBlacklistService imClientBlacklistService;
@Autowired
private WriteDataService writeDataService; private WriteDataService writeDataService;
@Autowired @Autowired
...@@ -118,6 +122,7 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy { ...@@ -118,6 +122,7 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy {
List<ImConversationMembers> membersList = imConversationMembersService.list( List<ImConversationMembers> membersList = imConversationMembersService.list(
new QueryWrapper<ImConversationMembers>().lambda() new QueryWrapper<ImConversationMembers>().lambda()
.eq(ImConversationMembers::getFkConversationId, toConversationId) .eq(ImConversationMembers::getFkConversationId, toConversationId)
.notIn(ImConversationMembers::getFkClientId, imClientSender.getId())
); );
if (membersList.isEmpty()) { if (membersList.isEmpty()) {
...@@ -125,6 +130,40 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy { ...@@ -125,6 +130,40 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy {
return; return;
} }
// 判断为单聊
if (membersList.size() == 1) {
// 判断是否被拉黑
if (imClientBlacklistService.isBeBlack(membersList.get(0).getId(), imClientSender.getId())) {
log.debug("被对方拉黑了");
// 响应发送方
ResponseModel<HashMap<String, Long>> responseModel = new ResponseModel<>();
ApiResult<Boolean> result = ApiResult.result(ApiCode.IS_BE_BLACK);
responseModel.setCmd(ResponseModel.RES);
responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage());
responseModel.setReqId(receiveModel.getReqId());
writeDataService.write(responseModel, appKey, clientUniId);
return;
}
// 是否把对方拉黑
if (imClientBlacklistService.isBeBlack(imClientSender.getId(), membersList.get(0).getId())) {
log.debug("你把对方拉黑了");
// 响应发送方
ResponseModel<HashMap<String, Long>> responseModel = new ResponseModel<>();
ApiResult<Boolean> result = ApiResult.result(ApiCode.IS_TO_BLACK);
responseModel.setCmd(ResponseModel.RES);
responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage());
responseModel.setReqId(receiveModel.getReqId());
writeDataService.write(responseModel, appKey, clientUniId);
return;
}
}
// 封装响应的实体 // 封装响应的实体
ImMessageOnlineSend imMessageOnlineSend = new ImMessageOnlineSend(); ImMessageOnlineSend imMessageOnlineSend = new ImMessageOnlineSend();
BeanUtils.copyProperties(imMessage, imMessageOnlineSend); BeanUtils.copyProperties(imMessage, imMessageOnlineSend);
...@@ -135,10 +174,11 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy { ...@@ -135,10 +174,11 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy {
// 遍历发送 // 遍历发送
for (ImConversationMembers conversationMembers : membersList) { for (ImConversationMembers conversationMembers : membersList) {
// 排除发送者 // // 排除发送者自己
if (conversationMembers.getFkClientId().equals(imClientSender.getId())) { // if (conversationMembers.getFkClientId().equals(imClientSender.getId())) {
continue; // membersList.remove(conversationMembers);
} // continue;
// }
// 保存收件箱 // 保存收件箱
long imInboxId = SnowflakeUtil.getId(); long imInboxId = SnowflakeUtil.getId();
ImInbox imInbox = new ImInbox(); ImInbox imInbox = new ImInbox();
...@@ -161,7 +201,7 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy { ...@@ -161,7 +201,7 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy {
// 向接收方推送 // 向接收方推送
ResponseModel<ImMessageOnlineSend> responseModel = new ResponseModel<>(); ResponseModel<ImMessageOnlineSend> responseModel = new ResponseModel<>();
responseModel.setCmd(ResponseModel.RES); responseModel.setCmd(ResponseModel.ONLINE_MSG);
ApiResult<Boolean> result = ApiResult.result(ApiCode.SUCCESS); ApiResult<Boolean> result = ApiResult.result(ApiCode.SUCCESS);
responseModel.setCode(result.getCode()); responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage()); responseModel.setMsg(result.getMessage());
...@@ -176,7 +216,7 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy { ...@@ -176,7 +216,7 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy {
// 响应发送方消息id等信息 // 响应发送方消息id等信息
ResponseModel<HashMap<String, Long>> responseModel = new ResponseModel<>(); ResponseModel<HashMap<String, Long>> responseModel = new ResponseModel<>();
ApiResult<Boolean> result = ApiResult.result(ApiCode.SUCCESS); ApiResult<Boolean> result = ApiResult.result(ApiCode.SUCCESS);
responseModel.setCmd(ResponseModel.ONLINE_MSG); responseModel.setCmd(ResponseModel.RES);
responseModel.setCode(result.getCode()); responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage()); responseModel.setMsg(result.getMessage());
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wecloud.im.mapper.ImClientBlacklistMapper">
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id
, create_time, update_time, fk_appid, fk_client_id_prevent, fk_client_id_be_prevent
</sql>
<select id="getImClientBlacklistById" resultType="com.wecloud.im.param.ImClientBlacklistQueryVo">
select
<include refid="Base_Column_List"/>
from im_client_blacklist where id = #{id}
</select>
<select id="getImClientBlacklistPageList" resultType="com.wecloud.im.param.ImClientBlacklistQueryVo">
SELECT im_client.client_id AS clientIdBePrevent
FROM im_client_blacklist
INNER JOIN im_client ON im_client.id = im_client_blacklist.fk_client_id_be_prevent
WHERE im_client_blacklist.fk_client_id_prevent = #{clientId}
</select>
<!-- <select id="getImClientBlacklistPageList" parameterType="com.wecloud.im.param.ImClientBlacklistPageParam"-->
<!-- resultType="com.wecloud.im.param.ImClientBlacklistQueryVo">-->
<!-- select-->
<!-- <include refid="Base_Column_List"/>-->
<!-- from im_client_blacklist-->
<!-- </select>-->
</mapper>
...@@ -77,3 +77,5 @@ api.response.code.JWTDECODE_EXCEPTION=Token解析异常 ...@@ -77,3 +77,5 @@ api.response.code.JWTDECODE_EXCEPTION=Token解析异常
api.response.code.HTTP_REQUEST_METHOD_NOT_SUPPORTED_EXCEPTION=默认的异常处理 api.response.code.HTTP_REQUEST_METHOD_NOT_SUPPORTED_EXCEPTION=默认的异常处理
api.response.code.REPETITION_CONVERSATION=已有会话,不能重复创建会话 api.response.code.REPETITION_CONVERSATION=已有会话,不能重复创建会话
api.response.code.CLIENT_NOT_FOUNT=成员不存在,不能创建会话 api.response.code.CLIENT_NOT_FOUNT=成员不存在,不能创建会话
api.response.code.IS_BE_BLACK=被对方拉黑
api.response.code.IS_TO_BLACK=你把对方拉黑
...@@ -114,6 +114,16 @@ public enum ApiCode { ...@@ -114,6 +114,16 @@ public enum ApiCode {
*/ */
CLIENT_NOT_FOUNT(6011, "api.response.code.CLIENT_NOT_FOUNT"), CLIENT_NOT_FOUNT(6011, "api.response.code.CLIENT_NOT_FOUNT"),
/**
* 被对方拉黑
*/
IS_BE_BLACK(6012, "api.response.code.IS_BE_BLACK"),
/**
* 你把对方拉黑
*/
IS_TO_BLACK(6013, "api.response.code.IS_TO_BLACK"),
; ;
private final int code; private final int code;
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<version>2.0</version> <version>2.0</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<name>SiEn</name> <name>WC_IM</name>
<url>https://github.com/geekidea/spring-boot-plus</url> <url>https://github.com/geekidea/spring-boot-plus</url>
<properties> <properties>
......
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