OverviewDataController.class.php
3.97 KB
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
<?php
/**
* Created by PhpStorm.
* User: liyifei2012it
* Date: 17/10/13
* Time: 16:39
*/
namespace Apicp\Controller\AllData;
use Com\PackageValidate;
use Common\Common\ExamHelper;
use Common\Common\CourseHelper;
use Common\Common\DataHelper;
class OverviewDataController extends \Apicp\Controller\AbstractController
{
/**
* OverviewData
* @author liyifei
* @desc 数据概览接口(员工学习概览、课程数据概览、考试数据概览)
* @param Int starttime:true 开始时间戳
* @param Int endtime:true 结束时间戳
* @return array
array(
'study_data' => array( // 员工学习概览
'user_total' => 6000, // 员工总数
'study_user_total' => 100, // 学习人数(参与学习的人员去重,无论学习是否完成)
'time_total' => 999, // 学习时长(秒)
'per_time_total' => 1, // 人均学习时长(秒)
'study_course_total' => 2, // 学习课程总数
'study_sourse_total' => 3, // 学习素材总数
'study_complete_total' => 4, // 通过学习次数
'like_total' => 5, // 点赞数
'comment_total' => 6, // 评论次数
),
'course_data' => array( // 课程数据概览
'course_total' => 200, // 课程总数
'sourse_total' => 400, // 素材总数
'new_course_total' => 100, // 新增课程数
'new_sourse_total' => 100, // 新增素材数
'new_img_sourse_total' => 100, // 新增图文素材数
'new_audio_sourse_total' => 100, // 新增音图素材数
'new_video_sourse_total' => 100, // 新增视频素材数
'new_file_sourse_total' => 100, // 新增文件素材数
'new_outside_sourse_total' => 100, // 新增外部素材数
),
'exam_data' => array( // 考试数据概览
'paper_nums' => 148, // 考试总数
'paper_test_nums' => 83, // 正式考试数量
'paper_mock_nums' => 65, // 模拟考试数量
'paper_test_add' => 10, // 新增正式考试
'paper_mock_add' => 11, // 新增模拟考试
'exam_join_nums' => 186, // 考试参与次数
'exam_coverage' => 88.88, // 考试覆盖率
'exam_pass_nums' => 83, // 考试及格次数
'exam_pass_coverage' => 99.99 // 考试及格率
)
)
*/
public function Index_post()
{
// 验证规则
$rules = [
'starttime' => 'require|integer|gt:0',
'endtime' => 'require|integer|gt:0',
];
// 验证请求数据
$postData = I('post.');
$validate = new PackageValidate();
$validate->postData = $postData;
$validate->validateParams($rules);
// 开始、结束时间
$dataHelper = &DataHelper::instance();
$starttime = $dataHelper->formatStarttime($postData['starttime']);
$endtime = $dataHelper->formatEndtime($postData['endtime']);
// 员工学习概览
$courseHelper = &CourseHelper::instance();
$studyData = $courseHelper->listUserStudyData($starttime, $endtime);
// 课程数据概览
$courseData = $courseHelper->listCourseData($starttime, $endtime);
// 考试数据概览
$examHelper = &ExamHelper::instance();
$examData = $examHelper->get_exam_data($starttime, $endtime);
$this->_result = [
'study_data' => $studyData,
'course_data' => $courseData,
'exam_data' => $examData,
];
}
}