dever 5 years ago
parent
commit
396b00dcba
2 changed files with 30 additions and 10 deletions
  1. 2 0
      config/base.php
  2. 28 10
      lib/Core.php

+ 2 - 0
config/base.php

@@ -23,6 +23,8 @@ $config['base'] = array
 	),
 
 	'pay_notify' => '',
+
+	'pay_order' => 1,
 );
 
 return $config;

+ 28 - 10
lib/Core.php

@@ -8,19 +8,29 @@ class Core
 	 */
 	public function updateOrder($order_id, $cash, $desc = '')
 	{
-		$db = Dever::db('pay/order');
-		$info = $db->one(array('order_id' => $order_id, 'rand' => time() . rand(1,1000)));
+		$state = Dever::config('base', 'project')->pay_order;
+
+		if ($state && $state == -1) {
+			$info = array();
+			$info['status'] = 1;
+		} else {
+			$db = Dever::db('pay/order');
+			$info = $db->one(array('order_id' => $order_id, 'rand' => time() . rand(1,1000)));
+		}
 		if ($info && $info['status']) {
-			$param['where_id'] = $info['id'];
-			$param['status'] = 2;
-			$msg = '支付成功';
-			if ($desc) {
-				$param['status'] = 3;
-				$param['status_desc'] = $desc;
-				$msg = '支付失败||' . $desc;
+			if (isset($info['id'])) {
+				$param['where_id'] = $info['id'];
+				$param['status'] = 2;
+				$msg = '支付成功';
+				if ($desc) {
+					$param['status'] = 3;
+					$param['status_desc'] = $desc;
+					$msg = '支付失败||' . $desc;
+				}
+				$db->update($param);
 			}
+			
 			$this->log($msg, $info);
-			$db->update($param);
 
 			$notify = false;
 			$key = false;
@@ -69,6 +79,10 @@ class Core
 	 */
 	protected function updateOrderParam($order_id, $data)
 	{
+		$state = Dever::config('base', 'project')->pay_order;
+		if ($order_id && $state && $state == -1) {
+			return false;
+		}
 		$db = Dever::db('pay/order');
 		$info = $db->one(array('order_id' => $order_id, 'status' => 1));
 		if ($info) {
@@ -83,6 +97,10 @@ class Core
 	 */
 	protected function createOrder($uid, $username, $account_id, $project_id, $product_id, $name, $cash, $type, $order_id = false)
 	{
+		$state = Dever::config('base', 'project')->pay_order;
+		if ($order_id && $state && $state == -1) {
+			return $order_id;
+		}
 		$state = $order_id;
 		$db = Dever::db('pay/order');
 		if (!$state) {