MemberModel.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | LARAVEL8.0 框架 [ LARAVEL ][ RXThinkCMF ]
  4. // +----------------------------------------------------------------------
  5. // | 版权所有 2017~2021 LARAVEL研发中心
  6. // +----------------------------------------------------------------------
  7. // | 官方网站: http://www.laravel.cn
  8. // +----------------------------------------------------------------------
  9. // | Author: laravel开发员 <laravel.qq.com>
  10. // +----------------------------------------------------------------------
  11. namespace App\Models;
  12. /**
  13. * 会员-模型
  14. * @author laravel开发员
  15. * @since 2020/11/11
  16. * Class MemberModel
  17. * @package App\Models
  18. */
  19. class MemberModel extends BaseModel
  20. {
  21. // 设置数据表
  22. protected $table = 'member';
  23. /**
  24. * 商家
  25. * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
  26. */
  27. public function merchant()
  28. {
  29. return $this->belongsTo(MerchantModel::class, 'id','user_id')
  30. ->where(['mark'=>1])
  31. ->select(['id','user_id','usdt','name','audit_remark','status']);
  32. }
  33. /**
  34. * 承兑商
  35. * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
  36. */
  37. public function acceptor()
  38. {
  39. return $this->belongsTo(AcceptorModel::class, 'id','user_id')
  40. ->where(['mark'=>1])
  41. ->select(['id','user_id','realname','mobile','usdt','quota','audit_remark','status']);
  42. }
  43. /**
  44. * 上级
  45. * @return \Illuminate\Database\Eloquent\Relations\HasOne
  46. */
  47. public function parent()
  48. {
  49. return $this->hasOne(MemberModel::class, 'id','parent_id')
  50. ->where(['mark'=>1])
  51. ->select(['id','realname','email','mobile','status']);
  52. }
  53. /**
  54. * 滑落推荐人
  55. * @return \Illuminate\Database\Eloquent\Relations\HasOne
  56. */
  57. public function point()
  58. {
  59. return $this->hasOne(MemberModel::class, 'id','point_id')
  60. ->where(['mark'=>1])
  61. ->select(['id','nickname','parent_id','point_id','balance','usdt','email','mobile','username','status']);
  62. }
  63. /**
  64. * 等级
  65. * @return \Illuminate\Database\Eloquent\Relations\HasOne
  66. */
  67. public function level()
  68. {
  69. return $this->hasOne(MemberLevelModel::class, 'id','member_level')
  70. ->where(['mark'=>1])
  71. ->select(['id','name','upgrade_usdt','upgrade_usdt_profit','power_multiple','box_num','score_rate','global_bonus_rate','status']);
  72. }
  73. /**
  74. * 获取会员信息
  75. * @param int $id 会员ID
  76. * @return array|string
  77. * @author laravel开发员
  78. * @since 2020/11/11
  79. */
  80. public function getInfo($id)
  81. {
  82. $info = parent::getInfo($id); // TODO: Change the autogenerated stub
  83. if ($info) {
  84. // 头像
  85. if ($info['avatar']) {
  86. $info['avatar'] = get_image_url($info['avatar']);
  87. }
  88. // 出生日期
  89. if ($info['birthday']) {
  90. $info['birthday'] = datetime($info['birthday']);
  91. }
  92. // 城市
  93. if ($info['province_id'] && $info['city_id'] && $info['district_id']) {
  94. $city = [];
  95. $city[] = $info['province_id'];
  96. $city[] = $info['city_id'];
  97. $city[] = $info['district_id'];
  98. $info['city'] = $city;
  99. }
  100. }
  101. return $info;
  102. }
  103. }