rabin hace 2 años
padre
commit
30f1ac95e1

+ 2 - 2
app/factory/admin/Order.php

@@ -352,7 +352,7 @@ class Order extends Core
                             $v['service'] = Dever::array_decode($v['service']);
                             foreach ($v['service'] as $k1 => $v1) {
                                 if (isset($v1['order_num']) && $v1['order_num']) {
-                                    Dever::load('shop/lib/sell')->updatePs($sell_order, 2, $v1['service_id'], $v1['order_num']);
+                                    Dever::load('shop/lib/sell')->updatePs($sell_order, 2, $v1['service_id'], $v1['order_num'], $v['cdate']);
                                 }
                                 
                             }
@@ -373,7 +373,7 @@ class Order extends Core
                             $v['service'] = Dever::array_decode($v['service']);
                             foreach ($v['service'] as $k1 => $v1) {
                                 if (isset($v1['order_num']) && $v1['order_num']) {
-                                    Dever::load('agent/lib/dhorder')->updatePs($dh_order, 2, $v1['service_id'], $v1['order_num']);
+                                    Dever::load('agent/lib/dhorder')->updatePs($dh_order, 2, $v1['service_id'], $v1['order_num'], $v['cdate']);
                                 }
                             }
                         }

+ 11 - 1
app/shop/database/service.php

@@ -95,6 +95,16 @@ return array
 
     'request' => array
     (
-        
+        'getOne' => array
+        (
+            'option' => array
+            (
+                'name' => 'yes',
+                'state' => 1,
+            ),
+            'type' => 'one',
+            'order' => array('id' => 'asc'),
+            'col' => '*',
+        ),
     ),
 );

+ 71 - 0
app/shop/lib/Cron.php

@@ -787,8 +787,79 @@ class Cron
                 if (isset($ps) && $ps && isset($ps['cdate']) && $ps['cdate']) {
                     $where['fadate'] = $ps['cdate'];
                     Dever::db('shop/buy_order')->update($where);
+
+                    if ($v['parent_type'] == 2 && $v['parent_order_id'] > 0) {
+                        Dever::db('shop/sell_order')->update(array('where_id' => $v['parent_order_id'], 'fadate' => $ps['cdate']));
+
+                        $sell_order_ps = Dever::db('shop/sell_order_ps')->select(array('order_id'=>$v['parent_order_id']));
+                        if ($sell_order_ps) {
+                            foreach ($sell_order_ps as $k1 => $v1) {
+                                Dever::db('shop/sell_order_ps')->update(array('where_id' => $v1['id'], 'cdate' => $ps['cdate']));
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    # 处理配送服务商和配送时间
+    public function upPs_api()
+    {
+        $data = Dever::db('shop/buy_order_ps')->state();
+        if ($data) {
+            $update = array();
+            foreach ($data as $k => $v) {
+                $service = Dever::array_decode($v['service']);
+                if ($service) {
+                    $update['service'] = array();
+                    foreach ($service as $k1 => $v1) {
+                        $update['service'][$k1] = $v1;
+                        $service_id = $v1['service_id'];
+                        $service_info = Dever::db('shop/service')->one($service_id);
+                        if ($service_info) {
+                            $service_new_info = Dever::db('shop/service')->getOne(array('name' => $service_info['name']));
+                            if ($service_new_info) {
+                                $update['service'][$k1]['service_id'] = $service_new_info['id'];
+                                Dever::db('shop/service')->update(array('where_id' => $service_info['id'], 'state' => 2));
+                            }
+                        }
+                    }
+                    if ($update['service']) {
+                        $update['service'] = Dever::array_encode($update['service']);
+                        $update['where_id'] = $v['id'];
+                        Dever::db('shop/buy_order_ps')->update($update);
+                    }
+                }
+            }
+        }
+        $data = Dever::db('shop/sell_order_ps')->state();
+        if ($data) {
+            $update = array();
+            foreach ($data as $k => $v) {
+                $service = Dever::array_decode($v['service']);
+                if ($service) {
+                    $update['service'] = array();
+                    foreach ($service as $k1 => $v1) {
+                        $update['service'][$k1] = $v1;
+                        $service_id = $v1['service_id'];
+                        $service_info = Dever::db('shop/service')->one($service_id);
+                        if ($service_info) {
+                            $service_new_info = Dever::db('shop/service')->getOne(array('name' => $service_info['name']));
+                            if ($service_new_info) {
+                                $update['service'][$k1]['service_id'] = $service_new_info['id'];
+                                Dever::db('shop/service')->update(array('where_id' => $service_info['id'], 'state' => 2));
+                            }
+                        }
+                    }
+                    if ($update['service']) {
+                        $update['service'] = Dever::array_encode($update['service']);
+                        $update['where_id'] = $v['id'];
+                        Dever::db('shop/sell_order_ps')->update($update);
+                    }
                 }
             }
         }
+        return 'ok';
     }
 }

+ 7 - 2
app/shop/lib/Sell.php

@@ -1362,7 +1362,7 @@ class Sell
     }
 
     # 添加配送信息
-    public function updatePs($order, $status = 1, $service_id = -1, $order_num = '')
+    public function updatePs($order, $status = 1, $service_id = -1, $order_num = '', $cdate = false)
     {
         $where['order_id'] = $order['id'];
         $where['clear'] = true;
@@ -1385,7 +1385,9 @@ class Sell
             if ($status == 2) {
                 $insert['qu_date'] = time();
             }
-        
+            if ($cdate) {
+                $insert['cdate'] = $cdate;
+            }
             Dever::db('shop/sell_order_ps')->insert($insert);
         } else {
             $update = $where;
@@ -1404,6 +1406,9 @@ class Sell
 
                 $insert['service'] = Dever::array_encode($update['service']);
             }
+            if ($cdate) {
+                $update['cdate'] = $cdate;
+            }
             Dever::db('shop/sell_order_ps')->update($update);
         }
     }

+ 2 - 2
app/store/admin/Order.php

@@ -355,7 +355,7 @@ class Order extends Core
                             $v['service'] = Dever::array_decode($v['service']);
                             foreach ($v['service'] as $k1 => $v1) {
                                 if (isset($v1['order_num']) && $v1['order_num']) {
-                                    Dever::load('shop/lib/sell')->updatePs($sell_order, 2, $v1['service_id'], $v1['order_num']);
+                                    Dever::load('shop/lib/sell')->updatePs($sell_order, 2, $v1['service_id'], $v1['order_num'], $v['cdate']);
                                 }
                                 
                             }
@@ -377,7 +377,7 @@ class Order extends Core
                             $v['service'] = Dever::array_decode($v['service']);
                             foreach ($v['service'] as $k1 => $v1) {
                                 if (isset($v1['order_num']) && $v1['order_num']) {
-                                    Dever::load('agent/lib/dhorder')->updatePs($dh_order, 2, $v1['service_id'], $v1['order_num']);
+                                    Dever::load('agent/lib/dhorder')->updatePs($dh_order, 2, $v1['service_id'], $v1['order_num'], $v['cdate']);
                                 }
                             }
                         }