You've already forked FrameTour-BE
调整
This commit is contained in:
@@ -2,6 +2,7 @@ package com.ycwl.basic.service.pc;
|
||||
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.model.mobile.face.FaceRecognizeResp;
|
||||
import com.ycwl.basic.model.mobile.scenic.content.ContentPageVO;
|
||||
import com.ycwl.basic.model.pc.face.entity.FaceEntity;
|
||||
import com.ycwl.basic.model.pc.face.req.FaceReqQuery;
|
||||
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
|
||||
@@ -31,4 +32,8 @@ public interface FaceService {
|
||||
SearchFaceRespVo matchFaceId(Long faceId, boolean isNew);
|
||||
|
||||
ApiResponse deleteFace(Long faceId);
|
||||
|
||||
List<ContentPageVO> faceContentList(Long faceId);
|
||||
|
||||
ApiResponse<List<ContentPageVO>> contentListUseDefaultFace();
|
||||
}
|
||||
|
@@ -4,6 +4,8 @@ import cn.hutool.core.date.DateUtil;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.biz.OrderBiz;
|
||||
import com.ycwl.basic.biz.TemplateBiz;
|
||||
import com.ycwl.basic.constant.BaseContextHandler;
|
||||
import com.ycwl.basic.enums.StatisticEnum;
|
||||
import com.ycwl.basic.exception.BaseException;
|
||||
import com.ycwl.basic.facebody.FaceBodyFactory;
|
||||
@@ -13,9 +15,11 @@ import com.ycwl.basic.mapper.FaceSampleMapper;
|
||||
import com.ycwl.basic.mapper.SourceMapper;
|
||||
import com.ycwl.basic.mapper.StatisticsMapper;
|
||||
import com.ycwl.basic.mapper.FaceMapper;
|
||||
import com.ycwl.basic.mapper.TemplateMapper;
|
||||
import com.ycwl.basic.mapper.VideoMapper;
|
||||
import com.ycwl.basic.model.mobile.face.FaceRecognizeResp;
|
||||
import com.ycwl.basic.model.mobile.order.IsBuyRespVO;
|
||||
import com.ycwl.basic.model.mobile.scenic.content.ContentPageVO;
|
||||
import com.ycwl.basic.model.mobile.statistic.req.StatisticsRecordAddReq;
|
||||
import com.ycwl.basic.model.pc.face.entity.FaceEntity;
|
||||
import com.ycwl.basic.model.pc.face.req.FaceReqQuery;
|
||||
@@ -24,9 +28,16 @@ import com.ycwl.basic.model.pc.faceSample.entity.FaceSampleEntity;
|
||||
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
|
||||
import com.ycwl.basic.model.pc.source.entity.MemberSourceEntity;
|
||||
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;
|
||||
import com.ycwl.basic.model.pc.video.entity.MemberVideoEntity;
|
||||
import com.ycwl.basic.model.pc.video.entity.VideoEntity;
|
||||
import com.ycwl.basic.model.task.resp.SearchFaceRespVo;
|
||||
import com.ycwl.basic.repository.FaceRepository;
|
||||
import com.ycwl.basic.repository.ScenicRepository;
|
||||
import com.ycwl.basic.repository.VideoRepository;
|
||||
import com.ycwl.basic.repository.VideoTaskRepository;
|
||||
import com.ycwl.basic.service.pc.FaceService;
|
||||
import com.ycwl.basic.service.pc.ScenicService;
|
||||
import com.ycwl.basic.service.task.TaskFaceService;
|
||||
@@ -41,6 +52,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -79,6 +91,14 @@ public class FaceServiceImpl implements FaceService {
|
||||
private ScenicRepository scenicRepository;
|
||||
@Autowired
|
||||
private ScenicService scenicService;
|
||||
@Autowired
|
||||
private TemplateMapper templateMapper;
|
||||
@Autowired
|
||||
private VideoRepository videoRepository;
|
||||
@Autowired
|
||||
private VideoTaskRepository videoTaskRepository;
|
||||
@Autowired
|
||||
private TemplateBiz templateBiz;
|
||||
|
||||
@Override
|
||||
public ApiResponse<PageInfo<FaceRespVO>> pageQuery(FaceReqQuery faceReqQuery) {
|
||||
@@ -303,4 +323,122 @@ public class FaceServiceImpl implements FaceService {
|
||||
return ApiResponse.success("删除成功");
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<ContentPageVO> faceContentList(Long faceId) {
|
||||
FaceRespVO faceRespVO = faceMapper.getById(faceId);
|
||||
Long userId = faceRespVO.getMemberId();
|
||||
if (faceRespVO == null) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
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());
|
||||
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());
|
||||
if (taskById == null) {
|
||||
contentPageVO.setLockType(0);
|
||||
} else if (taskById.getStatus() == 3) {
|
||||
contentPageVO.setLockType(2);
|
||||
} else {
|
||||
contentPageVO.setLockType(0);
|
||||
}
|
||||
contentPageVO.setContentType(0);
|
||||
}
|
||||
} else {
|
||||
contentPageVO.setContentType(0);
|
||||
boolean canGenerate = templateBiz.determineTemplateCanGenerate(contentPageVO.getTemplateId(), faceId);
|
||||
if (canGenerate) {
|
||||
contentPageVO.setLockType(0);
|
||||
} else {
|
||||
contentPageVO.setLockType(1);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
SourceReqQuery sourceReqQuery = new SourceReqQuery();
|
||||
sourceReqQuery.setScenicId(faceRespVO.getScenicId());
|
||||
sourceReqQuery.setFaceId(faceId);
|
||||
sourceReqQuery.setMemberId(userId);
|
||||
//查询源素材
|
||||
List<SourceRespVO> sourceList = sourceMapper.queryByRelation(sourceReqQuery);
|
||||
ContentPageVO sourceVideoContent = new ContentPageVO();
|
||||
ContentPageVO sourceImageContent = new ContentPageVO();
|
||||
sourceVideoContent.setName("录像集");
|
||||
sourceImageContent.setName("照片集");
|
||||
sourceVideoContent.setScenicId(faceRespVO.getScenicId());
|
||||
sourceImageContent.setScenicId(faceRespVO.getScenicId());
|
||||
sourceVideoContent.setGoodsType(1);
|
||||
sourceImageContent.setGoodsType(2);
|
||||
sourceVideoContent.setContentType(2);
|
||||
sourceImageContent.setContentType(2);
|
||||
sourceVideoContent.setLockType(-1);
|
||||
sourceImageContent.setLockType(-1);
|
||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(faceRespVO.getScenicId());
|
||||
if (!Integer.valueOf(1).equals(scenicConfig.getDisableSourceImage())) {
|
||||
IsBuyRespVO isBuyRespVO = orderBiz.isBuy(userId, faceRespVO.getScenicId(), 2, faceId);
|
||||
sourceImageContent.setSourceType(isBuyRespVO.getGoodsType());
|
||||
sourceImageContent.setContentId(isBuyRespVO.getGoodsId());
|
||||
if (isBuyRespVO.isBuy()) {
|
||||
sourceImageContent.setIsBuy(1);
|
||||
} 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())) {
|
||||
IsBuyRespVO isBuyRespVO = orderBiz.isBuy(userId, faceRespVO.getScenicId(), 1, faceId);
|
||||
sourceVideoContent.setSourceType(isBuyRespVO.getGoodsType());
|
||||
sourceVideoContent.setContentId(isBuyRespVO.getGoodsId());
|
||||
if (isBuyRespVO.isBuy()) {
|
||||
sourceVideoContent.setIsBuy(1);
|
||||
} 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) -> {
|
||||
if (type == 1) {
|
||||
sourceVideoContent.setSourceType(1);
|
||||
sourceVideoContent.setLockType(-1);
|
||||
sourceVideoContent.setTemplateCoverUrl(list.get(0).getUrl());
|
||||
} else {
|
||||
sourceImageContent.setSourceType(2);
|
||||
sourceImageContent.setLockType(-1);
|
||||
sourceImageContent.setTemplateCoverUrl(list.get(0).getUrl());
|
||||
}
|
||||
});
|
||||
|
||||
return contentList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<List<ContentPageVO>> contentListUseDefaultFace() {
|
||||
FaceRespVO lastFaceByUserId = faceMapper.findLastFaceByUserId(BaseContextHandler.getUserId());
|
||||
List<ContentPageVO> contentPageVOS = faceContentList(lastFaceByUserId.getId());
|
||||
return ApiResponse.success(contentPageVOS);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user