<?php /** * 【调研中心-后台】24_下载问题的所有附件 * DownAllFileController.class.php * CreateBy:dj * Date:2017-06-19 */ namespace Apicp\Controller\Export; use Common\Common\ExportDownload; use Common\Service\BaseinfoService; use Common\Service\QuestionService; use Common\Service\RecordService; class DownAllFileController extends \Apicp\Controller\AbstractController { // 免登录 protected $_require_login = false; public function Index() { // 问题id $q_id = I('post.q_id', '0', 'intval'); // 参数验证 if (empty($q_id)) { E('_EMPTY_QUESTION_ID'); } // 调研回答信息表 $question_s = new QuestionService(); // 获取问题信息 $data = $question_s->get($q_id); if (empty($data)) { E('_EMPTY_QUESTION_DATA'); } // 调研基本信息表 $base_s = new BaseinfoService(); // 获取调研基本信息 $base_info = $base_s->get($data['qu_id']); // 调研填写信息表 $record_s = new RecordService(); // 调研填写记录详情列表 $record_list = $record_s->list_by_where($q_id); // 获取该试题的回答记录 $result_data = $question_s->format_other_list($record_list, $page = 1, count($record_list), $base_info['anonymous']); if (empty($result_data)) { E('_EMPTY_QUESTION_ANSWER'); } $pic_list = []; // 循环数据,格式化图片地址 foreach ($result_data as $v) { $pic_data = []; $answer_option_data = []; if (!empty($v['answer_content'])) { // 反序列化答案数据 $answer_option_data = unserialize($v['answer_content']); } // 此处需要处理答案中包含的图片的显示路径 foreach ($answer_option_data as $_v) { if (!empty($_v['option_img'])) { $pic_arr = []; $pic_arr['imgUrl'] = imgUrl($_v['option_img']); $pic_data[] = $pic_arr; } } // 处理部门信息 if (empty($v['user_dp'])) { $key = $v['user_name']; } else { $key = $v['user_name'] . '(' . $v['user_dp'] . ')'; } $pic_list[$key] = $pic_data; } if (empty($pic_list)) { E('_EMPTY_QUESTION_ANSWER'); } // 生成文件名 $title = $base_info['title'].'_问题附件_'.date('YmdHis', time()); $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), 'q_id'=>$q_id, 'id' => $id, 'title' => $title ]; $url = oaUrl('Frontend/Callback/DownAllFile'); // 生成定时任务 ExportDownload::set_Cron($params, $url, '打包下载图片', 'Exam_GIF_Pdf_' . $id); return true; } }