You've already forked FrameTour-BE
refactor(scenic): 重构景区相关接口和缓存机制
- 移除 ScenicMapper 接口,将相关方法移至 ScenicRepository - 修改景区列表查询逻辑,使用 ScenicRepository 的 list 方法 - 优化景区详情获取方式,使用 ScenicRepository 的 getScenicBasic 方法 - 重构缓存机制,增加对景区基本信息的缓存 - 优化 AppScenicService 和 ScenicService接口,使用 ScenicV2DTO 替代 ScenicRespV
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
package com.ycwl.basic.task;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.ycwl.basic.integration.scenic.dto.scenic.ScenicV2DTO;
|
||||
import com.ycwl.basic.mapper.CouponMapper;
|
||||
import com.ycwl.basic.mapper.MemberMapper;
|
||||
import com.ycwl.basic.mapper.ScenicMapper;
|
||||
import com.ycwl.basic.mapper.VideoMapper;
|
||||
import com.ycwl.basic.model.pc.coupon.req.CouponQueryReq;
|
||||
import com.ycwl.basic.model.pc.coupon.resp.CouponRespVO;
|
||||
@@ -12,8 +12,6 @@ import com.ycwl.basic.model.pc.mp.MpConfigEntity;
|
||||
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
|
||||
import com.ycwl.basic.model.pc.scenic.entity.ScenicEntity;
|
||||
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
|
||||
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
|
||||
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
|
||||
import com.ycwl.basic.notify.NotifyFactory;
|
||||
import com.ycwl.basic.notify.adapters.INotifyAdapter;
|
||||
import com.ycwl.basic.notify.entity.NotifyContent;
|
||||
@@ -47,10 +45,6 @@ public class DownloadNotificationTasker {
|
||||
@Autowired
|
||||
private MemberMapper memberMapper;
|
||||
@Autowired
|
||||
private TemplateRepository templateRepository;
|
||||
@Autowired
|
||||
private ScenicMapper scenicMapper;
|
||||
@Autowired
|
||||
private CouponMapper couponMapper;
|
||||
|
||||
@Scheduled(cron = "0 0 21 * * *")
|
||||
@@ -168,7 +162,9 @@ public class DownloadNotificationTasker {
|
||||
@Scheduled(cron = "0 0 * * * *")
|
||||
public void sendExtraDownloadNotification() {
|
||||
log.info("开始执行定时任务");
|
||||
List<ScenicRespVO> scenicList = scenicMapper.list(new ScenicReqQuery());
|
||||
ScenicReqQuery query = new ScenicReqQuery();
|
||||
query.setPageSize(1000);
|
||||
List<ScenicV2DTO> scenicList = scenicRepository.list(query);
|
||||
if (scenicList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
@@ -177,7 +173,7 @@ public class DownloadNotificationTasker {
|
||||
int currentHour = calendar.get(Calendar.HOUR_OF_DAY);
|
||||
calendar.clear();
|
||||
scenicList.parallelStream().forEach(scenic -> {
|
||||
Long scenicId = scenic.getId();
|
||||
Long scenicId = Long.parseLong(scenic.getId());
|
||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId);
|
||||
if (scenicConfig == null) {
|
||||
return;
|
||||
|
@@ -7,7 +7,6 @@ import com.ycwl.basic.facebody.adapter.AliFaceBodyAdapter;
|
||||
import com.ycwl.basic.facebody.adapter.IFaceBodyAdapter;
|
||||
import com.ycwl.basic.mapper.FaceMapper;
|
||||
import com.ycwl.basic.mapper.FaceSampleMapper;
|
||||
import com.ycwl.basic.mapper.ScenicMapper;
|
||||
import com.ycwl.basic.mapper.TemplateMapper;
|
||||
import com.ycwl.basic.model.pc.face.entity.FaceEntity;
|
||||
import com.ycwl.basic.model.pc.faceSample.resp.FaceSampleRespVO;
|
||||
@@ -40,8 +39,6 @@ import static com.ycwl.basic.constant.FaceConstant.USER_FACE_DB_NAME;
|
||||
@EnableScheduling
|
||||
@Slf4j
|
||||
public class DynamicTaskGenerator {
|
||||
@Autowired
|
||||
private ScenicMapper scenicMapper;
|
||||
@Autowired
|
||||
private TemplateMapper templateMapper;
|
||||
@Autowired
|
||||
|
@@ -4,9 +4,9 @@ import cn.hutool.core.date.DateUnit;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.ycwl.basic.constant.StorageConstant;
|
||||
import com.ycwl.basic.facebody.adapter.IFaceBodyAdapter;
|
||||
import com.ycwl.basic.integration.scenic.dto.scenic.ScenicV2DTO;
|
||||
import com.ycwl.basic.mapper.FaceMapper;
|
||||
import com.ycwl.basic.mapper.FaceSampleMapper;
|
||||
import com.ycwl.basic.mapper.ScenicMapper;
|
||||
import com.ycwl.basic.mapper.SourceMapper;
|
||||
import com.ycwl.basic.mapper.VideoMapper;
|
||||
import com.ycwl.basic.model.pc.face.entity.FaceEntity;
|
||||
@@ -16,7 +16,6 @@ import com.ycwl.basic.model.pc.faceSample.req.FaceSampleReqQuery;
|
||||
import com.ycwl.basic.model.pc.faceSample.resp.FaceSampleRespVO;
|
||||
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
|
||||
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
|
||||
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
|
||||
import com.ycwl.basic.model.pc.source.req.SourceReqQuery;
|
||||
import com.ycwl.basic.model.pc.source.resp.SourceRespVO;
|
||||
import com.ycwl.basic.model.pc.video.req.VideoReqQuery;
|
||||
@@ -46,8 +45,6 @@ import static com.ycwl.basic.constant.StorageConstant.VIID_FACE;
|
||||
@Slf4j
|
||||
@Profile("prod")
|
||||
public class FaceCleaner {
|
||||
@Autowired
|
||||
private ScenicMapper scenicMapper;
|
||||
@Autowired
|
||||
private FaceSampleMapper faceSampleMapper;
|
||||
@Autowired
|
||||
@@ -64,25 +61,27 @@ public class FaceCleaner {
|
||||
|
||||
@Scheduled(cron = "0 0 1 * * ?")
|
||||
public void deleteExpireSample(){
|
||||
ScenicReqQuery scenicQuery = new ScenicReqQuery();
|
||||
List<ScenicRespVO> scenicList = scenicMapper.list(scenicQuery);
|
||||
ScenicReqQuery query = new ScenicReqQuery();
|
||||
query.setPageSize(1000);
|
||||
List<ScenicV2DTO> scenicList = scenicRepository.list(query);
|
||||
scenicList.parallelStream().forEach(scenic -> {
|
||||
log.info("当前景区{},开始删除人脸样本", scenic.getId());
|
||||
IFaceBodyAdapter adapter = scenicService.getScenicFaceBodyAdapter(scenic.getId());
|
||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenic.getId());
|
||||
Long scenicId = Long.parseLong(scenic.getId());
|
||||
log.info("当前景区{},开始删除人脸样本", scenicId);
|
||||
IFaceBodyAdapter adapter = scenicService.getScenicFaceBodyAdapter(scenicId);
|
||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId);
|
||||
Integer sampleStoreDay = scenicConfig.getSampleStoreDay();
|
||||
if (sampleStoreDay == null) {
|
||||
log.info("当前景区{},人脸样本保存天数未设置,默认7天", scenic.getId());
|
||||
sampleStoreDay = 7;
|
||||
}
|
||||
Date sampleEndDate = DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -sampleStoreDay);
|
||||
List<FaceSampleEntity> faceSampleList = faceSampleMapper.listEntityBeforeDate(scenic.getId(), sampleEndDate);
|
||||
List<FaceSampleEntity> faceSampleList = faceSampleMapper.listEntityBeforeDate(scenicId, sampleEndDate);
|
||||
if (faceSampleList.isEmpty()) {
|
||||
log.info("当前景区{},人脸样本为空", scenic.getId());
|
||||
return;
|
||||
}
|
||||
faceSampleList.forEach(faceSample -> {
|
||||
boolean success = adapter.deleteFace(String.valueOf(scenic.getId()), faceSample.getId().toString());
|
||||
boolean success = adapter.deleteFace(scenic.getId(), faceSample.getId().toString());
|
||||
if (success) {
|
||||
log.info("当前景区{},人脸样本ID{},删除成功", scenic.getId(), faceSample.getId());
|
||||
faceSampleMapper.deleteById(faceSample.getId());
|
||||
@@ -95,21 +94,23 @@ public class FaceCleaner {
|
||||
|
||||
@Scheduled(cron = "0 45 2 * * ?")
|
||||
public void deleteExpireFace() {
|
||||
ScenicReqQuery scenicQuery = new ScenicReqQuery();
|
||||
List<ScenicRespVO> scenicList = scenicMapper.list(scenicQuery);
|
||||
ScenicReqQuery query = new ScenicReqQuery();
|
||||
query.setPageSize(1000);
|
||||
List<ScenicV2DTO> scenicList = scenicRepository.list(query);
|
||||
scenicList.parallelStream().forEach(scenic -> {
|
||||
Long scenicId = Long.parseLong(scenic.getId());
|
||||
log.info("当前景区{},开始删除用户人脸", scenic.getId());
|
||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenic.getId());
|
||||
IFaceBodyAdapter adapter = scenicService.getScenicFaceBodyAdapter(scenic.getId());
|
||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId);
|
||||
IFaceBodyAdapter adapter = scenicService.getScenicFaceBodyAdapter(scenicId);
|
||||
Integer faceStoreDay = scenicConfig.getFaceStoreDay();
|
||||
if (faceStoreDay == null) {
|
||||
log.info("当前景区{},人脸样本保存天数未设置,默认3天", scenic.getName());
|
||||
faceStoreDay = 3;
|
||||
}
|
||||
FaceReqQuery req = new FaceReqQuery();
|
||||
req.setScenicId(scenic.getId());
|
||||
req.setScenicId(scenicId);
|
||||
Date faceEndDate = DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -faceStoreDay);
|
||||
List<FaceEntity> list = faceMapper.listUnpaidEntityBeforeDate(scenic.getId(), faceEndDate);
|
||||
List<FaceEntity> list = faceMapper.listUnpaidEntityBeforeDate(scenicId, faceEndDate);
|
||||
list.forEach(face -> {
|
||||
boolean result = adapter.deleteFace(USER_FACE_DB_NAME+face.getScenicId(), face.getId().toString());
|
||||
if (result) {
|
||||
@@ -130,10 +131,12 @@ public class FaceCleaner {
|
||||
|
||||
@Scheduled(cron = "0 0 1 * * ?")
|
||||
public void deleteNotBuySource(){
|
||||
ScenicReqQuery scenicQuery = new ScenicReqQuery();
|
||||
List<ScenicRespVO> scenicList = scenicMapper.list(scenicQuery);
|
||||
ScenicReqQuery query = new ScenicReqQuery();
|
||||
query.setPageSize(1000);
|
||||
List<ScenicV2DTO> scenicList = scenicRepository.list(query);
|
||||
scenicList.parallelStream().forEach(scenic -> {
|
||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenic.getId());
|
||||
Long scenicId = Long.valueOf(scenic.getId());
|
||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId);
|
||||
if (scenicConfig == null) {
|
||||
log.info("当前景区{},无配置信息", scenic.getName());
|
||||
return;
|
||||
@@ -144,17 +147,19 @@ public class FaceCleaner {
|
||||
}
|
||||
int expireDay = scenicConfig.getUserSourceExpireDay();
|
||||
Date endDate = DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -expireDay);
|
||||
int deleteCount = sourceMapper.deleteNotBuyRelations(scenic.getId(), endDate);
|
||||
int deleteCount = sourceMapper.deleteNotBuyRelations(scenicId, endDate);
|
||||
log.info("当前景区{},删除关联素材{}个", scenic.getName(), deleteCount);
|
||||
});
|
||||
}
|
||||
|
||||
@Scheduled(cron = "0 15 1 * * ?")
|
||||
public void deleteNotBuyVideos(){
|
||||
ScenicReqQuery scenicQuery = new ScenicReqQuery();
|
||||
List<ScenicRespVO> scenicList = scenicMapper.list(scenicQuery);
|
||||
ScenicReqQuery query = new ScenicReqQuery();
|
||||
query.setPageSize(1000);
|
||||
List<ScenicV2DTO> scenicList = scenicRepository.list(query);
|
||||
scenicList.parallelStream().forEach(scenic -> {
|
||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenic.getId());
|
||||
Long scenicId = Long.valueOf(scenic.getId());
|
||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId);
|
||||
if (scenicConfig == null) {
|
||||
log.info("当前景区{},无配置信息", scenic.getName());
|
||||
return;
|
||||
@@ -165,7 +170,7 @@ public class FaceCleaner {
|
||||
}
|
||||
int expireDay = scenicConfig.getVideoStoreDay();
|
||||
Date endDate = DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -expireDay);
|
||||
int deleteCount = videoMapper.deleteNotBuyRelations(scenic.getId(), endDate);
|
||||
int deleteCount = videoMapper.deleteNotBuyRelations(scenicId, endDate);
|
||||
int deleteVideoCount = videoMapper.deleteUselessVideo();
|
||||
log.info("当前景区{},删除VLOG关系{}个,删除VLOG记录{}个", scenic.getName(), deleteCount, deleteVideoCount);
|
||||
});
|
||||
@@ -173,10 +178,12 @@ public class FaceCleaner {
|
||||
|
||||
@Scheduled(cron = "0 30 1 * * ?")
|
||||
public void deleteExpiredSource(){
|
||||
ScenicReqQuery scenicQuery = new ScenicReqQuery();
|
||||
List<ScenicRespVO> scenicList = scenicMapper.list(scenicQuery);
|
||||
ScenicReqQuery query = new ScenicReqQuery();
|
||||
query.setPageSize(1000);
|
||||
List<ScenicV2DTO> scenicList = scenicRepository.list(query);
|
||||
scenicList.parallelStream().forEach(scenic -> {
|
||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenic.getId());
|
||||
Long scenicId = Long.valueOf(scenic.getId());
|
||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId);
|
||||
if (scenicConfig == null) {
|
||||
log.info("当前景区{},无配置信息", scenic.getName());
|
||||
return;
|
||||
@@ -193,10 +200,10 @@ public class FaceCleaner {
|
||||
} else {
|
||||
log.info("当前景区{},原始素材保存天数未设置,默认7天", scenic.getName());
|
||||
}
|
||||
if (Integer.valueOf(1).equals(scenicConfig.getDisableSourceVideo())) {
|
||||
if (Boolean.TRUE.equals(scenicConfig.getDisableSourceVideo())) {
|
||||
return;
|
||||
}
|
||||
if (Integer.valueOf(1).equals(scenicConfig.getDisableSourceImage())) {
|
||||
if (Boolean.TRUE.equals(scenicConfig.getDisableSourceImage())) {
|
||||
return;
|
||||
}
|
||||
log.info("当前景区{},开始删除原始素材", scenic.getName());
|
||||
@@ -240,12 +247,16 @@ public class FaceCleaner {
|
||||
log.info("开始清理源视频素材文件");
|
||||
List<SourceRespVO> list = sourceMapper.list(new SourceReqQuery());
|
||||
ArrayList<String> adapterIdentity = new ArrayList<>();
|
||||
scenicMapper.list(new ScenicReqQuery()).forEach(scenic -> {
|
||||
if (disableDeleteScenicIds.contains(scenic.getId().toString())) {
|
||||
ScenicReqQuery query = new ScenicReqQuery();
|
||||
query.setPageSize(1000);
|
||||
List<ScenicV2DTO> scenicList = scenicRepository.list(query);
|
||||
scenicList.forEach(scenic -> {
|
||||
Long scenicId = Long.valueOf(scenic.getId());
|
||||
if (disableDeleteScenicIds.contains(scenic.getId())) {
|
||||
log.info("景区【{}】禁止删除文件,跳过!", scenic.getName());
|
||||
return;
|
||||
}
|
||||
IStorageAdapter adapter = scenicService.getScenicStorageAdapter(scenic.getId());
|
||||
IStorageAdapter adapter = scenicService.getScenicStorageAdapter(scenicId);
|
||||
String identity = adapter.identity();
|
||||
if (!adapterIdentity.contains(identity)) {
|
||||
log.info("因为Identity相同,跳过");
|
||||
@@ -291,12 +302,16 @@ public class FaceCleaner {
|
||||
log.info("开始清理视频文件");
|
||||
List<VideoRespVO> list = videoMapper.list(new VideoReqQuery());
|
||||
ArrayList<String> adapterIdentity = new ArrayList<>();
|
||||
scenicMapper.list(new ScenicReqQuery()).forEach(scenic -> {
|
||||
if (disableDeleteScenicIds.contains(scenic.getId().toString())) {
|
||||
ScenicReqQuery query = new ScenicReqQuery();
|
||||
query.setPageSize(1000);
|
||||
List<ScenicV2DTO> scenicList = scenicRepository.list(query);
|
||||
scenicList.forEach(scenic -> {
|
||||
Long scenicId = Long.valueOf(scenic.getId());
|
||||
if (disableDeleteScenicIds.contains(scenic.getId())) {
|
||||
log.info("景区【{}】禁止删除文件,跳过!", scenic.getName());
|
||||
return;
|
||||
}
|
||||
IStorageAdapter adapter = scenicService.getScenicStorageAdapter(scenic.getId());
|
||||
IStorageAdapter adapter = scenicService.getScenicStorageAdapter(scenicId);
|
||||
String identity = adapter.identity();
|
||||
if (!adapterIdentity.contains(identity)) {
|
||||
adapterIdentity.add(identity);
|
||||
|
@@ -1,14 +1,14 @@
|
||||
package com.ycwl.basic.task;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.ycwl.basic.integration.scenic.dto.scenic.ScenicV2DTO;
|
||||
import com.ycwl.basic.mapper.ScenicDeviceStatsMapper;
|
||||
import com.ycwl.basic.mapper.ScenicMapper;
|
||||
import com.ycwl.basic.mapper.StatisticsMapper;
|
||||
import com.ycwl.basic.model.mobile.statistic.req.CommonQueryReq;
|
||||
import com.ycwl.basic.model.mobile.statistic.resp.AppStatisticsFunnelVO;
|
||||
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
|
||||
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
|
||||
import com.ycwl.basic.model.pc.scenicDeviceStats.entity.ScenicDeviceStatsEntity;
|
||||
import com.ycwl.basic.repository.ScenicRepository;
|
||||
import com.ycwl.basic.service.mobile.AppStatisticsService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -31,7 +31,8 @@ public class ScenicStatsTask {
|
||||
@Autowired
|
||||
private AppStatisticsService statisticsService;
|
||||
@Autowired
|
||||
private ScenicMapper scenicMapper;
|
||||
private ScenicRepository scenicRepository;
|
||||
|
||||
@Scheduled(cron = "0 1 0 * * *")
|
||||
public void countDeviceStats() {
|
||||
Date yesterdayStart = DateUtil.beginOfDay(DateUtil.yesterday());
|
||||
@@ -58,16 +59,19 @@ public class ScenicStatsTask {
|
||||
public void countScenicStats() {
|
||||
Date yesterdayStart = DateUtil.beginOfDay(DateUtil.yesterday());
|
||||
Date yesterdayEnd = DateUtil.endOfDay(yesterdayStart);
|
||||
List<ScenicRespVO> list = scenicMapper.list(new ScenicReqQuery());
|
||||
list.forEach((scenic) -> {
|
||||
CommonQueryReq query = new CommonQueryReq();
|
||||
query.setScenicId(scenic.getId());
|
||||
query.setStartTime(yesterdayStart);
|
||||
query.setEndTime(yesterdayEnd);
|
||||
query.setRealtime(true);
|
||||
ApiResponse<AppStatisticsFunnelVO> resp = statisticsService.userConversionFunnel(query);
|
||||
ScenicReqQuery query = new ScenicReqQuery();
|
||||
query.setPageSize(1000);
|
||||
List<ScenicV2DTO> scenicList = scenicRepository.list(query);
|
||||
scenicList.forEach((scenic) -> {
|
||||
CommonQueryReq commonQueryReq = new CommonQueryReq();
|
||||
Long scenicId = Long.valueOf(scenic.getId());
|
||||
commonQueryReq.setScenicId(scenicId);
|
||||
commonQueryReq.setStartTime(yesterdayStart);
|
||||
commonQueryReq.setEndTime(yesterdayEnd);
|
||||
commonQueryReq.setRealtime(true);
|
||||
ApiResponse<AppStatisticsFunnelVO> resp = statisticsService.userConversionFunnel(commonQueryReq);
|
||||
AppStatisticsFunnelVO data = resp.getData();
|
||||
statisticsMapper.insertStat(scenic.getId(), yesterdayStart, data);
|
||||
statisticsMapper.insertStat(scenicId, yesterdayStart, data);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@@ -2,21 +2,16 @@ package com.ycwl.basic.task;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.ycwl.basic.biz.TemplateBiz;
|
||||
import com.ycwl.basic.integration.scenic.dto.scenic.ScenicV2DTO;
|
||||
import com.ycwl.basic.mapper.FaceMapper;
|
||||
import com.ycwl.basic.mapper.FaceSampleMapper;
|
||||
import com.ycwl.basic.mapper.ScenicMapper;
|
||||
import com.ycwl.basic.mapper.TemplateMapper;
|
||||
import com.ycwl.basic.model.mobile.scenic.content.ContentPageVO;
|
||||
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.scenic.resp.ScenicRespVO;
|
||||
import com.ycwl.basic.model.task.resp.SearchFaceRespVo;
|
||||
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.TaskFaceService;
|
||||
import com.ycwl.basic.service.task.impl.TaskTaskServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -37,23 +32,21 @@ public class VideoTaskGenerator {
|
||||
@Autowired
|
||||
private FaceMapper faceMapper;
|
||||
@Autowired
|
||||
private TaskFaceService taskFaceService;
|
||||
@Autowired
|
||||
private TemplateBiz templateBiz;
|
||||
@Autowired
|
||||
private TaskTaskServiceImpl taskTaskService;
|
||||
@Autowired
|
||||
private TemplateMapper templateMapper;
|
||||
@Autowired
|
||||
private ScenicMapper scenicMapper;
|
||||
@Autowired
|
||||
private ScenicRepository scenicRepository;
|
||||
@Autowired
|
||||
private FaceService faceService;
|
||||
|
||||
@Scheduled(cron = "0 0 * * * *")
|
||||
public void generateVideoTask() {
|
||||
List<ScenicRespVO> scenicList = scenicMapper.list(new ScenicReqQuery());
|
||||
ScenicReqQuery query = new ScenicReqQuery();
|
||||
query.setPageSize(1000);
|
||||
List<ScenicV2DTO> scenicList = scenicRepository.list(query);
|
||||
if (scenicList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
@@ -63,7 +56,7 @@ public class VideoTaskGenerator {
|
||||
int currentHour = calendar.get(Calendar.HOUR_OF_DAY);
|
||||
calendar.clear();
|
||||
scenicList.parallelStream().forEach(scenic -> {
|
||||
Long scenicId = scenic.getId();
|
||||
Long scenicId = Long.valueOf(scenic.getId());
|
||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId);
|
||||
if (scenicConfig == null) {
|
||||
log.info("当前景区{},无配置信息", scenic.getName());
|
||||
@@ -79,11 +72,11 @@ public class VideoTaskGenerator {
|
||||
if (contentList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
FaceReqQuery query = new FaceReqQuery();
|
||||
query.setScenicId(scenicId);
|
||||
query.setStartTime(DateUtil.beginOfDay(new Date()));
|
||||
query.setEndTime(DateUtil.endOfDay(new Date()));
|
||||
List<FaceRespVO> list = faceMapper.list(query);
|
||||
FaceReqQuery faceReqQuery = new FaceReqQuery();
|
||||
faceReqQuery.setScenicId(scenicId);
|
||||
faceReqQuery.setStartTime(DateUtil.beginOfDay(new Date()));
|
||||
faceReqQuery.setEndTime(DateUtil.endOfDay(new Date()));
|
||||
List<FaceRespVO> list = faceMapper.list(faceReqQuery);
|
||||
list.forEach(face -> {
|
||||
faceService.matchFaceId(face.getId(), false);
|
||||
if (Integer.valueOf(3).equals(scenicConfig.getBookRoutine())) {
|
||||
|
Reference in New Issue
Block a user