Member.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\controller\admin\v1\work;
  12. use app\controller\admin\AuthController;
  13. use app\services\store\SystemStoreStaffServices;
  14. use app\services\user\label\UserLabelServices;
  15. use app\services\work\WorkDepartmentServices;
  16. use app\services\work\WorkMemberServices;
  17. use crmeb\services\wechat\config\WorkConfig;
  18. use think\facade\App;
  19. use think\db\exception\DataNotFoundException;
  20. use think\db\exception\DbException;
  21. use think\db\exception\ModelNotFoundException;
  22. /**
  23. * 企业微信成员
  24. * Class Member
  25. * @package app\controller\admin\v1\work
  26. */
  27. class Member extends AuthController
  28. {
  29. /**
  30. * Member constructor.
  31. * @param App $app
  32. * @param WorkMemberServices $services
  33. */
  34. public function __construct(App $app, WorkMemberServices $services)
  35. {
  36. parent::__construct($app);
  37. $this->services = $services;
  38. }
  39. /**
  40. * @param WorkConfig $config
  41. * @return mixed
  42. */
  43. public function index(WorkConfig $config)
  44. {
  45. $where = $this->request->getMore([
  46. ['department', ''],
  47. ['name', '']
  48. ]);
  49. $where['corp_id'] = $config->get('corpId');
  50. return $this->success($this->services->getList($where));
  51. }
  52. /**
  53. * 获取企业微信客户标签
  54. * @param UserLabelServices $services
  55. * @return mixed
  56. */
  57. public function getUserLabel(UserLabelServices $services)
  58. {
  59. return $this->success($services->getWorkLabel());
  60. }
  61. /**
  62. * 获取企业微信组织架构
  63. * @param WorkConfig $config
  64. * @param WorkDepartmentServices $services
  65. * @param SystemStoreStaffServices $staffServices
  66. * @return mixed
  67. * @throws DataNotFoundException
  68. * @throws DbException
  69. * @throws ModelNotFoundException
  70. */
  71. public function getMemberTree(WorkConfig $config, WorkDepartmentServices $services)
  72. {
  73. return $this->success($services->getMailChildren($config->get('corpId')));
  74. }
  75. /**
  76. * 同步企业微信成员
  77. * @param WorkDepartmentServices $services
  78. * @return mixed
  79. */
  80. public function synchMember(WorkDepartmentServices $services)
  81. {
  82. $services->authDepartment();
  83. return $this->success('已加入消息队列,请稍后查看');
  84. }
  85. }