Kaynağa Gözat

add to local

stanley-king 8 yıl önce
ebeveyn
işleme
e126d17147

+ 0 - 4
core/framework/core/base.php

@@ -225,10 +225,6 @@ final class Base
 		    @ini_set('session.cookie_domain', $subdomain_suffix);
 		}
 
-		//开启以下配置支持session信息存信memcache
-		//@ini_set("session.save_handler", "memcache");
-		//@ini_set("session.save_path", C('memcache.1.host').':'.C('memcache.1.port'));
-
 		//默认以文件形式存储session信息
 		if (strcmp($config['session_type'], 'files') === 0) {
 			session_save_path(BASE_DATA_PATH.'/session');

+ 219 - 0
daemon/queue-daemon.py

@@ -0,0 +1,219 @@
+#!/usr/bin/env python
+import sys, os, time, signal, atexit
+
+shutdown = False
+graceful_shutdown = False
+
+def sig_handler(sig,frame):
+	global shutdown
+	global graceful_shutdown
+	
+	if sig == signal.SIGINT:
+		graceful_shutdown = True
+	elif sig == signal.SIGTERM:
+		shutdown = True		
+
+class Daemon(object):	
+	def __init__(self, cmd, stdin='/dev/null', stdout='/dev/null', stderr='/dev/null'):
+			self.stdin = stdin
+			self.stdout = stdout
+			self.stderr = stderr
+			self.cmd = cmd
+			self.pidfile = os.path.splitext(sys.argv[0])[0] + ".pid"
+	
+	def register_handler(self):
+		signal.signal(signal.SIGINT, sig_handler)
+		signal.signal(signal.SIGTERM, sig_handler)
+		signal.signal(signal.SIGCHLD, sig_handler)
+		
+	def daemonize(self):
+		try: 
+				pid = os.fork() 
+				if pid > 0:
+						# exit first parent
+						sys.exit(0) 
+		except OSError, e: 
+				sys.stderr.write("fork #1 failed: %d (%s)\n" % (e.errno, e.strerror))
+				sys.exit(1)
+
+		# decouple from parent environment
+		os.chdir(".") 
+		os.setsid() 
+		os.umask(0) 
+
+		# do second fork
+		try: 
+			pid = os.fork() 
+			if pid > 0:
+				# exit from second parent
+				sys.exit(0) 
+		except OSError, e: 
+			sys.stderr.write("fork #2 failed: %d (%s)\n" % (e.errno, e.strerror))
+			sys.exit(1) 
+		
+		# redirect standard file descriptors
+		si = file(self.stdin, 'r')
+		so = file(self.stdout, 'a+')
+		se = file(self.stderr, 'a+', 0)
+		
+		pid = str(os.getpid())
+		
+		#sys.stderr.write("\n%s\n" % pid)
+		#sys.stderr.flush()
+		
+		if self.pidfile:
+			file(self.pidfile,'w+').write("%s\n" % pid)
+		
+		#atexit.register(self.delpid)
+		
+		os.dup2(si.fileno(), sys.stdin.fileno())
+		os.dup2(so.fileno(), sys.stdout.fileno())
+		os.dup2(se.fileno(), sys.stderr.fileno())
+	
+	def get_childs_pid(self, pid):
+		li = []
+		cmd = "ps -ef|awk '{print $2,$3}'"
+		for item in os.popen(cmd).readlines():
+			item = item.strip()
+			l = item.split(' ')
+			p1 = l[0].strip()
+			p2 = l[1].strip()
+			if p2 == pid:
+				li.append(p1)
+						
+		return li		
+	
+	def get_grand_childs_pid(self,child_pids):
+		li = []
+		for pid in child_pids:
+			lii = self.get_childs_pid(pid)
+			if len(lii) == 0:
+				continue
+			li.append(lii[0])
+			
+		return li			
+				
+	def start(self):
+		try:
+			num_childs = 1
+			if num_childs > 0:
+				child = False
+				global shutdown
+				global graceful_shutdown
+				while not child and not shutdown and not graceful_shutdown:
+					if num_childs > 0:
+						pid = os.fork()
+						if pid > 0:
+							num_childs = num_childs - 1
+						elif pid == 0:
+							child = True
+						else:
+							sys.exit(1)
+					else:
+						exit_stat = os.wait()
+						pid = exit_stat[0]
+						num_childs = num_childs + 1
+						time.sleep(1)
+										 
+			os.system(self.cmd)	
+		except OSError, e:
+			sys.stderr.write("fork #3 failed: %d (%s)\n" % (e.errno, e.strerror))
+			sys.exit(1); 	
+		
+	def run(self):
+		try:
+			pf = file(self.pidfile,'r')
+			pid = int(pf.read().strip())
+			pf.close()
+		except IOError:
+			pid = None
+
+		if pid:
+			message = "pidfile %s already exist. Daemon already running?\n"
+			sys.stderr.write(message % self.pidfile)
+			sys.exit(1)
+			
+		self.daemonize()
+		self.start()
+	
+	def delpid(self):
+		os.remove(self.pidfile)
+		
+		
+	def stop(self):
+		try:
+				pf = file(self.pidfile,'r')
+				pid = int(pf.read().strip())
+				pf.close()
+		except IOError:
+				pid = None
+
+		if not pid:
+			message = "pidfile %s does not exist. Daemon not running?\n"
+			sys.stderr.write(message % self.pidfile)
+			return
+
+		li = self.get_childs_pid(str(pid))
+		lig = self.get_grand_childs_pid(li)
+		for item in lig:
+			try:
+				os.kill(int(item),signal.SIGINT)
+				os.kill(int(item),signal.SIGTERM)
+				os.kill(int(item),signal.SIGKILL)
+			except:
+				pass
+		        
+		try:
+			while 1:
+				os.kill(pid, signal.SIGTERM)
+				time.sleep(0.5)
+		except OSError, err:
+			err = str(err)
+			if err.find("No such process") > 0:
+				if os.path.exists(self.pidfile):
+					os.remove(self.pidfile)
+				else:
+					print str(err)
+					sys.exit(1)	
+		
+def main():
+	cmd = "php /home/www/shop_develop/crontab/index.php queue index"
+	d = Daemon(cmd)
+	d.register_handler()
+	
+	if len(sys.argv) == 2:
+		if 'start' == sys.argv[1]:
+			try:
+				d.run()
+			except:
+				pass
+	
+		elif 'stop' == sys.argv[1]:
+			print 'stopping...'
+			d.stop()
+						
+		elif 'status' == sys.argv[1]:
+			try:
+				pf = file(d.pidfile,'r')
+				pid = int(pf.read().strip())
+				pf.close()
+			except IOError:
+				pid = None	
+			except SystemExit:
+				pid = None
+			
+			if pid:		
+				print 'running as pid %s' % pid	
+			else:
+				print 'not running'
+				
+		else:
+			print "Unknown command"
+			sys.exit(2)
+		
+	else:						
+		print "usage: %s start|stop|status" % sys.argv[0]
+		sys.exit(2)
+	
+if __name__ == '__main__':
+	main()		

+ 3 - 2
data/logic/delivery.logic.php

@@ -14,8 +14,8 @@ require_once (BASE_CORE_PATH . '/framework/function/http.php');
 
 class deliveryLogic
 {
-    const oms_url = 'http://223.4.48.187:30004/lrlzApiRest/router/rest';
-    
+    const oms_url = 'http://oapi.lrlz.com/lrlzApiRest/router/rest';
+
     private static $appkey = '2015panda';
     private static $appPassWord = 'nEs5vu86JSjh89WPW4de2d3e87rwli3e8rw';
 
@@ -143,6 +143,7 @@ class deliveryLogic
      */
     private function check($pay_sn,$trade_no,$order_sn,$resp)
     {
+        //todo 仔细解决这块问题
         $data = array();
         $data_log = array();
         $data['pay_sn'] = $pay_sn;

+ 60 - 45
data/model/predeposit.model.php

@@ -260,52 +260,58 @@ class predepositModel extends Model {
 
         $data_msg['time'] = date('Y-m-d H:i:s');
         $data_msg['pd_url'] = urlShop('predeposit', 'pd_log_list');
+
+        $add_log = true;
         switch ($change_type)
         {
             case 'order_pay':
-                $data_log['lg_av_amount'] = -$data['amount'];
-                $data_log['lg_desc'] = '下单,支付预存款,订单号: '.$data['order_sn'];
-                $data_pd['available_predeposit'] = array('exp','available_predeposit-'.$data['amount']);
-
-                $data_msg['av_amount'] = -$data['amount'];
-                $data_msg['freeze_amount'] = 0;
-                $data_msg['desc'] = $data_log['lg_desc'];
-
                 if(isBonusExpiryDate()) {
-                    require_once (BASE_ROOT_PATH . '/helper/account_helper.php');
+                    $data_log['lg_av_amount'] = -$data['amount'];
+                    $data_log['lg_desc'] = '下单,支付红包,订单号: '.$data['order_sn'];
+                    $data_pd['available_predeposit'] = array('exp','available_predeposit-'.$data['amount']);
+                    $data_msg['av_amount'] = -$data['amount'];
+                    $data_msg['freeze_amount'] = 0;
+                    $data_msg['desc'] = $data_log['lg_desc'];
+
                     account_helper::onPredeposit('order_pay',$data['member_id'],$data['amount']);
                 }
+                else {
+                    $data_log['lg_av_amount'] = -$data['amount'];
+                    $data_log['lg_desc'] = '下单,支付预存款,订单号: '.$data['order_sn'];
+                    $data_pd['available_predeposit'] = array('exp','available_predeposit-'.$data['amount']);
+                    $data_msg['av_amount'] = -$data['amount'];
+                    $data_msg['freeze_amount'] = 0;
+                    $data_msg['desc'] = $data_log['lg_desc'];
+                }
 
                 break;
             case 'order_freeze':
-                $data_log['lg_av_amount'] = -$data['amount'];
-                $data_log['lg_freeze_amount'] = $data['amount'];
-                $data_log['lg_desc'] = '下单,冻结预存款,订单号: '.$data['order_sn'];
-                $data_pd['freeze_predeposit'] = array('exp','freeze_predeposit+'.$data['amount']);
-                $data_pd['available_predeposit'] = array('exp','available_predeposit-'.$data['amount']);
-
-                $data_msg['av_amount'] = -$data['amount'];
-                $data_msg['freeze_amount'] = $data['amount'];
-                $data_msg['desc'] = $data_log['lg_desc'];
-
                 if(isBonusExpiryDate()) {
-                    require_once (BASE_ROOT_PATH . '/helper/account_helper.php');
-                    account_helper::onPredeposit('order_pay',$data['member_id'],$data['amount']);
+                    $data_log['lg_av_amount'] = -$data['amount'];
+                    $data_log['lg_desc'] = '下单,支付红包,订单号: '.$data['order_sn'];
+                    $data_pd['available_predeposit'] = array('exp','available_predeposit-'.$data['amount']);
+                    $data_msg['av_amount'] = -$data['amount'];
+                    $data_msg['desc'] = $data_log['lg_desc'];
+
+                    account_helper::onPredeposit('order_freeze',$data['member_id'],$data['amount']);
+                }
+                else {
+                    $data_log['lg_av_amount'] = -$data['amount'];
+                    $data_log['lg_freeze_amount'] = $data['amount'];
+                    $data_log['lg_desc'] = '下单,冻结预存款,订单号: '.$data['order_sn'];
+                    $data_pd['freeze_predeposit'] = array('exp','freeze_predeposit+'.$data['amount']);
+                    $data_pd['available_predeposit'] = array('exp','available_predeposit-'.$data['amount']);
+
+                    $data_msg['av_amount'] = -$data['amount'];
+                    $data_msg['freeze_amount'] = $data['amount'];
+                    $data_msg['desc'] = $data_log['lg_desc'];
                 }
 
                 break;
             case 'order_cancel':
                 if(isBonusExpiryDate()) {
-                    require_once (BASE_ROOT_PATH . '/helper/account_helper.php');
                     account_helper::onPredeposit('order_cancel',$data['member_id'],$data['amount']);
-                    
-                    $data_log['lg_freeze_amount'] = -$data['amount'];
-                    $data_log['lg_desc'] = '取消订单,解冻预存款,订单号: '.$data['order_sn'];
-                    $data_pd['freeze_predeposit'] = array('exp','freeze_predeposit-'.$data['amount']);
-
-                    $data_msg['av_amount'] = 0;
-                    $data_msg['freeze_amount'] = -$data['amount'];
-                    $data_msg['desc'] = $data_log['lg_desc'];
+                    return 0;
                 } else {
                     $data_log['lg_av_amount'] = $data['amount'];
                     $data_log['lg_freeze_amount'] = -$data['amount'];
@@ -320,14 +326,21 @@ class predepositModel extends Model {
 
                 break;
             case 'order_comb_pay':
-                $data_log['lg_freeze_amount'] = -$data['amount'];
-                $data_log['lg_desc'] = '下单,支付被冻结的预存款,订单号: '.$data['order_sn'];
-                $data_pd['freeze_predeposit'] = array('exp','freeze_predeposit-'.$data['amount']);
+                if(isBonusExpiryDate()) {
+                    account_helper::onPredeposit('order_comb_pay',$data['member_id'],$data['amount']);
+                    return 0;
+                }
+                else
+                {
+                    $data_log['lg_freeze_amount'] = -$data['amount'];
+                    $data_log['lg_desc'] = '下单,支付被冻结的预存款,订单号: '.$data['order_sn'];
+                    $data_pd['freeze_predeposit'] = array('exp','freeze_predeposit-'.$data['amount']);
 
-                $data_msg['av_amount'] = 0;
-                $data_msg['freeze_amount'] = $data['amount'];
-                $data_msg['desc'] = $data_log['lg_desc'];
-                break;
+                    $data_msg['av_amount'] = 0;
+                    $data_msg['freeze_amount'] = $data['amount'];
+                    $data_msg['desc'] = $data_log['lg_desc'];
+                    break;
+                }
             case 'recharge':
                 $data_log['lg_av_amount'] = $data['amount'];
                 $data_log['lg_desc'] = '充值,充值单号: '.$data['pdr_sn'];
@@ -340,14 +353,12 @@ class predepositModel extends Model {
                 break;
             case 'refund':
                 if(isBonusExpiryDate()) {
-                    require_once (BASE_ROOT_PATH . '/helper/account_helper.php');
                     account_helper::onPredeposit('refund',$data['member_id'],$data['amount']);
-                    return;
+                    return 0;
                 } else {
                     $data_log['lg_av_amount'] = $data['amount'];
                     $data_log['lg_desc'] = '确认退款,订单号: '.$data['order_sn'];
                     $data_pd['available_predeposit'] = array('exp','available_predeposit+'.$data['amount']);
-
                     $data_msg['av_amount'] = $data['amount'];
                     $data_msg['freeze_amount'] = 0;
                     $data_msg['desc'] = $data_log['lg_desc'];
@@ -398,9 +409,8 @@ class predepositModel extends Model {
                 break;
             case 'bonus_refund':
                 if(isBonusExpiryDate()) {
-                    require_once (BASE_ROOT_PATH . '/helper/account_helper.php');
                     account_helper::onPredeposit('bonus_refund',$data['member_id'],$data['amount']);
-                    return;
+                    return 0;
                 } else {
                     $data_log['lg_av_amount'] = $data['amount'];
                     $data_log['lg_desc'] = '退还没抢的红包金额,红包单号: '.$data['type_sn'];
@@ -413,8 +423,9 @@ class predepositModel extends Model {
 
                 break;
             case 'bonus_add_money':
+                $make_type = empty($data['make_type']) ? 0 : $data['make_type'];
                 $data_log['lg_av_amount'] = $data['amount'];
-                $data_log['lg_desc'] = '红包系统调节预存款【增加】,红包单号: '.$data['pdr_sn'];
+                $data_log['lg_desc'] = '领取红包,红包单号: '.$data['pdr_sn'] . " make_type={$make_type}";
                 $data_log['lg_admin_name'] = $data['admin_name'];
                 $data_pd['available_predeposit'] = array('exp','available_predeposit+'.$data['amount']);
 
@@ -423,8 +434,9 @@ class predepositModel extends Model {
                 $data_msg['desc'] = $data_log['lg_desc'];
                 break;
             case 'hand_out_bonus' :
+                $make_type = empty($data['make_type']) ? 0 : $data['make_type'];
                 $data_log['lg_av_amount'] = -$data['amount'];
-                $data_log['lg_desc'] = '发送红包系统调节预存款【减少】,红包单号: '.$data['pdr_sn'];
+                $data_log['lg_desc'] = '发送红包,红包单号: '.$data['pdr_sn'] . " make_type={$make_type}" ;
                 $data_log['lg_admin_name'] = $data['admin_name'];
                 $data_pd['available_predeposit'] = array('exp','available_predeposit-'.$data['amount']);
 
@@ -475,7 +487,6 @@ class predepositModel extends Model {
                 $data_msg['freeze_amount'] = -$data['amount'];
                 $data_msg['desc'] = $data_log['lg_desc'];
                 break;
-				
 				//////////////////////////////////////////////////////
             default:
                 throw new Exception('参数错误');
@@ -487,6 +498,10 @@ class predepositModel extends Model {
         if (!$update) {
             throw new Exception('操作失败');
         }
+        if($add_log == false) {
+            return 0;
+        }
+
         $insert = $this->table('pd_log')->insert($data_log);
         if (!$insert) {
             throw new Exception('操作失败');

+ 37 - 8
helper/account_helper.php

@@ -44,7 +44,7 @@ class account_helper
         $param['sender_id'] = $minfo->member_id();
         $param['sender_mobile'] = $minfo->mobile();
         $param['sender_name'] = $minfo->nickname();
-        $param['make_type'] = \bonus\type::MakeShakeType;
+        $param['make_type'] = \bonus\type::MakeShakeGainType;
         $name = $minfo->nickname();
         $param['type_name'] = "从{$name}摇来的红包";
 
@@ -53,7 +53,7 @@ class account_helper
             $to_minfo = new member_info($to_id);
             $thief =$to_minfo->nickname();
             $predo = new predeposit_helper($from_id);
-            $predo->handout_bonus($amount,$ret['type_sn'],$minfo->nickname(),"{$thief}摇走了您{$amount}元的红包.");
+            $predo->handout_bonus($amount,$ret['type_sn'],$minfo->nickname(),"{$thief}摇走了您{$amount}元的红包.",\bonus\type::MakeShakeGainType);
             bonus_helper::withold($from_id,$amount);
 
             $bonusex = bonus_helper::send($ret['type_sn'],array($to_id));
@@ -80,7 +80,7 @@ class account_helper
         $param['sender_id'] = $minfo->member_id();
         $param['sender_mobile'] = $minfo->mobile();
         $param['sender_name'] = $minfo->nickname();
-        $param['make_type'] = \bonus\type::MakeShakeType;
+        $param['make_type'] = \bonus\type::MakeShakeLostType;
         $name = $minfo->nickname();
         $param['type_name'] = "{$name}摇飞的红包";
 
@@ -88,7 +88,7 @@ class account_helper
         if($ret != false)
         {
             $predo = new predeposit_helper($from_id);
-            $predo->handout_bonus($amount,$ret['type_sn'],$minfo->nickname(),"您摇丢了{$amount}的红包.");
+            $predo->handout_bonus($amount,$ret['type_sn'],$minfo->nickname(),"您摇丢了{$amount}的红包.",\bonus\type::MakeShakeLostType);
             bonus_helper::withold($from_id,$amount);
             $bonusex = bonus_helper::send($ret['type_sn'],array($to_id));
 
@@ -126,7 +126,7 @@ class account_helper
         $ret = bonus_helper::make_bonus($param);
         if($ret != false) {
             $predo = new predeposit_helper($member_id);
-            $predo->handout_bonus($amount,$ret['type_sn'],$minfo->nickname(),"您分享了{$amount}元的红包.");
+            $predo->handout_bonus($amount,$ret['type_sn'],$minfo->nickname(),"您分享了{$amount}元的红包.",\bonus\type::MakeSendType);
             bonus_helper::withold_bonus($member_id,$bonus_sn);
 
             return $ret;
@@ -139,7 +139,7 @@ class account_helper
     {
         $param = self::base_param($amount,1);
         self::admin_param($param);
-        $param['make_type'] = \bonus\type::MakeShakeType;
+        $param['make_type'] = \bonus\type::MakeShakeGainType;
         $param['type_name'] = "从熊猫美妆摇来的红包";
         $ret = bonus_helper::make_bonus($param);
         if($ret != false) {
@@ -172,6 +172,28 @@ class account_helper
         }
     }
 
+    private static function order_cancel($member_id,$amount,$bonus_name)
+    {
+        $param = self::base_param($amount,1);
+        self::admin_param($param);
+        $param['make_type'] = \bonus\type::MakeOrderCancelType;
+        $param['type_name'] = $bonus_name;
+
+        $ret = bonus_helper::make_bonus($param);
+        if($ret != false)
+        {
+            bonus_helper::send($ret['type_sn'],array($member_id));
+
+            $push_param = array();
+            $push_param['member_id'] = $member_id;
+            $push_param['text']      = "取消订单退款通知:金额{$amount}元.";
+            $push_param['go_type']   = 'bonus';
+            QueueClient::push('upushSendMsg',$push_param);
+        } else {
+            Log::record("给用户 {$member_id} 退款{$amount}失败.");
+        }
+    }
+
     private static function bonus_refund($member_id,$amount,$bonus_name)
     {
         $param = self::base_param($amount,1);
@@ -196,11 +218,18 @@ class account_helper
     public static function onPredeposit($change_type,$member_id,$pd_amount)
     {
         Log::record("onPredeposit {$change_type},{$member_id},{$pd_amount}");
-        if($change_type == 'order_pay' || $change_type == 'order_freeze') {
+
+        if($change_type == 'order_pay') {
+            bonus_helper::withold($member_id,$pd_amount);
+        }
+        elseif($change_type == 'order_freeze') {
             bonus_helper::withold($member_id,$pd_amount);
         }
+        elseif($change_type == 'order_comb_pay') {
+
+        }
         elseif($change_type == 'order_cancel') { // 发送给该用户一个同等额度的红包
-            self::pay_refund($member_id,$pd_amount,"退款红包");
+            self::order_cancel($member_id,$pd_amount,"退款红包");
         }
         elseif($change_type == 'refund') { // 发送给该用户一个同等额度的红包
             self::pay_refund($member_id,$pd_amount,"退款红包");

+ 27 - 4
helper/bonus/type.php

@@ -16,9 +16,11 @@ class type
 {
     const MakeSendType = 0;
     const MakeBonusRefundType = 1;
-    const MakeShakeType = 2;
-    const MakePayRefundType = 3;
-    const MakePayType = 4;
+    const MakeShakeGainType = 2;
+    const MakeShakeLostType = 3;
+    const MakePayRefundType = 4;
+    const MakePayType = 5;
+    const MakeOrderCancelType = 6;
     
     const create_type = 0;
     const load_type = 1;
@@ -190,12 +192,33 @@ class type
         $max_val = intval(floatval($this->mParam['max_amount']) * 100);
         return ($max_val == intval($value * 100));
     }
-
     public function make_type()
     {
         $make_type = intval($this->mParam['make_type']);
         return $make_type;
     }
+//
+//    public function make_desc($is_sender)
+//    {
+//        $make_type = $this->make_type();
+//        if($is_sender)
+//        {
+//            switch ($make_type) {
+//                case self::MakeSendType: return "发出红包";
+//                case self::MakeBonusRefundType: return
+//            case self::MakeShakeGainType:
+//            case self::MakeShakeLostType:
+//            case self::MakePayRefundType:
+//            case self::MakePayType:
+//            case self::MakeOrderCancelType:
+//        }
+//
+//        }
+//        else
+//        {
+//
+//        }
+//    }
     public function remain_amount()
     {
         $amount = intval($this->mParam['remain_amount'] * 100 + 0.5);

+ 2 - 3
helper/bonus_helper.php

@@ -138,16 +138,15 @@ class bonus_helper
         {
             $type_id = $val['type_id'];
             $type = \bonus\type::create_by_id($type_id);
+            $bonus = \bonus\user_bonus::create_by_param($val);
 
             try
             {
-                $info = sprintf("来自%s的红包.",$val['sender_name']);
                 Db::beginTransaction();
-                $pd_helper->bonus_add_money($val['bonus_value'],$val['bonus_sn'],$type->sender_name(),$info);
+                $pd_helper->add_bonus($bonus,$type);
                 if($manager->topup($mod_bonus,$val) === false) {
                     throw new Exception();
                 } else {
-                    $bonus['mine_bonus'] = $val;
                     array_push($bonusex,$val);
                 }
                 Db::commit();

+ 0 - 6
helper/pay_helper.php

@@ -44,12 +44,6 @@ class pay_helper
                 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;
             }
         }

+ 35 - 20
helper/predeposit_helper.php

@@ -37,22 +37,6 @@ class predeposit_helper
     public function is_enough($money) {
         return intval(self::get_predeposit_total() * 100) >= intval($money * 100);
     }
-
-    public function bonus_add_money($amount,$bonus_sn,$sender_name,$info)
-    {
-        $minfo = new member_info($this->member_id);
-
-        $data = array();
-        $data['member_id'] = $this->member_id;
-        $data['member_name'] = $minfo->nickname();
-        $data['amount'] = $amount;
-        $data['order_sn'] = $bonus_sn;
-        $data['admin_name'] = $sender_name;
-        $data['pdr_sn'] = $bonus_sn;
-        $data['lg_desc'] = $info;
-        $this->model_pd->changePd("bonus_add_money", $data);
-    }
-
     public function bonus_expire($bouns)
     {
         try
@@ -103,8 +87,38 @@ class predeposit_helper
         $data['lg_desc'] = '版本升级,余额迁移.';
         $this->model_pd->changePd("sys_add_money",$data);
     }
+    public function bonus_add_money($amount,$bonus_sn,$sender_name,$info,$make_type = 0)
+    {
+        $minfo = new member_info($this->member_id);
+
+        $data = array();
+        $data['member_id'] = $this->member_id;
+        $data['member_name'] = $minfo->nickname();
+        $data['amount'] = $amount;
+        $data['order_sn'] = $bonus_sn;
+        $data['admin_name'] = $sender_name;
+        $data['pdr_sn'] = $bonus_sn;
+        $data['lg_desc'] = $info;
+        $this->model_pd->changePd("bonus_add_money", $data);
+    }
+    
+    public function add_bonus(bonus\user_bonus $bonus,bonus\type $type)
+    {
+        $minfo = new member_info($this->member_id);
+
+        $data = array();
+        $data['member_id'] = $this->member_id;
+        $data['member_name'] = $minfo->nickname();
+        $data['amount'] = $bonus->bonus_value();
+        $data['order_sn'] = $bonus->bonus_sn();
+        $data['admin_name'] = $type->sender_name();
+        $data['pdr_sn'] = $bonus->bonus_sn();
+        $data['lg_desc'] = $info;
+        $data['make_type'] = $type->make_type();
+        $this->model_pd->changePd("bonus_add_money", $data);
+    }
 
-    public function handout_bonus($amount, $type_sn, $sender_name, $info)
+    public function handout_bonus($amount, $type_sn, $sender_name, $info,$make_type = 0)
     {
         Log::record("handout_bonus {$amount} {$type_sn} {$sender_name}",Log::DEBUG);
         $minfo = new member_info($this->member_id);
@@ -117,6 +131,7 @@ class predeposit_helper
         $data['admin_name'] = $sender_name;
         $data['pdr_sn'] = $type_sn;
         $data['lg_desc'] = $info;
+        $data['make_type'] = $make_type;
         $this->model_pd->changePd("hand_out_bonus", $data);
     }
 
@@ -168,15 +183,15 @@ class predeposit_helper
                 $item['sn'] = "订单号:{$sn}";
             }
             else if($type == 'order_freeze') {
-                $item['title'] = "下单,冻结预存款";
+                $item['title'] = "下单扣除红包";
                 $item['sn'] = "订单号:{$sn}";
             }
             else if($type == 'order_cancel') {
-                $item['title'] = "取消订单,解冻预存款";
+                $item['title'] = "取消订单,解冻红包";
                 $item['sn'] = "订单号:{$sn}";
             }
             else if($type == 'order_comb_pay') {
-                $item['title'] = "下单,支付被冻结的预存款";
+                $item['title'] = "下单,支付被冻结的红包";
                 $item['sn'] = "订单号:{$sn}";
                 $item['av_amount'] = $freeze_amount;
             }