QwKfClient.java 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. package com.linkwechat.fegin;
  2. import com.linkwechat.common.core.domain.AjaxResult;
  3. import com.linkwechat.domain.wecom.query.WeBaseQuery;
  4. import com.linkwechat.domain.wecom.query.kf.*;
  5. import com.linkwechat.domain.wecom.vo.WeResultVo;
  6. import com.linkwechat.domain.wecom.vo.kf.*;
  7. import com.linkwechat.fallback.QwKfFallbackFactory;
  8. import io.swagger.annotations.ApiOperation;
  9. import org.springframework.cloud.openfeign.FeignClient;
  10. import org.springframework.web.bind.annotation.PostMapping;
  11. import org.springframework.web.bind.annotation.RequestBody;
  12. /**
  13. * @author danmo
  14. * @date 2022/3/29 23:00
  15. */
  16. @FeignClient(value = "${wecom.serve.linkwe-wecom}", fallback = QwKfFallbackFactory.class, contextId = "linkwe-wecom-kf")
  17. public interface QwKfClient {
  18. /**
  19. * 添加客服账号
  20. *
  21. * @param query
  22. * @return
  23. */
  24. @ApiOperation(value = "添加客服账号",httpMethod = "POST")
  25. @PostMapping("/kf/account/add")
  26. public AjaxResult<WeAddKfVo> addAccount(@RequestBody WeKfAddQuery query);
  27. /**
  28. * 删除客服账号
  29. * @param query
  30. * @return
  31. */
  32. @ApiOperation(value = "删除客服账号",httpMethod = "POST")
  33. @PostMapping("/kf/account/del")
  34. public AjaxResult<WeResultVo> delAccount(@RequestBody WeKfQuery query);
  35. /**
  36. * 修改客服账号
  37. * @param query
  38. * @return
  39. */
  40. @ApiOperation(value = "修改客服账号",httpMethod = "POST")
  41. @PostMapping("/kf/account/update")
  42. public AjaxResult<WeResultVo> updateAccount(@RequestBody WeKfQuery query);
  43. /**
  44. * 获取客服账号列表
  45. * @param query
  46. * @return
  47. */
  48. @ApiOperation(value = "获取客服账号列表",httpMethod = "POST")
  49. @PostMapping("/kf/account/list")
  50. public AjaxResult<WeKfListVo> getAccountList(@RequestBody WeBaseQuery query);
  51. /**
  52. * 获取客服帐号链接
  53. * @param query
  54. * @return
  55. */
  56. @ApiOperation(value = "获取客服帐号链接",httpMethod = "POST")
  57. @PostMapping("/kf/account/addContactWay")
  58. public AjaxResult<WeKfDetailVo> addContactWay(@RequestBody WeKfQuery query);
  59. /**
  60. * 添加客服接待人员
  61. * @param query
  62. * @return
  63. */
  64. @ApiOperation(value = "添加客服接待人员",httpMethod = "POST")
  65. @PostMapping("/kf/servicer/add")
  66. public AjaxResult<WeKfUserListVo> addServicer(@RequestBody WeKfQuery query);
  67. /**
  68. * 删除客服接待人员
  69. * @param query
  70. * @return
  71. */
  72. @ApiOperation(value = "删除客服接待人员",httpMethod = "POST")
  73. @PostMapping("/kf/servicer/del")
  74. public AjaxResult<WeKfUserListVo> delServicer(@RequestBody WeKfQuery query);
  75. /**
  76. * 获取客服接待人员列表
  77. * @param query
  78. * @return
  79. */
  80. @ApiOperation(value = "获取客服接待人员列表",httpMethod = "POST")
  81. @PostMapping("/kf/servicer/list")
  82. public AjaxResult<WeKfUserListVo> getServicerList(@RequestBody WeKfQuery query);
  83. /**
  84. * 获取会话状态
  85. * @param query
  86. * @return
  87. */
  88. @ApiOperation(value = "获取会话状态",httpMethod = "POST")
  89. @PostMapping("/kf/session/getStatus")
  90. public AjaxResult<WeKfStateVo> getSessionStatus(@RequestBody WeKfStateQuery query);
  91. /**
  92. * 修改会话状态
  93. * @param query
  94. * @return
  95. */
  96. @ApiOperation(value = "修改会话状态",httpMethod = "POST")
  97. @PostMapping("/kf/session/updateStatus")
  98. public AjaxResult<WeKfStateVo> updateSessionStatus(@RequestBody WeKfStateQuery query);
  99. /**
  100. * 发送会话消息
  101. * @param query
  102. * @return
  103. */
  104. @ApiOperation(value = "发送会话消息",httpMethod = "POST")
  105. @PostMapping("/kf/session/sendMsg")
  106. public AjaxResult<WeKfMsgVo> sendSessionMsg(@RequestBody WeKfMsgQuery query);
  107. /**
  108. * 读取会话消息
  109. * @param query
  110. * @return
  111. */
  112. @ApiOperation(value = "读取会话消息",httpMethod = "POST")
  113. @PostMapping("/kf/session/getMsg")
  114. public AjaxResult<WeKfGetMsgVo> getSessionMsg(@RequestBody WeKfGetMsgQuery query);
  115. /**
  116. * 获取客服客户信息
  117. * @param query
  118. * @return
  119. */
  120. @ApiOperation(value = "获取客服客户信息",httpMethod = "POST")
  121. @PostMapping("/kf/customer/batchGet")
  122. public AjaxResult<WeCustomerInfoVo> getCustomerInfos(@RequestBody WeKfCustomerQuery query);
  123. /**
  124. * 获取配置的专员与客户群
  125. * @param query
  126. * @return
  127. */
  128. @ApiOperation(value = "获取配置的专员与客户群",httpMethod = "POST")
  129. @PostMapping("/kf/customer/getUpgradeServiceConfig")
  130. public AjaxResult<WeUpgradeServiceConfigVo> getUpgradeServiceConfig(@RequestBody WeBaseQuery query);
  131. /**
  132. * 为客户升级为专员或客户群服务
  133. * @param query
  134. * @return
  135. */
  136. @ApiOperation(value = "为客户升级为专员或客户群服务",httpMethod = "POST")
  137. @PostMapping("/kf/customer/customerUpgradeService")
  138. public AjaxResult<WeResultVo> customerUpgradeService(@RequestBody WeUpgradeServiceQuery query);
  139. /**
  140. * 为客户取消推荐
  141. * @param query
  142. * @return
  143. */
  144. @ApiOperation(value = "为客户取消推荐",httpMethod = "POST")
  145. @PostMapping("/kf/customer/cancelUpgradeService")
  146. public AjaxResult<WeResultVo> cancelUpgradeService(@RequestBody WeUpgradeServiceQuery query);
  147. /**
  148. * 发送欢迎语等事件响应消息
  149. * @param query
  150. * @return
  151. */
  152. @ApiOperation(value = "发送欢迎语等事件响应消息",httpMethod = "POST")
  153. @PostMapping("/kf/sendMsgOnEvent")
  154. public AjaxResult<WeKfMsgVo> sendMsgOnEvent(@RequestBody WeKfMsgQuery query);
  155. /**
  156. * 获取「客户数据统计」企业汇总数据
  157. * @param query
  158. * @return
  159. */
  160. @ApiOperation(value = "获取「客户数据统计」企业汇总数据",httpMethod = "POST")
  161. @PostMapping("/kf/getCorpStatistic")
  162. AjaxResult<WeKfStatisticListVo> getCorpStatistic(@RequestBody WeKfGetStatisticQuery query);
  163. /**
  164. * 获取「客户数据统计」接待人员明细数据
  165. * @param query
  166. * @return
  167. */
  168. @ApiOperation(value = "获取「客户数据统计」接待人员明细数据",httpMethod = "POST")
  169. @PostMapping("/kf/getServicerStatistic")
  170. AjaxResult<WeKfStatisticListVo> getServicerStatistic(@RequestBody WeKfGetStatisticQuery query);
  171. /**
  172. * 知识库新增分组
  173. * @param query
  174. * @return
  175. */
  176. @ApiOperation(value = "知识库新增分组",httpMethod = "POST")
  177. @PostMapping("/kf/addKnowledgeGroup")
  178. AjaxResult<WeKfAddKnowledgeGroupVo> addKnowledgeGroup(@RequestBody WeKfAddKnowledgeGroupQuery query);
  179. /**
  180. * 知识库删除分组
  181. * @param query
  182. * @return
  183. */
  184. @ApiOperation(value = "知识库删除分组",httpMethod = "POST")
  185. @PostMapping("/kf/delKnowledgeGroup")
  186. AjaxResult<WeResultVo> delKnowledgeGroup(@RequestBody WeKfKnowledgeGroupQuery query);
  187. /**
  188. * 知识库修改分组
  189. * @param query
  190. * @return
  191. */
  192. @ApiOperation(value = "知识库修改分组",httpMethod = "POST")
  193. @PostMapping("/kf/modKnowledgeGroup")
  194. AjaxResult<WeResultVo> modKnowledgeGroup(@RequestBody WeKfKnowledgeGroupQuery query);
  195. /**
  196. * 知识库分组列表
  197. * @param query
  198. * @return
  199. */
  200. @ApiOperation(value = "知识库修改分组",httpMethod = "POST")
  201. @PostMapping("/kf/getKnowledgeGroupList")
  202. AjaxResult<WeKfKnowledgeGroupListVo> getKnowledgeGroupList(@RequestBody WeKfKnowledgeGroupQuery query);
  203. }