老实人. пре 1 година
родитељ
комит
aabfebf5d8

+ 335 - 21
app/common/repositories/finance/FinanceRepository.php

@@ -437,7 +437,6 @@ class FinanceRepository extends BaseRepository
437 437
             ->sum('extract_price');
438 438
         $data['statistics']['commission'][] = ['className' => 'el-icon-s-goods', 'count' => set_price_rtrim($user_extra_money), 'name' => '已提现金额'];
439 439
         $data['statistics'][] = ['className' => 'el-icon-s-goods', 'count' => set_price_rtrim($user_extra_money), 'name' => '已提现金额'];
440
-
441 440
         return $data;
442 441
     }
443 442
 
@@ -526,24 +525,24 @@ class FinanceRepository extends BaseRepository
526 525
         $date = [];
527 526
         //商户ID
528 527
         $query = Db::name('user_sign_score')
529
-            ->alias('uss')
530
-            ->leftJoin('user u', 'u.uid=uss.uid')
531
-            ->leftJoin('store_order o', 'o.order_id=uss.order_id')
532
-            ->when(isset($params['uid']) && $params['uid'] != '', function ($query) use ($params) {
533
-                $query->where('uss.uid', $params['uid']);
534
-            })
535
-            ->when(isset($params['pm']) && $params['pm'] != '', function ($query) use ($params) {
536
-                $query->where('uss.pm', $params['pm']);
537
-            })
538
-            ->when(isset($params['status']) && $params['status'] != '', function ($query) use ($params) {
539
-                $query->where('uss.status', $params['status']);
540
-            })
541
-            ->when(isset($params['phone']) && $params['phone'] != '', function ($query) use ($params) {
542
-                $query->whereLike('u.phone', '%' . $params['phone'] . '%');
543
-            })
544
-            ->when(isset($params['type']) && $params['type'] != '', function ($query) use ($params) {
545
-                $query->where('type', $params['type']);
546
-            });
528
+        ->alias('uss')
529
+        ->leftJoin('user u', 'u.uid=uss.uid')
530
+        ->leftJoin('store_order o', 'o.order_id=uss.order_id')
531
+        ->when(isset($params['uid']) && $params['uid'] != '', function ($query) use ($params) {
532
+            $query->where('uss.uid', $params['uid']);
533
+        })
534
+        ->when(isset($params['pm']) && $params['pm'] != '', function ($query) use ($params) {
535
+            $query->where('uss.pm', $params['pm']);
536
+        })
537
+        ->when(isset($params['status']) && $params['status'] != '', function ($query) use ($params) {
538
+            $query->where('uss.status', $params['status']);
539
+        })
540
+        ->when(isset($params['phone']) && $params['phone'] != '', function ($query) use ($params) {
541
+            $query->whereLike('u.phone', '%' . $params['phone'] . '%');
542
+        })
543
+        ->when(isset($params['type']) && $params['type'] != '', function ($query) use ($params) {
544
+            $query->where('type', $params['type']);
545
+        });
547 546
         $query1 = clone $query;
548 547
         $query2 = clone $query;
549 548
         $query3 = clone $query;
@@ -552,12 +551,12 @@ class FinanceRepository extends BaseRepository
552 551
         $query6 = clone $query;
553 552
         $query7 = clone $query;
554 553
         $date['list'] = $this->date_where($query, $where['date'], 'uss,addtime', '-', 2)
555
-            ->field('uss.id,uss.addtime,u.nickname,u.phone,uss.pm,uss.reward_socre,o.order_sn,uss.status,uss.mark,uss.desc,u.score')
554
+            ->field('uss.id,uss.addtime,u.nickname,u.phone,uss.pm,uss.reward_socre,o.order_sn,uss.status,uss.mark,u.score')
556 555
             ->page($page, $limit)
557 556
             ->order('uss.id', 'desc')
558 557
             ->select()
