Browse Source

add member_info index

stanley-king 4 năm trước cách đây
mục cha
commit
c98e234e1b

+ 16 - 22
core/framework/core/base.php

@@ -203,15 +203,13 @@ final class Base
 		
 		if (SUBDOMAIN_SUFFIX){
 			$subdomain_suffix = SUBDOMAIN_SUFFIX;
-		}else{
-			if (preg_match("/^[0-9.]+$/",$_SERVER['HTTP_HOST'])){
-				$subdomain_suffix = $_SERVER['HTTP_HOST'];
-			}else{
-				$split_url = explode('.',$_SERVER['HTTP_HOST']);
-				if($split_url[2] != '') unset($split_url[0]);
-				$subdomain_suffix = implode('.',$split_url);
-			}
-		}
+		} elseif (preg_match("/^[0-9.]+$/",$_SERVER['HTTP_HOST'])){
+            $subdomain_suffix = $_SERVER['HTTP_HOST'];
+        } else {
+            $split_url = explode('.',$_SERVER['HTTP_HOST']);
+            if($split_url[2] != '') unset($split_url[0]);
+            $subdomain_suffix = implode('.',$split_url);
+        }
 		//session.name强制定制成PHPSESSID,不请允许更改
 		@ini_set('session.name','PHPSESSID');
 		$subdomain_suffix = str_replace('http://','',$subdomain_suffix);
@@ -222,7 +220,7 @@ final class Base
 		//默认以文件形式存储session信息
 		if (strcmp($config['session_type'], 'files') === 0) {
 			session_save_path(BASE_DATA_PATH.'/session');
-		} else if (strcmp($config['session_type'], 'redis') === 0) {
+		} elseif (strcmp($config['session_type'], 'redis') === 0) {
 			session_save_path($config['session_save_path']);
 		}
 		
@@ -244,11 +242,9 @@ final class Base
 			if (!@include_once(BASE_CORE_PATH.'/framework/db/'.strtolower(DBDRIVER).'.php')){
 				exit("Class Error: {$class}.isn't exists!");
 			}
-		}else{
-			if (!@include_once(BASE_CORE_PATH.'/framework/libraries/'.$class.'.php')){
-				exit("Class Error: {$class}.isn't exists!");
-			}
-		}
+		}elseif (!@include_once(BASE_CORE_PATH.'/framework/libraries/'.$class.'.php')){
+            exit("Class Error: {$class}.isn't exists!");
+        }
 	}
 
 	public static function mobile_autoload($class)
@@ -258,19 +254,17 @@ final class Base
 			if (!@include_once(BASE_PATH.'/framework/libraries/'.substr($class,0,-5).'.class.php')){
 				throw new Exception("Class Error: {$class}.isn't exists!");
 			}
