Commit 6570e01f authored by yinxiaoling's avatar yinxiaoling

下载失败数据接口

parent e1b44d3c
......@@ -79,22 +79,70 @@ class StrategySetController extends Controller
//项目列表
public function getProjectsList(){
$projectInfo = [['sn'=>'projects|a3a4259352c8e964ad6ea6c5ee8a7208','name'=>'liuy-转人工测试']];
$projectInfo = [['sn'=>'projects|a3a4259352c8e964ad6ea6c5ee8a7208','name'=>'liuy-转人工测试'],['sn'=>'projects|a3a4259352c8e964ad6ea6c5ee8a7208','name'=>'liuy-转人工测试']];
return $this->successWithInfo(['data'=>$projectInfo]);
}
//下载模板及下载导入失败excel数据
public function downloadModel(Request $request,StrategyService $StrategyService){
$excelFile = $request->filename;
if (!empty($excelFile)){//下载失败导入数据
}else{//下载模板
$excelName = "策略任务数据导入模板";
$datas[0][0]= "姓名";
$datas[0][1]= "*手机号码";
$datas[0][2]= "值班日期";
$StrategyService->storeExcelStyle($excelName, $datas,'','',1);
}
public function downloadFailExcel(Request $request){
$excelFile = $request->filename;
if (empty($excelFile)){
return $this->errorWithInfo('表单验证失败', 401);
}
$url = storage_path()."\\exports\\".$excelFile.'.xlsx';
try{
if (!file_exists($url)){
return $this->errorWithInfo('文件不存在,下载失败111', 401);
}
$cont=fopen($url,'r');
$fcontent = fread($cont,filesize($url));
fclose($cont);
//发送mp3文件MIME 头
header('Content-Type:application/vnd.ms-excel');
// 发送下载附件头.
header("Content-disposition: attachment; filename=\"".$url."\"");
header('Content-transfer-encoding: binary');
return $fcontent;
}catch(\Exception $e){
return $this->errorWithInfo('下载异常', 401);
}
}
//导入excel数据
public function importExcelData(Request $request,StrategyService $StrategyService){
$validator = Validator::make($request->all(), [
'strategy_sn' => 'required',
'upload' => 'required'
]);
if ($validator->fails()) {
return $this->errorWithInfo('表单验证失败', 401);
}
$strategySn = $request->strategy_sn;
if (isset($request->upload) && !empty($request->upload)){ //excel文件上传
$excelData = $StrategyService->validUploadExcel($request,'upload',8388608); //限制最大上传文件8M
if (isset($excelData['code'])){
return $this->errorWithInfo($excelData['msg'], 401);
}
//验证excel数据格式及不合格数据原因
$excelDataValid = $StrategyService->validExcelData($excelData, $params['day_type']);
extract($excelDataValid);
unset($params['upload']);
}else{
return $this->errorWithInfo('请选择导入文件', 401);
}
}
}
......@@ -106,7 +106,7 @@ class StrategyService
$failFile = $this->storeExcelStyle($failExcelName, $failData,'','import');
//$failDataFile = $failExcelName.'.xlsx';
if ($failFile){
$failDataFile = $failExcelName.'.xlsx';
$failDataFile = $failExcelName;
}else{ //失败数据写入失败
Log::channel('api')->error('错误文件excel写入失败');
}
......
......@@ -26,6 +26,8 @@ Route::group(['middleware' => 'check.apikey','namespace'=>'strategy'], function
Route::get('strategy/downloadModel', 'StrategySetController@downloadModel')->name('strategy.downloadModel');//导出模板
Route::get('strategy/downloadFailExcel', 'StrategySetController@downloadFailExcel')->name('strategy.downloadFailExcel');//下载失败导入excel数据
Route::apiResource('strategySet', StrategySetController::class);
});
......
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