SysWechatCustomerService.java 2.5 KB

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