This commit is contained in:
2025-05-30 10:31:21 +08:00
parent 115edc19fa
commit 80f4491836
73 changed files with 310 additions and 485 deletions

View File

@@ -1,11 +1,10 @@
package com.ycwl.basic.service.mobile;
import com.ycwl.basic.model.wx.WXPayOrderReqVO;
import com.ycwl.basic.model.wx.WxchatCallbackSuccessData;
import com.ycwl.basic.model.wx.WechatCallbackSuccessData;
import jakarta.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.util.Map;
public interface WxPayService {
@@ -26,7 +25,7 @@ public interface WxPayService {
/**
* 微信支付结果查询
*/
WxchatCallbackSuccessData queryPay(Long orderId);
WechatCallbackSuccessData queryPay(Long orderId);
/**
* 订单退款

View File

@@ -53,6 +53,7 @@ import org.springframework.stereotype.Service;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
@@ -143,7 +144,7 @@ public class GoodsServiceImpl implements GoodsService {
return true;
}).map(type -> {
GoodsPageVO goodsPageVO = new GoodsPageVO();
goodsPageVO.setTemplateCoverUrl(goods.get(0).getUrl());
goodsPageVO.setTemplateCoverUrl(goods.getFirst().getUrl());
goodsPageVO.setFaceId(faceId);
if (type == 1) {
goodsPageVO.setGoodsName("录像集");
@@ -182,7 +183,7 @@ public class GoodsServiceImpl implements GoodsService {
List<SourceRespVO> list = sourceMapper.listUser(sourceReqQuery);
List<GoodsDetailVO> goodsDetailVOList = new ArrayList<>();
String goodsNamePrefix = "";
String goodsNamePrefix;
if (sourceType == 1) {
goodsNamePrefix = "录像";
} else if (sourceType == 2) {
@@ -209,14 +210,14 @@ public class GoodsServiceImpl implements GoodsService {
goodsDetailVO.setIsBuy(sourceRespVO.getIsBuy());
if (sourceRespVO.getVideoUrl() != null) {
try {
URL url = new URL(sourceRespVO.getVideoUrl());
URI url = URI.create(sourceRespVO.getVideoUrl());
if (StringUtils.startsWith(url.getHost(), "100.64.")) {
// 内网地址,需要代理
goodsDetailVO.setVideoUrl("https://zhentuai.com/proxy?url=" + sourceRespVO.getVideoUrl());
} else {
goodsDetailVO.setVideoUrl(sourceRespVO.getVideoUrl());
}
} catch (MalformedURLException e) {
} catch (IllegalArgumentException e) {
log.warn("url地址解析异常:{}", sourceRespVO.getVideoUrl(), e);
goodsDetailVO.setVideoUrl(sourceRespVO.getVideoUrl());
}
@@ -361,14 +362,14 @@ public class GoodsServiceImpl implements GoodsService {
.count();
response.setCount(finishedTask);
if (!notFinishedTasks.isEmpty()) {
response.setTemplateId(notFinishedTasks.get(0).getTemplateId());
response.setTaskId(notFinishedTasks.get(0).getTaskId());
response.setTemplateId(notFinishedTasks.getFirst().getTemplateId());
response.setTaskId(notFinishedTasks.getFirst().getTaskId());
response.setStatus(2);
return response;
}
// 重查一下
taskList = videoMapper.listRelationByFace(userId, faceId);
MemberVideoEntity lastVideo = taskList.get(taskList.size() - 1);
MemberVideoEntity lastVideo = taskList.getLast();
if (null == lastVideo.getVideoId()) {
response.setTemplateId(lastVideo.getTemplateId());
response.setTaskId(lastVideo.getTaskId());
@@ -398,7 +399,7 @@ public class GoodsServiceImpl implements GoodsService {
response.setStatus(0);
return response;
}
response.setScenicId(taskList.get(0).getScenicId());
response.setScenicId(taskList.getFirst().getScenicId());
response.setMaxCount(templateRepository.getTemplateListByScenicId(response.getScenicId()).size());
List<MemberVideoEntity> notFinishedTasks = taskList.stream()
.filter(task -> {
@@ -420,18 +421,18 @@ public class GoodsServiceImpl implements GoodsService {
int faceCutStatus = taskStatusBiz.getFaceCutStatus(faceId);
if (Integer.valueOf(0).equals(faceCutStatus)) {
if (!notFinishedTasks.isEmpty()) {
response.setTemplateId(notFinishedTasks.get(0).getTemplateId());
response.setTemplateId(notFinishedTasks.getFirst().getTemplateId());
}
response.setStatus(2);
return response;
}
if (!notFinishedTasks.isEmpty()) {
response.setTemplateId(notFinishedTasks.get(0).getTemplateId());
response.setTaskId(notFinishedTasks.get(0).getTaskId());
response.setTemplateId(notFinishedTasks.getFirst().getTemplateId());
response.setTaskId(notFinishedTasks.getFirst().getTaskId());
response.setStatus(2);
return response;
}
MemberVideoEntity lastVideo = taskList.get(taskList.size() - 1);
MemberVideoEntity lastVideo = taskList.getLast();
response.setTaskId(lastVideo.getTaskId());
response.setTemplateId(lastVideo.getTemplateId());
response.setVideoId(lastVideo.getVideoId());
@@ -483,7 +484,7 @@ public class GoodsServiceImpl implements GoodsService {
goodsDetailVO.setGoodsId(sourceRespVO.getId());
if (sourceRespVO.getVideoUrl() != null) {
try {
URL url = new URL(sourceRespVO.getVideoUrl());
URL url = URI.create(sourceRespVO.getVideoUrl()).toURL();
if (StringUtils.startsWith(url.getHost(), "100.64.")) {
// 内网地址,需要代理
goodsDetailVO.setVideoUrl("https://zhentuai.com/proxy?url=" + sourceRespVO.getVideoUrl());
@@ -650,7 +651,7 @@ public class GoodsServiceImpl implements GoodsService {
ImageWatermarkOperatorEnum type = ImageWatermarkOperatorEnum.getByCode(scenicConfig.getWatermarkType());
if (type != null) {
IStorageAdapter adapter;
if (scenicConfig != null && scenicConfig.getStoreType() != null) {
if (scenicConfig.getStoreType() != null) {
adapter = StorageFactory.get(scenicConfig.getStoreType());
adapter.loadConfig(JSONObject.parseObject(scenicConfig.getStoreConfigJson(), Map.class));
} else {

View File

@@ -15,7 +15,7 @@ import com.ycwl.basic.model.pc.order.entity.OrderEntity;
import com.ycwl.basic.model.pc.order.req.OrderUpdateReq;
import com.ycwl.basic.model.pc.payment.entity.PaymentEntity;
import com.ycwl.basic.model.wx.WXPayOrderReqVO;
import com.ycwl.basic.model.wx.WxchatCallbackSuccessData;
import com.ycwl.basic.model.wx.WechatCallbackSuccessData;
import com.ycwl.basic.pay.adapter.IPayAdapter;
import com.ycwl.basic.pay.entity.CancelOrderRequest;
import com.ycwl.basic.pay.entity.CreateOrderRequest;
@@ -116,7 +116,7 @@ public class WxPayServiceImpl implements WxPayService {
}
@Override
public WxchatCallbackSuccessData queryPay(Long orderId) {
public WechatCallbackSuccessData queryPay(Long orderId) {
return null;
}

View File

@@ -144,10 +144,10 @@ public class DeviceServiceImpl implements DeviceService {
item.setSort(sortNum.addAndGet(1));
}
Optional<DeviceEntity> templateOptional = scenicDeviceList.stream().filter(item -> item.getId().equals(deviceId)).findAny();
Optional<DeviceEntity> afterTemplateOptional = scenicDeviceList.stream().filter(item -> item.getId().equals(afterDeviceId)).findAny();
if (!templateOptional.isPresent()) {
if (templateOptional.isEmpty()) {
return ApiResponse.fail("设备不存在");
}
Optional<DeviceEntity> afterTemplateOptional = scenicDeviceList.stream().filter(item -> item.getId().equals(afterDeviceId)).findAny();
if (afterTemplateOptional.isPresent()) {
DeviceEntity afterTemplate = afterTemplateOptional.get();
Integer newSort = afterTemplate.getSort();

View File

@@ -36,11 +36,13 @@ public class DeviceStatsServiceImpl implements DeviceStatsService {
List<ScenicDeviceStatsResp> data = mapper.countCachedStatsByScenicId(scenicId, start, end);
resp.setData(data);
}
resp.getData().stream().mapToInt(ScenicDeviceStatsResp::getCount).max().ifPresent((max) -> {
resp.getData().forEach(item -> {
item.setRate(BigDecimal.valueOf(item.getCount()).divide(BigDecimal.valueOf(max), 6, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)));
});
});
resp.getData().stream()
.mapToInt(ScenicDeviceStatsResp::getCount).max()
.ifPresent((max) -> resp.getData()
.forEach(item -> item.setRate(
BigDecimal.valueOf(item.getCount()).divide(BigDecimal.valueOf(max), 6, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)))
)
);
return resp;
}
}

View File

@@ -153,7 +153,7 @@ public class FaceServiceImpl implements FaceService {
String filePath = StorageUtil.joinPath(USER_FACE, DateUtil.format(new Date(),"yyyy-MM-dd"));
String originalFilename = file.getOriginalFilename();
String suffix = originalFilename.split("\\.", 2)[1];
String fileName = UUID.randomUUID().toString() + "." + suffix;
String fileName = UUID.randomUUID() + "." + suffix;
String faceUrl = adapter.uploadFile(file, filePath, fileName);
Long newFaceId = SnowFlakeUtil.getLongId();
Long oldFaceId = null;
@@ -248,7 +248,7 @@ public class FaceServiceImpl implements FaceService {
if (scenicConfig != null && scenicConfig.getFaceDetectHelperThreshold() != null && scenicConfig.getFaceDetectHelperThreshold() > 0) {
if (scenicDbSearchResult.getSampleListIds().size() < scenicConfig.getFaceDetectHelperThreshold()) {
// 补救逻辑
Long resultItem = scenicDbSearchResult.getSampleListIds().get(0);
Long resultItem = scenicDbSearchResult.getSampleListIds().getFirst();
FaceSampleEntity faceSample = faceRepository.getFaceSample(resultItem);
if (faceSample != null) {
// 以这个结果为人脸库的匹配结果
@@ -327,24 +327,24 @@ public class FaceServiceImpl implements FaceService {
@Override
public List<ContentPageVO> faceContentList(Long faceId) {
FaceRespVO faceRespVO = faceMapper.getById(faceId);
Long userId = faceRespVO.getMemberId();
if (faceRespVO == null) {
return Collections.emptyList();
}
Long userId = faceRespVO.getMemberId();
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());
contentPageVO.setContentId(memberVideoEntityList.get(0).getVideoId());
contentPageVO.setIsBuy(memberVideoEntityList.getFirst().getIsBuy());
contentPageVO.setContentId(memberVideoEntityList.getFirst().getVideoId());
VideoEntity video = videoRepository.getVideo(contentPageVO.getContentId());
if (video != null) {
contentPageVO.setDuration(video.getDuration());
contentPageVO.setLockType(-1);
} else {
TaskEntity taskById = videoTaskRepository.getTaskById(memberVideoEntityList.get(0).getTaskId());
TaskEntity taskById = videoTaskRepository.getTaskById(memberVideoEntityList.getFirst().getTaskId());
if (taskById == null) {
contentPageVO.setLockType(0);
} else if (taskById.getStatus() == 3) {
@@ -422,11 +422,11 @@ public class FaceServiceImpl implements FaceService {
if (type == 1) {
sourceVideoContent.setSourceType(1);
sourceVideoContent.setLockType(-1);
sourceVideoContent.setTemplateCoverUrl(list.get(0).getUrl());
sourceVideoContent.setTemplateCoverUrl(list.getFirst().getUrl());
} else {
sourceImageContent.setSourceType(2);
sourceImageContent.setLockType(-1);
sourceImageContent.setTemplateCoverUrl(list.get(0).getUrl());
sourceImageContent.setTemplateCoverUrl(list.getFirst().getUrl());
}
});

View File

@@ -118,15 +118,15 @@ public class OrderServiceImpl implements OrderService {
OrderAppRespVO orderAppRespVO = orderMapper.appDetail(item.getId());
List<OrderItemVO> orderItemList = orderAppRespVO.getOrderItemList();
if (!orderItemList.isEmpty()) {
if (Integer.valueOf(1).equals(orderItemList.get(0).getGoodsType())) {
if (Integer.valueOf(1).equals(orderItemList.getFirst().getGoodsType())) {
item.setGoodsName("录像集");
item.setOrderType("录像集");
} else if (Integer.valueOf(2).equals(orderItemList.get(0).getGoodsType())) {
} else if (Integer.valueOf(2).equals(orderItemList.getFirst().getGoodsType())) {
item.setGoodsName("照片集");
item.setOrderType("照片集");
} else if (Integer.valueOf(0).equals(orderItemList.get(0).getGoodsType())) {
} else if (Integer.valueOf(0).equals(orderItemList.getFirst().getGoodsType())) {
item.setOrderType("旅行Vlog");
item.setGoodsName(orderItemList.get(0).getGoodsName());
item.setGoodsName(orderItemList.getFirst().getGoodsName());
} else {
item.setGoodsName("未知商品");
item.setOrderType("未知商品");
@@ -182,7 +182,7 @@ public class OrderServiceImpl implements OrderService {
goods.setCreateTime(sourceEntity.getCreateTime());
goodsList.add(goods);
}
item.setShootingTime(memberVideoEntityList.get(0).getCreateTime());
item.setShootingTime(memberVideoEntityList.getFirst().getCreateTime());
}
}
} else if (Integer.valueOf(2).equals(item.getGoodsType())) { // 照片 goodsId就是人脸ID
@@ -204,7 +204,7 @@ public class OrderServiceImpl implements OrderService {
goods.setCreateTime(sourceEntity.getCreateTime());
goodsList.add(goods);
}
item.setShootingTime(memberVideoEntityList.get(0).getCreateTime());
item.setShootingTime(memberVideoEntityList.getFirst().getCreateTime());
}
}
} else if (Integer.valueOf(3).equals(item.getGoodsType())) { // 打印照片 goodsId就是memberPrintId
@@ -275,7 +275,7 @@ public class OrderServiceImpl implements OrderService {
if (orderItems.size() > 1) {
goodsName = "多项景区Vlog商品";
} else {
int type = orderItems.get(0).getGoodsType();
int type = orderItems.getFirst().getGoodsType();
if (type == 0) {
goodsName = "景区Vlog视频";
} else if (type == 1) {
@@ -357,13 +357,13 @@ public class OrderServiceImpl implements OrderService {
List<SourceEntity> memberVideoEntityList = sourceMapper.listVideoByFaceRelation(orderReqQuery.getMemberId(), item.getFaceId());
item.setCoverList(memberVideoEntityList.stream().map(SourceEntity::getUrl).collect(Collectors.toList()));
if (!memberVideoEntityList.isEmpty()) {
item.setShootingTime(memberVideoEntityList.get(0).getCreateTime());
item.setShootingTime(memberVideoEntityList.getFirst().getCreateTime());
}
} else if (Integer.valueOf(2).equals(item.getGoodsType())) {
List<SourceEntity> memberVideoEntityList = sourceMapper.listImageByFaceRelation(orderReqQuery.getMemberId(), item.getFaceId());
item.setCoverList(memberVideoEntityList.stream().map(SourceEntity::getUrl).collect(Collectors.toList()));
if (!memberVideoEntityList.isEmpty()) {
item.setShootingTime(memberVideoEntityList.get(0).getCreateTime());
item.setShootingTime(memberVideoEntityList.getFirst().getCreateTime());
}
} else if (Integer.valueOf(0).equals(item.getGoodsType())) {
item.setCoverList(Collections.singletonList(item.getCoverUrl()));
@@ -434,15 +434,15 @@ public class OrderServiceImpl implements OrderService {
OrderAppRespVO orderAppRespVO = orderMapper.appDetail(item.getId());
List<OrderItemVO> orderItemList = orderAppRespVO.getOrderItemList();
if (!orderItemList.isEmpty()) {
if (Integer.valueOf(1).equals(orderItemList.get(0).getGoodsType())) {
if (Integer.valueOf(1).equals(orderItemList.getFirst().getGoodsType())) {
item.setGoodsName("录像集");
item.setOrderType("录像集");
} else if (Integer.valueOf(2).equals(orderItemList.get(0).getGoodsType())) {
} else if (Integer.valueOf(2).equals(orderItemList.getFirst().getGoodsType())) {
item.setGoodsName("照片集");
item.setOrderType("照片集");
} else if (Integer.valueOf(0).equals(orderItemList.get(0).getGoodsType())) {
} else if (Integer.valueOf(0).equals(orderItemList.getFirst().getGoodsType())) {
item.setOrderType("旅行Vlog");
item.setGoodsName(orderItemList.get(0).getGoodsName());
item.setGoodsName(orderItemList.getFirst().getGoodsName());
} else {
item.setGoodsName("未知商品");
item.setOrderType("未知商品");

View File

@@ -61,7 +61,7 @@ public class RoleServiceImpl implements RoleService {
String roleId = SnowFlakeUtil.getId();
addOrUpdateRoleReqVO.setId(roleId);
if(roleMapper.add(addOrUpdateRoleReqVO)>0){
if(addOrUpdateRoleReqVO.getMenuIdList()!=null&addOrUpdateRoleReqVO.getMenuIdList().size()>0) {
if (addOrUpdateRoleReqVO.getMenuIdList() != null && !addOrUpdateRoleReqVO.getMenuIdList().isEmpty()) {
menuMapper.addRoleMenu(roleId, addOrUpdateRoleReqVO.getMenuIdList());
}
return ApiResponse.success(null);
@@ -69,8 +69,8 @@ public class RoleServiceImpl implements RoleService {
}else {
if(roleMapper.update(addOrUpdateRoleReqVO)>0){
menuMapper.deleteRoleMenuByRoleId(addOrUpdateRoleReqVO.getId());
if(addOrUpdateRoleReqVO.getMenuIdList()!=null&addOrUpdateRoleReqVO.getMenuIdList().size()>0){
menuMapper.addRoleMenu(addOrUpdateRoleReqVO.getId(),addOrUpdateRoleReqVO.getMenuIdList());
if (addOrUpdateRoleReqVO.getMenuIdList() != null && !addOrUpdateRoleReqVO.getMenuIdList().isEmpty()) {
menuMapper.addRoleMenu(addOrUpdateRoleReqVO.getId(), addOrUpdateRoleReqVO.getMenuIdList());
}
return ApiResponse.success(null);
}

View File

@@ -139,7 +139,7 @@ public class TemplateServiceImpl implements TemplateService {
}
Optional<TemplateRespVO> templateOptional = scenicTemplateList.stream().filter(item -> item.getId().equals(templateId)).findAny();
Optional<TemplateRespVO> afterTemplateOptional = scenicTemplateList.stream().filter(item -> item.getId().equals(afterTemplateId)).findAny();
if (!templateOptional.isPresent()) {
if (templateOptional.isEmpty()) {
return ApiResponse.fail("模版不存在");
}
if (afterTemplateOptional.isPresent()) {

View File

@@ -235,7 +235,7 @@ public class PrinterServiceImpl implements PrinterService {
if (printerList.size() != 1) {
throw new BaseException("请选择打印机");
} else {
printerId = printerList.get(0).getId();
printerId = printerList.getFirst().getId();
}
} else {
PrinterEntity printer = printerMapper.getById(printerId);
@@ -293,7 +293,6 @@ public class PrinterServiceImpl implements PrinterService {
if (order.getPayPrice().equals(BigDecimal.ZERO)) {
orderBiz.paidOrder(order.getId());
data.put("needPay", false);
return data;
} else {
WXPayOrderReqVO wxPayOrderReqVO = new WXPayOrderReqVO();
wxPayOrderReqVO.setOpenId(order.getOpenId())
@@ -308,8 +307,8 @@ public class PrinterServiceImpl implements PrinterService {
throw new BaseException(e);
}
data.put("orderId", orderId);
return data;
}
return data;
}
@Override

View File

@@ -41,9 +41,7 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import com.aliyuncs.IAcsClient;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
@@ -84,7 +82,7 @@ public class TaskFaceServiceImpl implements TaskFaceService {
private IAcsClient getClient() {
AliFaceBodyAdapter use = (AliFaceBodyAdapter) FaceBodyFactory.use();
return use.getClient().getClient();
return use.getClient().client();
}
@Override
@@ -222,7 +220,7 @@ public class TaskFaceServiceImpl implements TaskFaceService {
if (StringUtils.isNumeric(dbName)) { // 景区
allFaceSampleList = faceSampleMapper.listByIds(allFaceSampleIds);
if (!acceptFaceSampleIds.isEmpty()) {
Long firstFaceSampleId = acceptFaceSampleIds.get(0);
Long firstFaceSampleId = acceptFaceSampleIds.getFirst();
Optional<FaceSampleEntity> firstFaceSample = allFaceSampleList.stream().filter(faceSample -> faceSample.getId().equals(firstFaceSampleId)).findAny();
if (firstFaceSample.isPresent()) {
if (tourMinutes > 0) {

View File

@@ -130,8 +130,7 @@ public class TaskTaskServiceImpl implements TaskService {
if (accessKey == null) {
return null;
}
RenderWorkerEntity worker = renderWorkerMapper.findByAccessKey(accessKey);
return worker;
return renderWorkerMapper.findByAccessKey(accessKey);
}
@Override
@@ -209,9 +208,6 @@ public class TaskTaskServiceImpl implements TaskService {
@Override
public TemplateRespVO workerGetTemplate(@NonNull Long templateId, @NonNull WorkerAuthReqVo req) {
if (templateId == null) {
return null;
}
RenderWorkerEntity worker = getWorker(req);
if (worker == null) {
return null;
@@ -274,7 +270,7 @@ public class TaskTaskServiceImpl implements TaskService {
if (templatePlaceholder.stream().distinct().count() == templatePlaceholder.size()) {
sourcesMap.forEach((key, value) -> {
// 每个value只保留第一个
value.removeIf(item -> !value.get(0).equals(item));
value.removeIf(item -> !value.getFirst().equals(item));
});
} else {
log.info("task callback: 模板占位符有重复,templateId: {}", templateId);
@@ -300,7 +296,7 @@ public class TaskTaskServiceImpl implements TaskService {
taskReqQuery.setTemplateId(templateId);
List<TaskEntity> templateTaskList = taskMapper.listEntity(taskReqQuery);
if (!templateTaskList.isEmpty()) {
taskEntity = templateTaskList.get(0);
taskEntity = templateTaskList.getFirst();
log.info("已有旧生成的视频:{}", taskEntity);
MemberVideoEntity taskVideoRelation = videoMapper.queryRelationByMemberTask(face.getMemberId(), taskEntity.getId());
if (taskVideoRelation != null) {
@@ -326,10 +322,10 @@ public class TaskTaskServiceImpl implements TaskService {
memberVideoEntity.setTaskId(taskEntity.getId());
} else {
log.info("重复task! faceId:{},templateId:{},taskParams:{}", faceId, templateId, sourcesMap);
memberVideoEntity.setTaskId(list.get(0).getId());
VideoEntity video = videoMapper.findByTaskId(list.get(0).getId());
memberVideoEntity.setTaskId(list.getFirst().getId());
VideoEntity video = videoMapper.findByTaskId(list.getFirst().getId());
if (video != null) {
IsBuyRespVO isBuy = orderBiz.isBuy(face.getMemberId(), list.get(0).getScenicId(), 0, video.getId());
IsBuyRespVO isBuy = orderBiz.isBuy(face.getMemberId(), list.getFirst().getScenicId(), 0, video.getId());
if (isBuy.isBuy()) {
memberVideoEntity.setIsBuy(1);
memberVideoEntity.setOrderId(isBuy.getOrderId());
@@ -376,11 +372,9 @@ public class TaskTaskServiceImpl implements TaskService {
}
if (Integer.valueOf(3).equals(scenicConfig.getBookRoutine()) || Integer.valueOf(4).equals(scenicConfig.getBookRoutine())) {
// 生成全部视频的逻辑
templateList.forEach(template -> {
createTaskByFaceIdAndTempalteId(faceId, template.getId(), 1);
});
templateList.forEach(template -> createTaskByFaceIdAndTempalteId(faceId, template.getId(), 1));
} else {
createTaskByFaceIdAndTempalteId(faceId, templateList.get(0).getId(), 1);
createTaskByFaceIdAndTempalteId(faceId, templateList.getFirst().getId(), 1);
}
}
@Override
@@ -433,7 +427,7 @@ public class TaskTaskServiceImpl implements TaskService {
// }
// videoMapper.addRelation(memberVideo);
// new Thread(() -> {
// sendVideoGeneratedServiceNotification(list.get(0).getId(), faceRespVO.getMemberId());
// sendVideoGeneratedServiceNotification(list.getFirst().getId(), faceRespVO.getMemberId());
// }).start();
// }
// });
@@ -474,7 +468,7 @@ public class TaskTaskServiceImpl implements TaskService {
if (templatePlaceholder.stream().distinct().count() == templatePlaceholder.size()) {
sourcesMap.forEach((key, value) -> {
// 每个value只保留第一个
value.removeIf(item -> !value.get(0).equals(item));
value.removeIf(item -> !value.getFirst().equals(item));
});
} else {
log.info("task callback: 模板占位符有重复,templateId: {}", templateId);
@@ -500,7 +494,7 @@ public class TaskTaskServiceImpl implements TaskService {
taskReqQuery.setTemplateId(templateId);
List<TaskEntity> templateTaskList = taskMapper.listEntity(taskReqQuery);
if (!templateTaskList.isEmpty()) {
taskEntity = templateTaskList.get(0);
taskEntity = templateTaskList.getFirst();
log.info("已有旧生成的视频:{}", taskEntity);
MemberVideoEntity taskVideoRelation = videoMapper.queryRelationByMemberTask(face.getMemberId(), taskEntity.getId());
if (taskVideoRelation != null) {
@@ -526,10 +520,10 @@ public class TaskTaskServiceImpl implements TaskService {
memberVideoEntity.setTaskId(taskEntity.getId());
} else {
log.info("重复task! faceId:{},templateId:{},taskParams:{}", faceId, templateId, sourcesMap);
memberVideoEntity.setTaskId(list.get(0).getId());
VideoEntity video = videoMapper.findByTaskId(list.get(0).getId());
memberVideoEntity.setTaskId(list.getFirst().getId());
VideoEntity video = videoMapper.findByTaskId(list.getFirst().getId());
if (video != null) {
IsBuyRespVO isBuy = orderBiz.isBuy(face.getMemberId(), list.get(0).getScenicId(), 0, video.getId());
IsBuyRespVO isBuy = orderBiz.isBuy(face.getMemberId(), list.getFirst().getScenicId(), 0, video.getId());
if (isBuy.isBuy()) {
memberVideoEntity.setIsBuy(1);
memberVideoEntity.setOrderId(isBuy.getOrderId());
@@ -626,9 +620,7 @@ public class TaskTaskServiceImpl implements TaskService {
}
}
videoMapper.updateRelationWhenTaskSuccess(taskId, video.getId(), isBuy);
new Thread(() -> {
sendVideoGeneratedServiceNotification(taskId);
}).start();
new Thread(() -> sendVideoGeneratedServiceNotification(taskId)).start();
}
@Override
@@ -657,6 +649,9 @@ public class TaskTaskServiceImpl implements TaskService {
return null;
}
RenderWorkerEntity worker = getWorker(req);
if (worker == null) {
return null;
}
IStorageAdapter adapter;
try {
adapter = StorageFactory.get(worker.getStoreType());
@@ -677,9 +672,7 @@ public class TaskTaskServiceImpl implements TaskService {
public void sendVideoGeneratedServiceNotification(Long taskId) {
List<MemberVideoEntity> memberVideo = videoMapper.listRelationByTask(taskId);
memberVideo.forEach(item -> {
sendVideoGeneratedServiceNotification(taskId, item.getMemberId());
});
memberVideo.forEach(item -> sendVideoGeneratedServiceNotification(taskId, item.getMemberId()));
}
@Override