Пример #1
0
 public function readOrder_byID($id)
 {
     $ordermodel = new Order_model();
     $query = $this->db->get_where('orders', array('id' => $id));
     if ($query->num_rows !== 1) {
         throw new Exception("ordermodel ID {$id} not found in database");
     }
     $rows = $query->result();
     $row = $rows[0];
     $ordermodel->load($row);
     return $ordermodel;
 }
 public function pay_success($sn, $money, $note = '')
 {
     list($a, $id, $uid, $module, $order) = explode('-', $sn);
     if (!$id || !$uid) {
         return NULL;
     }
     // 查询支付记录
     $tid = (int) substr((string) $uid, -1, 1);
     $data = $this->db->where('id', $id)->limit(1)->get('member_paylog_' . $tid)->row_array();
     if (!$data) {
         return NULL;
     }
     if ($data['status']) {
         return $data['module'];
     }
     $money = $money > 0 ? $money : $data['value'];
     // 标示支付订单成功
     $this->db->where('id', $id)->update('member_paylog_' . $tid, array('status' => 1, 'note' => $note));
     // 更新会员表金额
     $this->db->where('uid', $uid)->set('money', 'money+' . $money, FALSE)->update('member');
     // 订单直接付款
     if ($data['module']) {
         require_once FCPATH . $data['module'] . '/models/Order_model.php';
         $order = new Order_model();
         $order->payname = $this->db->dbprefix('member_paylog_' . $tid);
         $order->tablename = $this->db->dbprefix(SITE_ID . '_' . $data['module'] . '_order');
         $order->order_success($data['order'], 1, $data['module']);
         $this->add_for_buy($money, $data['order'], $data['module']);
     }
     // 支付成功挂钩点
     $this->hooks->call_hook('pay_success', $data);
     return $data['module'];
 }