dever 5 years ago
parent
commit
0d96ecda2f

+ 4 - 4
act/database/order.php

@@ -95,14 +95,14 @@ return array
         'order_id'      => array
         (
             'type'      => 'varchar-100',
-            'name'      => '订单id',
+            'name'      => '支付订单ID/订单表ID',
             'default'   => '',
             'desc'      => '付款订单id',
             'match'     => 'is_string',
             'update'    => 'text',
             'search'    => 'fulltext',
-            'list'        => true,
-            //'list'        => '"{order_id}" ? "{order_id}" : "{code}"',
+            //'list'        => true,
+            'list'        => 'Dever::load("act/order.getOrderId", {id})',
         ), 
 
         'cate_journal'     => array
@@ -536,7 +536,7 @@ return array
             'type' => 'all',
             'order' => array('id' => 'desc'),
             'page' => array(10, 'list'),
-            'col' => 'order_id,name,buy_num,cdate,cash,product_id,buy_id',
+            'col' => 'id,order_id,name,buy_num,cdate,cash,product_id,buy_id',
         ),
 
         # 删除未支付订单

+ 11 - 11
act/database/order_bak.php → act/database/order_temp.php

@@ -66,15 +66,15 @@ $seller = function()
 return array
 (
     # 表名
-    'name' => 'order_bak',
+    'name' => 'order_temp',
     # 显示给用户看的名称
-    'lang' => '历史订单管理',
-    'order' => -10,
-    'menu' => 'journal',
+    'lang' => '临时订单管理',
+    'order' => 1,
+    'menu' => false,
 
     'end' => array
     (
-        'update' => 'act/lib/pay.order_bak',
+        'update' => 'act/lib/pay.order',
     ),
 
     # 数据结构
@@ -95,14 +95,14 @@ return array
         'order_id'      => array
         (
             'type'      => 'varchar-100',
-            'name'      => '订单id',
+            'name'      => '支付订单ID/订单表ID',
             'default'   => '',
             'desc'      => '付款订单id',
             'match'     => 'is_string',
             'update'    => 'text',
             'search'    => 'fulltext',
-            'list'        => true,
-            //'list'        => '"{order_id}" ? "{order_id}" : "{code}"',
+            //'list'        => true,
+            'list'        => 'Dever::load("act/order.getOrderId", {id})',
         ), 
 
         'cate_journal'     => array
@@ -536,7 +536,7 @@ return array
             'type' => 'all',
             'order' => array('id' => 'desc'),
             'page' => array(10, 'list'),
-            'col' => 'order_id,name,buy_num,cdate,cash,product_id,buy_id',
+            'col' => 'id,order_id,name,buy_num,cdate,cash,product_id,buy_id',
         ),
 
         # 删除未支付订单
@@ -550,7 +550,7 @@ return array
                 'state' => 1,
             ),
             'type' => 'delete',
-            'col' => 'id',
+            'col' => 'id,order_id',
         ),
 
         # 获取数据
@@ -562,7 +562,7 @@ return array
                 'time' => array('yes-cdate', '<='),
             ),
             'type' => 'all',
-            'col' => 'id',
+            'col' => 'id,order_id',
         ),
     ),
 );

+ 2 - 1
act/lib/Cron.php

@@ -14,9 +14,10 @@ class Cron
 		return 'ok';
 	}
 
