rabin 1 year ago
parent
commit
b43d4094bf

+ 6 - 0
src/dai/seller/api/Manage.php

@@ -15,6 +15,12 @@ class Manage extends Auth
         return Dever::load('manage', 'seller')->showOrderExpand($data);
     }
 
+    public function showOrderLog2Expand($value = false)
+    {
+        $data = Dever::db('order_log2', 'seller')->find($value);
+        return Dever::load('manage', 'seller')->showOrderExpand($data);
+    }
+
     public function showOrderExpandKm($value = false)
     {
         $data = Dever::db('order', 'seller')->find($value);

+ 31 - 17
src/dai/seller/api/Task.php

@@ -70,17 +70,16 @@ class Task
         # 获取昨天的时间
         $time = \Dever\Helper\Date::day();
         $where['cdate'] = array('<', $time[0]);
-        $where['status'] = array('>=', 10);
+        $where['status'] = 10;
         $order = Dever::db('order', 'seller')->select($where);
         foreach ($order as $k => $v) {
-            if ($v['status'] >= 10 && $v['finish_date'] > 0) {
+            if ($v['status'] == 10 && $v['finish_date'] > 0) {
 
-                /*
                 $info = Dever::db('order_log1', 'seller')->find(array('order_num' => $v['order_num']));
                 if (!$info) {
+                    unset($v['id']);
                     $info = Dever::db('order_log1', 'seller')->insert($v);
-                }*/
-                $info = Dever::db('order_log1', 'seller')->insert($v);
+                }
                 if ($info) {
                     Dever::db('order', 'seller')->delete($v['id']);
                 }
@@ -118,6 +117,7 @@ class Task
         $where['cdate'] = array('>=', $time[0]);
         $where['cdate#'] = array('<=', $time[1]);
         $order = Dever::db('order_log1', 'seller')->select($where);
+        $error_order = Dever::db('order_log2', 'seller')->select($where);
         $data = array();
         $default = array
         (
@@ -142,6 +142,16 @@ class Task
             }
         }
 
+        foreach ($error_order as $k => $v) {
+            # 整理这一天成功的和失败的
+            $day = \Dever\Helper\Date::mktime(date('Y-m-d 00:00:00', $v['cdate']));
+            $this->statItem($data, $day, '_1', $default, $v);
+            $this->statItem($data, $day, 'seller_' . $v['seller_id'], $default, $v, $v['channel_id']);
+            if ($v['channel_id']) {
+                $this->statItem($data, $day, 'channel_' . $v['channel_id'], $default, $v, $v['seller_id']);
+            }
+        }
+
         if ($data) {
             foreach ($data as $k => $v) {
                 foreach ($v as $k1 => $v1) {
@@ -302,19 +312,23 @@ class Task
             }
         }
     }
-    public function history()
+
+    # 迁移失败订单
+    public function fail()
     {
-        return;
-        $order = Dever::db('log', 'seller')->select([]);
-        foreach ($order as $k => $v) {
-            Dever::db('log1', 'seller')->insert($v);
-            /*
-            $log = Dever::db('log1', 'seller')->find(array('sid' => $v['id']));
-            if (!$log) {
-                $v['sid'] = $v['id'];
-                unset($v['id']);
-                Dever::db('log1', 'seller')->insert($v);
-            }*/
+        $where['status'] = 11;
+        $order = Dever::db('order_log1', 'seller')->select($where);
+        if ($order) {
+            foreach ($order as $k => $v) {
+                $info = Dever::db('order_log2', 'seller')->find(array('order_num' => $v['order_num']));
+                if (!$info) {
+                    unset($v['id']);
+                    $info = Dever::db('order_log2', 'seller')->insert($v);
+                }
+                if ($info) {
+                    Dever::db('order_log1', 'seller')->delete($v['id']);
+                }
+            }
         }
     }
 

+ 54 - 8
src/dai/seller/lib/Manage.php

@@ -248,6 +248,7 @@ class Manage extends Auth
     # 展示订单统计信息
     public function showOrderStat($where)
     {
+        /*
         $db = Dever::db('order', 'seller');
         $total = $db->count($where);
 
@@ -289,14 +290,6 @@ class Manage extends Auth
 
         return array
         (
-            /*
-            array
-            (
-                # 一共24
-                'span' => '3',
-                'name' => '总订单数',
-                'value' => $total,
-            ),*/
             array
             (
                 'span' => 3,
@@ -347,6 +340,59 @@ class Manage extends Auth
                 'value' => (float) $lirun ?? 0,
             ),
         );
+        */
+
+        $db = Dever::db('order', 'seller');
+
+        $where['status'] = 10;
+        $yes = $db->count($where);
+
+        $szongjine = $db->find($where, array('col' => 'sum(price) as cash'));
+        $kzongjine = $db->find($where, array('col' => 'sum(buy_price) as cash'));
+        if (!$szongjine) {
+            $szongjine['cash'] = 0;
+        }
+        if (!$kzongjine) {
+            $kzongjine['cash'] = 0;
+        }
+        $lirun = $szongjine['cash'] - $kzongjine['cash'];
+        
+        $where['status'] = array('<', 10);
+        $chu = $db->count($where);
+
+        return array
+        (
+            array
+            (
+                'span' => 4,
+                'name' => '处理中的笔数',
+                'value' => (float) $chu,
+            ),
+            array
+            (
+                'span' => 4,
+                'name' => '成功的笔数',
+                'value' => (float) $yes,
+            ),
+            array
+            (
+                'span' => 4,
+                'name' => '成功的金额',
+                'value' => (float) $szongjine['cash'] ?? 0,
+            ),
+            array
+            (
+                'span' => 4,
+                'name' => '交易成本',
+                'value' => (float) $kzongjine['cash'] ?? 0,
+            ),
+            array
+            (
+                'span' => 4,
+                'name' => '交易利润',
+                'value' => (float) $lirun ?? 0,
+            ),
+        );
     }
 
     # 展示账户统计信息

+ 7 - 2
src/dai/seller/lib/Order.php

@@ -12,7 +12,7 @@ class Order
         if ($data) {
             //\Dever\Helper\Redis::push('submit_' . $data['seller_id'], $data['id']);
             \Dever\Helper\Redis::push('submit_' . DEVER_PROJECT, $data['id']);
-            Dever::load('info', 'seller')->log($data['seller_id'], $data['id'], $data['price'], 3);
+            //Dever::load('info', 'seller')->log($data['seller_id'], $data['id'], $data['price'], 3);
         }
         return $data;
     }
@@ -320,7 +320,12 @@ class Order
             
             # 失败,余额加回来
             Dever::load('info', 'seller')->inc($info['seller_id'], $info['price']);
-            Dever::load('info', 'seller')->log($info['seller_id'], $info['id'], $info['price'], 4);
+            //Dever::load('info', 'seller')->log($info['seller_id'], $info['id'], $info['price'], 4);
+            unset($info['id']);
+            $state = Dever::db('order_log2', 'seller')->insert($info);
+            if ($state) {
+                Dever::db('order', 'seller')->delete($info['id']);
+            }
         }
 
         /*

+ 16 - 2
src/dai/seller/table/manage/core.php

@@ -51,12 +51,19 @@ return array
             'icon'      => 'bank-card-line',
             'sort'      => '2',
         ),
+        'seller_order_log2_list' => array
+        (
+            'parent'    => 'seller_order',
+            'name'      => '失败订单',
+            'icon'      => 'mickey-line',
+            'sort'      => '3',
+        ),
         'seller_order_push' => array
         (
             'parent'    => 'seller_order',
             'name'      => '手动充值',
             'icon'      => 'bank-card-line',
-            'sort'      => '3',
+            'sort'      => '4',
             'show'      => 3,
         ),
         'seller_log' => array
@@ -132,12 +139,19 @@ return array
             'icon'      => 'bank-card-line',
             'sort'      => '2',
         ),
+        'order_log2_list' => array
+        (
+            'parent'    => 'order',
+            'name'      => '失败订单',
+            'icon'      => 'mickey-line',
+            'sort'      => '3',
+        ),
         'order_push' => array
         (
             'parent'    => 'order',
             'name'      => '手动充值',
             'icon'      => 'bank-card-line',
-            'sort'      => '3',
+            'sort'      => '4',
             'show'      => 3,
         ),
 

+ 8 - 0
src/dai/seller/table/manage/order_log2_list.php

@@ -0,0 +1,8 @@
+<?php
+# 失败历史订单
+$config = include('order_list.php');
+unset($config['list']['stat']);
+unset($config['list']['button']);
+$config['source'] = 'seller/order_log2';
+$config['list']['status']['remote'] = 'seller/manage.showOrderLog2Expand';
+return $config;

+ 7 - 154
src/dai/seller/table/manage/order_log_list.php

@@ -1,155 +1,8 @@
 <?php
-$status = Dever::input('search')['status'] ?? array('>=', 10);
-return array
-(
-    //'source' => 'seller/order_log',
-    'source' => 'seller/order_bak',
-    'source' => 'seller/order_log1',
-    'list' => array
-    (
-        //'expand' => 'seller/manage.showOrderExpand',
-        //'stat' => 'seller/manage.showOrderStat',
-        //'where' => array('status' => $status),
-        'field'      => array
-        (
-            'seller_id',
-            'seller_order_num' => array
-            (
-                'show' => '"{seller_order_num}" ? "<span>{seller_order_num}</span>" : "-"',
-            ),
-            'order_num' => array
-            (
-                //'fixed' => true,
-                //'width' => '230',
-                'show' => '"{order_num}" ? "<span>{order_num}</span>" : "-"',
-            ),
-            'account',
-            /*
-            'cash' => array
-            (
-                'width' => '230',
-                'name' => '商品 / 面值 / 实付',
-                'show' => 'Dever::load("manage", "seller")->showOrderCash("{cate_id}", "{goods_id}", "{sku_id}", "{cash}", "{price}")',
-            ),
-            */
-            'goods_id' => array
-            (
-                'name' => '商品',
-                'show' => 'Dever::load("manage", "seller")->showOrderGoods("{cate_id}", "{goods_id}", "{sku_id}")',
-            ),
-            'cash' => array
-            (
-                'width' => '60',
-                'name' => '面值',
-            ),
-            'buy_price' => array
-            (
-                'width' => '60',
-                'name' => '成本',
-            ),
-            'price' => array
-            (
-                'width' => '60',
-                'name' => '售价',
-            ),
-            'num' => array
-            (
-                'width' => '60',
-                'name' => '数量',
-            ),
-            //'price',
-            //'channel_id',
-            'status' => array
-            (
-                'width' => '100',
-                'type' => 'tag',
-                # 会alert弹出
-                'remote' => 'seller/manage.showOrderLogExpand',
-                'style' => 'info',
-                'show' => 'Dever::load("manage", "seller")->showOrderStatus("{status}")',
-            ),
-            
-            'official_order_num' => array
-            (
-                'show' => '"{official_order_num}" ? "<span>{official_order_num}</span>" : "-"',
-            ),
-            'cdate' => array
-            (
-                'name' => '下单时间',
-            ),
-            'finish_date' => array
-            (
-                'name' => '完成时间',
-                'type' => 'show',
-                'show' => '{finish_date} > 0 ? date("Y-m-d H:i:s", {finish_date}) : "-"',
-            ),
-        ),
-        'data_button' => array
-        (
-            
-        ),
-        'button' => array
-        (
-            
-        ),
-        'export' => array
-        (
-            'out' => '导出',
-            //'seller/manage.outKm' => '导出卡密',
-        ),
-        'search' => array
-        (
-            'status' => array
-            (
-                'option'     => array
-                (
-                    10 => '成功',
-                    11 => '失败',
-                ),
-            ),
-            'seller_id' => array
-            (
-                'name' => '选择商户',
-            ),
-            'channel_id' => array
-            (
-                'name' => '选择渠道',
-            ),
-            'order_num',
-            'seller_order_num',
-            //'channel_order_num',
-            'account',
-            'sku_id' => array
-            (
-                'name' => '商品',
-                'placeholder' => '请选择商品',
-                'type' => 'cascader',
-                'option'    => 'Dever::call("goods/manage.getGoodsSku")',
-                'search' => function($key, $type, $value) {
-                    $value = end($value);
-                    return $value;
-                }
-            ),
-            'finish_date' => array
-            (
-                'name' => '完成时间',
-                'type' => 'date',
-                'date_type' => 'datetimerange',
-                'value_format' => 'YYYY-MM-DD HH:mm:ss',
-                'start_placeholder' => '完成时间',
-                'end_placeholder' => '完成时间',
-                'range_separator' => '至',
-            ),
-            'cdate' => array
-            (
-                'name' => '下单时间',
-                'type' => 'date',
-                'date_type' => 'datetimerange',
-                'value_format' => 'YYYY-MM-DD HH:mm:ss',
-                'start_placeholder' => '下单时间',
-                'end_placeholder' => '下单时间',
-                'range_separator' => '至',
-            ),
-        ),
-    ),
-);
+# 成功历史订单
+$config = include('order_list.php');
+unset($config['list']['stat']);
+unset($config['list']['button']);
+$config['source'] = 'seller/order_log1';
+$config['list']['status']['remote'] = 'seller/manage.showOrderLogExpand';
+return $config;

