You've already forked FrameTour-BE
0元购逻辑,直接送
This commit is contained in:
@ -41,6 +41,7 @@ import com.ycwl.basic.model.pc.video.entity.MemberVideoEntity;
|
||||
import com.ycwl.basic.model.wx.WXPayOrderReqVO;
|
||||
import com.ycwl.basic.model.wx.WxPayRespVO;
|
||||
import com.ycwl.basic.model.wx.WxchatCallbackSuccessData;
|
||||
import com.ycwl.basic.repository.OrderRepository;
|
||||
import com.ycwl.basic.service.HttpService;
|
||||
import com.ycwl.basic.service.mobile.WxPayService;
|
||||
import com.ycwl.basic.service.pc.OrderService;
|
||||
@ -100,6 +101,8 @@ public class WxPayServiceImpl implements WxPayService {
|
||||
private SourceMapper sourceMapper;
|
||||
@Autowired
|
||||
private VideoMapper videoMapper;
|
||||
@Autowired
|
||||
private OrderRepository orderRepository;
|
||||
|
||||
@Override
|
||||
public WxPayRespVO createOrder(WXPayOrderReqVO req) {
|
||||
@ -211,6 +214,7 @@ public class WxPayServiceImpl implements WxPayService {
|
||||
OrderRespVO byId = orderMapper.getById(orderId);
|
||||
List<OrderItemEntity> orderItemList = orderMapper.listOrderItemByOrderId(orderId);
|
||||
orderItemList.forEach(orderItemVO -> {
|
||||
orderRepository.clearUserBuyItemCache(byId.getMemberId(), orderItemVO.getGoodsType(), orderItemVO.getGoodsId());
|
||||
switch (orderItemVO.getGoodsType()) {
|
||||
case 0: // 成片
|
||||
MemberVideoEntity memberVideoEntity = new MemberVideoEntity();
|
||||
@ -224,7 +228,8 @@ public class WxPayServiceImpl implements WxPayService {
|
||||
case 2: // 源素材
|
||||
MemberSourceEntity memberSourceEntity = new MemberSourceEntity();
|
||||
memberSourceEntity.setMemberId(byId.getMemberId());
|
||||
memberSourceEntity.setSourceId(orderItemVO.getGoodsId());
|
||||
// 源素材的goodsId是人脸ID
|
||||
memberSourceEntity.setFaceId(orderItemVO.getGoodsId());
|
||||
memberSourceEntity.setType(orderItemVO.getGoodsType());
|
||||
memberSourceEntity.setIsBuy(1);
|
||||
memberSourceEntity.setOrderId(orderId);
|
||||
|
@ -133,16 +133,17 @@ public class TaskFaceServiceImpl implements TaskFaceService {
|
||||
} else {
|
||||
record.setFaceUrl(getFaceUrl(record.getFaceSampleId()));
|
||||
}
|
||||
record.setScore(item.getScore());
|
||||
record.setConfidence(item.getConfidence());
|
||||
return record;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
log.matchLocalRecord(records);
|
||||
List<Long> faceSampleIds = records.stream()
|
||||
.filter(record -> record.getConfidence() > 60)
|
||||
.filter(record -> record.getScore() > 0.6)
|
||||
.map(MatchLocalRecord::getFaceSampleId)
|
||||
.collect(Collectors.toList());
|
||||
respVo.setFirstMatchRate(matchList.get(0).getFaceItems().get(0).getConfidence());
|
||||
respVo.setFirstMatchRate(matchList.get(0).getFaceItems().get(0).getScore());
|
||||
respVo.setSampleListIds(faceSampleIds);
|
||||
return respVo;
|
||||
} catch (Exception e) {
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.ycwl.basic.service.impl.task;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.ycwl.basic.biz.OrderBiz;
|
||||
import com.ycwl.basic.constant.TaskConstant;
|
||||
import com.ycwl.basic.mapper.FaceMapper;
|
||||
import com.ycwl.basic.mapper.FaceSampleMapper;
|
||||
@ -9,6 +10,7 @@ import com.ycwl.basic.mapper.SourceMapper;
|
||||
import com.ycwl.basic.mapper.TaskMapper;
|
||||
import com.ycwl.basic.mapper.TemplateMapper;
|
||||
import com.ycwl.basic.mapper.VideoMapper;
|
||||
import com.ycwl.basic.model.mobile.order.PriceObj;
|
||||
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
|
||||
import com.ycwl.basic.model.pc.faceSample.resp.FaceSampleRespVO;
|
||||
import com.ycwl.basic.model.pc.renderWorker.entity.RenderWorkerEntity;
|
||||
@ -71,6 +73,8 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
private TemplateRepository templateRepository;
|
||||
@Autowired
|
||||
private VideoTaskRepository videoTaskRepository;
|
||||
@Autowired
|
||||
private OrderBiz orderBiz;
|
||||
|
||||
private RenderWorkerEntity getWorker(@NonNull WorkerAuthReqVo req) {
|
||||
String accessKey = req.getAccessKey();
|
||||
@ -127,6 +131,10 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
if (faceId == null) {
|
||||
return;
|
||||
}
|
||||
boolean canGenerate = templateRepository.determineTemplateCanGenerate(templateId, faceId);
|
||||
if (!canGenerate) {
|
||||
return;
|
||||
}
|
||||
TemplateConfigEntity config = templateRepository.getTemplateConfig(templateId);
|
||||
FaceRespVO faceRespVO = faceMapper.getById(faceId);
|
||||
if (faceRespVO == null) {
|
||||
@ -237,6 +245,10 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
task.faceSampleId = faceSampleIds;
|
||||
task.memberId = faceRespVO.getMemberId();
|
||||
task.callback = () -> {
|
||||
boolean canGenerate = templateRepository.determineTemplateCanGenerate(templateId, faceId);
|
||||
if (!canGenerate) {
|
||||
return;
|
||||
}
|
||||
List<SourceEntity> videoSourceList = sourceMapper.listVideoByFaceRelation(faceId);
|
||||
Map<String, List<SourceEntity>> sourcesMap = videoSourceList.stream()
|
||||
.peek(item -> item.setUrl(item.getVideoUrl()))
|
||||
@ -268,6 +280,10 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
memberVideoEntity.setTaskId(list.get(0).getId());
|
||||
VideoEntity video = videoMapper.findByTaskId(list.get(0).getId());
|
||||
if (video != null) {
|
||||
PriceObj priceObj = orderBiz.queryPrice(0, video.getId());
|
||||
if (priceObj.getPrice().equals(BigDecimal.ZERO)) {
|
||||
memberVideoEntity.setIsBuy(1);
|
||||
}
|
||||
memberVideoEntity.setVideoId(video.getId());
|
||||
}
|
||||
}
|
||||
@ -296,7 +312,6 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
if (video != null) {
|
||||
video.setVideoUrl(task.getVideoUrl());
|
||||
videoMapper.update(video);
|
||||
videoMapper.updateRelationWhenTaskSuccess(taskId, video.getId());
|
||||
} else {
|
||||
video = new VideoEntity();
|
||||
video.setId(SnowFlakeUtil.getLongId());
|
||||
@ -307,8 +322,13 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
video.setVideoUrl(task.getVideoUrl());
|
||||
video.setCreateTime(new Date());
|
||||
videoMapper.add(video);
|
||||
videoMapper.updateRelationWhenTaskSuccess(taskId, video.getId());
|
||||
}
|
||||
int isBuy = 0;
|
||||
PriceObj priceObj = orderBiz.queryPrice(0, video.getId());
|
||||
if (priceObj.getPrice().equals(BigDecimal.ZERO)) {
|
||||
isBuy = 1;
|
||||
}
|
||||
videoMapper.updateRelationWhenTaskSuccess(taskId, video.getId(), isBuy);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user