123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245 |
- <?php
- /**
- * Created by PhpStorm.
- * User: stanley-king
- * Date: 16/6/29
- * Time: 下午11:01
- */
- require_once (BASE_ROOT_PATH . '/helper/util_helper.php');
- require_once (BASE_ROOT_PATH . '/helper/url_helper.php');
- require_once (BASE_CORE_PATH . '/framework/libraries/pinyin.php');
- class member_info
- {
- private $member_id;
- private $member_info;
- public function __construct($member_id)
- {
- if(is_array($member_id)) {
- $this->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 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}";
- // if(isset($this->member_info['member_mobile']) && !empty($this->member_info['member_mobile']))
- // {
- // $mobile = $this->member_info['member_mobile'];
- // if(strlen($mobile) == 11) {
- // return substr_replace($mobile, '****', 3, 4);
- // }
- // }
- 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);
- 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 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;
- }
- 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;
- }
- }
|