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

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 Integer userSourceExpireDay;
private BigDecimal brokerDirectRate; private BigDecimal brokerDirectRate;
private String imageSourcePackHint; private String imageSourcePackHint = "";
private String videoSourcePackHint; 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.entity.ScenicConfigEntity;
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery; import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO; 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.req.SourceReqQuery;
import com.ycwl.basic.model.pc.source.resp.SourceRespVO; import com.ycwl.basic.model.pc.source.resp.SourceRespVO;
import com.ycwl.basic.model.pc.task.entity.TaskEntity; 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.VideoRepository;
import com.ycwl.basic.repository.VideoTaskRepository; import com.ycwl.basic.repository.VideoTaskRepository;
import com.ycwl.basic.service.mobile.AppScenicService; 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.ApiResponse;
import com.ycwl.basic.utils.JwtTokenUtil; import com.ycwl.basic.utils.JwtTokenUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -73,6 +75,8 @@ public class AppScenicServiceImpl implements AppScenicService {
private VideoTaskRepository videoTaskRepository; private VideoTaskRepository videoTaskRepository;
@Autowired @Autowired
private VideoRepository videoRepository; private VideoRepository videoRepository;
@Autowired
private SourceService sourceService;
@Override @Override
public ApiResponse<PageInfo<ScenicAppVO>> pageQuery(ScenicReqQuery scenicReqQuery) { public ApiResponse<PageInfo<ScenicAppVO>> pageQuery(ScenicReqQuery scenicReqQuery) {
@ -166,6 +170,12 @@ public class AppScenicServiceImpl implements AppScenicService {
} else { } else {
sourceImageContent.setIsBuy(0); sourceImageContent.setIsBuy(0);
} }
List<SourceEntity> sourceEntities = sourceMapper.listImageByFaceRelation(faceRespVO.getMemberId(), faceId);
if (!sourceEntities.isEmpty()) {
sourceImageContent.setLockType(-1);
} else {
sourceImageContent.setLockType(1);
}
contentList.add(sourceImageContent); contentList.add(sourceImageContent);
} }
if (!Integer.valueOf(1).equals(scenicConfig.getDisableSourceVideo())) { if (!Integer.valueOf(1).equals(scenicConfig.getDisableSourceVideo())) {
@ -177,6 +187,12 @@ public class AppScenicServiceImpl implements AppScenicService {
} else { } else {
sourceVideoContent.setIsBuy(0); sourceVideoContent.setIsBuy(0);
} }
List<SourceEntity> sourceEntities = sourceMapper.listVideoByFaceRelation(faceRespVO.getMemberId(), faceId);
if (!sourceEntities.isEmpty()) {
sourceVideoContent.setLockType(-1);
} else {
sourceVideoContent.setLockType(1);
}
contentList.add(sourceVideoContent); contentList.add(sourceVideoContent);
} }
sourceList.stream().collect(Collectors.groupingBy(SourceRespVO::getType)).forEach((type, list) -> { 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); IOperator operator = ImageWatermarkFactory.get(ImageWatermarkOperatorEnum.WATERMARK);
List<SourceWatermarkEntity> watermarkEntityList = sourceMapper.listSourceWatermark(defaultUrlList.stream().map(GoodsUrlVO::getGoodsId).collect(Collectors.toList()), null, ImageWatermarkOperatorEnum.WATERMARK.getType()); 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() Optional<SourceWatermarkEntity> any = watermarkEntityList.stream()
.filter(watermark -> watermark.getSourceId().equals(item.getGoodsId())) .filter(watermark -> watermark.getSourceId().equals(item.getGoodsId()))
.findAny(); .findAny();

View File

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