Просмотр исходного кода

商户后台首页统计更改

xialei 1 год назад
Родитель
Сommit
4eef6f50f1

+ 33 - 0
app/common/dao/merchant/order/OrderMerchantDao.php

@@ -22,6 +22,39 @@ class OrderMerchantDao extends BaseDao
22
         return OrderMerchant::class;
22
         return OrderMerchant::class;
23
     }
23
     }
24
 
24
 
25
+    public function dayOrderNum($day, $merId = null)
26
+    {
27
+        return OrderMerchant::getDB()->where('paid', 1)->when($merId, function ($query, $merId) {
28
+            $query->where('mer_id', $merId);
29
+        })->when($day, function ($query, $day) {
30
+            getModelTime($query, $day, 'pay_time');
31
+        })->count();
32
+    }
33
+
34
+    public function dayOrderPrice($day, $merId = null)
35
+    {
36
+        return getModelTime(OrderMerchant::getDB()->where('paid', 1)->when($merId, function ($query, $merId) {
37
+            $query->where('mer_id', $merId);
38
+        }), $day, 'pay_time')->sum('money');
39
+    }
40
+
41
+    public function dayOrderAvailable($day, $merId = null)
42
+    {
43
+        return getModelTime(OrderMerchant::getDB()->where('paid', 1)->when($merId, function ($query, $merId) {
44
+            $query->where('mer_id', $merId);
45
+        }), $day, 'pay_time')->sum('available');
46
+    }
47
+
48
+    public function dayOrderUserNum($day, $merId = null)
49
+    {
50
+        return OrderMerchant::getDB()->where('paid', 1)->when($merId, function ($query, $merId) {
51
+            $query->where('mer_id', $merId);
52
+        })->when($day, function ($query, $day) {
53
+            getModelTime($query, $day, 'pay_time');
54
+        })->group('uid')->count();
55
+    }
56
+
57
+
25
     public function test()
58
     public function test()
26
     {
59
     {
27
         return OrderMerchant::getDB()->select();
60
         return OrderMerchant::getDB()->select();

+ 9 - 5
app/common/repositories/merchant/MerchantRepository.php

@@ -817,13 +817,17 @@ class MerchantRepository extends BaseRepository
817
      * @param $mer_id 商户号
817
      * @param $mer_id 商户号
818
      * @return int
818
      * @return int
819
      */
819
      */
820
-    public function get_lock_num($mer_id){
821
-        $lockUser=Db::name("user")
820
+    public function get_lock_num($day, $mer_id){
821
+        $lockUser = Db::name("user")
822
             ->where(["mer_id"=>$mer_id])
822
             ->where(["mer_id"=>$mer_id])
823
-            ->count();
824
-        $lockunion_users=Db::name("union_users")
823
+            ->when($day, function ($query, $day) {
824
+                getModelTime($query, $day, 'create_time');
825
+            })->count();
826
+        $lockunion_users = Db::name("union_users")
825
             ->where(["lock_mer_id"=>$mer_id])
827
             ->where(["lock_mer_id"=>$mer_id])
826
-            ->count();
828
+            ->when($day, function ($query, $day) {
829
+                getModelTime($query, $day, 'lock_time');
830
+            })->count();
827
         $daylock=$lockUser+$lockunion_users;
831
         $daylock=$lockUser+$lockunion_users;
828
         return $daylock?$daylock:0;
832
         return $daylock?$daylock:0;
829
     }
833
     }

+ 21 - 3
app/controller/merchant/Common.php

@@ -15,6 +15,7 @@ use app\common\repositories\merchant\MerchantRepository;
15
 use crmeb\basic\BaseController;
15
 use crmeb\basic\BaseController;
16
 use app\common\repositories\store\order\StoreOrderProductRepository;
16
 use app\common\repositories\store\order\StoreOrderProductRepository;
17
 use app\common\repositories\store\order\StoreOrderRepository;
17
 use app\common\repositories\store\order\StoreOrderRepository;
18
+use app\common\repositories\merchant\order\OrderMerchantRepository;
18
 use app\common\repositories\store\product\ProductRepository;
19
 use app\common\repositories\store\product\ProductRepository;
19
 use app\common\repositories\user\UserRelationRepository;
20
 use app\common\repositories\user\UserRelationRepository;
20
 use app\common\repositories\user\UserVisitRepository;
21
 use app\common\repositories\user\UserVisitRepository;
@@ -107,6 +108,7 @@ class Common extends BaseController
107
      */
108
      */
108
     public function main($merId = null)
109
     public function main($merId = null)
109
     {
110
     {
111
+        $all = $this->mainGroup('', $merId ?? $this->merId);
110
         $today = $this->mainGroup('today', $merId ?? $this->merId);
112
         $today = $this->mainGroup('today', $merId ?? $this->merId);
111
         $yesterday = $this->mainGroup('yesterday', $merId ?? $this->merId);
113
         $yesterday = $this->mainGroup('yesterday', $merId ?? $this->merId);
112
         $lastWeek = $this->mainGroup(date('Y-m-d', strtotime('- 7day')), $merId ?? $this->merId);
114
         $lastWeek = $this->mainGroup(date('Y-m-d', strtotime('- 7day')), $merId ?? $this->merId);
@@ -122,10 +124,11 @@ class Common extends BaseController
122
                 $lastWeekRate[$k] = bcdiv(bcsub($today[$k], $item, 2), $item, 2);
124
                 $lastWeekRate[$k] = bcdiv(bcsub($today[$k], $item, 2), $item, 2);
123
         }
125
         }
124
         $day = date('Y-m-d');
126
         $day = date('Y-m-d');
125
-        return $merId ? compact('today', 'yesterday', 'lastWeekRate', 'day') : app('json')->success(compact('today', 'yesterday', 'lastWeekRate', 'day'));
127
+        return $merId ? compact('all', 'today', 'yesterday', 'lastWeekRate', 'day') : app('json')->success(compact( 'all', 'today', 'yesterday', 'lastWeekRate', 'day'));
126
     }
128
     }
