123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502 |
- <?php
- /**
- * Created by PhpStorm.
- * User: stanley-king
- * Date: 2017/1/6
- * Time: 下午5:56
- */
- namespace bonus;
- use Exception;
- use member_info;
- use bonus;
- class parameters
- {
- const admin_member_id = 36429;
- const admin_name = '熊猫美妆';
- const usable_days = 30;
- public static function invite($inviter)
- {
- try
- {
- $info = new member_info($inviter);
- $nickname = $info->nickname();
- $type_name = "{$nickname}的红包";
- }
- catch (Exception $ex) {
- $type_name = "好友邀请红包";
- $nickname = self::admin_name;
- }
- $amount = 10;
- $bless = "领{$amount}元美妆红包,加入{$nickname}好友圈";
- $param['make_type'] = type::MakeInviteType;
- $param['type_name'] = $type_name;
- $param['type_bless'] = $bless;
- $param['send_type'] = type::SendType_Fixed;
- $param['grab_type'] = type::GrabType_EXEXIST;
- $param['relayer_id'] = $inviter;
- $param['sender_id'] = self::admin_member_id;
- $param['sender_name'] = self::admin_name;
- $param['usable_days'] = self::usable_days;
- $param['rate_money'][] = ['amount' => $amount,'num' => 10, 'rate' => 100];
- return $param;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- public static function user_reigster_fixed()
- {
- $params = [];
- $param['make_type'] = type::MakeRegisterType;
- $param['type_name'] = "新人购物红包";
- $param['type_bless'] = "感谢您加入熊猫美妆";
- $param['send_type'] = type::SendType_Fixed;
- $param['grab_type'] = type::GrabType_All;
- $param['sender_id'] = self::admin_member_id;
- $param['sender_name'] = self::admin_name;
- $param['usable_days'] = self::usable_days;
- $param['rate_money'][] = ['amount' => 100,'num' => 1, 'rate' => 30];
- $params[] = $param;
- return $params;
- }
- public static function user_register_random()
- {
- $params = [];
- $param['make_type'] = type::MakeRegisterType;
- $param['type_name'] = "新人红包";
- $param['send_type'] = type::SendType_Random;
- $param['grab_type'] = type::GrabType_All;
- $param['sender_id'] = self::admin_member_id;
- $param['sender_name'] = self::admin_name;
- $param['rate_money'][] = ['amount' => 50,'num' => 1, 'rate' => 30];
- $params[] = $param;
- return $params;
- }
- public static function guide_inviter($nickname,$level)
- {
- $rate_moneys = [
- ['amount' => 5, 'num' => 1, 'rate' => 100],
- ['amount' => 2, 'num' => 1, 'rate' => 100],
- ['amount' => 1, 'num' => 1, 'rate' => 100],
- ['amount' => 0.5, 'num' => 1, 'rate' => 100],
- ['amount' => 0.25,'num' => 1, 'rate' => 100],
- ['amount' => 0.10,'num' => 1, 'rate' => 100],
- ];
- $count = count($rate_moneys);
- $cur_index = $level < $count ? $level : $count -1;
- $params = [];
- $param['make_type'] = type::MakeInviteRewardType;
- $param['type_name'] = "邀请好友,奖励红包";
- $level = $level + 1;
- $param['type_bless'] = "祝贺{$nickname}成为您的{$level}度粉丝";
- $param['send_type'] = type::SendType_Fixed;
- $param['grab_type'] = type::GrabType_All;
- $param['sender_id'] = self::admin_member_id;
- $param['sender_name'] = self::admin_name;
- $param['usable_days'] = self::usable_days;
- $param['rate_money'][] = $rate_moneys[$cur_index];
- $params[] = $param;
- return $params;
- }
- public static function guide_invitee($inviter_name, $invitee_name, $level, $num)
- {
- $rate_moneys = [
- ['amount' => 2, 'num' => $num, 'rate' => 100],
- ['amount' => 1, 'num' => $num, 'rate' => 100],
- ['amount' => 0.5, 'num' => $num, 'rate' => 100]
- ];
- $count = count($rate_moneys);
- $cur_index = $level < $count ? $level : $count -1;
- $params = [];
- $param['make_type'] = type::MakeInviteRewardType;
- $param['type_name'] = "好友加入,雨露均沾";
- $level = $level + 1;
- $param['type_bless'] = "祝贺{$invitee_name}成为{$inviter_name}的{$level}度粉丝";
- $param['send_type'] = type::SendType_Fixed;
- $param['grab_type'] = type::GrabType_All;
- $param['sender_id'] = self::admin_member_id;
- $param['sender_name'] = self::admin_name;
- $param['usable_days'] = self::usable_days;
- $param['rate_money'][] = $rate_moneys[$cur_index];
- $params[] = $param;
- return $params;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- static private function order_complete_fixed_rates($order_amount)
- {
- $money = intval($order_amount/100) * 100;
- if($money > 1000) {
- return ['amount' => 200,'num' => 1, 'rate' => 50];
- }
- elseif($money > 500) {
- return ['amount' => 200,'num' => 1, 'rate' => 40];
- }
- elseif ($money > 300) {
- return ['amount' => 200,'num' => 1, 'rate' => 30];
- }
- elseif ($money > 200) {
- return ['amount' => 100,'num' => 1, 'rate' => 30];
- }
- else {
- return ['amount' => 100,'num' => 1, 'rate' => 30];
- }
- }
- static private function order_complete_random_rates($order_amount)
- {
- $money = intval($order_amount/100) * 100;
- if($money > 1000) {
- return ['amount' => 200,'num' => 10, 'rate' => 50];
- }
- elseif($money > 500) {
- return ['amount' => 200,'num' => 10, 'rate' => 40];
- }
- elseif ($money > 300) {
- return ['amount' => 200,'num' => 10, 'rate' => 30];
- }
- elseif ($money > 200) {
- return ['amount' => 100,'num' => 10, 'rate' => 30];
- }
- else {
- return ['amount' => 100,'num' => 10, 'rate' => 30];
- }
- }
- public static function order_complete_fixed($order_amount)
- {
- $params = [];
- $param['make_type'] = type::MakePayType;
- $param['type_name'] = "购物奖励";
- $param['type_bless'] = "祝您购物愉快,请常回来看看~";
- $param['send_type'] = type::SendType_Fixed;
- $param['grab_type'] = type::GrabType_All;
- $param['sender_id'] = self::admin_member_id;
- $param['sender_name'] = self::admin_name;
- $param['usable_days'] = self::usable_days + 15;
- $param['rate_money'][] = self::order_complete_fixed_rates($order_amount);
- $params[] = $param;
- return $params;
- }
- public static function order_complete_random($order_amount)
- {
- $params = [];
- $param['make_type'] = type::MakePayType;
- $param['type_name'] = "购物奖励";
- $param['type_bless'] = "祝您购物愉快,请常回来看看~";
- $param['send_type'] = type::SendType_Random;
- $param['grab_type'] = type::GrabType_All;
- $param['sender_id'] = self::admin_member_id;
- $param['sender_name'] = self::admin_name;
- $param['usable_days'] = self::usable_days;
- $param['rate_money'][] = self::order_complete_random_rates($order_amount);
- $params[] = $param;
- return $params;
- }
- public static function order_complete_inviter($nickname,$level)
- {
- $rate_moneys = [
- ['amount' => 3, 'num' => 1, 'rate' => 100],
- ['amount' => 2, 'num' => 1, 'rate' => 100],
- ['amount' => 1, 'num' => 1, 'rate' => 100],
- ['amount' => 0.5, 'num' => 1, 'rate' => 100],
- ['amount' => 0.25,'num' => 1, 'rate' => 100],
- ['amount' => 0.10,'num' => 1, 'rate' => 100]
- ];
- $count = count($rate_moneys);
- $cur_index = $level < $count ? $level : $count -1;
- $params = [];
- $param['make_type'] = type::MakeInviteRewardType;
- $param['type_name'] = "粉丝购物,奖励红包";
- $level = $level + 1;
- $param['type_bless'] = "祝贺您的{$level}度粉丝{$nickname}购物成功";
- $param['send_type'] = type::SendType_Fixed;
- $param['grab_type'] = type::GrabType_All;
- $param['sender_id'] = self::admin_member_id;
- $param['sender_name'] = self::admin_name;
- $param['usable_days'] = self::usable_days;
- $param['rate_money'][] = $rate_moneys[$cur_index];
- $params[] = $param;
- return $params;
- }
- public static function order_complete_invitee($user_name, $level, $num)
- {
- $rate_moneys = [
- ['amount' => 2, 'num' => $num, 'rate' => 100],
- ['amount' => 1, 'num' => $num, 'rate' => 100],
- ['amount' => 0.5,'num' => $num, 'rate' => 100],
- ];
- $count = count($rate_moneys);
- $cur_index = $level < $count ? $level : $count -1;
- $params = [];
- $param['make_type'] = type::MakeInviteRewardType;
- $param['type_name'] = "好友购物,雨露均沾";
- $param['type_bless'] = "祝贺您的好友 {$user_name} 购物成功";
- $param['send_type'] = type::SendType_Fixed;
- $param['grab_type'] = type::GrabType_All;
- $param['sender_id'] = self::admin_member_id;
- $param['sender_name'] = self::admin_name;
- $param['usable_days'] = self::usable_days;
- $param['rate_money'][] = $rate_moneys[$cur_index];
- $params[] = $param;
- return $params;
- }
- public static function order_evaluate_fixed()
- {
- $params = [];
- $param['make_type'] = type::MakeEvaluateType;
- $param['type_name'] = "订单评论奖励红包";
- $param['send_type'] = type::SendType_Fixed;
- $param['grab_type'] = type::GrabType_All;
- $param['sender_id'] = self::admin_member_id;
- $param['sender_name'] = self::admin_name;
- $param['usable_days'] = self::usable_days;
- $param['rate_money'][] = ['amount' => 5,'num' => 1, 'rate' => 50];
- $params[] = $param;
- return $param;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- public static function admin_fixed($rate,$amount,$num,$type_name)
- {
- $param['make_type'] = type::MakeSendType;
- $param['type_name'] = empty($type_name) ? "系统红包" : $type_name;
- $param['send_type'] = type::SendType_Fixed;
- $param['grab_type'] = type::GrabType_All;
- $param['sender_id'] = self::admin_member_id;
- $param['sender_name'] = self::admin_name;
- $param['usable_days'] = self::usable_days;
- $param['rate_money'][] = ['amount' => $amount,'num' => $num, 'rate' => $rate];
- return $param;
- }
- public static function appreciate($sender_id,$rate,$amount,$bless)
- {
- $param['make_type'] = type::MakeSendType;
- $param['type_name'] = "赞赏红包";
- $param['type_bless'] = $bless;
- $param['send_type'] = type::SendType_Fixed;
- $param['grab_type'] = type::GrabType_All;
- $param['sender_id'] = $sender_id;
- $param['sender_name'] = self::admin_name;
- $param['usable_days'] = self::usable_days;
- $param['rate_money'][] = ['amount' => $amount,'num' => 1, 'rate' => $rate];
- return $param;
- }
- public static function shake_system($rate_moneys)
- {
- $param['make_type'] = type::MakeShakeGainType;
- $param['type_name'] = "从熊猫美妆摇来的红包";
- $param['send_type'] = type::SendType_Random;
- $param['grab_type'] = type::GrabType_All;
- $param['sender_id'] = self::admin_member_id;
- $param['sender_name'] = self::admin_name;
- $param['rate_money'] = $rate_moneys;
- return $param;
- }
- public static function shake_gain($from_id,$mobile,$nickname,$rate,$money)
- {
- $param['type_name'] = "从{$nickname}摇来的红包";
- $param['sender_id'] = $from_id;
- $param['sender_mobile'] = $mobile;
- $param['sender_name'] = $nickname;
- $param['make_type'] = type::MakeShakeGainType;
- $param['send_type'] = type::SendType_Fixed;
- $param['grab_type'] = type::GrabType_All;
- $param['rate_money'][] = ['amount' => $money,'num' => 1, 'rate' => $rate];
- return $param;
- }
- public static function shake_lost($from_id,$mobile,$nickname,$rate,$money)
- {
- $param['sender_id'] = $from_id;
- $param['sender_mobile'] = $mobile;
- $param['sender_name'] = $nickname;
- $param['make_type'] = type::MakeShakeLostType;
- $param['type_name'] = "{$nickname}摇飞的红包";
- $param['send_type'] = type::SendType_Fixed;
- $param['grab_type'] = type::GrabType_All;
- $param['rate_money'][] = ['amount' => $money,'num' => 1, 'rate' => $rate];
- return $param;
- }
- static private function paied_rates($order_amount)
- {
- $money = intval($order_amount/100) * 100;
- $rate_moneys = [];
- if($money > 500) {
- $amount = 200;
- }
- elseif ($money > 300) {
- $amount = 100;
- }
- if(isset($amount) && $amount > 0) {
- $item['amount'] = $amount;
- $item['num'] = 5;
- $item['rate'] = 40;
- $rate_moneys[] = $item;
- }
- if($money > 500) {
- $amount = 500;
- }
- elseif ($money > 300) {
- $amount = 300;
- }
- else {
- $amount = 100;
- }
- if(isset($amount) && $amount > 0) {
- $item['amount'] = $amount;
- $item['num'] = 10;
- $item['rate'] = 30;
- $rate_moneys[] = $item;
- }
- return $rate_moneys;
- }
- public static function order_complete($order_amount)
- {
- $rate_moneys = self::paied_rates($order_amount);
- $params = [];
- foreach ($rate_moneys as $rate_money)
- {
- $param = [];
- $param['make_type'] = type::MakePayType;
- $param['type_name'] = "支付奖励红包(可分享)";
- $param['send_type'] = type::SendType_Random;
- $param['grab_type'] = type::GrabType_All;
- $param['sender_id'] = self::admin_member_id;
- $param['sender_name'] = self::admin_name;
- $param['rate_money'][] = $rate_money;
- $params[] = $param;
- }
- return $params;
- }
- public static function order_cancel($bonus_rates)
- {
- $params = [];
- foreach ($bonus_rates as $rate => $amount)
- {
- $param = [];
- $param['make_type'] = bonus\type::MakeOrderCancelType;
- $param['type_name'] = '订单退款';
- $param['sender_id'] = self::admin_member_id;
- $param['sender_name'] = self::admin_name;
- $param['send_type'] = type::SendType_Fixed;
- $param['grab_type'] = type::GrabType_All;
- $param['rate_money'][] = ['amount' => $amount,'num' => 1, 'rate' => $rate];
- $params[] = $param;
- }
- return $params;
- }
- public static function bonus_refund($rate,$amount)
- {
- $param['make_type'] = \bonus\type::MakeBonusRefundType;
- $param['type_name'] = '红包过期退款';
- $param['sender_id'] = self::admin_member_id;
- $param['sender_name'] = self::admin_name;
- $param['send_type'] = type::SendType_Fixed;
- $param['grab_type'] = type::GrabType_All;
- $param['rate_money'][] = ['amount' => $amount,'num' => 1, 'rate' => $rate];
- return $param;
- }
- }
- class sys_bonus
- {
- private $mType_sn;
- public function __construct() {
- $this->mType_sn = null;
- }
- public function reset($type_sn) {
- $this->mType_sn = $type_sn;
- }
- private function rate_moneys()
- {
- $result = [];
- {
- $item['amount'] = 50;
- $item['num'] = 10;
- $item['rate'] = 50;
- $result[] = $item;
- }
- {
- $item['amount'] = 100;
- $item['num'] = 20;
- $item['rate'] = 40;
- $result[] = $item;
- }
- {
- $item['amount'] = 850;
- $item['num'] = 70;
- $item['rate'] = 30;
- $result[] = $item;
- }
- return $result;
- }
- public function type_sn() {
- return $this->mType_sn;
- }
- public function bind_over()
- {
- if($this->mType_sn == null) {
- return true;
- }
- $type = type::create_by_sn($this->mType_sn);
- return $type->binded_over();
- }
- public function gen_param(&$rates)
- {
- $rates = $this->rate_moneys();
- return parameters::shake_system($rates);
- }
- }
|