Example #1
0
 private function _partner($sn, $data)
 {
     global $db, $config;
     $account = explode('-', $sn);
     $account = $account[0];
     $account = $db->escape($account);
     //支付成功
     if ($config['partner_fee'] * 100 == $data->total_fee && $data->sign == tenpay_sign($data, $this->mch_key)) {
         //是否已是合伙人
         $get_level_id = 'select `level_id` from ' . $db->table('member') . ' where account = \'' . $account . '\' limit 1';
         $level_id = $db->fetchOne($get_level_id);
         if ($level_id == 0) {
             $update_member = 'update ' . $db->table('member') . ' set level_id = 1';
             $update_member .= ' where account = \'' . $account . '\' limit 1';
             $db->update($update_member);
             //赠送积分给合伙人
             add_memeber_exchange_log($account, 0, 0, $config['level_integral'], 0, 0, $account, '成为合伙人赠送积分');
             $get_path = 'select `path` from ' . $db->table('member') . ' where `account`=\'' . $account . '\'';
             $path = $db->fetchOne($get_path);
             distribution_settle($config['partner_fee'], $path, $account . '成为合伙人');
         }
     } else {
         //金额不正确或返回不正确
     }
 }
Example #2
0
             add_memeber_exchange_log($account, 0, 0, $config['level_integral'], 0, 0, $account, '成为合伙人赠送积分');
             $get_path = 'select `path` from ' . $db->table('member') . ' where `account`=\'' . $account . '\'';
             $path = $db->fetchOne($get_path);
             distribution_settle($config['partner_fee'], $path, $account . '成为合伙人');
         }
     } else {
     }
 } else {
     //支付成功
     $sn = $data->out_trade_no;
     $sn = $db->escape($sn);
     //产品订单
     $get_order_info = 'select * from ' . $db->table('order') . ' where `order_sn`=\'' . $sn . '\'';
     $order = $db->fetchRow($get_order_info);
     add_order_log($sn, $order['account'], 3, "在线支付");
     if ($order && $order['amount'] == $data->total_fee / 100 && $data->sign == tenpay_sign($data, $mch_key)) {
         //验证订单金额正确
         //1. 设置订单为已付款
         $order_data = array('status' => 3, 'pay_time' => time());
         $flag = $db->autoUpdate('order', $order_data, '`order_sn`=\'' . $sn . '\' and `status`<3');
         if ($flag && $db->get_affect_rows()) {
             $log->record($sn . '支付成功');
             //2. 订单结算
             $get_path = 'select `path` from ' . $db->table('member') . ' where `account`=\'' . $order['account'] . '\'';
             $path = $db->fetchOne($get_path);
             distribution_settle($order['reward_amount'], $path, $sn);
             //3. 新增商家收入
             $business_income = $order['product_amount'] + $order['delivery_fee'] - $order['reward_amount'];
             if (add_business_exchange($order['business_account'], 0, $business_income, $order['account'], '用户在线支付')) {
                 add_business_trade($order['business_account'], $business_income, $sn);
             } else {