chengkun
2025-05-23 0d8e263c22903234efea68fd13a27d8b7b59aac1
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?php
 
class statis_income_controller extends adminCommon{
 
    //图表类型 bar 柱形图,line折线图,pie饼形图
    // private $chartType = 'pie';
 
    //消费渠道
    private $typeMapping = array(    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 => '购买广告位'
    );
 
    //收支总计页面
    public function index_action(){
 
        $CompanyorderM                    =            $this->MODEL('companyorder');
 
        $PackM                            =            $this->MODEL('pack');
 
        $StatisM                        =            $this->MODEL('statis');
 
        if(isset($_GET['radio_time'])){
 
            $this->yunset('radio_time', $_GET['radio_time']);
        
        }
 
        //查询报表数据
        $time_begin                     =             isset($_GET['time_begin']) ? $_GET['time_begin'] : date('Y-m-d 00:00:00', strtotime('-30 day'));
 
        $time_end                         =             isset($_GET['time_end']) ? $_GET['time_end'] :date('Y-m-d H:i:s');
        
        $this->yunset('defaultTimeBegin', $time_begin);
        
        $this->yunset('defaultTimeEnd', $time_end);
 
        $isAllTime                         =             isset($_GET['isAllTime']) ? $_GET['isAllTime'] : 0; 
 
        //查询30条内的信息,展示到页面第一屏
        if($isAllTime != 1){
 
            $timeBegin                     =             strtotime($time_begin);
 
        }else{
 
            $timeBegin                     =             strtotime(date('Y-m-d 00:00:00', strtotime('-30 year')));
        
        }    
 
        $timeEnd                         =             strtotime("now");
    
        list($in, $out, $net_income)    =            $StatisM->getStatisTotal($timeBegin,$timeEnd, '');
 
        $data []                         =             array('time' => '近30', 'in' => $in, 'out' => $out, 'net_income' => $net_income);
        
        $this->yunset('data', $data);
 
        //如果不是查询全部数据,组织查询的开始、结束时间
        if($isAllTime != 1){
 
            $timeBegin                     =             strtotime($time_begin);
 
            $timeEnd                      =             strtotime($time_end);
 
            $dateBegin                      =             date('Y-m-d', $timeBegin);
 
            $dateEnd                      =             date('Y-m-d', $timeEnd);
            
            $title                          =             "收益渠道统计 - {$dateBegin}~{$dateEnd}";
        
        }
        else{
 
            $title                           =             "收益渠道统计 - 全部数据";
 
        }
 
        $names                               =              array();//扇形每块的名称(收入渠道)
 
        $values                              =              array();//扇形每块的值
        
        $comwhere['order_state']          =            2;
 
    
        if($isAllTime != 1){
 
            $comwhere['order_time'][]     =            array('>=', $timeBegin);
        
            $comwhere['order_time'][]     =          array('<=', $timeEnd,'AND');
            
        }
 
        $comwhere['groupby']              =            'type';
        
        $comwhere['orderby']              =            array('num,asc');
    
        $field                               =         'sum(order_price) as `num`, `type`';
 
        $row                              =            $CompanyorderM->getList($comwhere,array('field'=>$field));
        
        $total                               =         0;
        foreach($row as $r){
 
            if(isset($this->typeMapping[$r['type']])){
 
                $names []                         =         $this->typeMapping[$r['type']];
                
                $rr['value']                     =         $r['num'];
 
                $rr['name']                     =         $this->typeMapping[$r['type']];
 
                $values []                         =         $rr;
 
                $total                            +=         $r['num'];
            }
 
        }
 
        $data = array('title' => $title,'names' => $names, 'values' => $values );
 
        $this->yunset($data);
 
        $this->yunset('total', $total);
 
        $this->yuntpl(array('admin/statis_income'));
 
    }
 
}
?>