-	# 将七天前的数据进行迁移
+	# 将七天前的数据进行迁移 废弃
 	public function mv_order()
 	{
+		return 'error';
 		$where['where_time'] = time() - (86400 * 7);
 		$data = Dever::db('act/order')->getAllByDate($where);
 		if ($data) {

+ 12 - 8
act/lib/Pay.php

@@ -18,7 +18,7 @@ class Pay
             $info = Dever::db('act/order')->one($id);
             $send['pay_project_id'] = 1;
             $send['pay_uid'] = $info['uid'];
-            $send['pay_order_id'] = $info['order_id'];
+            $send['pay_order_id'] = $info['order_id'] ? $info['order_id'] : Dever::load('act/order')->createOrderId($info, $info['id']);
             $send['pay_tk_pic'] = Dever::param('tk_pic', $data);
             $send['pay_tk_time'] = Dever::param('tk_time', $data);
             $send['pay_tk_desc'] = Dever::param('tk_desc', $data);
@@ -87,7 +87,7 @@ class Pay
             $info = Dever::db('act/order_bak')->one($id);
             $send['pay_project_id'] = 1;
             $send['pay_uid'] = $info['uid'];
-            $send['pay_order_id'] = $info['order_id'];
+            $send['pay_order_id'] = $info['order_id'] ? $info['order_id'] : Dever::load('act/order')->createOrderId($info, $info['id']);
             $send['pay_tk_pic'] = Dever::param('tk_pic', $data);
             $send['pay_tk_time'] = Dever::param('tk_time', $data);
             $send['pay_tk_desc'] = Dever::param('tk_desc', $data);
@@ -174,12 +174,16 @@ class Pay
         $status = $send['pay_status'];
         $msg = $send['pay_msg'];
 
-        $order = Dever::db('act/order')->one(array('order_id' => $order_id, 'uid' => $uid));
+        $temp = explode('_', $order_id);
+        $id = $temp[5];
+
+        //$order = Dever::db('act/order_temp')->one(array('order_id' => $order_id, 'uid' => $uid));
+        $order = Dever::db('act/order_temp')->one($id);
 
         if ($send['pay_status'] == 2 && $order) {
-            
-            $update = array();
-            $update['where_id'] = $order['id'];
+
+            $update = $order;
+            //$update['where_id'] = $order['id'];
             $update['status'] = 2;
             if ($order['type'] == 3 && !$order['code']) {
                 if ($order['system'] == 2) {
@@ -193,7 +197,7 @@ class Pay
                 }
             }
 
-            Dever::db('act/order')->update($update);
+            Dever::db('act/order')->insert($update);
 
             $score = false;
             $num = false;
@@ -289,7 +293,7 @@ class Pay
             }
 
         } else {
-            Dever::db('act/order')->update(array('where_id' => $order['id'], 'status' => 3));
+            Dever::db('act/order_temp')->update(array('where_id' => $order['id'], 'status' => 3));
         }
     }
 

+ 40 - 8
act/src/Order.php

@@ -136,6 +136,10 @@ class Order extends Core
                     $buy = $this->getBuy($v['buy_id']);
                     $this->data['order'][$k]['buy_num'] = $buy['num']; 
                 }
+
+                if (!$v['order_id']) {
+                    $this->data['order'][$k]['order_id'] = $id;
+                }
             }
         }
 
@@ -156,13 +160,13 @@ class Order extends Core
         }
 
         # 我的订单列表
+        $order = $this->getOrder($order_id);
+
         $where = array();
         $where['create_uid'] = $this->data['uid'];
         $where['order_id'] = $order_id;
         $where['type'] = 4;
 
-        $order = Dever::db('act/order')->one(array('order_id' => $order_id));
-
         Dever::setInput('set_product_id', $order['product_id']);
 
         $this->data['code'] = Dever::db('code/info')->getMyAll($where);
@@ -217,9 +221,9 @@ class Order extends Core
             //$account_id = $cate['pay_id'];
         }
 
-        $order_id = $this->createOrder('JP');
+        //$order_id = $this->createOrder('JP');
         $order_data['cate_id'] = $journal['cate_id'];
-        $order_data['order_id'] = $order_id;
+        //$order_data['order_id'] = $order_id;
         $order_data['product_id'] = $journal['id'];
         $order_data['buy_id'] = $buy['id'];
         $order_data['uid'] = $this->data['uid']; 
@@ -248,12 +252,14 @@ class Order extends Core
             $order_data['seller_id'] = $seller;
         }
 
