WorkMemberRelationServices.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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\services\work;
  12. use app\dao\work\WorkMemberRelationDao;
  13. use app\services\BaseServices;
  14. use crmeb\traits\ServicesTrait;
  15. /**
  16. * 企业微信成员关联表
  17. * Class WorkMemberRelationServices
  18. * @package app\services\\work
  19. * @mixin WorkMemberRelationDao
  20. */
  21. class WorkMemberRelationServices extends BaseServices
  22. {
  23. use ServicesTrait;
  24. /**
  25. * WorkMemberRelationServices constructor.
  26. * @param WorkMemberRelationDao $dao
  27. */
  28. public function __construct(WorkMemberRelationDao $dao)
  29. {
  30. $this->dao = $dao;
  31. }
  32. /**
  33. * 添加成员部门
  34. * @param int $memberId
  35. * @param string $isLeaderInDept
  36. * @param string $department
  37. * @return mixed
  38. */
  39. public function saveMemberDepartment(int $memberId, string $isLeaderInDept, string $department)
  40. {
  41. $res = true;
  42. if ($department) {
  43. $department = explode(',', $department);
  44. $isLeaderInDept = $isLeaderInDept ? explode(',', $isLeaderInDept) : [];
  45. $departmentData = [];
  46. for ($i = 0; $i < count($department); $i++) {
  47. $departmentData[] = [
  48. 'department' => $department[$i],
  49. 'is_leader_in_dept' => $isLeaderInDept[$i] ?? 0,
  50. 'member_id' => $memberId,
  51. 'create_time' => time()
  52. ];
  53. }
  54. $this->dao->delete(['member_id' => $memberId]);
  55. $res = $this->dao->saveAll($departmentData);
  56. }
  57. return $res;
  58. }
  59. }