You've already forked FrameTour-BE
彻底铲除OSSUtil,抽象、修改
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
package com.ycwl.basic.service.impl.pc;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ycwl.basic.mapper.FaceDetectLogMapper;
|
||||
import com.ycwl.basic.model.pc.faceDetectLog.entity.FaceDetectLog;
|
||||
import com.ycwl.basic.service.pc.FaceDetectLogService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class FaceDetectLogServiceImpl extends ServiceImpl<FaceDetectLogMapper, FaceDetectLog> implements FaceDetectLogService {
|
||||
@Override
|
||||
public List<FaceDetectLog> listByTimeDesc() {
|
||||
LambdaQueryWrapper<FaceDetectLog> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.orderByDesc(FaceDetectLog::getCreateTime);
|
||||
return list(queryWrapper);
|
||||
}
|
||||
}
|
||||
@@ -16,6 +16,10 @@ import com.ycwl.basic.model.task.resp.SearchFaceRespVo;
|
||||
import com.ycwl.basic.service.pc.FaceService;
|
||||
import com.ycwl.basic.service.task.TaskFaceService;
|
||||
import com.ycwl.basic.service.task.TaskService;
|
||||
import com.ycwl.basic.storage.StorageFactory;
|
||||
import com.ycwl.basic.storage.adapters.IStorageAdapter;
|
||||
import com.ycwl.basic.storage.enums.StorageType;
|
||||
import com.ycwl.basic.storage.utils.StorageUtil;
|
||||
import com.ycwl.basic.task.FaceCleaner;
|
||||
import com.ycwl.basic.utils.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -31,6 +35,7 @@ import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.ycwl.basic.constant.FaceConstant.USER_FACE_DB_NAME;
|
||||
@@ -45,8 +50,6 @@ public class FaceServiceImpl implements FaceService {
|
||||
@Autowired
|
||||
private FaceMapper faceMapper;
|
||||
@Autowired
|
||||
private OssUtil ossUtil;
|
||||
@Autowired
|
||||
private TaskFaceService faceService;
|
||||
@Autowired
|
||||
private StatisticsMapper statisticsMapper;
|
||||
@@ -56,8 +59,6 @@ public class FaceServiceImpl implements FaceService {
|
||||
private float strictScore = 90F;
|
||||
@Autowired
|
||||
private TaskService taskTaskService;
|
||||
@Autowired
|
||||
private FaceCleaner faceCleaner;
|
||||
|
||||
@Override
|
||||
public ApiResponse<PageInfo<FaceRespVO>> pageQuery(FaceReqQuery faceReqQuery) {
|
||||
@@ -123,17 +124,21 @@ public class FaceServiceImpl implements FaceService {
|
||||
log.info("当前登录用户信息:{}",worker);
|
||||
|
||||
//1、上传人脸照片
|
||||
String faceUrl = uploadFileALiOss(file, userId);
|
||||
IStorageAdapter adapter = StorageFactory.use("faces");
|
||||
String filePath = StorageUtil.joinPath("user-faces", DateUtils.format(new Date(),"yyyy-MM-dd"));
|
||||
String originalFilename = file.getOriginalFilename();
|
||||
String suffix = originalFilename.split("\\.", 2)[1];
|
||||
String fileName = UUID.randomUUID().toString() + "." + suffix;
|
||||
String faceUrl = adapter.uploadFile(file, filePath, fileName);
|
||||
SearchFaceRespVo scenicDbSearchResult = faceService.searchFace(scenicId, faceUrl);
|
||||
if (scenicDbSearchResult == null) {
|
||||
ossUtil.deleteFileByUrl(faceUrl);
|
||||
adapter.deleteFile(filePath, fileName);
|
||||
throw new BaseException("人脸照片校验失败,请重新上传");
|
||||
}
|
||||
float score = scenicDbSearchResult.getScore();
|
||||
if (score<faceScore) {
|
||||
//校验失败,删除,提示重新上传
|
||||
ossUtil.deleteFileByUrl(faceUrl);
|
||||
|
||||
adapter.deleteFile(filePath, fileName);
|
||||
throw new BaseException("人脸照片校验失败,请重新上传");
|
||||
}
|
||||
// 2、通过人脸查找用户库
|
||||
@@ -194,37 +199,4 @@ public class FaceServiceImpl implements FaceService {
|
||||
return ApiResponse.success(faceMapper.getByMemberId(memberId, 3928516560393736192L));
|
||||
}
|
||||
|
||||
/**
|
||||
* 阿里oss图片上传
|
||||
*
|
||||
* @param file file
|
||||
* @param userId 用户id
|
||||
* @return 地址
|
||||
*/
|
||||
private String uploadFileALiOss(MultipartFile file,Long userId) {
|
||||
if (file.isEmpty()) {
|
||||
throw new RuntimeException("文件不存在!");
|
||||
}
|
||||
String originalFilename = file.getOriginalFilename();
|
||||
//获取文件名后缀
|
||||
String suffix = originalFilename.split("\\.")[1];
|
||||
if ("Jpeg".equals(suffix)) {
|
||||
suffix = "jpg";
|
||||
}
|
||||
//文件储存路径
|
||||
String filePath="";
|
||||
String dateStr = DateUtils.format(new Date(),"yyyy-MM-dd");
|
||||
|
||||
filePath=filePath+dateStr+"/";
|
||||
// 生成文件名
|
||||
String fileName= userId+"." + suffix;
|
||||
InputStream inputStream ;
|
||||
try {
|
||||
inputStream = file.getInputStream();
|
||||
} catch (IOException e) {
|
||||
log.error("文件上传失败!", e);
|
||||
return null;
|
||||
}
|
||||
return ossUtil.uploadFile(inputStream,filePath+fileName) ;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user