559 558
             ->each(function ($item) {
560
-                $item['mark'] = $item['mark'].$item['desc'];
559
+                $item['mark'] = $item['mark'];
561 560
                 $item['addtime'] = date('Y-m-d H:i:s', $item['addtime']);
562 561
                 return $item;
563 562
             });
@@ -572,6 +571,321 @@ class FinanceRepository extends BaseRepository
572 571
         return $date;
573 572
     }
574 573
 
574
+
575
+
576
+
577
+
578
+    /**
579
+     * 京豆统计
580
+     * @return mixed
581
+     */
582
+    public function jingdou_list($mer_id = 0)
583
+    {
584
+        $page = input('page');
585
+        $limit = input('limit');
586
+        $where = request()->params(['date']);
587
+        $params = request()->params(['type', 'uid', 'pm', 'phone','status']);
588
+
589
+        $date = [];
590
+        //商户ID
591
+        $query = Db::name('user_sign_jingdou')
592
+        ->alias('uss')
593
+        ->leftJoin('user u', 'u.uid=uss.uid')
594
+        ->leftJoin('store_order o', 'o.order_id=uss.order_id')
595
+        ->when(isset($params['uid']) && $params['uid'] != '', function ($query) use ($params) {
596
+            $query->where('uss.uid', $params['uid']);
597
+        })
598
+        // ->when(isset($params['pm']) && $params['pm'] != '', function ($query) use ($params) {
599
+        //     $query->where('uss.pm', $params['pm']);
600
+        // })
601
+        ->when(isset($params['status']) && $params['status'] != '', function ($query) use ($params) {
602
+            $query->where('uss.status', $params['status']);
603
+        })
604
+        ->when(isset($params['phone']) && $params['phone'] != '', function ($query) use ($params) {
605
+            $query->whereLike('u.phone', '%' . $params['phone'] . '%');
606
+        })
607
+        ->when(isset($params['type']) && $params['type'] != '', function ($query) use ($params) {
608
+            $query->where('type', $params['type']);
609
+        });
610
+        $query1 = clone $query;
611
+        $query2 = clone $query;
612
+        $query3 = clone $query;
613
+        $query4 = clone $query;
614
+        $query5 = clone $query;
615
+        $query6 = clone $query;
616
+        $query7 = clone $query;
617
+        $date['list'] = $this->date_where($query, $where['date'], 'uss,addtime', '-', 2)
618
+            ->field('uss.id,uss.addtime,u.nickname,u.phone,uss.number,o.order_sn,uss.status,uss.mark,u.score')
619
+            ->page($page, $limit)
620
+            ->order('uss.id', 'desc')
621
+            ->select()
622
+            ->each(function ($item) {
623
+                $item['mark'] = $item['mark'];
624
+                $item['addtime'] = date('Y-m-d H:i:s', $item['addtime']);
625
+                return $item;
626
+            });
627
+        $date['count'] = $query->count();
628
+        $date['statistics']['all'] = decimal2($query1->sum('number'));
629
+        $date['statistics']['clear'] = decimal2($query2->where('uss.status', 1)->sum('number'));
630
+        $date['statistics']['nclear'] = decimal2($query3->where('uss.status', -1)->sum('number'));
631
+        $date['statistics']['lost'] = decimal2($query4->where('uss.status', 0)->sum('number'));
632
+ 
633
+        return $date;
634
+    }
635
+
636
+
637
+
638
+
639
+
640
+    /**
641
+     * 贡献值统计
642
+     * @return mixed
643
+     */
644
+    public function contribute_list($mer_id = 0)
645
+    {
646
+        $page = input('page');
647
+        $limit = input('limit');
648
+        $where = request()->params(['date']);
649
+        $params = request()->params(['type', 'uid', 'pm', 'phone','status']);
650
+
651
+        $date = [];
652
+        //商户ID
653
+        $query = Db::name('user_sign_gongxian')
654
+        ->alias('uss')
655
+        ->leftJoin('user u', 'u.uid=uss.uid')
656
+        ->leftJoin('store_order o', 'o.order_id=uss.order_id')
657
+        ->when(isset($params['uid']) && $params['uid'] != '', function ($query) use ($params) {
658
+            $query->where('uss.uid', $params['uid']);
659
+        })
660
+        // ->when(isset($params['pm']) && $params['pm'] != '', function ($query) use ($params) {
661
+        //     $query->where('uss.pm', $params['pm']);
662
+        // })
663
+        ->when(isset($params['status']) && $params['status'] != '', function ($query) use ($params) {
664
+            $query->where('uss.status', $params['status']);
665
+        })
666
+        ->when(isset($params['phone']) && $params['phone'] != '', function ($query) use ($params) {
667
+            $query->whereLike('u.phone', '%' . $params['phone'] . '%');
668
+        })
669
+        ->when(isset($params['type']) && $params['type'] != '', function ($query) use ($params) {
670
+            $query->where('type', $params['type']);
671
+        });
672
+        $query1 = clone $query;
673
+        $query2 = clone $query;
674
+        $query3 = clone $query;
675
+        $query4 = clone $query;
676
+        $query5 = clone $query;
677
+        $query6 = clone $query;
678
+        $query7 = clone $query;
679
+        $date['list'] = $this->date_where($query, $where['date'], 'uss,addtime', '-', 2)
680
+            ->field('uss.id,uss.addtime,u.nickname,u.phone,uss.number,o.order_sn,uss.status,uss.mark,u.score')
681
+            ->page($page, $limit)
682
+            ->order('uss.id', 'desc')
683
+            ->select()
684
+            ->each(function ($item) {
685
+                $item['mark'] = $item['mark'];
686
+                $item['addtime'] = date('Y-m-d H:i:s', $item['addtime']);
687
+                return $item;
688
+            });
689
+        $date['count'] = $query->count();
690
+        $date['statistics']['all'] = decimal2($query1->sum('number'));
691
+        $date['statistics']['clear'] = decimal2($query2->where('uss.status', 1)->sum('number'));
692
+        $date['statistics']['nclear'] = decimal2($query3->where('uss.status', -1)->sum('number'));
693
+        $date['statistics']['lost'] = decimal2($query4->where('uss.status', 0)->sum('number'));
694
+ 
695
+        return $date;
696
+    }
697
+
698
+
699
+
700
+
701
+
702
+
703
+    /**
704
+     * 复购金统计
705
+     * @return mixed
706
+     */
707
+    public function fugou_list($mer_id = 0)
708
+    {
709
+        $page = input('page');
710
+        $limit = input('limit');
711
+        $where = request()->params(['date']);
712
+        $params = request()->params(['type', 'uid', 'pm', 'phone','status']);
713
+
714
+        $date = [];
715
+        //商户ID
716
+        $query = Db::name('user_sign_fugou')
717
+        ->alias('uss')
718
+        ->leftJoin('user u', 'u.uid=uss.uid')
719
+        ->leftJoin('store_order o', 'o.order_id=uss.order_id')
720
+        ->when(isset($params['uid']) && $params['uid'] != '', function ($query) use ($params) {
721
+            $query->where('uss.uid', $params['uid']);
722
+        })
723
+        // ->when(isset($params['pm']) && $params['pm'] != '', function ($query) use ($params) {
724
+        //     $query->where('uss.pm', $params['pm']);
725
+        // })
726
+        ->when(isset($params['status']) && $params['status'] != '', function ($query) use ($params) {
727
+            $query->where('uss.status', $params['status']);
728
+        })
729
+        ->when(isset($params['phone']) && $params['phone'] != '', function ($query) use ($params) {
730
+            $query->whereLike('u.phone', '%' . $params['phone'] . '%');
731
+        })
732
+        ->when(isset($params['type']) && $params['type'] != '', function ($query) use ($params) {
733
+            $query->where('type', $params['type']);
734
+        });
735
+        $query1 = clone $query;
736
+        $query2 = clone $query;
737
+        $query3 = clone $query;
738
+        $query4 = clone $query;
739
+        $query5 = clone $query;
740
+        $query6 = clone $query;
741
+        $query7 = clone $query;
742
+        $date['list'] = $this->date_where($query, $where['date'], 'uss,addtime', '-', 2)
743
+            ->field('uss.id,uss.addtime,u.nickname,u.phone,uss.number,o.order_sn,uss.status,uss.mark,u.score')
744
+            ->page($page, $limit)
745
+            ->order('uss.id', 'desc')
746
+            ->select()
747
+            ->each(function ($item) {
748
+                $item['mark'] = $item['mark'];
749
+                $item['addtime'] = date('Y-m-d H:i:s', $item['addtime']);
750
+                return $item;
751
+            });
752
+        $date['count'] = $query->count();
753
+        $date['statistics']['all'] = decimal2($query1->sum('number'));
754
+        $date['statistics']['clear'] = decimal2($query2->where('uss.status', 1)->sum('number'));
755
+        $date['statistics']['nclear'] = decimal2($query3->where('uss.status', -1)->sum('number'));
756
+        $date['statistics']['lost'] = decimal2($query4->where('uss.status', 0)->sum('number'));
757
+ 
758
+        return $date;
759
+    }
760
+
761
+
762
+
763
+
764
+
765
+    /**
766
+     * 红包统计
767
+     * @return mixed
768
+     */
769
+    public function hongbao_list($mer_id = 0)
770
+    {
771
+        $page = input('page');
772
+        $limit = input('limit');
773
+        $where = request()->params(['date']);
774
+        $params = request()->params(['type', 'uid', 'pm', 'phone','status']);
775
+
776
+        $date = [];
777
+        //商户ID
778
+        $query = Db::name('user_sign_hongbao')
779
+        ->alias('uss')
780
+        ->leftJoin('user u', 'u.uid=uss.uid')
781
+        ->leftJoin('store_order o', 'o.order_id=uss.order_id')
782
+        ->when(isset($params['uid']) && $params['uid'] != '', function ($query) use ($params) {
783
+            $query->where('uss.uid', $params['uid']);
784
+        })
785
+        // ->when(isset($params['pm']) && $params['pm'] != '', function ($query) use ($params) {
786
+        //     $query->where('uss.pm', $params['pm']);
787
+        // })
788
+        ->when(isset($params['status']) && $params['status'] != '', function ($query) use ($params) {
789
+            $query->where('uss.status', $params['status']);
790
+        })
791
+        ->when(isset($params['phone']) && $params['phone'] != '', function ($query) use ($params) {
792
+            $query->whereLike('u.phone', '%' . $params['phone'] . '%');
793
+        })
794
+        ->when(isset($params['type']) && $params['type'] != '', function ($query) use ($params) {
795
+            $query->where('type', $params['type']);
796
+        });
797
+        $query1 = clone $query;
798
+        $query2 = clone $query;
799
+        $query3 = clone $query;
800
+        $query4 = clone $query;
801
+        $query5 = clone $query;
802
+        $query6 = clone $query;
803
+        $query7 = clone $query;
804
+        $date['list'] = $this->date_where($query, $where['date'], 'uss,addtime', '-', 2)
805
+            ->field('uss.id,uss.addtime,u.nickname,u.phone,uss.number,o.order_sn,uss.status,uss.mark,u.score')
806
+            ->page($page, $limit)
807
+            ->order('uss.id', 'desc')
808
+            ->select()
809
+            ->each(function ($item) {
810
+                $item['mark'] = $item['mark'];
811
+                $item['addtime'] = date('Y-m-d H:i:s', $item['addtime']);
812
+                return $item;
813
+            });
814
+        $date['count'] = $query->count();
815
+        $date['statistics']['all'] = decimal2($query1->sum('number'));
816
+        $date['statistics']['clear'] = decimal2($query2->where('uss.status', 1)->sum('number'));
817
+        $date['statistics']['nclear'] = decimal2($query3->where('uss.status', -1)->sum('number'));
818
+        $date['statistics']['lost'] = decimal2($query4->where('uss.status', 0)->sum('number'));
819
+ 
820
+        return $date;
821
+    }
822
+
823
+
824
+
825
+
826
+
827
+
828
+    /**
829
+     * VR统计
830
+     * @return mixed
831
+     */
832
+    public function vr_list($mer_id = 0)
833
+    {
834
+        $page = input('page');
835
+        $limit = input('limit');
836
+        $where = request()->params(['date']);
837
+        $params = request()->params(['type', 'uid', 'pm', 'phone','status']);
838
+
839
+        $date = [];
840
+        //商户ID
841
+        $query = Db::name('user_sign_vr')
842
+        ->alias('uss')
843
+        ->leftJoin('user u', 'u.uid=uss.uid')
844
+        ->leftJoin('store_order o', 'o.order_id=uss.order_id')
845
+        ->when(isset($params['uid']) && $params['uid'] != '', function ($query) use ($params) {
846
+            $query->where('uss.uid', $params['uid']);
847
+        })
848
+        // ->when(isset($params['pm']) && $params['pm'] != '', function ($query) use ($params) {
849
+        //     $query->where('uss.pm', $params['pm']);
850
+        // })
851
+        // ->when(isset($params['status']) && $params['status'] != '', function ($query) use ($params) {
852
+        //     $query->where('uss.status', $params['status']);
853
+        // })
854
+        ->when(isset($params['phone']) && $params['phone'] != '', function ($query) use ($params) {
855
+            $query->whereLike('u.phone', '%' . $params['phone'] . '%');
856
+        })
857
+        ->when(isset($params['type']) && $params['type'] != '', function ($query) use ($params) {
858
+            $query->where('type', $params['type']);
859
+        });
860
+        $query1 = clone $query;
861
+        $query2 = clone $query;
862
+        $query3 = clone $query;
863
+        $query4 = clone $query;
864
+        $query5 = clone $query;
865
+        $query6 = clone $query;
866
+        $query7 = clone $query;
867
+        $date['list'] = $this->date_where($query, $where['date'], 'uss,addtime', '-', 2)
868
+            ->field('uss.id,uss.addtime,u.nickname,u.phone,uss.number,o.order_sn,uss.type,uss.mark,u.score')
869
+            ->page($page, $limit)
870
+            ->order('uss.id', 'desc')
871
+            ->select()
872
+            ->each(function ($item) {
873
+                $item['mark'] = $item['mark'];
874
+                $item['addtime'] = date('Y-m-d H:i:s', $item['addtime']);
875
+                return $item;
876
+            });
877
+        $date['count'] = $query->count();
878
+        $date['statistics']['all'] = decimal2($query1->sum('number'));
879
+        $date['statistics']['clear'] = decimal2($query2->where('uss.type', 1)->sum('number'));
880
+        $date['statistics']['nclear'] = decimal2($query3->where('uss.type', 2)->sum('number'));
881
+ 
882
+        return $date;
883
+    }
884
+
885
+
886
+
887
+
888
+
575 889
     /**
576 890
      * 列表中的时间条件
577 891
      */

