package com.fgkj.controller;
|
|
import com.fgkj.util.*;
|
|
import com.fgkj.dto.DLG_Progress;
|
import com.fgkj.dto.ServiceModel;
|
import com.fgkj.dto.User_inf;
|
import com.fgkj.services.FboDataUploadService;
|
import com.google.gson.Gson;
|
import io.swagger.annotations.Api;
|
import com.fgkj.util.*;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpSession;
|
import java.io.File;
|
import java.io.FileInputStream;
|
import java.io.FileOutputStream;
|
import java.io.IOException;
|
import java.util.Date;
|
|
import javax.annotation.Resource;
|
|
@RequestMapping("fboDataUpload")
|
@RestController
|
@Api
|
public class FboDataUploadController {
|
|
// private String tableRowData;
|
// private int battgroupid;
|
// private File[] file;
|
// // 提交过来的file的名字s
|
// private String[] fileFileName;
|
// private String result;
|
@Resource
|
private FboDataUploadService service;
|
|
// 文件上传
|
@PostMapping("uploadFile")
|
public boolean uploadFile(@RequestParam String tableRowData,@RequestParam int battgroupid,
|
@RequestParam File[] file,@RequestParam String[] fileFileName) {
|
boolean res=false;
|
User_inf user = (User_inf) ActionUtil.getUser();
|
if(user!=null){
|
// System.out.println(tableRowData.length());
|
HttpSession session = ActionUtil.getSession();
|
Gson gson = new Gson();
|
createFile(file,fileFileName);
|
String[][] tableRowDatas = gson
|
.fromJson(tableRowData, String[][].class);
|
//System.out.println(file.length + "---" + tableRowDatas.length);
|
/*FboDataUploadService fduservice = new FboDataUploadService(user,
|
battgroupid, tableRowDatas, file, session);
|
fduservice.start();*/
|
service.uploadFile(user,battgroupid,tableRowDatas,file,session);
|
res=true;
|
}
|
return res;
|
}
|
|
// 停止上传
|
@PutMapping("/")
|
public DLG_Progress stopUpload() {
|
HttpSession session = ActionUtil.getSession();
|
DLG_Progress progress = (DLG_Progress) session.getAttribute("progress");
|
if (progress != null) {
|
progress.setJudge(false);
|
}
|
return progress;
|
}
|
|
// 查询进度
|
@GetMapping("progress")
|
public ServiceModel selectprogress() {
|
ServiceModel model = new ServiceModel();
|
HttpSession session = ActionUtil.getSession();
|
DLG_Progress progress = (DLG_Progress) session.getAttribute("progress");
|
// for(int i=0;i<progress.getTableData().length;i++){
|
// for(int j=0;j<progress.getTableData()[i].length;j++){
|
// System.out.print(progress.getTableData()[i][j]+"\t");
|
// }
|
// System.out.println();
|
// }
|
if (progress != null) {
|
model.setCode(1);
|
model.setData(progress);
|
}
|
return model;
|
}
|
|
public void createFile(File[] file,String[] fileFileName){
|
String root = ActionUtil.getApplication().getRealPath(""); // 上传路径
|
//System.out.println(root);
|
for(int i=0;i<file.length;i++){
|
long times=new Date().getTime();
|
String savepath=root+"/"+times+fileFileName[i];
|
File f=new File(savepath);
|
FileInputStream fis=null;
|
FileOutputStream fos=null;
|
try {
|
if (!f.exists()) {
|
/** 创建此文件对象路径 */
|
f.createNewFile();
|
}
|
/** 创建输入流 */
|
fis = new FileInputStream(file[i]);
|
/** 输出流 更据文件的路径+文件名称创建文件对象 */
|
fos = new FileOutputStream(savepath);
|
/** 读取字节 */
|
byte b[] = new byte[1024];
|
int n = 0;
|
/** 读取操作 */
|
while ((n = fis.read(b)) != -1) {
|
/** 写操作 */
|
fos.write(b, 0, n);
|
}
|
fos.flush();
|
file[i]=f;
|
} catch (Exception e) {
|
e.printStackTrace();
|
} finally{
|
/** 关闭操作 */
|
try {
|
if (fis != null) {
|
fis.close();
|
}
|
if (fos != null) {
|
fos.close();
|
}
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
|
}
|
|
}
|