-		}elseif (ucwords(substr($class,0,5)) == 'Cache' && $class != 'cache'){
+		} elseif (ucwords(substr($class,0,5)) == 'Cache' && $class != 'cache'){
 			if (!@include_once(BASE_CORE_PATH.'/framework/cache/'.substr($class,0,5).'.'.substr($class,5).'.php')){
 				throw new Exception("Class Error: {$class}.isn't exists!");
 			}
-		}elseif ($class == 'db'){
+		} elseif ($class == 'db'){
 			if (!@include_once(BASE_CORE_PATH.'/framework/db/'.strtolower(DBDRIVER).'.php')){
 				throw new Exception("Class Error: {$class}.isn't exists!");
 			}
-		}else{
-			if (!@include_once(BASE_CORE_PATH.'/framework/libraries/'.$class.'.php')){
-				throw new Exception("Class Error: {$class}.isn't exists!");
-			}
-		}
+		} elseif (!@include_once(BASE_CORE_PATH.'/framework/libraries/'.$class.'.php')){
+            throw new Exception("Class Error: {$class}.isn't exists!");
+        }
 	}
 
 	/**

+ 1 - 1
helper/mcard/period_card.php

@@ -1,5 +1,5 @@
 <?php
-
+declare(strict_types=0);
 
 namespace mcard;
 

+ 22 - 2
helper/mcard/user_mcards.php

@@ -19,7 +19,26 @@ class user_mcards
     }
 
     public function hasCards() {
-        return !empty($this->mCards);
+        foreach ($this->mCards as $key => $cards) {
+            if(!empty($cards)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public function left_amount()
+    {
+        $total = 0.00;
+        foreach ($this->mCards as $key => $cards) {
+            if($key != 'period') {
+                foreach ($cards as $card) {
+                    $total += $card->left_amount();
+                }
+            }
+        }
+
+        return round($total,2);
     }
 
     public function addCard($params)
@@ -100,7 +119,8 @@ class user_mcards
         $this->mCards['aperiod'] = [];
 
         $cards = $this->mCardModel->getUsableCards($this->mUserId);
-        foreach ($cards as $item) {
+        foreach ($cards as $item)
+        {
             $card_type = intval($item['card_type']);
             if ($card_type == AmountType) {
                 $card = new amount_card($item);

+ 5 - 2
helper/mtopcard/mtopcard.php

@@ -75,14 +75,17 @@ require_once(BASE_HELPER_PATH . '/mtopcard/user_topcards.php');
 require_once(BASE_HELPER_PATH . '/mtopcard/CardPaper.php');
 require_once(BASE_HELPER_PATH . '/mtopcard/cards_helper.php');
 
-function priority_cards($member_id, $page_type)
+function priority_cards($member_id, $page_type = '')
 {
     if($page_type == 'oil') {
         $types = [PetroChinaCard,SinopecCard];
     }
-    else {
+    elseif($page_type == 'phone') {
         $types = [PhoneCard];
     }
+    else {
+        $types = [PetroChinaCard,SinopecCard,PhoneCard];
+    }
 
     $user_cards = new user_topcards($member_id);
     return $user_cards->priority_cards($types);

+ 11 - 4
helper/order_helper.php

@@ -1053,11 +1053,13 @@ class vorder_helper extends order_base
             }
             $item['reciver_info'] = $this->reciver_info($order);
 
-            foreach ($item['actions'] as $action) {
-                if ($action['action'] == "if_upcert") {
-                    $item['vorder_info']['tips'] = '您的账户中还有“xx”元现金红包没有使用,请点击右下角“红包兑现”或在“我的-我的订单”页面上传凭证,审核通过立即返现!';
-                }
+            $extra_info = json_decode($order['extra_info'],true);
+            if(empty($extra_info)) {
+                $extra_info = $extra_info['input'];
+            } else {
+                $extra_info = [];
             }
+            $item['extra_info'] = $extra_info;
 
             $result[] = $item;
         }
@@ -1129,4 +1131,9 @@ class vorder_helper extends order_base
         $info = unserialize($order['receiver_info']) ? : null;
         return $info;
     }
+    private function extra_info($order)
+    {
+        $info = json_decode($order['receiver_info'],true);
+        return $info;
+    }
 }

+ 38 - 34
helper/session_helper.php

@@ -6,14 +6,17 @@
  * Time: 下午6:46
  */
 