127
 
129
 
128
     /**
130
     /**
131
+     * 商户后台顶部统计
129
      * @param $date
132
      * @param $date
130
      * @param $merId
133
      * @param $merId
131
      * @return array
134
      * @return array
@@ -136,15 +139,30 @@ class Common extends BaseController
136
     {
139
     {
137
         $userVisitRepository = app()->make(UserVisitRepository::class);
140
         $userVisitRepository = app()->make(UserVisitRepository::class);
138
         $repository = app()->make(StoreOrderRepository::class);
141
         $repository = app()->make(StoreOrderRepository::class);
142
+        $orderMerchantRepository = app()->make(OrderMerchantRepository::class);
139
         $relationRepository = app()->make(UserRelationRepository::class);
143
         $relationRepository = app()->make(UserRelationRepository::class);
140
         $merchRepository = app()->make(MerchantRepository::class);
144
         $merchRepository = app()->make(MerchantRepository::class);
145
+
141
         $orderNum = $repository->dayOrderNum($date, $merId);
146
         $orderNum = $repository->dayOrderNum($date, $merId);
142
         $payPrice = $repository->dayOrderPrice($date, $merId);
147
         $payPrice = $repository->dayOrderPrice($date, $merId);
143
         $payUser = $repository->dayOrderUserNum($date, $merId);
148
         $payUser = $repository->dayOrderUserNum($date, $merId);
149
+
150
+        $orderNumNew = $orderMerchantRepository->dayOrderNum($date, $merId);
151
+        $payPriceNew = $orderMerchantRepository->dayOrderPrice($date, $merId);
152
+        $payUserNew = $orderMerchantRepository->dayOrderUserNum($date, $merId);
153
+        $fenrunNum = $orderMerchantRepository->dayOrderAvailable($date, $merId);
154
+
155
+        $jingdouNum = Db::name('user_sign_jingdou')->when($merId, function ($query, $merId) {
156
+            $query->where('mer_id', $merId);
157
+        })->when($date, function ($query, $day) {
158
+            getModelTime($query, $day, 'addtime');
159
+        })->sum('number');
160
+
144
         $visitNum = $userVisitRepository->dateVisitUserNum($date, $merId);
161
         $visitNum = $userVisitRepository->dateVisitUserNum($date, $merId);
145
         $likeStore = $relationRepository->dayLikeStore($date, $merId);
162
         $likeStore = $relationRepository->dayLikeStore($date, $merId);
146
-        $lockUserNum = $merchRepository->get_lock_num($merId);
147
-        return compact('orderNum', 'payPrice', 'payUser', 'visitNum', 'likeStore','lockUserNum');
163
+        $lockUserNum = $merchRepository->get_lock_num($date, $merId);
164
+
165
+        return compact('orderNum', 'payPrice', 'payUser', 'orderNumNew', 'payPriceNew', 'payUserNew', 'fenrunNum', 'jingdouNum', 'visitNum', 'likeStore','lockUserNum');
148
     }
166
     }
149
 
167
 
150
     /**
168
     /**