quanwei
2025-11-21 2d9362ae6f528f57e6133d5d80f0b633c24e8eb6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<?php
 
namespace app\api\service\branch;
 
// use app\api\model\branch\Favorite as FavoriteModel;
// use app\api\model\branch\Visit as VisitModel;
use app\api\model\branch\Member as MemberModel;
 
/**
 * 会员数据概况
 */
class MemberService
{
    // 分会id
    private $branch_id;
 
    public function __construct($branch_id)
    {
        $this->branch_id = $branch_id;
    }
    /**
     * 获取数据概况
     */
    // public function getData()
    // {
    //     $today = date('Y-m-d');
    //     $yesterday = date('Y-m-d', strtotime('-1 day'));
    //     $data = [
    //         // 分会收藏
    //         'fav_store' => [
    //             'today' => number_format($this->getFavData($today, null, '10')),
    //             'yesterday' => number_format($this->getFavData($yesterday, null, '10'))
    //         ],
    //         // 活动收藏
    //         'fav_activity' => [
    //             'today' => number_format($this->getFavData($today, null, '20')),
    //             'yesterday' => number_format($this->getFavData($yesterday, null, '20'))
    //         ],
    //         // 访客数
    //         'visit_user' => [
    //             'today' => number_format($this->getVisitUserData($today, null)),
    //             'yesterday' => number_format($this->getVisitUserData($yesterday, null))
    //         ],
    //         // 访问量
    //         'visit_total' => [
    //             'today' => number_format($this->getVisitData($today, null)),
    //             'yesterday' => number_format($this->getVisitData($yesterday, null))
    //         ],
    //     ];
    //     return $data;
    // }
 
    /**
     * 通过时间段查询访问量
     */
    // public function getVisitByDate($days)
    // {
    //     $data = [];
    //     foreach ($days as $day) {
    //         $data[] = [
    //             'day' => $day,
    //             'fav_store' => $this->getFavData($day, null, '10'),
    //             'fav_product' => $this->getFavData($day, null, '20'),
    //             'visit_user' => $this->getVisitUserData($day, null),
    //             'visit_total' => $this->getVisitData($day, null)
    //         ];
    //     }
    //     return $data;
    // }
 
    /**
     * 获取分会关注数据
     */
    // private function getFavData($startDate = null, $endDate = null, $type)
    // {
    //     return (new FavoriteModel())->getFavData($startDate, $endDate, $type, $this->branch_id);
    // }
 
    /**
     * 访问量
     */
    // private function getVisitData($startDate = null, $endDate = null){
    //     return (new VisitModel())->getVisitData($startDate, $endDate, $this->branch_id);
    // }
 
    // private function getVisitUserData($startDate = null, $endDate = null){
    //     return (new VisitModel())->getVisitUserData($startDate, $endDate, $this->branch_id);
    // }
 
    /**
     * 新增会员,用于line-chart
     */
    public function getNewMemberByDate($date)
    {
        if ($date == 'year') {
            $m = date('m', time());
            $days[] = $m;
            do {
                $days[] = '0' . ($m - 1);
                $m--;
            } while ($m > 1);
            $days = array_reverse($days);
        } else {
            $days = getDatesBetweenTwoDays(getStartModelTime($date), date('Y-m-d'));
        }
        $list = (new MemberModel())->memberGroupNum($date, $this->branch_id)->toArray();
        $list = array_combine(array_column($list, 'day'), $list);
        $data = [];
        foreach ($days as $day) {
            $data[] = [
                'day' => $day,
                'total' => $list[$day]['total'] ?? 0,
            ];
        }
        return ['days' => $days, 'data' => $data];
        
    }
}