-require_once (BASE_ROOT_PATH . '/helper/algorithm.php');
-require_once (BASE_ROOT_PATH . '/helper/relation_helper.php');
-require_once (BASE_ROOT_PATH . '/helper/account_helper.php');
-require_once (BASE_ROOT_PATH . '/helper/push_helper.php');
-require_once (BASE_ROOT_PATH . '/helper/login_helper.php');
-require_once (BASE_ROOT_PATH . '/helper/bonus_helper.php');
-require_once (BASE_ROOT_PATH . '/helper/util_helper.php');
-require_once (BASE_ROOT_PATH . '/helper/url_helper.php');
+require_once(BASE_HELPER_PATH . '/algorithm.php');
+require_once(BASE_HELPER_PATH . '/relation_helper.php');
+require_once(BASE_HELPER_PATH . '/account_helper.php');
+require_once(BASE_HELPER_PATH . '/push_helper.php');
+require_once(BASE_HELPER_PATH . '/login_helper.php');
+require_once(BASE_HELPER_PATH . '/bonus_helper.php');
+require_once(BASE_HELPER_PATH . '/util_helper.php');
+require_once(BASE_HELPER_PATH . '/url_helper.php');
+require_once(BASE_HELPER_PATH . '/mcard/mcard.php');
+require_once(BASE_HELPER_PATH . '/mtopcard/mtopcard.php');
+
 
 class session_helper
 {
@@ -101,12 +104,10 @@ class session_helper
     {
         if (self::logined()) {
             return true;
+        } elseif (isset($_SESSION['member_mobile']) && !empty($_SESSION['member_mobile'])) {
+            return true;
         } else {
-            if (isset($_SESSION['member_mobile']) && !empty($_SESSION['member_mobile'])) {
-                return true;
-            } else {
-                return false;
-            }
+            return false;
         }
     }
 
@@ -125,7 +126,8 @@ class session_helper
     }
     static function avatar()
     {
-        if (empty($_SESSION['member_avatar'])) {
+        if (empty($_SESSION['member_avatar']))
+        {
             if (array_key_exists('wx_author', $_SESSION)) {
                 if (array_key_exists('handled', $_SESSION['wx_author'])) {
                     $user_info = $_SESSION['wx_author']['user_info'];
@@ -139,7 +141,8 @@ class session_helper
                 $img = 'female.png';
             }
             return RESOURCE_SITE_URL . '/mobile/defimg/' . $img;
-        } else {
+        }
+        else {
             $path = $_SESSION['member_avatar'];
             if (util::ishttp($path)) {
                 $url = $path;
@@ -170,6 +173,13 @@ class session_helper
         return $qurl;
     }
 
+    static public function isVip()
+    {
+        $member_id = self::memberid();
+        return mcard\isVip($member_id);
+    }
+
+
     static public function mobile()
     {
         if (self::isVerfiyMobile()) {
@@ -317,22 +327,19 @@ class session_helper
                 wechat_helper::clear_userinfo();
                 return false;
             }
-            else
+            elseif (session_helper::binded_wechat())
             {
-                if (session_helper::binded_wechat())
-                {
-                    $author_time = $_SESSION['wxauthor_time'];
-                    $max_time = 86400;
-                    if (time() - $author_time > $max_time) {
-                        return true;
-                    } else {
-                        return false;
-                    }
-                }
-                else {
+                $author_time = $_SESSION['wxauthor_time'];
+                $max_time = 86400;
+                if (time() - $author_time > $max_time) {
                     return true;
+                } else {
+                    return false;
                 }
             }
+            else {
+                return true;
+            }
         }
     }
 
@@ -430,13 +437,10 @@ class session_helper
         if(self::logined()) {
             return self::memberid();
         }
-        else
-        {
-            if(array_key_exists('relay_id',$_SESSION)) {
-                return $_SESSION['relay_id'];
-            } else {
-                return 0;
-            }
+        elseif(array_key_exists('relay_id',$_SESSION)) {
+            return $_SESSION['relay_id'];
+        } else {
+            return 0;
         }
     }
 

+ 1 - 5
helper/vrorder_helper.php

@@ -5,6 +5,7 @@ require_once(BASE_HELPER_PATH . '/mtopcard/mtopcard.php');
 
 class vrorder_helper
 {
+    //提供给商家管理后台.
     public static function extend_order_info($order)
     {
         global $config;
@@ -19,11 +20,6 @@ class vrorder_helper
                 $item = $mod_card->where(['order_id' => $order['order_id']])->find();
                 if(!empty($item)) {
                     $ret = [];
-//                    $ret['value']['receive_card'] = $item['receive_card_no'];
-//                    $ret['value']['receive_card_type'] = mtopcard\scard_type($item['receive_card_type']);
-//                    $ret['value']['card_no'] = $item['card_no'];
-//                    $ret['value']['card_key'] = $item['card_key'];
-//                    $ret['desc'] = ['receive_card' => '接收卡','receive_card_type' =>'卡类别', 'card_no'=> '卡号','card_key'=>'卡密'];
                     $ret['接收卡'] = $item['receive_card_no'];
                     $ret['卡类别'] = mtopcard\scard_type($item['receive_card_type']);
                     $ret['卡号'] = $item['card_no'];

+ 79 - 55
mobile/control/member_info.php

@@ -4,12 +4,12 @@
  ***/
 defined('InShopNC') or exit('Access Invalid!');
 
-require_once(BASE_ROOT_PATH . '/helper/text_filter.php');
-require_once(BASE_ROOT_PATH . '/helper/FileUploader.php');
-require_once(BASE_ROOT_PATH . '/helper/relation_helper.php');
-require_once(BASE_ROOT_PATH . '/helper/util_helper.php');
-require_once(BASE_ROOT_PATH . '/helper/url_helper.php');
-
+require_once(BASE_HELPER_PATH . '/text_filter.php');
+require_once(BASE_HELPER_PATH . '/FileUploader.php');
+require_once(BASE_HELPER_PATH . '/relation_helper.php');
+require_once(BASE_HELPER_PATH . '/util_helper.php');
+require_once(BASE_HELPER_PATH . '/url_helper.php');
+require_once(BASE_HELPER_PATH . '/mcard/mcard.php');
 require_once(BASE_RESOURCE_PATH . '/phpqrcode/index.php');
 
 
@@ -20,53 +20,22 @@ class member_infoControl extends mbMemberControl
         parent::__construct();
     }
 
+    //个人中心页面的首页
+    public function indexOp()
+    {
+        $ret = $this->person_info();
+        self::outsuccess($ret);
+    }
+
     public function getinfoOp()
     {
-        $this->getOp();
+        $ret = $this->person_info();
+        self::outsuccess($ret);
     }
 
     public function getOp()
     {
-        $fields = array('member_sex','member_nickname','member_truename','member_signname','member_birthday','member_mobile','member_avatar');
-
-        $ret = array();
-        foreach($fields as $key)
-        {
-            if(array_key_exists($key,$_SESSION))
-            {
-                if($key == 'member_birthday') {
-                    $time = $_SESSION[$key];
-                    $birthday = strtotime($time);
-                    $ret[$key] = ($birthday == false) ? '0' : $birthday;
-                }
-                elseif($key == 'member_avatar')
-                {
-                    $path = $_SESSION[$key];
-                    if(empty($path)) {
-                        $ret['member_avatar'] = "";
-                    }
-                    else
-                    {
-                        if(util::ishttp($path)) {
-                            $ret['member_avatar'] = $path;
-                        } else {
-                            $url = UPLOAD_SITE_URL . "/shop/avatar{$path}";
-                            $ret['member_avatar'] = $url;
-                        }
-                    }
-                }
-                else {
-                    $ret[$key] = $_SESSION[$key];
-                }
-            }
-        }
-        $ret['qrcode'] = session_helper::qrcode();
-        $ret['sub_titles'] = $this->sub_titles();
-
-        if($ret['member_sex'] == 2) {
-            $ret['member_sex'] = 0;
-        }
-
+        $ret = $this->person_info();
         self::outsuccess($ret);
     }
 
@@ -129,7 +98,7 @@ class member_infoControl extends mbMemberControl
         if($result == true) {
             return $upload->file_name;
         } else {
-            $err = array('code' => errcode::ErrUpfile, 'msg' => $upload->error);
+            $err = ['code' => errcode::ErrUpfile, 'msg' => $upload->error];
             return false;
         }
     }
@@ -152,11 +121,11 @@ class member_infoControl extends mbMemberControl
             return self::outerr(errcode::ErrUploadFileFailed);
         }
         $file_path = DS.$member_id.DS.$file_name;
-        $ret = Model("member")->editMember(array('member_id' => $member_id),array('member_avatar' => $file_path));
+        $ret = Model("member")->editMember(['member_id' => $member_id], ['member_avatar' => $file_path]);
         if ($ret) {
             $_SESSION['member_avatar'] = $file_path;
             $url = UPLOAD_SITE_URL . "/shop/avatar{$file_path}";
-            return self::outsuccess(array('member_avatar' => $url));
+            return self::outsuccess(['member_avatar' => $url]);
         } else {
             return self::outerr(errcode::ErrDB);
         }
@@ -186,7 +155,7 @@ class member_infoControl extends mbMemberControl
         $member_sex      = trim(urldecode($_GET['sex']));
         $member_birthday = trim(urldecode(($_GET['birthday'])));
 
-        $update = array();
+        $update = [];
         if (is_numeric($member_sex))
         {
             $iSex = intval($member_sex);
@@ -218,16 +187,16 @@ class member_infoControl extends mbMemberControl
         }
 
         $mod = Model('member');
-        $ret = $mod->editMember(array('member_id' => $_SESSION['member_id']),$update);
+        $ret = $mod->editMember(['member_id' => $_SESSION['member_id']],$update);
         if($ret && $mod->affected_rows() > 0)
         {
             foreach($update as $key => $val) {
                 $_SESSION[$key] = $val;
             }
-            self::outsuccess(array('ret' => 1 ));
+            self::outsuccess(['ret' => 1]);
         }
         else {
-            self::outsuccess(array('ret' => 1 ));
+            self::outsuccess(['ret' => 1]);
         }
     }
 
@@ -240,7 +209,7 @@ class member_infoControl extends mbMemberControl
         $model = Model('member');
         $oldpasswd = empty($oldpasswd) ? '' : md5($oldpasswd);
         $newpasswd = empty($newpasswd) ? '' : md5($newpasswd);
-        $ret = $model->editMember(array('member_id' => $_SESSION['member_id'],'member_passwd' => $oldpasswd))->update(array('member_passwd' => $newpasswd));
+        $ret = $model->editMember(['member_id' => $_SESSION['member_id'],'member_passwd' => $oldpasswd],['member_passwd' => $newpasswd]);
         if ($ret === false) {
             return self::outerr(errcode::ErrPasswd);
         } else {
@@ -252,4 +221,59 @@ class member_infoControl extends mbMemberControl
     {
         return self::outsuccess(['url' => session_helper::qrcode()]);
     }
+
+    /**
+     * @return array
+     */
+    private function person_info(): array
+    {
+        $fields = ['member_sex', 'member_nickname', 'member_truename', 'member_signname', 'member_birthday', 'member_mobile', 'member_avatar'];
+        $ret = [];
+        foreach ($fields as $key)
+        {
+            if (array_key_exists($key, $_SESSION))
+            {
+                if ($key == 'member_birthday')
+                {
+                    $time = $_SESSION[$key];
+                    $birthday = strtotime($time);
+                    $ret[$key] = ($birthday == false) ? '0' : $birthday;
+                }
+                elseif ($key == 'member_avatar')
+                {
+                    $path = $_SESSION[$key];
+                    if (empty($path))
+                    {
+                        $ret['member_avatar'] = "";
+                    }
+                    elseif (util::ishttp($path))
+                    {
+                        $ret['member_avatar'] = $path;
+                    }
+                    else
+                    {
+                        $url = UPLOAD_SITE_URL . "/shop/avatar{$path}";
+                        $ret['member_avatar'] = $url;
+                    }
+                }
+                else
+                {
+                    $ret[$key] = $_SESSION[$key];
+                }
+            }
+        }
+        $ret['qrcode'] = session_helper::qrcode();
+        $ret['sub_titles'] = $this->sub_titles();
+        $ret['is_vip'] = session_helper::isVip();
+        $card_list =  mtopcard\priority_cards(session_helper::memberid());
+        $ret['cards'] = mtopcard\topcard_format($card_list);
+
+        $usercards = new mcard\user_mcards(session_helper::memberid());
+        $ret['vip_left_amount'] = $usercards->left_amount();
+
+        if ($ret['member_sex'] == 2) {
+            $ret['member_sex'] = 0;
+        }
+        return $ret;
+    }
 }