+ 93 - 2
app/controller/admin/finance/Finance.php

@@ -41,11 +41,102 @@ class Finance extends BaseController
41 41
             $date = $financeRepository->integral_list();
42 42
             return app('json')->success($date);
43 43
         } catch (\Exception $e) {
44
-            Db::name('log')->insert(['data' => '佣金统计错误:' . $e->getFile() . ':' . $e->getLine() . '【' . $e->getMessage() . '】']);
45
-            return app('json')->fail('佣金统计失败');
44
+            Db::name('log')->insert(['data' => '积分统计错误:' . $e->getFile() . ':' . $e->getLine() . '【' . $e->getMessage() . '】']);
45
+            return app('json')->fail('积分统计失败'.$e->getMessage());
46
+        }
47
+    }
48
+
49
+
50
+    /**
51
+     * 京豆统计
52
+     * @return mixed
53
+     */
54
+    public function jingdou_list(){
55
+        try {
56
+            $financeRepository = app()->make(FinanceRepository::class);
57
+            $date = $financeRepository->jingdou_list();
58
+            return app('json')->success($date);
59
+        } catch (\Exception $e) {
60
+            Db::name('log')->insert(['data' => '京豆统计错误:' . $e->getFile() . ':' . $e->getLine() . '【' . $e->getMessage() . '】']);
61
+            return app('json')->fail('京豆统计失败'.$e->getMessage());
62
+        }
63
+    }
64
+
65
+
66
+
67
+    /**
68
+     * 贡献值统计
69
+     * @return mixed
70
+     */
71
+    public function contribute_list(){
72
+        try {
73
+            $financeRepository = app()->make(FinanceRepository::class);
74
+            $date = $financeRepository->contribute_list();
75
+            return app('json')->success($date);
76
+        } catch (\Exception $e) {
77
+            Db::name('log')->insert(['data' => '贡献值统计错误:' . $e->getFile() . ':' . $e->getLine() . '【' . $e->getMessage() . '】']);
78
+            return app('json')->fail('贡献值统计失败'.$e->getMessage());
79
+        }
80
+    }
81
+
82
+
83
+
84
+
85
+    /**
86
+     * 复购金统计
87
+     * @return mixed
88
+     */
89
+    public function fugou_list(){
90
+        try {
91
+            $financeRepository = app()->make(FinanceRepository::class);
92
+            $date = $financeRepository->fugou_list();
93
+            return app('json')->success($date);
94
+        } catch (\Exception $e) {
95
+            Db::name('log')->insert(['data' => '复购金统计错误:' . $e->getFile() . ':' . $e->getLine() . '【' . $e->getMessage() . '】']);
96
+            return app('json')->fail('复购金统计失败'.$e->getMessage());
97
+        }
98
+    }
99
+
100
+
101
+
102
+
103
+    /**
104
+     * 红包统计
105
+     * @return mixed
106
+     */
107
+    public function hongbao_list(){
108
+        try {
109
+            $financeRepository = app()->make(FinanceRepository::class);
110
+            $date = $financeRepository->hongbao_list();
111
+            return app('json')->success($date);
112
+        } catch (\Exception $e) {
113
+            Db::name('log')->insert(['data' => '红包统计错误:' . $e->getFile() . ':' . $e->getLine() . '【' . $e->getMessage() . '】']);
114
+            return app('json')->fail('红包统计失败'.$e->getMessage());
46 115
         }
47 116
     }
