ExportUserListController.class.php 2.66 KB
<?php
/**
 * Created by PhpStorm.
 * User: liyifei2012it
 * Date: 17/10/14
 * Time: 14:50
 */

namespace Apicp\Controller\UserStudyData;

use Com\PackageValidate;
use Com\PythonExcel;
use Common\Common\Cache;
use Common\Common\Constant;
use Common\Common\CourseHelper;
use Common\Common\ExportDownload;
use Common\Common\User;
use Common\Model\CourseArticleModel;
use Common\Model\CourseCompleteModel;
use Common\Model\CourseClassModel;
use Common\Model\CourseStudyTimeModel;

class ExportUserListController extends \Apicp\Controller\AbstractController
{
    /**
     * ExportUserList
     * @author liyifei
     * @desc 导出员工学习数据列表接口
     * @param String dp_ids 组织ID(多个值时,以英文逗号分隔)
     * @param String role_ids 角色ID(多个值时,以英文逗号分隔)
     * @param String job_ids 岗位ID(多个值时,以英文逗号分隔)
     * @param String username 姓名
     * @param Int class_id 课程分类ID
     * @param String article_title 课程名称
     * @param Int is_complete 是否学习完成
     * @return void
     */
    public function Index_post()
    {
        // 验证规则
        $rules = [
            'username' => 'max:64',
            'class_id' => 'integer|gt:0',
            'article_title' => 'max:64',
            'is_complete' => 'integer|in:1,2',
        ];

        // 验证请求数据
        $postData = I('post.');
        $validate = new PackageValidate();
        $validate->postData = $postData;
        $validate->validateParams($rules);


        $title = '员工学习数据_' . rgmdate(MILLI_TIME, 'YmdHi');

        $params_down = [
            'title' => $title,
            'ea_id' => $this->_login->user['eaId'],
            'username' => $this->_login->user['eaRealname'],
            'type' => ExportDownload::ZIP_TYPE
        ];

        // 新增开始生成状态
        $id = ExportDownload::set_down_load($params_down);

        $params = [
            'user_id' => $this->_login->user['eaId'],
            'time' => microtime(true),
            'id' => $id,
            'username' => $postData['username'],
            'class_id' => $postData['class_id'],
            'article_title' => $postData['article_title'],
            'is_complete' => $postData['is_complete'],
            'dp_ids' => $postData['dp_ids'],
            'role_ids' => $postData['role_ids'],
            'job_ids' => $postData['job_ids'],
            'page' => 1
        ];

        $url = oaUrl('Frontend/Callback/ExportUserList');

        // 生成定时任务
        ExportDownload::set_Cron($params, $url, '员工学习数据_批量下载', 'USERSTUDYDATA_DOWN_Excel_' . $id);

        $this->_result = [];
    }
}