コード例 #1
0
ファイル: PayController.php プロジェクト: hucongyang/pink
 /**
  * 财付通充值回调
  */
 public function actionNotify()
 {
     $data = array();
     $data['ver'] = Yii::app()->request->getParam('ver');
     $data['charset'] = Yii::app()->request->getParam('charset');
     $data['pay_result'] = Yii::app()->request->getParam('pay_result');
     $data['pay_info'] = Yii::app()->request->getParam('pay_info');
     $data['transaction_id'] = Yii::app()->request->getParam('transaction_id');
     $data['sp_billno'] = Yii::app()->request->getParam('sp_billno');
     $data['total_fee'] = Yii::app()->request->getParam('total_fee');
     $data['fee_type'] = Yii::app()->request->getParam('fee_type');
     $data['bargainor_id'] = Yii::app()->request->getParam('bargainor_id');
     $data['attach'] = Yii::app()->request->getParam('attach');
     $data['sign'] = Yii::app()->request->getParam('sign');
     $data['bank_type'] = Yii::app()->request->getParam('bank_type');
     $data['bank_billno'] = Yii::app()->request->getParam('bank_billno');
     $data['time_end'] = Yii::app()->request->getParam('time_end');
     $data['purchase_alias'] = Yii::app()->request->getParam('purchase_alias');
     $data['key'] = "ab124def05mgh7839cd33befg632cg04";
     $sign = PayOrder::model()->getSign($data);
     if ($sign != $data['sign']) {
         exit('fail');
     }
     if ($data['pay_result'] == "0") {
         $data['sp_billno'] = $data['sp_billno'] - 100000000000;
         $rows = PayOrder::model()->getOrder($data['sp_billno']);
         //获取金额和金币
         $uid = PayOrder::model()->getOrderUid($data['sp_billno']);
         //查询UID
         if ($rows['total_fee'] != $data['total_fee']) {
             PayOrder::model()->insertTenpayLog($uid, $data);
             //记录错误日志
             exit('fail');
         }
         $order = PayOrder::model()->updateOrder($data);
         //修改订单信息
         $coins = PayOrder::model()->addCoins($uid, $rows['total_coins']);
         //更新用户账户金币
         if ($coins) {
             Callhistory::model()->setCoinsHistory($uid, $rows['total_coins'], 12, 0);
             //更新推广员的收入
             TgPremote::model()->insertTgIncome($uid, $rows['total_coins']);
         }
         if ($order && $coins) {
             exit('success');
         }
     }
 }
