Prechádzať zdrojové kódy

增加收到的红包列表

stanley-king 8 rokov pred
rodič
commit
65079076c3

+ 4 - 0
data/model/user_bonus.model.php

@@ -30,6 +30,10 @@ class user_bonusModel extends Model
         return $this->field($fields)->where($condition)->limit(false)->select();
     }
 
+    public function getBonusCount($condition = array()) {
+        return $this->table('user_bonus')->where($condition)->count();
+    }
+
     public function getBonusList($condition,$field='*',$group = '', $order = '', $limit = 0, $page = 0, $lock = false, $count = 0)
     {
         return $this->table('user_bonus')->field($field)->where($condition)->group($group)->order($order)->limit($limit)->page($page, $count)->lock($lock)->select();

+ 11 - 2
helper/bonus/user_bonus.php

@@ -66,8 +66,8 @@ class user_bonus
         return ($status == self::GrabStatus || $status == self::BindStatus);
     }
     public function expired() {
-        $status = intval($this->mParamer['expried']);
-        return ($status == 1);
+        $usable_time = intval($this->mParamer['usable_time']);
+        return ($usable_time <= time());
     }
 
     public function remain_amount() {
@@ -108,10 +108,19 @@ class user_bonus
             return mb_substr($user_comment,0,15) . '...';
         }
     }
+
+    public function get_time()
+    {
+        return intval($this->mParamer['get_time']);
+    }
     public function get_time_format() {
         $get_time = $this->mParamer['get_time'];
         return strftime("%m-%d %H:%M",$get_time);
     }
+    public function usable_time() {
+        return intval($this->mParamer['usable_time']);
+    }
+
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     static public function create_by_param($param) {

+ 38 - 7
mobile/control/member_bonus.php

@@ -138,15 +138,16 @@ class member_bonusControl extends mbMemberControl
     {
         $mod_type = Model('bonus_type');
 
-        $condition = array('sender_id' => $_SESSION['member_id'],
-            'relayer_id' => $_SESSION['member_id'],
-            '_op' => 'or');
-        $count = $mod_type->getTypeCount($condition);
+        $cond = array();
+        $cond['sender_id|repayer_id'] = array('_multi'=>true,$_SESSION['member_id'],$_SESSION['member_id']);
+        $cond['make_type'] = 0;
+
+        $count = $mod_type->getTypeCount($cond);
         if($count == 0) {
             return self::outsuccess(array('type_infos' => array(), 'mobile_page' => mobile_page(0)));
         }
 
-        $items = $mod_type->getTypeList($condition,$this->page_size(),'*','type_id desc');
+        $items = $mod_type->getTypeList($cond,$this->page_size(),'*','type_id desc');
         $type_infos = array();
         foreach($items as $val) {
             $type_info = bonus_helper::filter_type($val);
@@ -157,10 +158,40 @@ class member_bonusControl extends mbMemberControl
         return self::outsuccess(array('type_infos' => $type_infos, 'mobile_page' => mobile_page($pages)));
     }
 
-    //我已经发送的红包
-    public function bind_listOp()
+    //我收到的红包
+    public function recv_listOp()
     {
         $mod_bonus = Model('user_bonus');
+
+        $cond = array('user_id' => $_SESSION['member_id'],'bonus_status' => 3);
+        $count = $mod_bonus->getBonusCount($cond);
+        if($count == 0) {
+            return self::outsuccess(array('bonuses' => array(), 'mobile_page' => mobile_page(0)));
+        }
+
+        $result = array();
+        $items = $mod_bonus->getBonusList($cond,$this->page_size(),'','bonus_id desc');
+        foreach($items as $val) {
+            $user_bonus = bonus\user_bonus::create_by_param($val);
+
+            $item = array();
+            $item['bonus_id'] = $user_bonus->bonus_id();
+            $item['bonus_value'] = $user_bonus->bonus_value();
+            $item['remain_amount'] = $user_bonus->remain_amount();
+            $item['usable_time'] = $user_bonus->usable_time();
+            $item['expired'] = $user_bonus->expired();
+            $item['spend_over'] = $user_bonus->spend_over();
+            $item['get_time'] = $user_bonus->get_time();
+
+            $type = bonus\type::create_by_id($user_bonus->type_id());
+            $item['sender_name'] = $type->sender_name();
+            $item['rand_type'] = $type->isRandomAmount();
+
+            array_push($result,$item);
+        }
+
+        $pages = $this->pages($count);
+        return self::outsuccess(array('bonuses' => $result,'mobile_page' => mobile_page($pages)));
     }
 
     //预存款收支记录

+ 19 - 4
test/account_helperTest.php

@@ -35,11 +35,26 @@ class account_helperTest extends PHPUnit_Framework_TestCase
         $mod_bonus->field('bonus_id,usable_time as usabletm')->where($cond)->select();
     }
 
-    public function testMtrand()
+    public function testCondition()
     {
-        while (true) {
-            $ret = mt_rand(1,2);
-        }
+        $mod_type = Model('bonus_type');
+
+//        $condition = array('sender_id' => 36490, 'relayer_id' => 36490, '_op' => 'or');
+//        $condition = array($condition,array('make_type' => 0),'_op' => 'and');
+
+        //$condition = "(sender_id=36490 or relayer_id => 36490) and (make_type = 0)";
+        $member_id = 36490;
+        $cond = array();
+        $cond['sender_id|repayer_id'] = array('_multi'=>true,$member_id,36491);
+        $cond['make_type'] = 0;
+
+        $mod_type->where($cond)->select();
+
+
+
+        //$count = $mod_type->getTypeCount($condition);
+
+        //('sender_id' = 36490 or 'relayer_id' = 36490) and ('make_type' = 0)
 
     }