123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- <?php
- /**
- * Created by PhpStorm.
- * User: stanley-king
- * Date: 16/6/4
- * Time: 上午11:12
- */
- require_once (BASE_ROOT_PATH . "/helper/user_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 {
- Log::record("向用户发送购物后分享红包。。。",Log::DEBUG);
- $param['member_id'] = $buyer_id;
- $amount = $ret['money'];
- $param['text'] = "恭喜您获得{$amount}元红包,马上分享给小伙伴吧~";
- $param['go_type'] = 'bonus';
- QueueClient::push('upushSendMsg',$param);
- 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)
- {
- $mod_member = Model('member');
- $info = $mod_member->getMemberInfoByID($relayer_id);
- $member_info = user_helper::filter_info($info);
- $param['sender_id'] = $sender_id;
- $param['relayer_id'] = $relayer_id;
- $param['sender_mobile'] = $member_info['member_mobile'];
- $param['sender_name'] = $member_info['member_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;
- 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();
- $pre_helper->hand_out_store_bonus($money,$sender_id,$member_info['member_nickname'],$type_sn,$relayer_id,"发送了{$money}元的转发红包.");
- $url = BASE_SITE_URL . "/mobile/index.php?act=bonusex&op=open&client_type=wap&type_sn={$type_sn}";
- return array('money' => $money,'total_num' => self::total_number,'sender_name' => '熊猫美妆');
- }
- }
- }
|