コード例 #2
0
ファイル: EpayController.php プロジェクト: hucongyang/pink
 /**
  * 充值callback处理
  */
 public function actionPayCallback()
 {
     $p2_Order = Yii::app()->request->getParam('p2_Order');
     $p5_CardNo = Yii::app()->request->getParam('p5_CardNo');
     $r1_Code = Yii::app()->request->getParam('r1_Code');
     $p8_cardStatus = Yii::app()->request->getParam('p8_cardStatus');
     $p3_Amt = Yii::app()->request->getParam('p3_Amt');
     $paymodel = PayOrder::model()->findByPk($p2_Order - 200000000000);
     $result = $paymodel->pay_result;
     if (!$paymodel) {
         exit;
     }
     if ($result == 0) {
         $epay = new Epay();
         if ($p3_Amt != $paymodel->total_fee) {
             $paymodel->remark = "回调金额与订单不符";
             $paymodel->pay_result = -2;
         } else {
             if ($r1_Code == 1) {
                 $paymodel->order_id = $p2_Order - 200000000000;
                 $paymodel->pay_result = 1;
             } else {
                 if ($p8_cardStatus == 1) {
                     $paymodel->pay_result = -1;
                 } else {
                     $paymodel->pay_result = $p8_cardStatus;
                 }
                 $paymodel->remark = $epay->getError($p8_cardStatus);
             }
         }
         $paymodel->total_fee = $p3_Amt;
         $paymodel->time_update = time();
         //获取对应用户的手机号
         $mobile = User::model()->getUserMobile($paymodel->uid);
         if ($paymodel->save()) {
             //易付通支付详情记录
             $epaymodel = $this->loadModel(array("p2_Order" => $p2_Order));
             if ($r1_Code == 1) {
                 $epaymodel->status = 1;
                 //更新用户账户金币
                 $income = $p3_Amt * Yii::app()->params['coinratio'];
                 $coins = PayOrder::model()->addCoins($paymodel->uid, $income);
                 //更新推广员的收入
                 TgPremote::model()->insertTgIncome($paymodel->uid, $p3_Amt);
                 //添加收入记录
                 $coinhistory = new Coinshistory();
                 $coinhistory->Uid = $paymodel->uid;
                 $coinhistory->Coins = $income;
                 $coinhistory->Type = 8;
                 $coinhistory->CallId = 0;
                 $coinhistory->datetime = time();
                 $coinhistory->save();
                 //短信通知用户充值结果
                 $this->sendSMS($mobile, "石榴裙温馨提醒:尊敬的" . $mobile . "用户,您好!您卡号为" . $p5_CardNo . "的充值卡充值成功!充值金额为" . $p3_Amt . "元。", 3);
             } else {
                 $epaymodel->status = 2;
                 $epaymodel->p8_cardStatus = $p8_cardStatus;
                 $epaymodel->error = $epay->getError($p8_cardStatus);
                 //短信通知用户充值结果
                 $this->sendSMS($mobile, "石榴裙温馨提醒:尊敬的" . $mobile . "用户,您好!您卡号为" . $p5_CardNo . "的充值卡充值失败,请重新充值。", 3);
             }
             $epaymodel->r1_Code = $r1_Code;
             $epaymodel->p7_realAmount = Yii::app()->request->getParam('p7_realAmount');
             $epaymodel->pb_BalanceAmt = Yii::app()->request->getParam('pb_BalanceAmt');
             $epaymodel->pc_BalanceAct = Yii::app()->request->getParam('pc_BalanceAct');
             if ($coins) {
                 echo "success";
             }
         } else {
             print_r($paymodel->errors);
         }
     }
 }
コード例 #3
0
ファイル: UserController.php プロジェクト: hucongyang/pink
 /**
  * 添加推广号
  */
 public function actionAddPremote()
 {
     if (!isset($_POST['uid']) || !$_POST['uid']) {
         $this->_exit($this->_error['20007'], '20007');
     }
     if (!isset($_POST['tuid']) || !$_POST['tuid']) {
         $this->_exit($this->_error['20063'], '20063');
     }
     $params = array();
     $params['tuid'] = intval($_POST['tuid']);
     $params['uid'] = trim($_POST['uid']);
     $tuid = $params['tuid'] - Yii::app()->params['tgbase'];
     $user = User::model()->findByPk($params['uid']);
     $params['regtime'] = $user['RegisterTime'];
     //判断推广号是否存在
     $u = User::model()->findByPk($tuid);
     if (!$u) {
         $this->_exit($this->_error['20064'], '20064');
     }
     //判断记录是否已存在
     $pro = TgPremote::model()->findOne($params['uid'], $tuid);
     if (!empty($pro)) {
         $this->_exit($this->_error['20065'], '20065');
     }
     if (TgPremote::model()->addPremote($params)) {
         //添加推广号的奖励(此处奖励新用户,推广员的奖励统一由推广员系统后台脚本发放)
         $incoins = Yii::app()->params['profl'] * Yii::app()->params['coinratio'];
         $usercoin = Usercoins::model()->findByPk($params['uid']);
         $usercoin->FreeCoins = $usercoin->FreeCoins + $incoins;
         $usercoin->save();
         //添加收入记录
         $inhistory = new Coinshistory();
         $inhistory->Uid = $params['uid'];
         $inhistory->Coins = Yii::model()->params['profl'];
         $inhistory->Type = 2;
         $inhistory->CallId = 0;
         $inhistory->datetime = time();
         $inhistory->save();
         $this->_exit($this->_error['20000'], '20000');
     } else {
         $this->_exit($this->_error['21000'], '21000');
     }
 }