package com.cloud.user.service.impl;
|
|
//import com.cloud.common.utils.AppUserUtil;
|
import com.cloud.model.file.FileInfo;
|
import com.cloud.model.sys.BbEmployee;
|
import com.cloud.user.dao.BbFaceDao;
|
//import com.cloud.user.feign.FileUtilClient;
|
import com.cloud.user.model.BbFace;
|
import com.cloud.user.service.BbEmployeeService;
|
import com.cloud.user.service.ExcelService;
|
import com.cloud.user.utils.ExcelImportUtil;
|
import com.cloud.user.utils.FaceUtil;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.poi.ss.usermodel.PictureData;
|
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.io.IOException;
|
import java.util.List;
|
import java.util.Map;
|
|
@Slf4j
|
@Service
|
public class ExcelServiceImpl implements ExcelService {
|
|
@Autowired
|
private BbEmployeeService service;
|
// @Autowired
|
// private FileUtilClient fileUtilClient;
|
// @Autowired
|
// private BbFaceDao bbFaceDao;
|
|
private ExcelImportUtil excelImportUtil;
|
|
@Override
|
public void getExcel(MultipartFile files, int index) {
|
excelImportUtil = new ExcelImportUtil();
|
try {
|
List<BbEmployee> list = excelImportUtil.readExcelBbEmployee(files,index);
|
if(list.size()>0){
|
readExcelSetBbEmployee(files,list);
|
for(int i=0;i<list.size();i++){
|
service.add(list.get(i));
|
}
|
}else {
|
log.info("Excel表格数据不正确!!!");
|
}
|
}catch (IOException e){
|
System.out.println(e.getMessage());
|
}
|
}
|
|
//获取图片赋值到集合
|
public List<BbEmployee> readExcelSetBbEmployee(MultipartFile file,List<BbEmployee> list ) throws IOException{
|
ExcelImportUtil excelImportUtil = new ExcelImportUtil();
|
//检查文件
|
// boolean checkFile = excelImportUtil.checkFile(file);
|
// if(checkFile) {
|
// //获得Workbook工作薄对象
|
// XSSFWorkbook workbook = excelImportUtil.getXSSFWorkbook(file);
|
// XSSFSheet sheet = workbook.getSheetAt(0);
|
// Map<String, PictureData> map = excelImportUtil.getSheetPictrues(sheet);
|
// for(int i=0;i<list.size();i++){
|
// byte[] bytes = map.get(i+"").getData();
|
// byte[] bytesFaces = bytes;
|
// try {
|
// //上传到服务器拿到路径
|
// FileInfo fileInfo = fileUtilClient.uploadByFile( list.get(i).getName(),bytes,"", AppUserUtil.getAccessToken());
|
// list.get(i).setPhotos(fileInfo.getUrl());
|
// //获取人脸特征
|
// String faces = FaceUtil.extractFeature(bytesFaces,null);
|
// //人脸特征不为空时
|
// if(!faces.isEmpty()){
|
// BbFace bbFace = new BbFace();
|
// bbFace.setOrgId(list.get(i).getOrgId());
|
// bbFace.setFeature(faces);
|
// bbFaceDao.save(bbFace);
|
// }
|
// //查询人脸表ID
|
// if(!faces.isEmpty()){
|
// Integer bbFaciId = bbFaceDao.findIdByFaces(faces);
|
// list.get(i).setFaceIds(bbFaciId.toString());
|
// }
|
// //查询人脸表ID
|
// if(!faces.isEmpty()){
|
// Integer bbFaciId = bbFaceDao.findIdByFaces(faces);
|
// list.get(i).setFaceIds(bbFaciId.toString());
|
// }
|
// }catch (Exception e){
|
// System.out.println(e.getMessage());
|
// }
|
//
|
// //生成到本地jpg图片文件
|
// //getFile(bytes,"d:\\img",i+".jpg");
|
// //File imgFile = byte2File(bytes,"d:\\img",i+".jpg");
|
// }
|
// }
|
return list;
|
}
|
}
|