+ 6 - 0
src/dai/seller/table/manage/seller_order_log2_list.php

@@ -0,0 +1,6 @@
+<?php
+# 失败历史订单
+$config = include('seller_order_list.php');
+unset($config['list']['button']);
+$config['source'] = 'seller/order_log2';
+return $config;

+ 5 - 130
src/dai/seller/table/manage/seller_order_log_list.php

@@ -1,131 +1,6 @@
 <?php
-$extend = Dever::load('common', 'manage')->extend();
-$seller_id = $extend['data_id'];
-return array
-(
-    //'source' => 'seller/order_log',
-    'source' => 'seller/order_bak',
-    'source' => 'seller/order_log1',
-    'list' => array
-    (
-        'where' => array('seller_id' => $seller_id),
-        //'expand' => 'seller/manage.showOrderExpand',
-        //'stat' => 'seller/manage.showOrderStat',
-        'field'      => array
-        (
-            'seller_order_num' => array
-            (
-                'show' => '"{seller_order_num}" ? "<span>{seller_order_num}</span>" : "-"',
-            ),
-            'order_num' => array
-            (
-                //'fixed' => true,
-               // 'width' => '230',
-                'show' => '"{order_num}" ? "{order_num}" : "-"',
-            ),
-            'account' => array
-            (
-                'show' => 'Dever::load("manage", "seller")->showOrderAccount("{status}", "{account}")',
-                'type' => 'show',
-                'remote' => 'seller/manage.showOrderExpandKm',
-            ),
-            /*
-            'cash' => array
-            (
-                'width' => '230',
-                'name' => '商品 / 面值 / 实付',
-                'show' => 'Dever::load("manage", "seller")->showOrderCash("{cate_id}", "{goods_id}", "{sku_id}", "{cash}", "{price}")',
-            ),
-            */
-            'goods_id' => array
-            (
-                'name' => '商品',
-                'show' => 'Dever::load("manage", "seller")->showOrderGoods("{cate_id}", "{goods_id}", "{sku_id}")',
-            ),
-            'cash' => array
-            (
-                'width' => '60',
-                'name' => '面值',
-            ),
-            'num' => array
-            (
-                'width' => '60',
-                'name' => '数量',
-            ),
-            //'price',
-            //'channel_id',
-            'status' => array
-            (
-                'width' => '100',
-                'type' => 'tag',
-                # 会alert弹出
-                //'remote' => 'seller/manage.showOrderLogExpand',
-                'style' => 'info',
-                'show' => 'Dever::load("manage", "seller")->showOrderStatus("{status}")',
-            ),
-            'cdate' => array
-            (
-                'name' => '下单时间',
-            ),
-            'finish_date' => array
-            (
-                'name' => '完成时间',
-                'type' => 'show',
-                'show' => '{finish_date} > 0 ? date("Y-m-d H:i:s", {finish_date}) : "-"',
-            ),
-        ),
-        'data_button' => array
-        (
-            
-        ),
-        'button' => array
-        (
-            
-        ),
-        'export' => array
-        (
-            //'seller/manage.outKm' => '导出卡密',
-            //'out' => '导出',
-            //'manage/common.out' => '自定义导出',
-        ),
-        'search' => array
-        (
-            'status',
-            'order_num',
-            'seller_order_num',
-            //'channel_order_num',
-            'account',
-            'sku_id' => array
-            (
-                'name' => '商品',
-                'placeholder' => '请选择商品',
-                'type' => 'cascader',
-                'option'    => 'Dever::call("goods/manage.getGoodsSku")',
-                'search' => function($key, $type, $value) {
-                    $value = end($value);
-                    return $value;
-                }
-            ),
-            'finish_date' => array
-            (
-                'name' => '完成时间',
-                'type' => 'date',
-                'date_type' => 'datetimerange',
-                'value_format' => 'YYYY-MM-DD HH:mm:ss',
-                'start_placeholder' => '完成时间',
-                'end_placeholder' => '完成时间',
-                'range_separator' => '至',
-            ),
-            'cdate' => array
-            (
-                'name' => '下单时间',
-                'type' => 'date',
-                'date_type' => 'datetimerange',
-                'value_format' => 'YYYY-MM-DD HH:mm:ss',
-                'start_placeholder' => '下单时间',
-                'end_placeholder' => '下单时间',
-                'range_separator' => '至',
-            ),
-        ),
-    ),
-);
+# 成功历史订单
+$config = include('seller_order_list.php');
+unset($config['list']['button']);
+$config['source'] = 'seller/order_log1';
+return $config;

+ 1 - 0
src/dai/seller/table/order_log1.php

@@ -1,4 +1,5 @@
 <?php
+# 成功历史订单
 $config = include('order.php');
 $config['store'] = 'log1';
 return $config;

+ 5 - 0
src/dai/seller/table/order_log2.php

@@ -0,0 +1,5 @@
+<?php
+# 失败历史订单
+$config = include('order.php');
+//$config['store'] = 'log1';
+return $config;