feat(face):人脸上传接口增加scene参数

- 在AioDeviceController中调用faceUpload时添加空字符串scene参数
- 在LyCompatibleController中调用faceUpload时添加空字符串scene参数- 在AppFaceController中增加scene请求参数并传递给faceService
- 修改FaceService接口和实现类faceUpload方法签名,添加scene参数- 移除多个控制器和服务中未使用的导入依赖
- 调整代码格式以符合规范
This commit is contained in:
2025-11-03 17:45:30 +08:00
parent 6886f87fe9
commit fa8a8ed711
5 changed files with 17 additions and 16 deletions

View File

@@ -12,29 +12,22 @@ import com.ycwl.basic.model.aio.entity.AioDevicePriceConfigEntity;
import com.ycwl.basic.model.aio.req.AioDeviceCreateOrderReq;
import com.ycwl.basic.model.aio.resp.AioDeviceCreateOrderResp;
import com.ycwl.basic.model.aio.resp.AioDeviceInfoResp;
import com.ycwl.basic.model.jwt.JwtInfo;
import com.ycwl.basic.model.mobile.face.FaceRecognizeResp;
import com.ycwl.basic.model.mobile.goods.GoodsDetailVO;
import com.ycwl.basic.model.mobile.goods.GoodsReqQuery;
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
import com.ycwl.basic.model.pc.member.entity.MemberEntity;
import com.ycwl.basic.model.pc.member.resp.MemberRespVO;
import com.ycwl.basic.pay.entity.PayResponse;
import com.ycwl.basic.service.aio.AioDeviceService;
import com.ycwl.basic.service.mobile.GoodsService;
import com.ycwl.basic.service.pc.FaceService;
import com.ycwl.basic.service.pc.OrderService;
import com.ycwl.basic.service.pc.ScenicService;
import com.ycwl.basic.service.pc.SourceService;
import com.ycwl.basic.storage.adapters.IStorageAdapter;
import com.ycwl.basic.utils.ApiResponse;
import com.ycwl.basic.utils.JwtTokenUtil;
import com.ycwl.basic.utils.SnowFlakeUtil;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Strings;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
@@ -119,7 +112,7 @@ public class AioDeviceController {
memberEntity.setId(SnowFlakeUtil.getLongId());
memberEntity.setNickname("用户");
memberMapper.add(memberEntity);
FaceRecognizeResp resp = faceService.faceUpload(file, aioDevice.getScenicId(), memberEntity.getId());
FaceRecognizeResp resp = faceService.faceUpload(file, aioDevice.getScenicId(), memberEntity.getId(), "");
// 尝试超分
new Thread(() -> {
try {

View File

@@ -18,7 +18,6 @@ import com.ycwl.basic.model.pc.task.entity.TaskEntity;
import com.ycwl.basic.model.pc.video.entity.VideoEntity;
import com.ycwl.basic.repository.VideoRepository;
import com.ycwl.basic.repository.VideoTaskRepository;
import com.ycwl.basic.service.mobile.AppScenicService;
import com.ycwl.basic.service.mobile.GoodsService;
import com.ycwl.basic.service.pc.FaceService;
import com.ycwl.basic.service.task.impl.TaskTaskServiceImpl;
@@ -114,7 +113,7 @@ public class LyCompatibleController {
}
FaceRecognizeResp resp;
try {
resp = faceService.faceUpload(file, scenicId, member.getId());
resp = faceService.faceUpload(file, scenicId, member.getId(), "");
} catch (Exception e) {
return R.error("上传失败!报错:"+e.getMessage());
}

View File

@@ -40,11 +40,13 @@ public class AppFaceController {
*/
// 人脸照片上传
@PostMapping("/faceUPload")
public ApiResponse<FaceRecognizeResp> faceUpload(@RequestParam("file")MultipartFile file, @RequestParam("scenicId") Long scenicId) {
public ApiResponse<FaceRecognizeResp> faceUpload(@RequestParam("file")MultipartFile file,
@RequestParam(value = "scene", defaultValue = "", required = false) String scene,
@RequestParam("scenicId") Long scenicId) {
//获取用户id
JwtInfo worker = JwtTokenUtil.getWorker();
Long userId = worker.getUserId();
FaceRecognizeResp resp = faceService.faceUpload(file, scenicId, userId);
FaceRecognizeResp resp = faceService.faceUpload(file, scenicId, userId, scene);
return ApiResponse.success(resp);
}

View File

@@ -28,7 +28,7 @@ public interface FaceService {
ApiResponse<Integer> deleteById(Long id);
ApiResponse<Integer> deleteByIds(List<Long> ids);
FaceRecognizeResp faceUpload(MultipartFile file, Long scenicId, Long userId);
FaceRecognizeResp faceUpload(MultipartFile file, Long scenicId, Long userId, String scene);
List<FaceRespVO> listByUser(Long userId, String scenicId);
SearchFaceRespVo matchFaceId(Long faceId);

View File

@@ -15,7 +15,6 @@ import com.ycwl.basic.mapper.ProjectMapper;
import com.ycwl.basic.mapper.SourceMapper;
import com.ycwl.basic.mapper.StatisticsMapper;
import com.ycwl.basic.mapper.FaceMapper;
import com.ycwl.basic.mapper.TemplateMapper;
import com.ycwl.basic.mapper.VideoMapper;
import com.ycwl.basic.mapper.OrderMapper;
import com.ycwl.basic.model.mobile.face.FaceRecognizeResp;
@@ -224,7 +223,7 @@ public class FaceServiceImpl implements FaceService {
}
@Override
public FaceRecognizeResp faceUpload(MultipartFile file, Long scenicId, Long userId) {
public FaceRecognizeResp faceUpload(MultipartFile file, Long scenicId, Long userId, String scene) {
//1、上传人脸照片
IStorageAdapter adapter = StorageFactory.use("faces");
String filePath = StorageUtil.joinPath(USER_FACE, DateUtil.format(new Date(),"yyyy-MM-dd"));
@@ -292,7 +291,15 @@ public class FaceServiceImpl implements FaceService {
// 异步执行自动添加打印
Long finalFaceId = newFaceId;
new Thread(() -> autoAddPhotosToPreferPrint(finalFaceId), "auto-add-print-" + newFaceId).start();
Thread thread = new Thread(() -> autoAddPhotosToPreferPrint(finalFaceId), "auto-add-print-" + newFaceId);
thread.start();
if (org.apache.commons.lang3.Strings.CI.equals("print", scene)) {
try {
thread.join();
} catch (InterruptedException ignore) {
}
}
return resp;
}