避免空指针、水印并发加,让前端更好展示大锁页面

This commit is contained in:
2025-04-22 10:28:45 +08:00
parent 3863c0d963
commit 8ef2ef4b15
4 changed files with 21 additions and 5 deletions

View File

@ -43,6 +43,6 @@ public class ScenicConfigResp {
private Integer userSourceExpireDay;
private BigDecimal brokerDirectRate;
private String imageSourcePackHint;
private String videoSourcePackHint;
private String imageSourcePackHint = "";
private String videoSourcePackHint = "";
}

View File

@ -20,6 +20,7 @@ import com.ycwl.basic.model.pc.scenic.entity.ScenicAccountEntity;
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.entity.SourceEntity;
import com.ycwl.basic.model.pc.source.req.SourceReqQuery;
import com.ycwl.basic.model.pc.source.resp.SourceRespVO;
import com.ycwl.basic.model.pc.task.entity.TaskEntity;
@ -29,6 +30,7 @@ import com.ycwl.basic.repository.ScenicRepository;
import com.ycwl.basic.repository.VideoRepository;
import com.ycwl.basic.repository.VideoTaskRepository;
import com.ycwl.basic.service.mobile.AppScenicService;
import com.ycwl.basic.service.pc.SourceService;
import com.ycwl.basic.utils.ApiResponse;
import com.ycwl.basic.utils.JwtTokenUtil;
import lombok.extern.slf4j.Slf4j;
@ -73,6 +75,8 @@ public class AppScenicServiceImpl implements AppScenicService {
private VideoTaskRepository videoTaskRepository;
@Autowired
private VideoRepository videoRepository;
@Autowired
private SourceService sourceService;
@Override
public ApiResponse<PageInfo<ScenicAppVO>> pageQuery(ScenicReqQuery scenicReqQuery) {
@ -166,6 +170,12 @@ public class AppScenicServiceImpl implements AppScenicService {
} else {
sourceImageContent.setIsBuy(0);
}
List<SourceEntity> sourceEntities = sourceMapper.listImageByFaceRelation(faceRespVO.getMemberId(), faceId);
if (!sourceEntities.isEmpty()) {
sourceImageContent.setLockType(-1);
} else {
sourceImageContent.setLockType(1);
}
contentList.add(sourceImageContent);
}
if (!Integer.valueOf(1).equals(scenicConfig.getDisableSourceVideo())) {
@ -177,6 +187,12 @@ public class AppScenicServiceImpl implements AppScenicService {
} else {
sourceVideoContent.setIsBuy(0);
}
List<SourceEntity> sourceEntities = sourceMapper.listVideoByFaceRelation(faceRespVO.getMemberId(), faceId);
if (!sourceEntities.isEmpty()) {
sourceVideoContent.setLockType(-1);
} else {
sourceVideoContent.setLockType(1);
}
contentList.add(sourceVideoContent);
}
sourceList.stream().collect(Collectors.groupingBy(SourceRespVO::getType)).forEach((type, list) -> {

View File

@ -522,7 +522,7 @@ public class GoodsServiceImpl implements GoodsService {
}
IOperator operator = ImageWatermarkFactory.get(ImageWatermarkOperatorEnum.WATERMARK);
List<SourceWatermarkEntity> watermarkEntityList = sourceMapper.listSourceWatermark(defaultUrlList.stream().map(GoodsUrlVO::getGoodsId).collect(Collectors.toList()), null, ImageWatermarkOperatorEnum.WATERMARK.getType());
List<GoodsUrlVO> collect = defaultUrlList.stream().peek(item -> {
List<GoodsUrlVO> collect = defaultUrlList.stream().parallel().peek(item -> {
Optional<SourceWatermarkEntity> any = watermarkEntityList.stream()
.filter(watermark -> watermark.getSourceId().equals(item.getGoodsId()))
.findAny();

View File

@ -173,9 +173,9 @@ public class OrderServiceImpl implements OrderService {
goods.setCreateTime(sourceEntity.getCreateTime());
goodsList.add(goods);
}
}
item.setShootingTime(memberVideoEntityList.get(0).getCreateTime());
}
}
} else if (Integer.valueOf(2).equals(item.getGoodsType())) { // 照片 goodsId就是人脸ID
List<SourceEntity> memberVideoEntityList = sourceMapper.listImageByFaceRelation(byId.getMemberId(), item.getGoodsId());
item.setCoverList(memberVideoEntityList.stream().map(SourceEntity::getUrl).collect(Collectors.toList()));
@ -195,9 +195,9 @@ public class OrderServiceImpl implements OrderService {
goods.setCreateTime(sourceEntity.getCreateTime());
goodsList.add(goods);
}
}
item.setShootingTime(memberVideoEntityList.get(0).getCreateTime());
}
}
} else {
item.setCoverList(Collections.singletonList(item.getCoverUrl()));
VideoEntity videoMapperById = videoRepository.getVideo(item.getGoodsId());