Explorar o código

add to inviter game

stanley-king %!s(int64=4) %!d(string=hai) anos
pai
achega
2f0beb8092

+ 18 - 1
data/config/dev/vgoods.ini.php

@@ -3,7 +3,7 @@ declare(strict_types=0);
 
 $config['exclude_preferential_goods_ids'] = [6217];
 $config['card_commonid'] = ['oil' => 3449, 'phone' => 3450];
-$config['vgoods_spec_card'] = [6218 => 100, 6219 => 200, 6220 => 100, 6221 => 200];
+$config['vgoods_spec_card'] = [6218 => 100, 6219 => 200, 6220 => 100, 6221 => 200,6224 => 500, 6225 => 1000];
 
 
 //$config['tips'] =  ['first_order' => '首次充值享受会员价95折',
@@ -35,6 +35,8 @@ $oil_params = ['type' => 'oil_card', 'order_method'    => 'OnReserveOilCard',
                                      'input_params'  => ['card_no','card_type']];
 $handlers[6218] = $oil_params;
 $handlers[6219] = $oil_params;
+$handlers[6224] = $oil_params;
+$handlers[6225] = $oil_params;
 
 #phone card
 $phone_card_prams = ['type' => 'phone_card', 'order_method'    => 'OnReservePhoneCard',
@@ -70,4 +72,19 @@ $share_policy[6219] = [
     ['num' => 1,  'discount' => 0.05,  'price' => 1.95]
 ];
 
+//6220 油费 amount = 500
+$share_policy[6224] = [
+    ['num' => 3,  'discount' => 0.25,  'price' => 4.75],
+    ['num' => 2,  'discount' => 0.20,  'price' => 4.80],
+    ['num' => 1,  'discount' => 0.15,  'price' => 4.85]
+];
+
+//6220 油费 amount = 1000
+$share_policy[6225] = [
+    ['num' => 5,  'discount' => 0.50,  'price' => 9.50],
+    ['num' => 3,  'discount' => 0.40,  'price' => 9.60],
+    ['num' => 2,  'discount' => 0.30,  'price' => 9.70],
+    ['num' => 1,  'discount' => 0.25,  'price' => 9.75]
+];
+
 $config['goods_share_policy'] = $share_policy;

+ 2 - 2
data/config/test/vgoods.ini.php

@@ -41,7 +41,7 @@ $handlers[6221] = $phone_card_prams;
 
 $config['vgoods_handlers'] = $handlers;
 
-////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 //[6218 => 200, 6219 => 500, 6220 => 1000, 6227 => 100, 6221 => 100]
 //6220 话费 amount = 100
 $share_policy[6221] = [
@@ -67,7 +67,7 @@ $share_policy[6219] = [
 
 //6220 油费 amount = 1000
 $share_policy[6220] = [
-    ['num' => 3,  'discount' => 50,  'price' => 950],
+    ['num' => 5,  'discount' => 50,  'price' => 950],
     ['num' => 3,  'discount' => 40,  'price' => 960],
     ['num' => 2,  'discount' => 30,  'price' => 970],
     ['num' => 1,  'discount' => 25,  'price' => 975]

+ 4 - 9
helper/calc_helper.php

@@ -81,12 +81,7 @@ class CalcPrice implements ICalc
         }
     }
 
-    private function isFirstorOrder()
-    {
-        return ($this->mOrderCount == 0);
-    }
-
-    private function left_invitees()
+    public function left_invitees()
     {
         if($this->mUserId <= 0 || $this->mMemberInfo == null) {
             $left_invitees = 0;
@@ -114,7 +109,7 @@ class CalcPrice implements ICalc
         return empty($policy) ? false : $policy;
     }
 
-    private function share_policy($goods_id)
+    public function share_policy($goods_id)
     {
         global $config;
         $share_policy = $config['goods_share_policy'];
@@ -251,11 +246,11 @@ class CalcPrice implements ICalc
 
             if(empty($next)) {
                 $discount = $cur['discount'];
-                $tip = "您的分享人数,已获最高补贴{$discount}元";
+                $tip = "您已领最高补贴{$discount}元";
             } else {
                 $count = $next['num'] - $left_invitees;
                 $discount = $next['discount'];
-                $tip = "再分享{$count}人,可领补贴{$discount}元";
+                $tip = "已领补贴{$cur['discount']}元,再分享{$count}人,可领补贴{$discount}元";
             }
 
             return $tip;

+ 2 - 0
mobile/control/index.php

@@ -196,6 +196,8 @@ class indexControl extends specialControl
         }
         $ret['inviter_tips'] = empty($ret['goods_inviter_tips']) ? '' : $ret['goods_inviter_tips'][0]['tip'];
         $ret['goods'] = $goods;
+        $ret['member_mobile'] = session_helper::mobile();
+
         return self::outsuccess($ret);
     }
 

+ 61 - 0
mobile/control/member_invitee.php

@@ -3,6 +3,8 @@ declare(strict_types=0);
 
 
 require_once(BASE_HELPER_PATH . '/model_helper.php');
+require_once(BASE_HELPER_PATH . '/calc_helper.php');
+
 
 class member_inviteeControl extends mbMemberControl
 {
@@ -20,4 +22,63 @@ class member_inviteeControl extends mbMemberControl
 
         return self::outsuccess($result);
     }
+
+    public static function comp_policy($left,$right)
+    {
+        $t_l = intval($left['num']);
+        $t_r = intval($right['num']);
+
+        if($t_l > $t_r) {
+            return 1;
+        }
+        elseif($t_l == $t_r)
+        {
+            return 0;
+        }
+        else {
+            return -1;
+        }
+    }
+
+    public function goods_shareOp()
+    {
+        $goods_id = intval($_GET['goods_id']);
+        if($goods_id <= 0) {
+            return self::outerr(errcode::ErrParamter,'goods_id 不能小于0.');
+        }
+        else
+        {
+            $calctor = new CalcPrice(session_helper::memberid());
+            $policy = $calctor->share_policy($goods_id);
+            usort($policy,[__CLASS__,'comp_policy']);
+            $result['policy'] = $policy;
+
+            $left_invitees = $calctor->left_invitees();
+
+            $invitees = [];
+
+            $mod_member = Model('member');
+            if($left_invitees > 0)
+            {
+                $items = $mod_member->getMemberList(['inviter_id' => session_helper::memberid()],'*', 0, 'member_id desc',$left_invitees);
+                array_reverse($items);
+
+                foreach ($items as $item)
+                {
+                    try {
+                        $member = new member_info($item);
+                        $invitees[] = $member->filter();
+                    }
+                    catch (Exception $ex) {
+                        Log::record($ex->getMessage(),Log::ERR);
+                    }
+                }
+            }
+            $result['invitees'] = $invitees;
+
+
+
+            return self::outsuccess($result);
+        }
+    }
 }