| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 | <?php namespace Pay\Lib;use Dever;class Core{	/**	 * 更新订单状态	 */	public function updateOrder($order_id, $cash, $desc = '')	{		$db = Dever::db('pay/order');		$info = $db->one(array('order_id' => $order_id, 'status' => 1));		if ($info) {			$param['where_id'] = $info['id'];			$param['status'] = 2;			$msg = '支付成功';			if ($desc) {				$param['status'] = 3;				$param['status_desc'] = $desc;				$msg = '支付失败||' . $desc;			}			$this->log($msg, $info);			$db->update($param);			$state = Dever::config('base', 'project')->pay_notify;			if ($state) {				$this->log($state, $param);				Dever::load($state, $info['product_id'], $info['uid'], $info['cash'], $order_id, $param['status'], $msg);			}		} else {			$this->log('支付失败', '错误的订单id:' . $order_id);		}	}	/**	 * 更新订单的支付信息	 */	protected function updateOrderParam($order_id, $data)	{		$db = Dever::db('pay/order');		$info = $db->one(array('order_id' => $order_id, 'status' => 1));		if ($info) {			$param['where_id'] = $info['id'];			$param['param'] = Dever::array_encode($data);			$db->update($param);		}	}	/**	 * 创建订单	 */	protected function createOrder($uid, $username, $account_id, $product_id, $name, $cash, $type)	{		$db = Dever::db('pay/order');		$order_id = Dever::order();		$info = $db->one(array('order_id' => $order_id));		if ($info) {			return $this->createOrder();		} else {			$add['status'] = 1;			$add['uid'] = $uid;			$add['username'] = $username;			$add['account_id'] = $account_id;			$add['name'] = $name;			$add['cash'] = $cash;			$add['type'] = $type;			$add['order_id'] = $order_id;			$add['product_id'] = $product_id;			$add['id'] = $db->insert($add);			$msg = '发起支付';			$this->log($msg, $add);		}		return $order_id;	}	/**	 * 获取回调url	 */	protected function url($type, $account_id)	{		//$project = Dever::project('pay');		//return $project['url'] . 'daemon/notify/'.$type.'.php';		return str_replace('?', '', Dever::url('api.notify?account_id=' . $account_id, 'pay'));	}	/**	 * 写日志	 */	public function log($msg, $data = array())	{		if ($data) {			$data = Dever::json_encode($data);			$msg .= '||' . $data;			/*			$insert = $data;			$insert['cdate'] = time();			Dever::db('pay/order_log')->insert($insert);			*/		}		Dever::log($msg, 'pay');	}}
 |