MemberExtModel.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?php
  2. /**
  3. * MemberExtModel.php UTF-8
  4. *
  5. *
  6. * @date : 2018/5/4 20:00
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : wuyonghong <wyh@huosdk.com>
  10. * @version : HUOSDK 8.0
  11. */
  12. namespace huo\model\member;
  13. use huo\model\common\CommonModel;
  14. class MemberExtModel extends CommonModel {
  15. protected $name = 'mem_ext';
  16. /**
  17. * 添加玩家扩展
  18. *
  19. * @param array $data
  20. *
  21. * @return bool|mixed
  22. */
  23. public function addExt($data = []) {
  24. $_data['mem_id'] = get_val($data, 'mem_id', 0);
  25. $_data['last_login_time'] = get_val($data, 'last_login_time', time());
  26. $_data['game_cnt'] = get_val($data, 'game_cnt', 0);
  27. $_data['sum_money'] = get_val($data, 'sum_money', 0);
  28. $_data['last_pay_time'] = get_val($data, 'last_pay_time', 0);
  29. $_data['last_money'] = get_val($data, 'last_money', 0);
  30. $_data['order_cnt'] = get_val($data, 'order_cnt', 0);
  31. $_data['order_suc_cnt'] = get_val($data, 'order_suc_cnt', 0);
  32. $_data['login_cnt'] = get_val($data, 'login_cnt', 0);
  33. $_data['last_login_ip'] = get_val($data, 'last_login_ip', '');
  34. $_data['sign_days'] = get_val($data, 'sign_days', 0);
  35. $_data['last_sign_time'] = get_val($data, 'last_sign_time', 0);
  36. $_data['integral_total'] = get_val($data, 'integral_total', 0);
  37. $_data['integral_remain'] = get_val($data, 'integral_remain', 0);
  38. if ($_obj = self::create($_data, true)) {
  39. return $_obj->id;
  40. } else {
  41. return false;
  42. }
  43. }
  44. /**
  45. * 更新玩家扩展
  46. *
  47. * @param array $ext_data
  48. * @param int $mem_id
  49. *
  50. * @return bool
  51. */
  52. public function updateExt($ext_data, $mem_id) {
  53. $_map['mem_id'] = $mem_id;
  54. $_data = $ext_data;
  55. $_rs = self::update($_data, $_map, true);
  56. if (false == $_rs) {
  57. return false;
  58. } else {
  59. return true;
  60. }
  61. }
  62. /**
  63. * 获取玩家扩展信息
  64. *
  65. * @param $mem_id
  66. *
  67. * @return array|false|\PDOStatement|string|\think\Model
  68. * @throws \think\Exception
  69. * @throws \think\db\exception\DataNotFoundException
  70. * @throws \think\db\exception\ModelNotFoundException
  71. * @throws \think\exception\DbException
  72. */
  73. public function getExt($mem_id) {
  74. $_map['mem_id'] = $mem_id;
  75. $_ext_data = $this->where($_map)->find();
  76. if (is_object($_ext_data)) {
  77. $_ext_data = $_ext_data->toArray();
  78. }
  79. return $_ext_data;
  80. }
  81. public function mem() {
  82. return $this->belongsTo('huo\model\member\MemberModel', 'mem_id');
  83. }
  84. public function member() {
  85. return $this->belongsTo('huo\model\member\MemberModel', 'mem_id', 'id', [], 'left')->setEagerlyType(0);
  86. }
  87. /**
  88. * 充值排名
  89. *
  90. * @param int $size
  91. *
  92. * @return false|\PDOStatement|string|\think\Collection
  93. * @throws \think\db\exception\DataNotFoundException
  94. * @throws \think\db\exception\ModelNotFoundException
  95. * @throws \think\exception\DbException
  96. */
  97. public function getChargeRank($size = 6) {
  98. return $this->field('mem_id, sum_money')
  99. ->order('sum_money', 'DESC')
  100. ->limit($size)
  101. ->with('mem')
  102. ->select();
  103. }
  104. }