|
|
@ -16,6 +16,8 @@ import lombok.RequiredArgsConstructor; |
|
|
import org.dromara.common.redis.utils.RedisUtils; |
|
|
import org.dromara.common.redis.utils.RedisUtils; |
|
|
import org.dromara.common.satoken.utils.LoginHelper; |
|
|
import org.dromara.common.satoken.utils.LoginHelper; |
|
|
import org.dromara.im.constant.ImConstant; |
|
|
import org.dromara.im.constant.ImConstant; |
|
|
|
|
|
import org.dromara.im.domain.ImUser; |
|
|
|
|
|
import org.dromara.im.mapper.ImUserMapper; |
|
|
import org.dromara.im.mq.ImRedisMQTemplate; |
|
|
import org.dromara.im.mq.ImRedisMQTemplate; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.dromara.im.domain.bo.ImAgentBo; |
|
|
import org.dromara.im.domain.bo.ImAgentBo; |
|
|
@ -44,6 +46,8 @@ public class ImAgentServiceImpl implements IImAgentService { |
|
|
|
|
|
|
|
|
private final ImAgentMapper baseMapper; |
|
|
private final ImAgentMapper baseMapper; |
|
|
|
|
|
|
|
|
|
|
|
private final ImUserMapper userMapper; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 查询代理关联 |
|
|
* 查询代理关联 |
|
|
* |
|
|
* |
|
|
@ -286,8 +290,22 @@ public class ImAgentServiceImpl implements IImAgentService { |
|
|
|
|
|
|
|
|
LambdaUpdateWrapper<ImAgent> wrapper = new LambdaUpdateWrapper<>(); |
|
|
LambdaUpdateWrapper<ImAgent> wrapper = new LambdaUpdateWrapper<>(); |
|
|
wrapper.eq(ImAgent::getId, agent.getId()); |
|
|
wrapper.eq(ImAgent::getId, agent.getId()); |
|
|
|
|
|
|
|
|
|
|
|
if (customerId == null) { |
|
|
|
|
|
wrapper.setSql("default_kefu_id = NULL"); |
|
|
|
|
|
} else { |
|
|
|
|
|
//校验客服是否是该代理下的
|
|
|
|
|
|
String token = this.getTokenByUserId(); |
|
|
|
|
|
LambdaQueryWrapper<ImUser> exist = new LambdaQueryWrapper<>(); |
|
|
|
|
|
exist.eq(ImUser::getUniqueToken, token); |
|
|
|
|
|
exist.eq(ImUser::getId, customerId); |
|
|
|
|
|
ImUser existUser = userMapper.selectOne(exist); |
|
|
|
|
|
if(ObjectUtil.isEmpty(existUser)){ |
|
|
|
|
|
throw new RuntimeException("异常数据"); |
|
|
|
|
|
} |
|
|
wrapper.set(ImAgent::getDefaultKefuId, customerId); |
|
|
wrapper.set(ImAgent::getDefaultKefuId, customerId); |
|
|
baseMapper.update(new ImAgent(), wrapper); |
|
|
} |
|
|
|
|
|
baseMapper.update(wrapper); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|