C a c h e

This commit is contained in:
2025-09-20 17:49:03 +08:00
parent d55c7a7769
commit b7d3e20c46
16 changed files with 219 additions and 75 deletions

View File

@@ -3,6 +3,7 @@ package com.ycwl.basic.service.task.impl;
import cn.hutool.core.date.DateUtil;
import com.ycwl.basic.integration.common.manager.DeviceConfigManager;
import com.ycwl.basic.integration.common.manager.ScenicConfigManager;
import com.ycwl.basic.repository.MemberRelationRepository;
import com.ycwl.basic.utils.JacksonUtil;
import com.aliyuncs.facebody.model.v20191230.SearchFaceRequest;
import com.ycwl.basic.biz.OrderBiz;
@@ -81,6 +82,8 @@ public class TaskFaceServiceImpl implements TaskFaceService {
@Autowired
@Lazy
private ScenicService scenicService;
@Autowired
private MemberRelationRepository memberRelationRepository;
private IAcsClient getClient() {
AliFaceBodyAdapter use = (AliFaceBodyAdapter) FaceBodyFactory.use();
@@ -151,6 +154,7 @@ public class TaskFaceServiceImpl implements TaskFaceService {
}
}
sourceMapper.addRelations(memberSourceEntityList);
memberRelationRepository.clearSCacheByFace(faceId);
VideoPieceGetter.Task task = new VideoPieceGetter.Task();
task.faceId = faceEntity.getId();
task.faceSampleIds = sampleListIds;

View File

@@ -5,22 +5,20 @@ import cn.hutool.crypto.digest.MD5;
import com.ycwl.basic.integration.common.manager.DeviceConfigManager;
import com.ycwl.basic.integration.common.manager.RenderWorkerConfigManager;
import com.ycwl.basic.integration.common.manager.ScenicConfigManager;
import com.ycwl.basic.repository.MemberRelationRepository;
import com.ycwl.basic.repository.SourceRepository;
import com.ycwl.basic.utils.JacksonUtil;
import com.ycwl.basic.biz.OrderBiz;
import com.ycwl.basic.biz.TaskStatusBiz;
import com.ycwl.basic.biz.TemplateBiz;
import com.ycwl.basic.constant.StorageConstant;
import com.ycwl.basic.constant.TaskConstant;
import com.ycwl.basic.mapper.FaceMapper;
import com.ycwl.basic.mapper.FaceSampleMapper;
import com.ycwl.basic.mapper.MemberMapper;
import com.ycwl.basic.mapper.SourceMapper;
import com.ycwl.basic.mapper.TaskMapper;
import com.ycwl.basic.mapper.TemplateMapper;
import com.ycwl.basic.mapper.VideoMapper;
import com.ycwl.basic.model.mobile.order.IsBuyRespVO;
import com.ycwl.basic.model.pc.device.entity.DeviceEntity;
import com.ycwl.basic.model.pc.face.entity.FaceEntity;
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
import com.ycwl.basic.model.pc.faceSample.entity.FaceSampleEntity;
@@ -69,8 +67,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
@@ -129,6 +125,8 @@ public class TaskTaskServiceImpl implements TaskService {
private RedisTemplate<String, String> redisTemplate;
@Autowired
private SourceRepository sourceRepository;
@Autowired
private MemberRelationRepository memberRelationRepository;
private RenderWorkerEntity getWorker(@NonNull WorkerAuthReqVo req) {
String accessKey = req.getAccessKey();
@@ -423,6 +421,7 @@ public class TaskTaskServiceImpl implements TaskService {
}
}
videoMapper.addRelation(memberVideoEntity);
memberRelationRepository.clearVCacheByFace(faceId);
// 只有在非强制创建时才更新切割任务状态
if (!forceCreate) {
@@ -511,6 +510,7 @@ public class TaskTaskServiceImpl implements TaskService {
}
}
videoMapper.updateRelationWhenTaskSuccess(taskId, video.getId(), isBuy);
memberRelationRepository.clearVCacheByFace(task.getFaceId());
Thread.ofVirtual().start(() -> sendVideoGeneratedServiceNotification(taskId));
}