-        $id = Dever::db('act/order')->insert($order_data);
+        $id = Dever::db('act/order_temp')->insert($order_data);
 
         if (!$id) {
             Dever::alert('支付失败');
         }
 
+        $order_id = $this->createOrderId($order_data, $id);
+
         //$param参数
         $param = array
         (
@@ -283,7 +289,8 @@ class Order extends Core
             }
         }
 
-        $this->data['order_id'] = $order_id;
+        //$this->data['order_id'] = $order_id;
+        $this->data['order_id'] = $id;
 
         return $this->data;
     }
@@ -367,8 +374,8 @@ class Order extends Core
                 Dever::alert('请正确使用小刊兑换码');
             }
 
-            if (isset($info['order_id']) && $info['order_id'] > 0) {
-                $order_info = Dever::db('act/order')->one(array('order_id' => $info['order_id']));
+            if (isset($info['order_id']) && $info['order_id']) {
+                $order_info = $this->getOrder($info['order_id']);
                 if (!$order_info) {
                     Dever::alert('您要使用的兑换码还未支付');
                 }
@@ -414,4 +421,29 @@ class Order extends Core
 
         return $order;
     }
+
+    public function createOrderId($data, $id)
+    {
+        $order_id = 'JM_' . $data['cate_id'] . '_' . $data['product_id'] . '_' . $data['buy_id'] . '_' . $data['uid'] . '_' . $id;
+
+        return $order_id;
+    }
+
+    public function getOrderId($id)
+    {
+        $info = Dever::db('act/order')->one($info);
+
+        return $this->createOrderId($info, $id) . '/' . $id;
+    }
+
+    public function getOrder($order_id)
+    {
+        if (is_string($order_id)) {
+            $order = Dever::db('act/order')->one(array('order_id' => $order_id));
+        } else {
+            $order = Dever::db('act/order')->one($order_id);
+        }
+
+        return $order;
+    }
 }

+ 10 - 5
buy/src/Buy.php

