Browse Source

add to local

stanley-king 8 years ago
parent
commit
e353b6ba89
3 changed files with 95 additions and 39 deletions
  1. 4 0
      helper/bonus_helper.php
  2. 19 0
      helper/special_helper.php
  3. 72 39
      mobile/control/member_bonus.php

+ 4 - 0
helper/bonus_helper.php

@@ -47,9 +47,13 @@ class bonus_helper
         }
 
         $type_sn = $type->getType_sn();
+
         $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=open&client_type=wap&type_sn={$type_sn}";
         $ret['url'] = $url;
 
+        $detail_url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=detail&client_type=wap&type_sn={$type_sn}";
+        $ret['detail_url'] = $detail_url;
+
         return $ret;
     }
 

+ 19 - 0
helper/special_helper.php

@@ -217,6 +217,25 @@ class special_helper
         return $result;
     }
 
+    public static function format_type($type_infos,$title='')
+    {
+        $result = [];
+
+        $result['item_title'] = $title;
+        $result['item_type'] = 'home_type';
+
+        foreach ($type_infos as $bonus) {
+            $item['image'] = "";
+            $item['type'] = 'bonus_type';
+            $item['data'] = $bonus['type_sn'];
+            $item['title'] = '';
+
+            $result['items'][] = $item;
+        }
+
+        return $result;
+    }
+
     public static function format_goods($goods_ids,$title)
     {
         $result = [];

+ 72 - 39
mobile/control/member_bonus.php

@@ -148,59 +148,63 @@ class member_bonusControl extends mbMemberControl
     }
 
     //我已经发送的红包
+    //$cond = array();
+    //$cond['sender_id|relayer_id'] = array('_multi'=>true,$_SESSION['member_id'],$_SESSION['member_id']);
+    //$cond['sender_id'] = array('_multi'=>true,$_SESSION['member_id'],$_SESSION['member_id']);
+    //array('in',array(bonus\type::MakeSendType,bonus\type::MakePayType));
     public function send_listOp()
     {
-        $mod_type = Model('bonus_type');
+        $type_infos = $this->send_list($pages);
+        return self::outsuccess(array('type_infos' => $type_infos, 'mobile_page' => mobile_page($pages)));
+    }
+
+    public function send_listexOp()
+    {
+        $type_infos = $this->send_list($pages);
+        if($type_infos == null) {
+            return self::outsuccess(array('special_list' => null,
+                'summary'  => null,
+                'groupbuy' => null,
+                'limitime' => null,
+                'bundling' => null,
+                'typeinfos'  => $type_infos,
+                'mobile_page' => mobile_page($pages)));
+        }
+        else
+        {
+            $blocks = [];
+            $block = special_helper::format_bonus($type_infos);
+            $blocks[] = $block;
 
-        $cond = array();
-        //$cond['sender_id|relayer_id'] = array('_multi'=>true,$_SESSION['member_id'],$_SESSION['member_id']);
-        //$cond['sender_id'] = array('_multi'=>true,$_SESSION['member_id'],$_SESSION['member_id']);
-        $cond['sender_id'] = $_SESSION['member_id'];
-        $cond['make_type'] = array('in',array(bonus\type::MakeSendType,bonus\type::MakePayType));
+            return self::outsuccess(array('special_list' => $blocks,
+                'summary'  => null,
+                'groupbuy' => null,
+                'limitime' => null,
+                'bundling' => null,
+                'typeinfos'  => $type_infos,
+                'mobile_page' => mobile_page($pages)));
+        }
+    }
 
+    private function send_list(&$pages)
+    {
+        $mod_type = Model('bonus_type');
+        $cond = array('sender_id' => $_SESSION['member_id'],'make_type' => bonus\type::MakeSendType);
         $count = $mod_type->getTypeCount($cond);
         if($count == 0) {
-            return self::outsuccess(array('type_infos' => array(), 'mobile_page' => mobile_page(0)));
+            $pages = 0;
+            return null;
         }
 
         $items = $mod_type->getTypeList($cond,$this->page_size(),'*','type_id desc');
-        $type_infos = array();
+        $type_infos = [];
         foreach($items as $val) {
             $type_info = bonus_helper::filter_type($val);
-            array_push($type_infos,$type_info);
+            $type_infos[] = $type_info;
         }
 
         $pages = $this->pages($count);
-        return self::outsuccess(array('type_infos' => $type_infos, 'mobile_page' => mobile_page($pages)));
-    }
-
-    private function recv_cond()
-    {
-        static $stQuerys = array('usable','expiring','used','expired');
-        static $day_secs = 24 * 3600;
-
-        $cond = array('user_id' => $_SESSION['member_id'],'bonus_status' => 3);
-
-        $query_state = $_GET['query_state'];
-        if(!empty($query_state) && in_array($query_state,$stQuerys))
-        {
-            if($query_state == 'usable') {
-                $cond['remain_amount'] = array('gt','0.00');
-                $cond['expired'] = 0;
-            } elseif ($query_state == 'expiring') {
-                $cond['usable_time'] = array('elt',time() + 5 * $day_secs);
-                $cond['remain_amount'] = array('gt','0.00');
-                $cond['expired'] = 0;
-            } elseif ($query_state == 'used') {
-                $cond['remain_amount'] = '0.00';
-                $cond['expired'] = 0;
-            } elseif ($query_state == 'expired') {
-                $cond['expired'] = 1;
-            } else {
-            }
-        }
-
-        return $cond;
+        return $type_infos;
     }
 
     public function recv_listexOp()
@@ -242,6 +246,35 @@ class member_bonusControl extends mbMemberControl
         return self::outsuccess(array('bonuses' => $bonus,'mobile_page' => mobile_page($pages)));
     }
 
+    private function recv_cond()
+    {
+        static $stQuerys = array('usable','expiring','used','expired');
+        static $day_secs = 24 * 3600;
+
+        $cond = array('user_id' => $_SESSION['member_id'],'bonus_status' => 3);
+
+        $query_state = $_GET['query_state'];
+        if(!empty($query_state) && in_array($query_state,$stQuerys))
+        {
+            if($query_state == 'usable') {
+                $cond['remain_amount'] = array('gt','0.00');
+                $cond['expired'] = 0;
+            } elseif ($query_state == 'expiring') {
+                $cond['usable_time'] = array('elt',time() + 5 * $day_secs);
+                $cond['remain_amount'] = array('gt','0.00');
+                $cond['expired'] = 0;
+            } elseif ($query_state == 'used') {
+                $cond['remain_amount'] = '0.00';
+                $cond['expired'] = 0;
+            } elseif ($query_state == 'expired') {
+                $cond['expired'] = 1;
+            } else {
+            }
+        }
+
+        return $cond;
+    }
+
     private function recv_list(&$count,&$pages)
     {
         $mod_bonus = Model('user_bonus');