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

Merge branch 'master' into huangfamily

family 1 год назад
Родитель
Сommit
d04927df04

+ 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
     /**

+ 23 - 18
app/controller/merchant/user/User.php

@@ -817,21 +817,24 @@ class User extends BaseController
817
         $dataQuery = Db::query("SELECT user_group,count(uid) count FROM `rrx_user` where uid in ($chilid_userids_string) group by user_group");
817
         $dataQuery = Db::query("SELECT user_group,count(uid) count FROM `rrx_user` where uid in ($chilid_userids_string) group by user_group");
818
         $dataQuery = array_column($dataQuery, 'count', 'user_group');
818
         $dataQuery = array_column($dataQuery, 'count', 'user_group');
819
         $shopPartnerCount = Db::query("SELECT user_group,count(uid) count FROM `rrx_user` where uid in ($chilid_userids_string) and is_shop_partner=1 group by user_group");
819
         $shopPartnerCount = Db::query("SELECT user_group,count(uid) count FROM `rrx_user` where uid in ($chilid_userids_string) and is_shop_partner=1 group by user_group");
820
-        $countmoyer[] = ['className' => 'el-icon-s-goods', 'user_group' => 1, 'count' => (int)($dataQuery[1] ?? 0), 'name' => '消费者'];
821
-        $countmoyer[] = ['className' => 'el-icon-s-goods', 'user_group' => 2, 'count' => (int)($dataQuery[2] ?? 0), 'name' => 'V客'];
822
-        $countmoyer[] = ['className' => 'el-icon-s-goods', 'user_group' => 3, 'count' => (int)($dataQuery[3] ?? 0), 'name' => '大V经理'];
823
-        $countmoyer[] = ['className' => 'el-icon-s-goods', 'user_group' => 4, 'count' => (int)($dataQuery[4] ?? 0), 'name' => '创客'];
824
-        $countmoyer[] = ['className' => 'el-icon-s-goods', 'user_group' => 5, 'count' => (int)($dataQuery[5] ?? 0), 'name' => '区县代理'];
825
-        $countmoyer[] = ['className' => 'el-icon-s-goods', 'user_group' => 6, 'count' => (int)($dataQuery[6] ?? 0), 'name' => '省级代理'];
820
+        // $countmoyer[] = ['className' => 'el-icon-s-goods', 'user_group' => 1, 'count' => (int)($dataQuery[1] ?? 0), 'name' => '消费者'];
821
+        // $countmoyer[] = ['className' => 'el-icon-s-goods', 'user_group' => 2, 'count' => (int)($dataQuery[2] ?? 0), 'name' => 'V客'];
822
+        // $countmoyer[] = ['className' => 'el-icon-s-goods', 'user_group' => 3, 'count' => (int)($dataQuery[3] ?? 0), 'name' => '大V经理'];
823
+        // $countmoyer[] = ['className' => 'el-icon-s-goods', 'user_group' => 4, 'count' => (int)($dataQuery[4] ?? 0), 'name' => '创客'];
824
+        // $countmoyer[] = ['className' => 'el-icon-s-goods', 'user_group' => 5, 'count' => (int)($dataQuery[5] ?? 0), 'name' => '区县代理'];
825
+        // $countmoyer[] = ['className' => 'el-icon-s-goods', 'user_group' => 6, 'count' => (int)($dataQuery[6] ?? 0), 'name' => '省级代理'];
826
 //        $countmoyer[] = ['className' => 'el-icon-s-goods', 'count' => (int)($shopPartnerCount), 'name' => '创客合伙人'];
826
 //        $countmoyer[] = ['className' => 'el-icon-s-goods', 'count' => (int)($shopPartnerCount), 'name' => '创客合伙人'];
827
+        $allCount = Db::name('user')->where('mer_id', $mer_id)->count();
828
+        $countmoyer[] = ['className' => 'el-icon-s-goods', 'count' => (int)($allCount), 'name' => '锁客总数'];
827
 
829
 
828
         $whereTime = $this->request->params([
830
         $whereTime = $this->request->params([
829
             'user_time_type',
831
             'user_time_type',
830
             'user_time',
832
             'user_time',
831
         ]);
833
         ]);
832
         $query =Db::name('user')
834
         $query =Db::name('user')
833
-            ->field('uid,nickname,phone,spread_uid,user_group,create_time,is_shop_partner')
834
-            ->whereIn('uid', $chilid_userids)
835
+            ->field('uid,nickname,phone,spread_uid,user_group,create_time,is_shop_partner,wechat_user_id,ali_user_id,avatar')
836
+            // ->whereIn('uid', $chilid_userids)
837
+            ->where('mer_id', $mer_id)
835
             ->when($nickname != '',function ($query) use ($nickname){
838
             ->when($nickname != '',function ($query) use ($nickname){
836
                 $query->whereLike('nickname',"%".$nickname."%");
839
                 $query->whereLike('nickname',"%".$nickname."%");
837
             })->when($account != '',function ($query) use ($account){
840
             })->when($account != '',function ($query) use ($account){
@@ -844,19 +847,20 @@ class User extends BaseController
844
                 $query->where('status',$status);
847
                 $query->where('status',$status);
845
             })->when($p_phone != '',function ($query) use ($spread_uid){
848
             })->when($p_phone != '',function ($query) use ($spread_uid){
846
                 $query->where('spread_uid',$spread_uid);
849
                 $query->where('spread_uid',$spread_uid);
847
-            })->when(isset($whereTime['user_time_type']) && $whereTime['user_time_type'] !== '' && $whereTime['user_time'] != '', function ($query) use ($whereTime) {
850
+            // })->when(isset($whereTime['user_time_type']) && $whereTime['user_time_type'] !== '' && $whereTime['user_time'] != '', function ($query) use ($whereTime) {
851
+            })->when($whereTime['user_time'] != '', function ($query) use ($whereTime) {
848
                 list($startTime, $endTime) = explode('-', $whereTime['user_time']);
852
                 list($startTime, $endTime) = explode('-', $whereTime['user_time']);
849
-                if ($whereTime['user_time_type'] == 'visitno') {
850
-                    $query->whereTime("last_time", 'between', [$startTime, $endTime]);
851
-                }
852
-                if ($whereTime['user_time_type'] == 'visit') {
853
-                    $query->whereTime('u.last_time', '>=', $startTime);
854
-                    $query->whereTime('u.last_time', '<', $endTime);
855
-                }
856
-                if ($whereTime['user_time_type'] == 'add_time') {
853
+                // if ($whereTime['user_time_type'] == 'visitno') {
854
+                //     $query->whereTime("last_time", 'between', [$startTime, $endTime]);
855
+                // }
856
+                // if ($whereTime['user_time_type'] == 'visit') {
857
+                //     $query->whereTime('u.last_time', '>=', $startTime);
858
+                //     $query->whereTime('u.last_time', '<', $endTime);
859
+                // }
860
+                // if ($whereTime['user_time_type'] == 'add_time') {
857
                     $query->whereTime('create_time', '>=', $startTime);
861
                     $query->whereTime('create_time', '>=', $startTime);
858
                     $query->whereTime('create_time', '<', $endTime);
862
                     $query->whereTime('create_time', '<', $endTime);
859
-                }
863
+                // }
860
             })->order('create_time desc');
864
             })->order('create_time desc');
861
         $date['list'] = $query->page($page, $limit)->select()
865
         $date['list'] = $query->page($page, $limit)->select()
862
             ->each(function ($item) {
866
             ->each(function ($item) {
@@ -870,6 +874,7 @@ class User extends BaseController
870
                 unset($item['spread_uid']);
874
                 unset($item['spread_uid']);
871
                 return $item;
875
                 return $item;
872
             });;
876
             });;
877
+
873
         $date['count'] = $query->count();
878
         $date['count'] = $query->count();
874
         $date['shouyi'] = 0;
879
         $date['shouyi'] = 0;
875
         $date['stride_shop_money'] = 0;
880
         $date['stride_shop_money'] = 0;