@@ -63,6 +63,9 @@ class Buy extends Base
         if ($data) {
             foreach ($data as $k => $v) {
                 $data[$k]['cdate'] = date('Y年m月d日 H:i', $v['cdate']);
+                if (!$v['order_id']) {
+                    $v['order_id'] = $v['id'];
+                }
                 $data[$k]['link'] = $this->url('codedetail', array('order_id' => $v['order_id'], 'id' => $v['product_id']));
                 if (isset($v['buy_num']) && $v['buy_num'] <= 0 && $v['buy_id']) {
                     $buy = Dever::load('act/order')->getBuy($v['buy_id']);
@@ -87,7 +90,7 @@ class Buy extends Base
             Dever::alert('错误的订单');
         }
         $where['type'] = 4;
-        $order = Dever::db('act/order')->one(array('order_id' => $where['order_id']));
+        $order = Dever::db('act/order')->getOrder($where['order_id']);
         Dever::setInput('set_product_id', $order['product_id']);
         $data = Dever::db('code/info')->getAll($where);
 
@@ -189,7 +192,7 @@ class Buy extends Base
         $order_id = Dever::input('order_id');
         $create = Dever::input('create');
         if ($order_id && $create == 1) {
-            $order = Dever::db('act/order')->one($order_id);
+            $order = Dever::db('act/order')->getOrder($order_id);
 
             if ($order['uid'] != $this->user['id']) {
                 $this->location('list');
@@ -299,9 +302,9 @@ class Buy extends Base
         $user = Dever::db('passport/user')->one($uid);
         $wechat = Dever::db('passport/wechat')->one(array('uid' => $uid, 'type' => 2));
 
-        $order_id = $this->createOrder('JP');
+        //$order_id = $this->createOrder('JP');
         $order_data['cate_id'] = $this->cate;
-        $order_data['order_id'] = $order_id;
+        //$order_data['order_id'] = $order_id;
         $order_data['product_id'] = $journal_id;
         $order_data['buy_id'] = $buy_id;
         $order_data['uid'] = $uid;
@@ -326,12 +329,14 @@ class Buy extends Base
             $order_data['seller_id'] = $this->seller;
         }
 
-        $id = Dever::db('act/order')->insert($order_data);
+        $id = Dever::db('act/order_temp')->insert($order_data);
 
         if (!$id) {
             Dever::alert('支付失败');
         }
 
+        $order_id = Dever::load('act/order')->createOrderId($order_data, $id);
+
         //$param参数
         $param['id'] = $journal_id;
         $parma['buy'] = $buy_id;

+ 3 - 3
code/database/info.php

@@ -206,13 +206,13 @@ return array
 		'order_id'      => array
         (
             'type'      => 'varchar-100',
-            'name'      => '付款订单id',
+            'name'      => '订单表ID',
             'default'   => '',
-            'desc'      => '付款订单id',
+            'desc'      => '订单表ID',
             'match'     => 'is_string',
             'update'    => 'text',
             'search'	=> 'fulltext',
-            'list'        => true,
+            //'list'        => true,
             //'list'        => '"{order_id}" ? "{order_id}" : "{code}"',
         ), 
 

+ 3 - 0
code/lib/Core.php

@@ -19,6 +19,9 @@ class Core
 	{
 		$code = '';
         if ($order['type'] == 3 && !$order['code']) {
+            if (!$order['order_id']) {
+                $order['order_id'] = $order['id'];
+            }
         	Dever::setInput('set_product_id', $order['product_id']);
             # 购买兑换码
             $product_num = 1;

+ 4 - 3
stat/database/journal.php

@@ -58,7 +58,8 @@ $list = array
     'order' => array('day_int' => 'desc', 'id' => 'desc'),
     'group' => $group,
     'page' => array(20, 'list'),
-    'col' => 'id,sum(order_num) as order_num,sum(order_yes_num) as order_yes_num,sum(order_no_num) as order_no_num,sum(buy_num) as buy_num,sum(buy_cash) as buy_cash,cdate,journal_id,day_int,day_string,cate_id',
+    //'col' => 'id,sum(order_num) as order_num,sum(order_yes_num) as order_yes_num,sum(order_no_num) as order_no_num,sum(buy_num) as buy_num,sum(buy_cash) as buy_cash,cdate,journal_id,day_int,day_string,cate_id',
+    'col' => 'id,sum(order_yes_num) as order_yes_num,sum(buy_num) as buy_num,sum(buy_cash) as buy_cash,cdate,journal_id,day_int,day_string,cate_id',
 );
 
 //$search = Dever::input('search_option_journal_id');
@@ -179,7 +180,7 @@ return array
             'match'     => '总订单数',
             'match'     => 'is_numeric',
             'update'    => 'text',
-            'list'      => true,
+            //'list'      => true,
         ),
 
         'order_yes_num'       => array
@@ -201,7 +202,7 @@ return array
             'match'     => '未支付订单数',
             'match'     => 'is_numeric',
             'update'    => 'text',
-            'list'      => true,
+            //'list'      => true,
         ),
 
         'buy_num'       => array

+ 6 - 4
stat/database/source.php

@@ -68,7 +68,8 @@ $list = array
     'order' => array('day_int' => 'desc', 'id' => 'desc'),
     'group' => $group,
     'page' => array(20, 'list'),
-    'col' => 'id,pv,uv,user_num,user_yes_num,sum(order_num) as order_num,sum(order_yes_num) as order_yes_num,sum(order_no_num) as order_no_num,sum(buy_num) as buy_num,sum(buy_cash) as buy_cash,cdate,journal_id,source_id,day_int,day_string,cate_id',
+    //'col' => 'id,pv,uv,user_num,user_yes_num,sum(order_num) as order_num,sum(order_yes_num) as order_yes_num,sum(order_no_num) as order_no_num,sum(buy_num) as buy_num,sum(buy_cash) as buy_cash,cdate,journal_id,source_id,day_int,day_string,cate_id',
+    'col' => 'id,pv,uv,user_num,user_yes_num,sum(order_yes_num) as order_yes_num,sum(buy_num) as buy_num,sum(buy_cash) as buy_cash,cdate,journal_id,source_id,day_int,day_string,cate_id',
 );
 
 //$search = Dever::input('search_option_journal_id');
@@ -79,7 +80,8 @@ if ($search && $search != -1 && isset($search[1]) && $search[1] > 0) {
 }
 if (!$zhou) {
     unset($list['group']);
-    $list['col'] = 'id,order_num,order_yes_num,order_no_num,buy_num,buy_cash,cdate,journal_id,source_id,day_int,day_string,cate_id';
+    //$list['col'] = 'id,order_num,order_yes_num,order_no_num,buy_num,buy_cash,cdate,journal_id,source_id,day_int,day_string,cate_id';
+    $list['col'] = 'id,order_yes_num,buy_num,buy_cash,cdate,journal_id,source_id,day_int,day_string,cate_id';
 }
 
 if ($auth) {
@@ -233,7 +235,7 @@ $config = array
             'match'     => '总订单数',
             'match'     => 'is_numeric',
             'update'    => 'text',
-            'list'      => true,
+            //'list'      => true,
         ),
 
         'order_yes_num'       => array
@@ -255,7 +257,7 @@ $config = array
             'match'     => '未支付订单数',
             'match'     => 'is_numeric',
             'update'    => 'text',
-            'list'      => true,
+            //'list'      => true,
         ),
 
         'buy_num'       => array

