SysWechatCustomerService.java 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package com.ydtech.modules.admin.service;
  2. import com.github.pagehelper.PageInfo;
  3. import com.ydtech.exception.SystemException;
  4. import com.ydtech.extension.BaseIService;
  5. import com.ydtech.modules.admin.model.po.SysWechatCustomer;
  6. import com.ydtech.modules.admin.model.vo.wechat.SysWechatCustomerDutyRulesVo;
  7. import com.ydtech.modules.admin.model.vo.wechat.SysWechatCustomerQueryVo;
  8. import com.ydtech.modules.admin.model.vo.wechat.SysWechatCustomerVo;
  9. import java.util.List;
  10. /**
  11. * @author Administrator
  12. * @description 针对表【sys_wechat_customer(微信客服)】的数据库操作Service
  13. * @createDate 2025-04-17 10:14:27
  14. */
  15. public interface SysWechatCustomerService extends BaseIService<SysWechatCustomer> {
  16. /**
  17. * 删除微信客服数据和值班数据
  18. *
  19. * @param customerId 客服id
  20. */
  21. void deleteAllInfo(String customerId);
  22. /**
  23. * 分页查询 通过昵称查询
  24. *
  25. * @param sysWechatCustomerQuery 查询实体
  26. * @return 客服分页数据
  27. */
  28. PageInfo<SysWechatCustomerVo> getByNickname(SysWechatCustomerQueryVo sysWechatCustomerQuery);
  29. /**
  30. * 通过客户id 获取规则
  31. *
  32. * @return 规则列表
  33. */
  34. SysWechatCustomerDutyRulesVo getCustomerDutyRules(String customerId);
  35. /**
  36. * 值班规则配置
  37. *
  38. * @param sysWechatCustomerDutyRules 值班规则
  39. */
  40. void saveOrUpdateCustomerDutyRules(SysWechatCustomerDutyRulesVo sysWechatCustomerDutyRules);
  41. /**
  42. * 通过用户id 获取微信客服
  43. *
  44. * @param userId 用户id
  45. * @return 微信客服
  46. */
  47. default SysWechatCustomer getByUserId(String userId) {
  48. return lambdaQuery().eq(SysWechatCustomer::getUserId, userId).one();
  49. }
  50. /**
  51. * 昵称是否存在
  52. *
  53. * @param nickname
  54. */
  55. default void isNicknameRepeat(String nickname) {
  56. List<SysWechatCustomer> list = lambdaQuery().eq(SysWechatCustomer::getNickname, nickname).list();
  57. if (!list.isEmpty()) {
  58. throw new SystemException("客服昵称已存在");
  59. }
  60. }
  61. SysWechatCustomer getCacheCustomerId(SysWechatCustomer sysWechatCustomer);
  62. /**
  63. * 判断管理人是否一致
  64. *
  65. * @param externalUserId 企业微信id
  66. * @param sysWechatCustomer 客服
  67. * @return true 一致 false 不一致
  68. *
  69. */
  70. boolean whetherTheManagersAreConsistent(String externalUserId, SysWechatCustomer sysWechatCustomer);
  71. }