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

@@ -18,10 +18,10 @@ import com.ycwl.basic.model.mobile.order.IsBuyRespVO;
import com.ycwl.basic.model.pc.device.entity.DeviceConfigEntity;
import com.ycwl.basic.integration.device.service.DeviceIntegrationService;
import com.ycwl.basic.integration.device.dto.device.DeviceV2DTO;
import com.ycwl.basic.model.pc.device.entity.DeviceEntity;
import com.ycwl.basic.model.pc.source.entity.MemberSourceEntity;
import com.ycwl.basic.model.pc.source.entity.SourceEntity;
import com.ycwl.basic.repository.FaceRepository;
import com.ycwl.basic.repository.MemberRelationRepository;
import com.ycwl.basic.repository.ScenicRepository;
import com.ycwl.basic.repository.TemplateRepository;
import com.ycwl.basic.storage.StorageFactory;
@@ -43,7 +43,6 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -81,6 +80,8 @@ public class VideoPieceGetter {
private ScenicRepository scenicRepository;
@Autowired
private DeviceIntegrationService deviceIntegrationService;
@Autowired
private MemberRelationRepository memberRelationRepository;
@Data
public static class Task {
@@ -240,7 +241,7 @@ public class VideoPieceGetter {
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(face.getScenicId());
if (scenicConfig != null) {
// 免费送
List<MemberSourceEntity> sourceEntities = sourceMapper.listByFaceRelation(face.getScenicId(), face.getId(), 1);
List<MemberSourceEntity> sourceEntities = memberRelationRepository.listSourceByFaceRelation(face.getId(), 1);
if (sourceEntities.stream().noneMatch(item -> Integer.valueOf(1).equals(item.getIsFree()))) {
List<Long> freeSourceRelationIds = new ArrayList<>();
if (scenicConfig.getVideoFreeNum() != null && scenicConfig.getVideoFreeNum() > 0) {
@@ -344,6 +345,7 @@ public class VideoPieceGetter {
videoSource.setIsBuy(0);
}
sourceMapper.addRelation(videoSource);
memberRelationRepository.clearSCacheByFace(task.faceId);
}
sourceMapper.add(sourceEntity);
videoReUploader.addTask(sourceEntity.getId());
@@ -377,6 +379,7 @@ public class VideoPieceGetter {
}
videoSource.setSourceId(source.getId());
sourceMapper.addRelation(videoSource);
memberRelationRepository.clearSCacheByFace(task.faceId);
}
}
}

View File

@@ -10,7 +10,9 @@ import com.ycwl.basic.model.pc.face.req.FaceReqQuery;
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
import com.ycwl.basic.repository.ScenicRepository;
import com.ycwl.basic.repository.TemplateRepository;
import com.ycwl.basic.service.pc.FaceService;
import com.ycwl.basic.service.task.impl.TaskTaskServiceImpl;
import lombok.extern.slf4j.Slf4j;
@@ -41,6 +43,8 @@ public class VideoTaskGenerator {
private ScenicRepository scenicRepository;
@Autowired
private FaceService faceService;
@Autowired
private TemplateRepository templateRepository;
@Scheduled(cron = "0 0 * * * *")
public void generateVideoTask() {
@@ -68,8 +72,8 @@ public class VideoTaskGenerator {
return;
}
// 定时逻辑
List<ContentPageVO> contentList = templateMapper.listFor(scenicId);
if (contentList.isEmpty()) {
List<TemplateRespVO> templateList = templateRepository.getTemplateListByScenicId(scenicId);
if (templateList.isEmpty()) {
return;
}
FaceReqQuery faceReqQuery = new FaceReqQuery();
@@ -81,8 +85,8 @@ public class VideoTaskGenerator {
faceService.matchFaceId(face.getId(), false);
if (Integer.valueOf(3).equals(scenicConfig.getBookRoutine())) {
// 全部生成
contentList.forEach(content -> {
Long templateId = content.getTemplateId();
templateList.forEach(content -> {
Long templateId = content.getId();
boolean canAutoGenerate = templateBiz.determineTemplateCanAutoGenerate(templateId, face.getId(), false);
if (canAutoGenerate) {
log.info("task callback: 自动生成");
@@ -92,7 +96,7 @@ public class VideoTaskGenerator {
}
});
} else {
Long templateId = contentList.getFirst().getTemplateId();
Long templateId = templateList.getFirst().getId();
boolean canAutoGenerate = templateBiz.determineTemplateCanAutoGenerate(templateId, face.getId(), false);
if (canAutoGenerate) {
log.info("task callback: 自动生成");