Referee.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace app\shop\model\plus\agent;
  3. use app\common\model\plus\agent\Referee as RefereeModel;
  4. /**
  5. * 分销商用户模型
  6. */
  7. class Referee extends RefereeModel
  8. {
  9. /**
  10. * 获取下级团队成员ID集
  11. */
  12. public function getTeamUserIds($agentId, $level = -1)
  13. {
  14. $level > -1 && $this->where('m.level', '=', $level);
  15. return $this->alias('m')
  16. ->join('user', 'user.user_id = m.user_id')
  17. ->where('m.agent_id', '=', $agentId)
  18. ->where('user.is_delete', '=', 0)
  19. ->column('m.user_id');
  20. }
  21. /**
  22. * 获取指定用户的推荐人列表
  23. */
  24. public static function getRefereeList($userId)
  25. {
  26. return (new static)->with(['agent1'])->where('user_id', '=', $userId)->select();
  27. }
  28. /**
  29. * 清空下级成员推荐关系
  30. */
  31. public function onClearTeam($agent_id, $level = -1)
  32. {
  33. $model = $this;
  34. if($level > -1){
  35. $model = $model->where('level', '=', $level);
  36. }
  37. return $model->where('agent_id', '=', $agent_id)->delete();
  38. }
  39. /**
  40. * 清空上级推荐关系
  41. */
  42. public function onClearReferee($userId, $level = -1)
  43. {
  44. $model = $this;
  45. if($level > -1) {
  46. $model = $model->where('level', '=', $level);
  47. }
  48. return $model->where('user_id', '=', $userId)->delete();
  49. }
  50. /**
  51. * 清空2-3级推荐人的关系记录
  52. */
  53. public function onClearTop($teamIds)
  54. {
  55. return $this->where('user_id', 'in', $teamIds)
  56. ->where('level', 'in', [2, 3])
  57. ->delete();
  58. }
  59. }