member_info = $member_id; $this->member_id = intval($this->member_info['member_id']); } else { $this->member_id = intval($member_id); $mod_member = Model('member'); $this->member_info = $mod_member->getMemberInfoByID($this->member_id); if(empty($this->member_info)) { throw new Exception("该用户不存在~", errcode::ErrMemberNotExist); } } } public function available_predeposit() { return round($this->member_info['available_predeposit'],4); } public function freeze_predeposit() { return round($this->member_info['freeze_predeposit'],4); } public function member_id() { return $this->member_id; } public function enmember_id() { $mid = urlencode(util::encrypt_data($this->member_id)); return $mid; } public function nickname() { if(isset($this->member_info['member_nickname']) && !empty($this->member_info['member_nickname'])) { return $this->member_info['member_nickname']; } if(isset($this->member_info['member_truename']) && !empty($this->member_info['member_truename'])) { return $this->member_info['member_truename']; } $userid = $this->member_id; $name = "用户{$userid}"; return $name; } public function hasNickname() { return !empty($this->member_info['member_nickname']) || !empty($this->member_info['member_truename']); } public function mobile() { if($this->binded_mobile()) { return $this->member_info['member_mobile'] ?? ''; } else { return ""; } } public function truename() { return $this->member_info['member_truename'] ?? ''; } public function sex() { $sex = intval($this->member_info['member_sex']); if ($sex == 1) { return $sex; } else { return 0; } } public function is_man() { return (intval($this->member_info['member_sex']) == 1); } public function avatar() { if(is_null($this->member_info['member_avatar']) || empty($this->member_info['member_avatar'])) { if($this->is_man()) { $img = 'male.png'; } else { $img = 'female.png'; } return RESOURCE_SITE_URL . '/mobile/defimg/' . $img; } else { $path = $this->member_info['member_avatar']; if(util::ishttp($path)) { $url = $path; } else { $url = UPLOAD_SITE_URL . "/shop/avatar{$path}"; } return $url; } } public function hasAvatar() { return !empty($this->member_info['member_avatar']); } public function available_bonus() { if(is_null($this->member_info['available_bonus']) || empty($this->member_info['available_bonus'])) { return 0.00; } else { return doubleval($this->member_info['available_bonus']); } } public function discount_self() { if(is_null($this->member_info['discount_self_amount']) || empty($this->member_info['discount_self_amount'])) { return 0.00; } else { return doubleval($this->member_info['discount_self_amount']); } } public function invitees() { return intval($this->member_info['invitees']); } public function reward_amount() { return intval($this->member_info['reward_amount'] * 100 + 0.5) / 100; } public function filter() { $info = []; $nickname = $this->nickname(); $info['member_id'] = $this->member_id(); $info['is_man'] = $this->is_man(); $info['nickname'] = $nickname; $info['avatar'] = $this->avatar(); $info['available_bonus'] = $this->available_bonus(); $info['discount_self'] = $this->discount_self(); $info['member_index'] = url_helper::member_index($info['member_id']); $info['enmember_id'] = $this->enmember_id(); $info['alpha'] = Pinyin::getAlpha($nickname); $info['add_time'] = $this->add_time(); $info['add_time_desc'] = date('Y-m-d',$this->add_time()); return $info; } public function reg_time() { return intval($this->member_info['member_time']); } public function lastest_logtm() { return intval($this->member_info['member_login_time']); } public function order_num() { return intval($this->member_info['order_num']); } public function first_present() { return intval($this->member_info['first_present']); } public function client_type() { $client_type = intval($this->member_info['client_type']); return $client_type; } public function inviter_id() { return intval($this->member_info['inviter_id']); } public function used_invitees() { return intval($this->member_info['used_invitees']); } public function can_sms() { $logtm = intval($this->member_info['member_login_time']); return ($logtm > (time() - 180 * 86400)); } public function rewared_inviter() { return intval($this->member_info['rewared_inviter']) == 1; } public function is_app() { return intval($this->member_info['client_type']) > 0; } public function unionid() { return $this->member_info['member_wxunionid']; } public function binded_mobile() { return intval($this->member_info['member_mobile_bind']) == 1; } public function binded_wechat() { return intval($this->member_info['member_wechat_bind']) == 1; } public function invited_bonus() { return intval($this->member_info['invited_bonus']) == 1; } public function add_time() { return intval($this->member_info['member_time']); } static function alpha_compare($left,$right) { $l = $left['alpha'] == '#'? 91:$left['alpha']; $r = $right['alpha'] == '#'? 91:$right['alpha']; if($l > $r) { return 1; } elseif($l == $r) { $l_name = $left['nickname']; $r_name = $right['nickname']; return strcmp($l_name,$r_name); } else { return -1; } } public static function get_members($uids) { $members = []; if (empty($uids)) return $members; $uids = array_unique($uids); $items = Model('member')->getMemberList(['member_id' => ['in', $uids]]); foreach ($items as $item) { try { $info = new member_info($item); $members[] = $info->filter(); } catch (Exception $ex) { Log::record($ex->getMessage(), Log::ERR); } } return $members; } }