123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- <?php
- /**
- * Created by PhpStorm.
- * User: stanley-king
- * Date: 16/6/4
- * Time: 上午11:12
- */
- require_once (BASE_ROOT_PATH . "/helper/session_helper.php");
- require_once (BASE_ROOT_PATH . '/helper/bonus_helper.php');
- class pay_helper
- {
- const store_user_id = 36429;
- const period_hour = 5 * 24;
- const total_number = 10;
- const send_type = 1;
- const def_bless = '熊猫美妆与你分享美丽的秘密~';
- public function __construct() {
- }
- public function success($pay_sn)
- {
- $logic_payment = Logic('payment');
- $result = $logic_payment->getRealOrderInfo($pay_sn);
- if($result['state'] != true) {
- return false;
- }
- $data = &$result['data'];
- $buyer_id = intval($data['buyer_id']);
- $order_amount = 0.0;
- $goods_amount = 0.0;
- if(is_array($data['order_list']))
- {
- foreach($data['order_list'] as $key => $order) {
- $order_amount += floatval($order['order_amount']);
- $goods_amount += floatval($order['goods_amount']);
- }
- $ret = self::send_share_bonus(36429,$buyer_id,$order_amount);
- if($ret == false) {
- Log::record("向用户发送购物后分享红包失败",log::ERR);
- return false;
- } else {
- return true;
- }
- }
- else {
- return false;
- }
- }
- private function calc_amount($total_amount,$total_num)
- {
- $money = $total_num * predeposit_helper::scale() * $total_amount;
- $money = (intval((intval($money) / 10 )) + 1) * 10;
- return $money;
- }
- static private function is_enough($memer_id,$total_amount)
- {
- $member = Model('member');
- $relay_array = $member->getMemberPdInfo($memer_id);
- $total = floatval($relay_array['available_predeposit']);
- $total = intval($total*100 + 0.5);
- $total_amount = intval($total_amount * 100 + 0.5);
- return ($total_amount <= $total);
- }
- private function send_share_bonus($sender_id,$relayer_id,$total_amount)
- {
- $minfo = new member_info($relayer_id);
- $param['sender_id'] = $sender_id;
- $param['relayer_id'] = $relayer_id;
- $param['sender_mobile'] = $minfo->mobile();
- $param['sender_name'] = $minfo->nickname();
- $param['send_start_date'] = time();
- if(is_publish()) {
- $param['send_end_date'] = $param['send_start_date'] + self::period_hour * 3600;
- } else {
- $param['send_end_date'] = $param['send_start_date'] + 600; //测试服务器用10分钟就退款
- }
- $param['total_num'] = self::total_number;
- $param['total_amount'] = $this->calc_amount($total_amount,self::total_number);
- $param['use_type'] = 1;
- $param['user_type'] = 2;
- $param['send_type'] = self::send_type;
- $param['type_bless'] = self::def_bless;
- $param['make_type'] = bonus\type::MakePayType;
- if(self::is_enough($sender_id,$param['total_amount']) == false) {
- Log::record("系统账户余额不够给用户发送分享红包",Log::ERR);
- return false;
- }
- $ret = bonus_helper::make_bonus($param);
- if($ret === false) {
- return false;
- } else {
- $type_sn = $ret['type_sn'];
- $money = $ret['money'];
- $pre_helper = new predeposit_helper($sender_id);
- $pre_helper->handout_relaybonus($money,$minfo->nickname(),$type_sn,$relayer_id,"发送了{$money}元的转发红包.");
- $push_param = array();
- $push_param['member_id'] = $relayer_id;
- $push_param['text'] = "熊猫美妆向您派发了{$money}元的购物分享红包,您自己可以抢一份哦~.";
- $push_param['go_type'] = 'bonus';
- QueueClient::push('upushSendMsg',$push_param);
- return array('money' => $money,'total_num' => self::total_number,'sender_name' => '熊猫美妆');
- }
- }
- }
|