避免bug报错
This commit is contained in:
parent
cfb9392068
commit
ec4df2eb50
@ -2,6 +2,7 @@ package com.ycwl.basic.biz;
|
|||||||
|
|
||||||
import com.ycwl.basic.enums.StatisticEnum;
|
import com.ycwl.basic.enums.StatisticEnum;
|
||||||
import com.ycwl.basic.mapper.OrderMapper;
|
import com.ycwl.basic.mapper.OrderMapper;
|
||||||
|
import com.ycwl.basic.mapper.SourceMapper;
|
||||||
import com.ycwl.basic.mapper.StatisticsMapper;
|
import com.ycwl.basic.mapper.StatisticsMapper;
|
||||||
import com.ycwl.basic.mapper.VideoMapper;
|
import com.ycwl.basic.mapper.VideoMapper;
|
||||||
import com.ycwl.basic.model.mobile.order.IsBuyRespVO;
|
import com.ycwl.basic.model.mobile.order.IsBuyRespVO;
|
||||||
@ -12,9 +13,11 @@ import com.ycwl.basic.model.pc.order.entity.OrderEntity;
|
|||||||
import com.ycwl.basic.model.pc.order.entity.OrderItemEntity;
|
import com.ycwl.basic.model.pc.order.entity.OrderItemEntity;
|
||||||
import com.ycwl.basic.model.pc.order.req.OrderUpdateReq;
|
import com.ycwl.basic.model.pc.order.req.OrderUpdateReq;
|
||||||
import com.ycwl.basic.model.pc.order.resp.OrderAppRespVO;
|
import com.ycwl.basic.model.pc.order.resp.OrderAppRespVO;
|
||||||
|
import com.ycwl.basic.model.pc.order.resp.OrderItemVO;
|
||||||
import com.ycwl.basic.model.pc.order.resp.OrderRespVO;
|
import com.ycwl.basic.model.pc.order.resp.OrderRespVO;
|
||||||
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.entity.ScenicEntity;
|
import com.ycwl.basic.model.pc.scenic.entity.ScenicEntity;
|
||||||
|
import com.ycwl.basic.model.pc.source.entity.SourceEntity;
|
||||||
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
|
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
|
||||||
import com.ycwl.basic.model.pc.video.entity.VideoEntity;
|
import com.ycwl.basic.model.pc.video.entity.VideoEntity;
|
||||||
import com.ycwl.basic.model.pc.video.resp.VideoRespVO;
|
import com.ycwl.basic.model.pc.video.resp.VideoRespVO;
|
||||||
@ -30,8 +33,10 @@ import org.springframework.stereotype.Component;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class OrderBiz {
|
public class OrderBiz {
|
||||||
@ -54,6 +59,8 @@ public class OrderBiz {
|
|||||||
private StatisticsMapper statisticsMapper;
|
private StatisticsMapper statisticsMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private OrderMapper orderMapper;
|
private OrderMapper orderMapper;
|
||||||
|
@Autowired
|
||||||
|
private SourceMapper sourceMapper;
|
||||||
|
|
||||||
public PriceObj queryPrice(Long scenicId, int goodsType, Long goodsId) {
|
public PriceObj queryPrice(Long scenicId, int goodsType, Long goodsId) {
|
||||||
PriceObj priceObj = new PriceObj();
|
PriceObj priceObj = new PriceObj();
|
||||||
@ -161,7 +168,32 @@ public class OrderBiz {
|
|||||||
Date payAt = order.getPayAt();
|
Date payAt = order.getPayAt();
|
||||||
OrderAppRespVO orderDetail = orderMapper.appDetail(orderId);
|
OrderAppRespVO orderDetail = orderMapper.appDetail(orderId);
|
||||||
//商品创建时间
|
//商品创建时间
|
||||||
Date goodsCreateTime = orderDetail.getOrderItemList().get(0).getShootingTime();
|
Date goodsCreateTime = new Date();
|
||||||
|
if (!orderDetail.getOrderItemList().isEmpty()) {
|
||||||
|
OrderItemVO orderItemVO = orderDetail.getOrderItemList().get(0);
|
||||||
|
switch (orderItemVO.getGoodsType()) {
|
||||||
|
case 0:
|
||||||
|
VideoEntity video = videoRepository.getVideo(orderItemVO.getGoodsId());
|
||||||
|
if (video != null) {
|
||||||
|
goodsCreateTime = video.getCreateTime();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
List<SourceEntity> imageSource = sourceMapper.listImageByFaceRelation(order.getMemberId(), orderItemVO.getGoodsId());
|
||||||
|
Optional<SourceEntity> min = imageSource.stream().min(Comparator.comparing(SourceEntity::getCreateTime));
|
||||||
|
if (min.isPresent()) {
|
||||||
|
goodsCreateTime = min.get().getCreateTime();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
List<SourceEntity> videoSource = sourceMapper.listImageByFaceRelation(order.getMemberId(), orderItemVO.getGoodsId());
|
||||||
|
Optional<SourceEntity> minTime = videoSource.stream().min(Comparator.comparing(SourceEntity::getCreateTime));
|
||||||
|
if (minTime.isPresent()) {
|
||||||
|
goodsCreateTime = minTime.get().getCreateTime();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
StatisticsRecordAddReq statisticsRecordAddReq = new StatisticsRecordAddReq();
|
StatisticsRecordAddReq statisticsRecordAddReq = new StatisticsRecordAddReq();
|
||||||
statisticsRecordAddReq.setMemberId(order.getMemberId());
|
statisticsRecordAddReq.setMemberId(order.getMemberId());
|
||||||
|
@ -16,6 +16,7 @@ import org.springframework.stereotype.Component;
|
|||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ -49,20 +50,25 @@ public class TemplateBiz {
|
|||||||
}
|
}
|
||||||
FaceEntity face = faceRepository.getFace(faceId);
|
FaceEntity face = faceRepository.getFace(faceId);
|
||||||
List<FaceSampleEntity> faceSampleList = faceRepository.getFaceSampleList(faceId);
|
List<FaceSampleEntity> faceSampleList = faceRepository.getFaceSampleList(faceId);
|
||||||
if (faceSampleList.isEmpty()) {
|
if (faceSampleList == null || faceSampleList.isEmpty()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
long count;
|
long count;
|
||||||
if (scanSource) {
|
if (scanSource) {
|
||||||
List<SourceEntity> sourceEntities = sourceMapper.listVideoByScenicFaceRelation(face.getScenicId(), faceId);
|
List<SourceEntity> sourceEntities = sourceMapper.listVideoByScenicFaceRelation(face.getScenicId(), faceId);
|
||||||
|
if (sourceEntities == null || sourceEntities.isEmpty()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
count = sourceEntities.stream()
|
count = sourceEntities.stream()
|
||||||
.map(SourceEntity::getDeviceId)
|
.map(SourceEntity::getDeviceId)
|
||||||
|
.filter(Objects::nonNull) // 添加对 null 的检查
|
||||||
.distinct()
|
.distinct()
|
||||||
.filter(deviceId -> placeholderList.contains(deviceId.toString()))
|
.filter(deviceId -> placeholderList.contains(deviceId.toString()))
|
||||||
.count();
|
.count();
|
||||||
} else {
|
} else {
|
||||||
count = faceSampleList.stream()
|
count = faceSampleList.stream()
|
||||||
.map(FaceSampleEntity::getDeviceId)
|
.map(FaceSampleEntity::getDeviceId)
|
||||||
|
.filter(Objects::nonNull) // 添加对 null 的检查
|
||||||
.distinct()
|
.distinct()
|
||||||
.filter(deviceId -> placeholderList.contains(deviceId.toString()))
|
.filter(deviceId -> placeholderList.contains(deviceId.toString()))
|
||||||
.count();
|
.count();
|
||||||
@ -101,6 +107,7 @@ public class TemplateBiz {
|
|||||||
List<SourceEntity> sourceEntities = sourceMapper.listVideoByScenicFaceRelation(face.getScenicId(), faceId);
|
List<SourceEntity> sourceEntities = sourceMapper.listVideoByScenicFaceRelation(face.getScenicId(), faceId);
|
||||||
count = sourceEntities.stream()
|
count = sourceEntities.stream()
|
||||||
.map(SourceEntity::getDeviceId)
|
.map(SourceEntity::getDeviceId)
|
||||||
|
.filter(deviceId -> deviceId != null) // 添加对 null 的检查
|
||||||
.distinct()
|
.distinct()
|
||||||
.filter(deviceId -> placeholderList.contains(deviceId.toString()))
|
.filter(deviceId -> placeholderList.contains(deviceId.toString()))
|
||||||
.count();
|
.count();
|
||||||
|
@ -397,14 +397,17 @@ public class GoodsServiceImpl implements GoodsService {
|
|||||||
@Override
|
@Override
|
||||||
public ApiResponse<GoodsDetailVO> sourceGoodsInfo(Long userId, Long sourceId) {
|
public ApiResponse<GoodsDetailVO> sourceGoodsInfo(Long userId, Long sourceId) {
|
||||||
SourceRespVO sourceRespVO = sourceMapper.listUserOne(userId, sourceId);
|
SourceRespVO sourceRespVO = sourceMapper.listUserOne(userId, sourceId);
|
||||||
// if (sourceRespVO == null) {
|
if (sourceRespVO == null) {
|
||||||
// return ApiResponse.fail("该视频不属于你");
|
sourceRespVO = sourceMapper.getById(sourceId);
|
||||||
// }
|
if (sourceRespVO == null) {
|
||||||
|
return ApiResponse.fail("该视频不存在");
|
||||||
|
}
|
||||||
|
}
|
||||||
GoodsDetailVO goodsDetailVO = new GoodsDetailVO();
|
GoodsDetailVO goodsDetailVO = new GoodsDetailVO();
|
||||||
goodsDetailVO.setGoodsName("原片");
|
goodsDetailVO.setGoodsName("原片");
|
||||||
goodsDetailVO.setScenicId(sourceRespVO.getScenicId());
|
goodsDetailVO.setScenicId(sourceRespVO.getScenicId());
|
||||||
goodsDetailVO.setScenicName(sourceRespVO.getScenicName());
|
goodsDetailVO.setScenicName(sourceRespVO.getScenicName());
|
||||||
goodsDetailVO.setGoodsType(0);
|
goodsDetailVO.setGoodsType(sourceRespVO.getType());
|
||||||
goodsDetailVO.setGoodsId(sourceRespVO.getId());
|
goodsDetailVO.setGoodsId(sourceRespVO.getId());
|
||||||
goodsDetailVO.setVideoUrl(sourceRespVO.getVideoUrl());
|
goodsDetailVO.setVideoUrl(sourceRespVO.getVideoUrl());
|
||||||
goodsDetailVO.setTemplateCoverUrl(sourceRespVO.getUrl());
|
goodsDetailVO.setTemplateCoverUrl(sourceRespVO.getUrl());
|
||||||
|
@ -89,20 +89,12 @@ public class WxPayServiceImpl implements WxPayService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private WechatConfig wechatConfig;
|
private WechatConfig wechatConfig;
|
||||||
@Autowired
|
@Autowired
|
||||||
private HttpService httpService;
|
|
||||||
@Autowired
|
|
||||||
private OrderService orderService;
|
private OrderService orderService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private PaymentMapper paymentMapper;
|
private PaymentMapper paymentMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private StatisticsMapper statisticsMapper;
|
private StatisticsMapper statisticsMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private OrderMapper orderMapper;
|
|
||||||
@Autowired
|
|
||||||
private SourceMapper sourceMapper;
|
|
||||||
@Autowired
|
|
||||||
private VideoMapper videoMapper;
|
|
||||||
@Autowired
|
|
||||||
private OrderRepository orderRepository;
|
private OrderRepository orderRepository;
|
||||||
@Autowired
|
@Autowired
|
||||||
private OrderBiz orderBiz;
|
private OrderBiz orderBiz;
|
||||||
|
@ -252,6 +252,7 @@ public class TaskTaskServiceImpl implements TaskService {
|
|||||||
DeviceEntity device = deviceRepository.getDevice(item.getDeviceId());
|
DeviceEntity device = deviceRepository.getDevice(item.getDeviceId());
|
||||||
return Integer.valueOf(1).equals(device.getStatus());
|
return Integer.valueOf(1).equals(device.getStatus());
|
||||||
})
|
})
|
||||||
|
.filter(item -> item.getDeviceId() != null) // 添加对 deviceId 为 null 的检查
|
||||||
.collect(Collectors.groupingBy(item -> item.getDeviceId().toString()));
|
.collect(Collectors.groupingBy(item -> item.getDeviceId().toString()));
|
||||||
if (sourcesMap.isEmpty()) {
|
if (sourcesMap.isEmpty()) {
|
||||||
// 主动禁止没有视频源视频生成
|
// 主动禁止没有视频源视频生成
|
||||||
@ -437,14 +438,17 @@ public class TaskTaskServiceImpl implements TaskService {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
List<SourceEntity> videoSourceList = sourceMapper.listVideoByScenicFaceRelation(face.getScenicId(), faceId);
|
List<SourceEntity> videoSourceList = sourceMapper.listVideoByScenicFaceRelation(face.getScenicId(), faceId);
|
||||||
|
if (videoSourceList == null || videoSourceList.isEmpty()) {
|
||||||
|
log.info("task callback: 没有视频源");
|
||||||
|
return;
|
||||||
|
}
|
||||||
Map<String, List<SourceEntity>> sourcesMap = videoSourceList.stream()
|
Map<String, List<SourceEntity>> sourcesMap = videoSourceList.stream()
|
||||||
.filter(Objects::nonNull)
|
|
||||||
.filter(item -> Objects.nonNull(item.getVideoUrl()))
|
|
||||||
.peek(item -> item.setUrl(item.getVideoUrl()))
|
.peek(item -> item.setUrl(item.getVideoUrl()))
|
||||||
.filter(item -> {
|
.filter(item -> {
|
||||||
DeviceEntity device = deviceRepository.getDevice(item.getDeviceId());
|
DeviceEntity device = deviceRepository.getDevice(item.getDeviceId());
|
||||||
return Integer.valueOf(1).equals(device.getStatus());
|
return Integer.valueOf(1).equals(device.getStatus());
|
||||||
})
|
})
|
||||||
|
.filter(item -> item.getDeviceId() != null) // 添加对 deviceId 为 null 的检查
|
||||||
.collect(Collectors.groupingBy(item -> item.getDeviceId().toString()));
|
.collect(Collectors.groupingBy(item -> item.getDeviceId().toString()));
|
||||||
if (sourcesMap.isEmpty()) {
|
if (sourcesMap.isEmpty()) {
|
||||||
// 主动禁止没有视频源视频生成
|
// 主动禁止没有视频源视频生成
|
||||||
|
Loading…
x
Reference in New Issue
Block a user