Commit daf35f5f authored by 郭勇志's avatar 郭勇志

下载模板

parent 364819ef
...@@ -5,3 +5,4 @@ defined('DB_PREFIX') or define('DB_PREFIX', 'db-');//db前缀 ...@@ -5,3 +5,4 @@ defined('DB_PREFIX') or define('DB_PREFIX', 'db-');//db前缀
defined('DEFAULT_DB_PREFIX') or define('DEFAULT_DB_PREFIX', 'db');//默认db defined('DEFAULT_DB_PREFIX') or define('DEFAULT_DB_PREFIX', 'db');//默认db
defined('ADMIN_ACTIVE_STATUS') or define('ADMIN_ACTIVE_STATUS', '1');//管理员活动状态 defined('ADMIN_ACTIVE_STATUS') or define('ADMIN_ACTIVE_STATUS', '1');//管理员活动状态
defined('UPLOAD_FILE_PATH') or define('UPLOAD_FILE_PATH', dirname(__FILE__).'../../../uploadtempfiles/');//上传文件路径 defined('UPLOAD_FILE_PATH') or define('UPLOAD_FILE_PATH', dirname(__FILE__).'../../../uploadtempfiles/');//上传文件路径
defined('TEMPLATE_FILE_PATH') or define('TEMPLATE_FILE_PATH', dirname(__FILE__).'../../../template/');//模板文件路径
...@@ -38,6 +38,7 @@ return [ ...@@ -38,6 +38,7 @@ return [
'extraPatterns'=>[ 'extraPatterns'=>[
'GET,OPTIONS branch-list'=>'branch-list', 'GET,OPTIONS branch-list'=>'branch-list',
'POST,OPTIONS upload'=>'upload', 'POST,OPTIONS upload'=>'upload',
'POST,OPTIONS import-branch'=>'import-branch',
], ],
], ],
...@@ -172,6 +173,16 @@ return [ ...@@ -172,6 +173,16 @@ return [
'GET,OPTIONS area' => 'area', 'GET,OPTIONS area' => 'area',
], ],
], ],
//模板下载类
[
'class'=>'yii\rest\UrlRule',
'controller'=>[
'v1/common/down-template',
],
'extraPatterns'=>[
'GET,OPTIONS template-file' => 'template-file',
],
],
], ],
], ],
] ]
......
<?php
namespace backend\controllers\v1\common;
use Yii;
use backend\controllers\v1\BaseController;
use yii\web\HttpException;
use yidas\phpSpreadsheet\Helper;
class DownTemplateController extends BaseController
{
public $modelClass = 'app\models\v1\common\DownTemplate';
/**
* @OA\GET(
* path="/backend/web/v1/common/down-templates/template-file",
* tags={"公用类接口"},
* summary="下载模板接口(gyz)",
* description="
* 传入模板文件名和想返回的模板中文名,新添加的模板在这里添加,方便前端查看:
* 门店导入模板(import_branch.xls);",
* @OA\Parameter(name="ENG_NAME",in="query",required=true,description="模板名称",@OA\Schema(type="string")),
* @OA\Parameter(name="CN_NAME",in="query",required=true,description="模板中文名称",@OA\Schema(type="string")),
* @OA\Parameter(name="SUFFIX",in="query",description="excel后缀,默认xlsx",@OA\Schema(type="string")),
* @OA\Response(response="200",description="excel文件"),
* security={{"Authorization": {}}}
* )
*/
public function actionTemplateFile()
{
$model = new $this->modelClass();
$get = Yii::$app->request->get();
$model->setAttributes(Yii::$app->request->get());
if ($model->validate()) {
$SUFFIX=isset($get['SUFFIX'])?$get['SUFFIX']:'Xlsx';
Helper::newSpreadsheet(TEMPLATE_FILE_PATH.$get['ENG_NAME'])->output($get['CN_NAME'],$SUFFIX);
}else{
return $model;
}
}
}
\ No newline at end of file
<?php
// 下载模板类
namespace app\models\v1\common;
use yii\base\Model;
class DownTemplate extends Model
{
public $ENG_NAME;//模板名称
public $CN_NAME;//模板中文名称
public $SUFFIX;//excel后缀,默认xlsx
public function rules()
{
return [
[['ENG_NAME', 'CN_NAME'], 'required'],
[['ENG_NAME'], 'validateExistence'],
[['SUFFIX'], 'validateContain'],
];
}
/**
* 验证文件是否存在.
* @param string $attribute the attribute currently being validated
*/
public function validateExistence($attribute)
{
if(!file_exists(TEMPLATE_FILE_PATH.$this->ENG_NAME)){
$this->addError($attribute, '文件不存在.');
}
}
public function validateContain($attribute)
{
if(!in_array($this->SUFFIX,['xls','xlsx','csv'])){
$this->addError($attribute, '不支持的后缀.');
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment