package com.ydtech.modules.admin.service; import com.github.pagehelper.PageInfo; import com.ydtech.exception.SystemException; import com.ydtech.extension.BaseIService; import com.ydtech.modules.admin.model.po.SysWechatCustomer; import com.ydtech.modules.admin.model.vo.wechat.SysWechatCustomerDutyRulesVo; import com.ydtech.modules.admin.model.vo.wechat.SysWechatCustomerQueryVo; import com.ydtech.modules.admin.model.vo.wechat.SysWechatCustomerVo; import java.util.List; /** * @author Administrator * @description 针对表【sys_wechat_customer(微信客服)】的数据库操作Service * @createDate 2025-04-17 10:14:27 */ public interface SysWechatCustomerService extends BaseIService { /** * 删除微信客服数据和值班数据 * * @param customerId 客服id */ void deleteAllInfo(String customerId); /** * 分页查询 通过昵称查询 * * @param sysWechatCustomerQuery 查询实体 * @return 客服分页数据 */ PageInfo getByNickname(SysWechatCustomerQueryVo sysWechatCustomerQuery); /** * 通过客户id 获取规则 * * @return 规则列表 */ SysWechatCustomerDutyRulesVo getCustomerDutyRules(String customerId); /** * 值班规则配置 * * @param sysWechatCustomerDutyRules 值班规则 */ void saveOrUpdateCustomerDutyRules(SysWechatCustomerDutyRulesVo sysWechatCustomerDutyRules); /** * 通过用户id 获取微信客服 * * @param userId 用户id * @return 微信客服 */ default SysWechatCustomer getByUserId(String userId) { return lambdaQuery().eq(SysWechatCustomer::getUserId, userId).one(); } /** * 昵称是否存在 * * @param nickname */ default void isNicknameRepeat(String nickname) { List list = lambdaQuery().eq(SysWechatCustomer::getNickname, nickname).list(); if (!list.isEmpty()) { throw new SystemException("客服昵称已存在"); } } SysWechatCustomer getCacheCustomerId(SysWechatCustomer sysWechatCustomer); /** * 判断管理人是否一致 * * @param externalUserId 企业微信id * @param sysWechatCustomer 客服 * @return true 一致 false 不一致 * */ boolean whetherTheManagersAreConsistent(String externalUserId, SysWechatCustomer sysWechatCustomer); }