+ 3 - 3
stat/lib/Journal.php

@@ -94,7 +94,7 @@ class Journal
         }
         */
 
-        $sql = 'select * from wonderful_act_order where type = 3 and product_id = '.$info['id'].' and state = 1 and cdate >= '.$where['start'].' and cdate <= '.$where['end'];
+        $sql = 'select * from wonderful_act_order where type = 3 and product_id = '.$info['id'].' and status = 2 and state = 1 and cdate >= '.$where['start'].' and cdate <= '.$where['end'];
         $order = Dever::db('act/order')->fetchAll($sql);
         if ($order) {
             
@@ -131,9 +131,9 @@ class Journal
         $update = array();
         $update['day_string'] = $day;
         $update['day_int'] = Dever::maketime($day);
-        $update['order_num'] = $order_num;
+        //$update['order_num'] = $order_num;
         $update['order_yes_num'] = $order_yes_num;
-        $update['order_no_num'] = $order_no_num;
+        //$update['order_no_num'] = $order_no_num;
         $update['buy_num'] = $buy_num;
         $update['buy_cash'] = $buy_cash;
         $update['cate_id'] = $cate_id;

+ 3 - 3
stat/lib/Source.php

@@ -91,7 +91,7 @@ class Source
         }
         */
 
-        $sql = 'select * from wonderful_act_order where type = 3 and source = '.$source['id'].' and product_id = '.$info['id'].' and state = 1 and cdate >= '.$where['start'].' and cdate <= '.$where['end'];
+        $sql = 'select * from wonderful_act_order where type = 3 and source = '.$source['id'].' and product_id = '.$info['id'].' and status = 2 and state = 1 and cdate >= '.$where['start'].' and cdate <= '.$where['end'];
         $order = Dever::db('act/order')->fetchAll($sql);
 
         if ($order) {
@@ -130,9 +130,9 @@ class Source
         $update['uv'] = $uv;
         $update['user_num'] = $user_num;
         $update['user_yes_num'] = $user_yes_num;
-        $update['order_num'] = $order_num;
+        //$update['order_num'] = $order_num;
         $update['order_yes_num'] = $order_yes_num;
-        $update['order_no_num'] = $order_no_num;
+        //$update['order_no_num'] = $order_no_num;
         $update['buy_num'] = $buy_num;
         $update['buy_cash'] = $buy_cash;
         $update['source_id'] = $source_id;