You've already forked FrameTour-BE
2
This commit is contained in:
src/main
java
com
ycwl
basic
controller
enums
model
mobile
pc
ratelimiter
repository
service
impl
mobile
pc
mobile
task
task
utils
resources
@ -110,6 +110,7 @@ public class AppScenicServiceImpl implements AppScenicService {
|
||||
List<ContentPageVO> contentList = templateMapper.listFor(faceRespVO.getScenicId());
|
||||
contentList.forEach(contentPageVO -> {
|
||||
List<MemberVideoEntity> memberVideoEntityList = videoMapper.userFaceTemplateVideo(userId, faceId, contentPageVO.getTemplateId());
|
||||
contentPageVO.setGoodsType(0);
|
||||
contentPageVO.setContentType(1);
|
||||
if (!memberVideoEntityList.isEmpty()) {
|
||||
contentPageVO.setIsBuy(memberVideoEntityList.get(0).getIsBuy());
|
||||
@ -145,6 +146,8 @@ public class AppScenicServiceImpl implements AppScenicService {
|
||||
sourceImageContent.setName("照片集");
|
||||
sourceVideoContent.setScenicId(faceRespVO.getScenicId());
|
||||
sourceImageContent.setScenicId(faceRespVO.getScenicId());
|
||||
sourceVideoContent.setGoodsType(1);
|
||||
sourceImageContent.setGoodsType(2);
|
||||
sourceVideoContent.setContentType(2);
|
||||
sourceImageContent.setContentType(2);
|
||||
sourceVideoContent.setLockType(1);
|
||||
|
@ -141,7 +141,8 @@ public class AppStatisticsServiceImpl implements AppStatisticsService {
|
||||
//扫码访问人数
|
||||
Integer scanCodeVisitorOfMemberNum=statisticsMapper.countScanCodeOfMember(query);
|
||||
//镜头检测游客数_扫码访问人数_转化率
|
||||
vo.setCsom_scaom(calculateConversionRate(scanCodeVisitorOfMemberNum,cameraShotOfMemberNum));
|
||||
// vo.setCsom_scaom(calculateConversionRate(scanCodeVisitorOfMemberNum,cameraShotOfMemberNum));
|
||||
vo.setCsom_scaom("-");
|
||||
//上传头像(人脸)人数
|
||||
Integer uploadFaceOfMemberNum=statisticsMapper.countUploadFaceOfMember(query);
|
||||
//扫码访问人数_上传头像人数_转化率
|
||||
@ -170,9 +171,8 @@ public class AppStatisticsServiceImpl implements AppStatisticsService {
|
||||
//点击购买人数_支付订单人数_转化率
|
||||
vo.setCpom_pom((calculateConversionRate(payOfMemberNum,clickOnPayOfMemberNum)));
|
||||
//总访问人数
|
||||
//TODO 2024/12/12 17:56 目前只有扫码访问的方式,所以这里总访问人数先等于扫码访问人数
|
||||
// Integer totalVisitorOfMemberNum =statisticsMapper.countTotalVisitorOfMember(query);
|
||||
Integer totalVisitorOfMemberNum =scanCodeVisitorOfMemberNum;
|
||||
Integer totalVisitorOfMemberNum =statisticsMapper.countTotalVisitorOfMember(query);
|
||||
// Integer totalVisitorOfMemberNum =scanCodeVisitorOfMemberNum;
|
||||
//生成视频条数
|
||||
Integer completeOfVideoNum =statisticsMapper.countCompleteOfVideo(query);
|
||||
//预览视频条数
|
||||
@ -186,7 +186,8 @@ public class AppStatisticsServiceImpl implements AppStatisticsService {
|
||||
//退款订单金额
|
||||
BigDecimal refundOfOrderAmount =statisticsMapper.countRefundAmount(query);
|
||||
|
||||
vo.setCameraShotOfMemberNum(cameraShotOfMemberNum);
|
||||
// vo.setCameraShotOfMemberNum(cameraShotOfMemberNum);
|
||||
vo.setCameraShotOfMemberNum("-");
|
||||
vo.setScanCodeVisitorOfMemberNum(scanCodeVisitorOfMemberNum);
|
||||
vo.setUploadFaceOfMemberNum(uploadFaceOfMemberNum);
|
||||
vo.setPushOfMemberNum(pushOfMemberNum);
|
||||
@ -212,9 +213,13 @@ public class AppStatisticsServiceImpl implements AppStatisticsService {
|
||||
@Override
|
||||
public ApiResponse addStatistics(StatisticsRecordAddReq req) {
|
||||
// req.setId(SnowFlakeUtil.getLongId());
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
Long userId = worker.getUserId();
|
||||
req.setMemberId(userId);
|
||||
try {
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
Long userId = worker.getUserId();
|
||||
req.setMemberId(userId);
|
||||
} catch (Exception ignored) {
|
||||
|
||||
}
|
||||
Integer type = req.getType();
|
||||
if(type==null){
|
||||
return ApiResponse.fail("类型不能为空");
|
||||
@ -331,6 +336,7 @@ public class AppStatisticsServiceImpl implements AppStatisticsService {
|
||||
int scanCode=statisticsMapper.countScanCodeOfMember(query);
|
||||
//查询付费人数
|
||||
int pay=statisticsMapper.countPayOfMember(query);
|
||||
int payCount=statisticsMapper.countPayOfOrder(query);
|
||||
|
||||
if(cycle==1){
|
||||
//当前周期的支付订单金额
|
||||
@ -340,9 +346,9 @@ public class AppStatisticsServiceImpl implements AppStatisticsService {
|
||||
vo.setNowPreviewPay("0.00");
|
||||
vo.setNowScanCodePay("0.00");
|
||||
}else {
|
||||
BigDecimal previewPay = new BigDecimal(preview).divide(new BigDecimal(pay), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
||||
BigDecimal previewPay = new BigDecimal(payCount).divide(new BigDecimal(preview), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
||||
vo.setNowPreviewPay(df.format(previewPay));
|
||||
BigDecimal scanCodePay = new BigDecimal(scanCode).divide(new BigDecimal(pay), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
||||
BigDecimal scanCodePay = new BigDecimal(pay).divide(new BigDecimal(scanCode), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
||||
vo.setNowScanCodePay(df.format(scanCodePay));
|
||||
}
|
||||
}else if(cycle==2){
|
||||
|
@ -8,6 +8,7 @@ import com.ycwl.basic.mapper.*;
|
||||
import com.ycwl.basic.model.mobile.goods.*;
|
||||
import com.ycwl.basic.model.mobile.order.IsBuyRespVO;
|
||||
import com.ycwl.basic.model.mobile.order.PriceObj;
|
||||
import com.ycwl.basic.model.pc.face.entity.FaceEntity;
|
||||
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
|
||||
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
|
||||
import com.ycwl.basic.model.pc.source.req.SourceReqQuery;
|
||||
@ -17,6 +18,7 @@ import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
|
||||
import com.ycwl.basic.model.pc.video.entity.MemberVideoEntity;
|
||||
import com.ycwl.basic.model.pc.video.req.VideoReqQuery;
|
||||
import com.ycwl.basic.model.pc.video.resp.VideoRespVO;
|
||||
import com.ycwl.basic.repository.FaceRepository;
|
||||
import com.ycwl.basic.repository.OrderRepository;
|
||||
import com.ycwl.basic.repository.ScenicRepository;
|
||||
import com.ycwl.basic.repository.VideoTaskRepository;
|
||||
@ -62,6 +64,8 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
private OrderRepository orderRepository;
|
||||
@Autowired
|
||||
private OrderBiz orderBiz;
|
||||
@Autowired
|
||||
private FaceRepository faceRepository;
|
||||
|
||||
public ApiResponse<List<GoodsPageVO>> goodsList(GoodsReqQuery query) {
|
||||
//查询原素材
|
||||
@ -250,15 +254,20 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
* @return 0没有任务 1 合成中 2 合成成功
|
||||
*/
|
||||
@Override
|
||||
public ApiResponse<VideoTaskStatusVO> getTaskStatusByFaceId(Long userId, Long faceId) {
|
||||
public VideoTaskStatusVO getTaskStatusByFaceId(Long userId, Long faceId) {
|
||||
FaceEntity face = faceRepository.getFace(faceId);
|
||||
List<MemberVideoEntity> taskList = videoMapper.listRelationByFace(userId, faceId);
|
||||
VideoTaskStatusVO response = new VideoTaskStatusVO();
|
||||
response.setFaceId(faceId);
|
||||
if (face == null) {
|
||||
response.setStatus(0);
|
||||
return response;
|
||||
}
|
||||
response.setScenicId(face.getScenicId());
|
||||
if (taskList.isEmpty()) {
|
||||
response.setStatus(0);
|
||||
return ApiResponse.success(response);
|
||||
return response;
|
||||
}
|
||||
response.setScenicId(taskList.get(0).getScenicId());
|
||||
List<TemplateRespVO> templateList = templateRepository.getTemplateListByScenicId(response.getScenicId());
|
||||
List<Long> templateIds = templateList.stream().map(TemplateRespVO::getId).collect(Collectors.toList());
|
||||
response.setMaxCount(templateList.size());
|
||||
@ -277,7 +286,7 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
response.setTemplateId(notFinishedTasks.get(0).getTemplateId());
|
||||
response.setTaskId(notFinishedTasks.get(0).getTaskId());
|
||||
response.setStatus(2);
|
||||
return ApiResponse.success(response);
|
||||
return response;
|
||||
}
|
||||
MemberVideoEntity lastVideo = taskList.get(taskList.size() - 1);
|
||||
response.setTaskId(lastVideo.getTaskId());
|
||||
@ -285,24 +294,24 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
response.setVideoId(lastVideo.getVideoId());
|
||||
response.setCount(taskList.size());
|
||||
response.setStatus(1);
|
||||
return ApiResponse.success(response);
|
||||
return response;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<VideoTaskStatusVO> getAllTaskStatus(Long userId) {
|
||||
public VideoTaskStatusVO getAllTaskStatus(Long userId) {
|
||||
FaceRespVO lastFaceByUserId = faceMapper.findLastFaceByUserId(String.valueOf(userId));
|
||||
return getTaskStatusByFaceId(userId, lastFaceByUserId.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<VideoTaskStatusVO> getTaskStatusByTemplateId(Long userId, Long faceId, Long templateId) {
|
||||
public VideoTaskStatusVO getTaskStatusByTemplateId(Long userId, Long faceId, Long templateId) {
|
||||
List<MemberVideoEntity> taskList = videoMapper.listRelationByFaceAndTemplate(userId, faceId, templateId);
|
||||
VideoTaskStatusVO response = new VideoTaskStatusVO();
|
||||
response.setFaceId(faceId);
|
||||
response.setTemplateId(templateId);
|
||||
if (taskList.isEmpty()) {
|
||||
response.setStatus(0);
|
||||
return ApiResponse.success(response);
|
||||
return response;
|
||||
}
|
||||
response.setScenicId(taskList.get(0).getScenicId());
|
||||
response.setMaxCount(templateRepository.getTemplateListByScenicId(response.getScenicId()).size());
|
||||
@ -319,7 +328,7 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
response.setTemplateId(notFinishedTasks.get(0).getTemplateId());
|
||||
response.setTaskId(notFinishedTasks.get(0).getTaskId());
|
||||
response.setStatus(2);
|
||||
return ApiResponse.success(response);
|
||||
return response;
|
||||
}
|
||||
MemberVideoEntity lastVideo = taskList.get(taskList.size() - 1);
|
||||
response.setTaskId(lastVideo.getTaskId());
|
||||
@ -332,18 +341,18 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
response.setStatus(1);
|
||||
response.setVideoId(lastVideo.getVideoId());
|
||||
}
|
||||
return ApiResponse.success(response);
|
||||
return response;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<VideoTaskStatusVO> getTaskStatusByScenicId(Long userId, Long scenicId) {
|
||||
public VideoTaskStatusVO getTaskStatusByScenicId(Long userId, Long scenicId) {
|
||||
FaceRespVO faceVO = faceMapper.getByMemberId(userId, scenicId);
|
||||
VideoTaskStatusVO response = new VideoTaskStatusVO();
|
||||
response.setScenicId(scenicId);
|
||||
if (faceVO == null) {
|
||||
// 从来没露脸
|
||||
response.setStatus(-2);
|
||||
return ApiResponse.success(response);
|
||||
return response;
|
||||
}
|
||||
return getTaskStatusByFaceId(userId, faceVO.getId());
|
||||
}
|
||||
|
@ -47,6 +47,7 @@ import com.ycwl.basic.service.HttpService;
|
||||
import com.ycwl.basic.service.mobile.WxPayService;
|
||||
import com.ycwl.basic.service.pc.OrderService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import com.ycwl.basic.utils.DateUtils;
|
||||
import com.ycwl.basic.utils.SnowFlakeUtil;
|
||||
import com.ycwl.basic.utils.WXPayUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -233,13 +234,18 @@ public class WxPayServiceImpl implements WxPayService {
|
||||
|
||||
StatisticsRecordAddReq statisticsRecordAddReq = new StatisticsRecordAddReq();
|
||||
statisticsRecordAddReq.setMemberId(orderData.getMemberId());
|
||||
// TODO
|
||||
//如果订单在商品创建后30分钟内支付,则为现场支付,否则为事后支付
|
||||
// if(DateUtils.addDateMinute(createTime,30).compareTo(payAt)>0){//
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(createTime);
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 21);
|
||||
calendar.set(Calendar.MINUTE, 0);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
// TODO: 他的购买的内容于内容生成当天晚9点之前算现场订单,否则算推送订单
|
||||
if(calendar.getTime().compareTo(payAt)>0){//
|
||||
statisticsRecordAddReq.setType(StatisticEnum.ON_SITE_PAYMENT.code);
|
||||
// }else {
|
||||
// statisticsRecordAddReq.setType(StatisticEnum.POST_PAYMENT.code);
|
||||
// }
|
||||
}else {
|
||||
statisticsRecordAddReq.setType(StatisticEnum.POST_PAYMENT.code);
|
||||
}
|
||||
calendar.clear();
|
||||
statisticsRecordAddReq.setScenicId(orderData.getScenicId());
|
||||
statisticsRecordAddReq.setMorphId(orderId);
|
||||
statisticsMapper.addStatisticsRecord(statisticsRecordAddReq);
|
||||
|
@ -147,7 +147,7 @@ public class FaceServiceImpl implements FaceService {
|
||||
if (face == null) {
|
||||
return false;
|
||||
}
|
||||
return face.getScenicId().equals(scenicId);
|
||||
return face.getMemberId().equals(userId);
|
||||
}).findAny();
|
||||
if (faceAny.isPresent()) {
|
||||
oldFaceId = faceAny.get();
|
||||
@ -197,6 +197,7 @@ public class FaceServiceImpl implements FaceService {
|
||||
}
|
||||
SearchFaceRespVo scenicDbSearchResult = faceService.searchFace(face.getScenicId(), face.getFaceUrl());
|
||||
FaceEntity faceEntity = new FaceEntity();
|
||||
faceEntity.setId(faceId);
|
||||
faceEntity.setScore(scenicDbSearchResult.getScore());
|
||||
faceEntity.setMatchResult(scenicDbSearchResult.getSearchResultJson());
|
||||
if (scenicDbSearchResult.getFirstMatchRate() != null) {
|
||||
@ -210,6 +211,8 @@ public class FaceServiceImpl implements FaceService {
|
||||
faceEntity.setMemberId(face.getMemberId());
|
||||
faceEntity.setFaceUrl(face.getFaceUrl());
|
||||
List<Long> sampleListIds = scenicDbSearchResult.getSampleListIds();
|
||||
faceMapper.update(faceEntity);
|
||||
faceRepository.clearFaceCache(faceEntity.getId());
|
||||
if (sampleListIds != null && !sampleListIds.isEmpty()) {// 匹配原片:照片
|
||||
List<SourceEntity> sourceEntities = sourceMapper.listBySampleIds(sampleListIds);
|
||||
List<MemberSourceEntity> memberSourceEntityList = sourceEntities.stream().map(sourceEntity -> {
|
||||
@ -231,16 +234,14 @@ public class FaceServiceImpl implements FaceService {
|
||||
}).collect(Collectors.toList());
|
||||
if (!memberSourceEntityList.isEmpty()) {
|
||||
sourceMapper.addRelations(memberSourceEntityList);
|
||||
taskTaskService.autoCreateTaskByFaceId(faceEntity.getId());
|
||||
taskTaskService.autoCreateTaskByFaceId(face.getId());
|
||||
VideoPieceGetter.Task task = new VideoPieceGetter.Task();
|
||||
task.faceId = faceEntity.getId();
|
||||
task.faceId = face.getId();
|
||||
task.faceSampleIds = sampleListIds;
|
||||
task.memberId = face.getMemberId();
|
||||
VideoPieceGetter.addTask(task);
|
||||
}
|
||||
}
|
||||
faceMapper.update(faceEntity);
|
||||
faceRepository.clearFaceCache(faceEntity.getId());
|
||||
return scenicDbSearchResult;
|
||||
}
|
||||
|
||||
|
@ -148,6 +148,9 @@ public class ScenicServiceImpl implements ScenicService {
|
||||
|
||||
@Override
|
||||
public ApiResponse<Boolean> addConfig(ScenicConfigEntity scenicConfig) {
|
||||
if (scenicConfig.getId() == null) {
|
||||
scenicConfig.setId(SnowFlakeUtil.getLongId());
|
||||
}
|
||||
int i = scenicMapper.addConfig(scenicConfig);
|
||||
if (i > 0) {
|
||||
scenicRepository.clearCache(scenicConfig.getScenicId());
|
||||
|
@ -39,10 +39,10 @@ public interface GoodsService {
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
ApiResponse<VideoTaskStatusVO> getAllTaskStatus(Long userId);
|
||||
ApiResponse<VideoTaskStatusVO> getTaskStatusByFaceId(Long userId ,Long faceId);
|
||||
ApiResponse<VideoTaskStatusVO> getTaskStatusByTemplateId(Long userId, Long faceId, Long templateId);
|
||||
ApiResponse<VideoTaskStatusVO> getTaskStatusByScenicId(Long userId, Long scenicId);
|
||||
VideoTaskStatusVO getAllTaskStatus(Long userId);
|
||||
VideoTaskStatusVO getTaskStatusByFaceId(Long userId ,Long faceId);
|
||||
VideoTaskStatusVO getTaskStatusByTemplateId(Long userId, Long faceId, Long templateId);
|
||||
VideoTaskStatusVO getTaskStatusByScenicId(Long userId, Long scenicId);
|
||||
|
||||
ApiResponse<GoodsDetailVO> sourceGoodsInfo(Long userId, Long sourceId);
|
||||
}
|
||||
|
@ -49,7 +49,6 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.aliyuncs.DefaultAcsClient;
|
||||
import com.aliyuncs.IAcsClient;
|
||||
@ -87,7 +86,12 @@ public class TaskFaceServiceImpl implements TaskFaceService {
|
||||
private SourceMapper sourceMapper;
|
||||
@Autowired
|
||||
private OrderBiz orderBiz;
|
||||
private SlidingWindowRateLimiter limiter = new SlidingWindowRateLimiter(5); // 阿里云人脸检索限制qps=5
|
||||
// 阿里云人脸检索限制qps=2
|
||||
private final SlidingWindowRateLimiter addEntityLimiter = new SlidingWindowRateLimiter(1);
|
||||
// 阿里云人脸检索限制qps=5
|
||||
private final SlidingWindowRateLimiter searchFaceLimiter = new SlidingWindowRateLimiter(4);
|
||||
private final SlidingWindowRateLimiter deleteDbLimiter = new SlidingWindowRateLimiter(1);
|
||||
private final SlidingWindowRateLimiter deleteEntityLimiter = new SlidingWindowRateLimiter(1);
|
||||
|
||||
private IAcsClient getClient() {
|
||||
DefaultProfile profile = DefaultProfile.getProfile(
|
||||
@ -163,6 +167,10 @@ public class TaskFaceServiceImpl implements TaskFaceService {
|
||||
request.setLimit(100);
|
||||
// request.setQualityScoreThreshold(60f);
|
||||
FaceDetectLog log = FaceDetectLog.quickCreate("预留字段", request);
|
||||
try {
|
||||
searchFaceLimiter.aquire();
|
||||
} catch (InterruptedException ignored) {
|
||||
}
|
||||
try {
|
||||
SearchFaceResponse response = client.getAcsResponse(request);
|
||||
log.fillResponse(response);
|
||||
@ -197,7 +205,7 @@ public class TaskFaceServiceImpl implements TaskFaceService {
|
||||
.collect(Collectors.toList());
|
||||
log.matchLocalRecord(records);
|
||||
List<Long> faceSampleIds = records.stream()
|
||||
.filter(record -> record.getScore() > 0.6)
|
||||
.filter(record -> record.getScore() > 0.525F)
|
||||
.map(MatchLocalRecord::getFaceSampleId)
|
||||
.collect(Collectors.toList());
|
||||
respVo.setFirstMatchRate(matchList.get(0).getFaceItems().get(0).getScore());
|
||||
@ -235,9 +243,8 @@ public class TaskFaceServiceImpl implements TaskFaceService {
|
||||
request.setEntityId(entityId);
|
||||
IAcsClient client = getClient();
|
||||
try {
|
||||
limiter.allowRequest();
|
||||
} catch (InterruptedException e) {
|
||||
return null;
|
||||
addEntityLimiter.aquire();
|
||||
} catch (InterruptedException ignored) {
|
||||
}
|
||||
try {
|
||||
client.getAcsResponse(request);
|
||||
@ -256,7 +263,7 @@ public class TaskFaceServiceImpl implements TaskFaceService {
|
||||
respVo.setScore(acsResponse.getData().getQualitieScore());
|
||||
return respVo;
|
||||
} catch (ClientException e) {
|
||||
log.error("addFaceEntity", e);
|
||||
log.error("addFace", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -283,6 +290,10 @@ public class TaskFaceServiceImpl implements TaskFaceService {
|
||||
DeleteFaceEntityRequest request = new DeleteFaceEntityRequest();
|
||||
request.setDbName(scenicId.toString());
|
||||
request.setEntityId(entityId);
|
||||
try {
|
||||
deleteEntityLimiter.aquire();
|
||||
} catch (InterruptedException ignored) {
|
||||
}
|
||||
try {
|
||||
client.getAcsResponse(request);
|
||||
} catch (ClientException e) {
|
||||
@ -310,9 +321,8 @@ public class TaskFaceServiceImpl implements TaskFaceService {
|
||||
deleteFaceEntityRequest.setDbName(entity.getDbName());
|
||||
deleteFaceEntityRequest.setEntityId(entity.getEntityId());
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
deleteEntityLimiter.aquire();
|
||||
} catch (InterruptedException ignored) {
|
||||
}
|
||||
try {
|
||||
client.getAcsResponse(deleteFaceEntityRequest);
|
||||
@ -323,6 +333,10 @@ public class TaskFaceServiceImpl implements TaskFaceService {
|
||||
}
|
||||
DeleteFaceDbRequest deleteFaceDbRequest = new DeleteFaceDbRequest();
|
||||
deleteFaceDbRequest.setName(dbName);
|
||||
try {
|
||||
deleteDbLimiter.aquire();
|
||||
} catch (InterruptedException ignored) {
|
||||
}
|
||||
client.getAcsResponse(deleteFaceDbRequest);
|
||||
removeFaceDBCache(dbName);
|
||||
} catch (ClientException e) {
|
||||
|
@ -545,7 +545,7 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
}
|
||||
ScenicEntity scenic = scenicRepository.getScenic(item.getScenicId());
|
||||
String title = "您在【" + scenic.getName() + "】的专属影像";
|
||||
String page = "pages/videoSynthesis/buy?scenicId=" + item.getScenicId() + "&faceId=" + item.getFaceId() + "&id=" + item.getVideoId();
|
||||
String page = "pages/videoSynthesis/index?scenicId=" + item.getScenicId() + "&faceId=" + item.getFaceId();
|
||||
/**
|
||||
* 视频名称 {{thing1.DATA}}
|
||||
* 生成时间 {{time4.DATA}}
|
||||
|
Reference in New Issue
Block a user