48 117
 
118
+
119
+
120
+
121
+
122
+    /**
123
+     * VR统计
124
+     * @return mixed
125
+     */
126
+    public function vr_list(){
127
+        try {
128
+            $financeRepository = app()->make(FinanceRepository::class);
129
+            $date = $financeRepository->vr_list();
130
+            return app('json')->success($date);
131
+        } catch (\Exception $e) {
132
+            Db::name('log')->insert(['data' => 'VR统计错误:' . $e->getFile() . ':' . $e->getLine() . '【' . $e->getMessage() . '】']);
133
+            return app('json')->fail('VR统计失败'.$e->getMessage());
134
+        }
135
+    }
136
+
137
+
138
+
139
+
49 140
     /**
50 141
      * 佣金统计
51 142
      * @return mixed

+ 5 - 0
route/admin.php

@@ -825,6 +825,11 @@ Route::group(config('admin.api_admin_prefix') . '/', function () {
825 825
             Route::get('transaction_overview', '/transaction_overview');
826 826
             Route::get('user_bill', '/user_bill');
827 827
             Route::get('integral_list', '/integral_list');
828
+            Route::get('jingdou_list', '/jingdou_list');
829
+            Route::get('contribute_list', '/contribute_list');
830
+            Route::get('fugou_list', '/fugou_list');
831
+            Route::get('hongbao_list', '/hongbao_list');
832
+            Route::get('vr_list', '/vr_list');
828 833
             Route::get('day_bill/list', '/day_bill_list');
829 834
             Route::get('month_bill/list', '/month_bill_list');
830 835