|
@@ -416,53 +416,96 @@ class account_helper
|
|
|
Model('member')->inc_rate_version($member_id);
|
|
|
}
|
|
|
|
|
|
- public static function register_bonus($member_id)
|
|
|
+ private static function new_fixed_param(&$rate_moneys)
|
|
|
{
|
|
|
+ $param['make_type'] = \bonus\type::MakeRegisterType;
|
|
|
+ $param['type_name'] = "新人红包";
|
|
|
+ $param['fixed_money'] = 20;
|
|
|
+ $param['total_num'] = 1;
|
|
|
+ $param['send_type'] = \bonus\type::SendType_Fixed;
|
|
|
+ $param['grab_type'] = \bonus\type::GrabType_All;
|
|
|
+ $param['bonus_rate'] = 50;
|
|
|
+ $param['sender_id'] = self::admin_member_id;
|
|
|
+ $param['sender_name'] = self::admin_name;
|
|
|
+
|
|
|
$rate_moneys = [];
|
|
|
- {
|
|
|
- $item['amount'] = 300;
|
|
|
- $item['num'] = 10;
|
|
|
- $item['rate'] = 40;
|
|
|
- $rate_moneys[] = $item;
|
|
|
- }
|
|
|
- {
|
|
|
- $item['amount'] = 500;
|
|
|
- $item['num'] = 10;
|
|
|
- $item['rate'] = 30;
|
|
|
- $rate_moneys[] = $item;
|
|
|
- }
|
|
|
+ $item['amount'] = 20;
|
|
|
+ $item['num'] = 1;
|
|
|
+ $item['rate'] = 50;
|
|
|
+ $rate_moneys[] = $item;
|
|
|
|
|
|
- $total = 0;
|
|
|
- foreach ($rate_moneys as $rate)
|
|
|
- {
|
|
|
- $amount = $rate['amount'];
|
|
|
- $num = $rate['num'];
|
|
|
+ return $param;
|
|
|
+ }
|
|
|
|
|
|
- $param = self::base_param($amount,$num);
|
|
|
- self::admin_param($param);
|
|
|
- $param['make_type'] = \bonus\type::MakeRegisterType;
|
|
|
- $param['type_name'] = "新人红包";
|
|
|
+ private static function new_random_param(&$rate_moneys)
|
|
|
+ {
|
|
|
+ $param['make_type'] = \bonus\type::MakeRegisterType;
|
|
|
+ $param['type_name'] = "新人可分享红包";
|
|
|
+ $param['total_amount'] = 200;
|
|
|
+ $param['total_num'] = 10;
|
|
|
+ $param['send_type'] = \bonus\type::SendType_Random;
|
|
|
+ $param['grab_type'] = \bonus\type::GrabType_All;
|
|
|
+ $param['bonus_rate'] = 30;
|
|
|
+ $param['sender_id'] = self::admin_member_id;
|
|
|
+ $param['sender_name'] = self::admin_name;
|
|
|
|
|
|
- $ret = bonus_helper::make_bonus($param,array($rate));
|
|
|
- if($ret != false)
|
|
|
- {
|
|
|
- $bonus_param = bonus_helper::send($ret['type_sn'],array($member_id));
|
|
|
- if($bonus_param != false) {
|
|
|
+ $rate_moneys = [];
|
|
|
+ $item['amount'] = 200;
|
|
|
+ $item['num'] = 10;
|
|
|
+ $item['rate'] = 30;
|
|
|
+ $rate_moneys[] = $item;
|
|
|
|
|
|
- }
|
|
|
+ return $param;
|
|
|
+ }
|
|
|
|
|
|
- $total += $amount;
|
|
|
+ private static function send_bonus($param,$rates,array $member_ids)
|
|
|
+ {
|
|
|
+ $ret = bonus_helper::make_bonus($param,$rates);
|
|
|
+ if($ret != false)
|
|
|
+ {
|
|
|
+ $type_sn = $ret['type_sn'];
|
|
|
+ $items = bonus_helper::send($type_sn,$member_ids);
|
|
|
+ if($items != false)
|
|
|
+ {
|
|
|
+ $result = [];
|
|
|
+ foreach ($items as $bonus_param) {
|
|
|
+ $bonus = bonus\user_bonus::create_by_param($bonus_param);
|
|
|
+ $user_id = $bonus->user_id();
|
|
|
+ $result[$user_id] = $bonus;
|
|
|
+ }
|
|
|
+ return $result;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return false;
|
|
|
}
|
|
|
}
|
|
|
- Model('member')->inc_rate_version($member_id);
|
|
|
-
|
|
|
- if(($total * 100 + 0.5) > 0 ) {
|
|
|
- return $total;
|
|
|
- } else {
|
|
|
+ else {
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public static function register_bonus($member_id)
|
|
|
+ {
|
|
|
+ $member_id = intval($member_id);
|
|
|
+ $total_amount = 0.00;
|
|
|
+
|
|
|
+ $fix_param = self::new_fixed_param($fix_rates);
|
|
|
+ $fix_bonus = self::send_bonus($fix_param,$fix_rates,array($member_id));
|
|
|
+ if($fix_bonus != false && array_key_exists($member_id,$fix_bonus)) {
|
|
|
+ $bonus = $fix_bonus[$member_id];
|
|
|
+ $total_amount += $bonus->bonus_value();
|
|
|
+ }
|
|
|
+
|
|
|
+ $random_param = self::new_random_param($random_rates);
|
|
|
+ $random_bonus = self::send_bonus($random_param,$random_rates,array($member_id));
|
|
|
+ if($random_bonus != false && array_key_exists($member_id,$random_bonus)) {
|
|
|
+ $bonus = $random_bonus[$member_id];
|
|
|
+ $total_amount += $bonus->bonus_value();
|
|
|
+ }
|
|
|
+
|
|
|
+ return $total_amount;
|
|
|
+ }
|
|
|
+
|
|
|
static private function make_rates($order_amount)
|
|
|
{
|
|
|
$money = intval($order_amount/100) * 100;
|