Przeglądaj źródła

商户后台首页统计更改

xialei 1 rok temu
rodzic
commit
4eef6f50f1

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

@@ -22,6 +22,39 @@ class OrderMerchantDao extends BaseDao
22 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 58
     public function test()
26 59
     {
27 60
         return OrderMerchant::getDB()->select();

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

@@ -817,13 +817,17 @@ class MerchantRepository extends BaseRepository
817 817
      * @param $mer_id 商户号
818 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 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 827
             ->where(["lock_mer_id"=>$mer_id])
826
-            ->count();
828
+            ->when($day, function ($query, $day) {
829
+                getModelTime($query, $day, 'lock_time');
830
+            })->count();
827 831
         $daylock=$lockUser+$lockunion_users;
828 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 15
 use crmeb\basic\BaseController;
16 16
 use app\common\repositories\store\order\StoreOrderProductRepository;
17 17
 use app\common\repositories\store\order\StoreOrderRepository;
18
+use app\common\repositories\merchant\order\OrderMerchantRepository;
18 19
 use app\common\repositories\store\product\ProductRepository;
19 20
 use app\common\repositories\user\UserRelationRepository;
20 21
 use app\common\repositories\user\UserVisitRepository;
@@ -107,6 +108,7 @@ class Common extends BaseController
107 108
      */
108 109
     public function main($merId = null)
109 110
     {
111
+        $all = $this->mainGroup('', $merId ?? $this->merId);
110 112
         $today = $this->mainGroup('today', $merId ?? $this->merId);
111 113
         $yesterday = $this->mainGroup('yesterday', $merId ?? $this->merId);
112 114
         $lastWeek = $this->mainGroup(date('Y-m-d', strtotime('- 7day')), $merId ?? $this->merId);
@@ -122,10 +124,11 @@ class Common extends BaseController
122 124
                 $lastWeekRate[$k] = bcdiv(bcsub($today[$k], $item, 2), $item, 2);
123 125
         }
124 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 132
      * @param $date
130 133
      * @param $merId
131 134
      * @return array
@@ -136,15 +139,30 @@ class Common extends BaseController
136 139
     {
137 140
         $userVisitRepository = app()->make(UserVisitRepository::class);
138 141
         $repository = app()->make(StoreOrderRepository::class);
142
+        $orderMerchantRepository = app()->make(OrderMerchantRepository::class);
139 143
         $relationRepository = app()->make(UserRelationRepository::class);
140 144
         $merchRepository = app()->make(MerchantRepository::class);
145
+
141 146
         $orderNum = $repository->dayOrderNum($date, $merId);
142 147
         $payPrice = $repository->dayOrderPrice($date, $merId);
143 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 161
         $visitNum = $userVisitRepository->dateVisitUserNum($date, $merId);
145 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
     /**