Merge remote-tracking branch 'origin/master'

This commit is contained in:
songmingsong
2024-12-11 14:27:59 +08:00
44 changed files with 654 additions and 178 deletions

View File

@ -98,15 +98,15 @@ public class AppMemberServiceImpl implements AppMemberService {
List<MemberRespVO> list = memberMapper.list(memberReqQuery);
if (list.isEmpty()) {
MemberEntity memberEntity = new MemberEntity();
BeanCopierUtils.copyProperties(userInfoDTO, memberEntity);
memberEntity.setId(SnowFlakeUtil.getLongId());
memberEntity.setOpenId(openId.toString());
BeanCopierUtils.copyProperties(userInfoDTO, memberEntity);
memberMapper.add(memberEntity);
BeanCopierUtils.copyProperties(memberEntity, memberRespVO);
} else {
BeanCopierUtils.copyProperties(list.get(NumberConstant.ZERO), memberRespVO);
}
jwtInfo.setUserId(memberRespVO.getId().toString());
jwtInfo.setUserId(memberRespVO.getId());
jwtInfo.setName(memberRespVO.getNickname());
jwtInfo.setPhone(memberRespVO.getPhone());

View File

@ -5,16 +5,26 @@ import com.github.pagehelper.PageInfo;
import com.ycwl.basic.constant.BaseContextHandler;
import com.ycwl.basic.constant.NumberConstant;
import com.ycwl.basic.mapper.pc.*;
import com.ycwl.basic.model.jwt.JwtInfo;
import com.ycwl.basic.model.mobile.goods.GoodsPageVO;
import com.ycwl.basic.model.mobile.index.TopStateResp;
import com.ycwl.basic.model.mobile.scenic.ScenicAppVO;
import com.ycwl.basic.model.mobile.scenic.ScenicDeviceCountVO;
import com.ycwl.basic.model.mobile.scenic.ScenicIndexVO;
import com.ycwl.basic.model.mobile.scenic.content.ContentPageVO;
import com.ycwl.basic.model.pc.face.req.FaceReqQuery;
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
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.req.SourceReqQuery;
import com.ycwl.basic.model.pc.source.resp.SourceRespVO;
import com.ycwl.basic.model.pc.template.req.TemplateReqQuery;
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
import com.ycwl.basic.model.pc.video.req.VideoReqQuery;
import com.ycwl.basic.model.pc.video.resp.VideoRespVO;
import com.ycwl.basic.service.mobile.AppScenicService;
import com.ycwl.basic.utils.ApiResponse;
import com.ycwl.basic.utils.JwtTokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -22,6 +32,8 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
@ -42,6 +54,10 @@ public class AppScenicServiceImpl implements AppScenicService {
private SourceMapper sourceMapper;
@Autowired
private TaskMapper taskMapper;
@Autowired
private VideoMapper videoMapper;
@Autowired
private TemplateMapper templateMapper;
@Value("${face.score}")
private BigDecimal faceScore;
@ -56,8 +72,8 @@ public class AppScenicServiceImpl implements AppScenicService {
@Override
public ApiResponse<ScenicDeviceCountVO> deviceCountByScenicId(Long scenicId) {
String userId = BaseContextHandler.getUserId();
ScenicDeviceCountVO scenicDeviceCountVO = deviceMapper.deviceCountByScenicId(scenicId, userId);
JwtInfo worker = JwtTokenUtil.getWorker();
ScenicDeviceCountVO scenicDeviceCountVO = deviceMapper.deviceCountByScenicId(scenicId, worker.getUserId());
return ApiResponse.success(scenicDeviceCountVO);
}
@ -103,4 +119,62 @@ public class AppScenicServiceImpl implements AppScenicService {
return ApiResponse.success(topStateResp);
}
@Override
public ApiResponse<List<ContentPageVO>> contentList(Long scenicId) {
JwtInfo worker = JwtTokenUtil.getWorker();
//查询原素材
List<ContentPageVO> contentList = new ArrayList<>();
HashMap<Long, String> videoMap = new HashMap<>();
VideoReqQuery videoReqQuery = new VideoReqQuery();
videoReqQuery.setScenicId(scenicId);
videoReqQuery.setMemberId(worker.getUserId());
//查询成片vlog
List<VideoRespVO> videoList = videoMapper.list(videoReqQuery);
videoList.forEach(videoRespVO -> {
ContentPageVO contentPageVO = new ContentPageVO();
contentPageVO.setName(videoRespVO.getTemplateName());
contentPageVO.setContentType(1);
contentPageVO.setContentId(videoRespVO.getId());
contentPageVO.setTemplateCoverUrl(videoRespVO.getTemplateCoverUrl());
contentList.add(contentPageVO);
videoMap.put(videoRespVO.getTemplateId(),"");
});
TemplateReqQuery templateReqQuery = new TemplateReqQuery();
templateReqQuery.setScenicId(scenicId);
List<TemplateRespVO> list = templateMapper.list(templateReqQuery);
list.forEach(templateRespVO -> {
Long templateId = templateRespVO.getId();
if (!videoMap.containsKey(templateId)) {
ContentPageVO contentPageVO = new ContentPageVO();
contentPageVO.setName(templateRespVO.getName());
contentPageVO.setContentType(0);
contentPageVO.setContentId(templateId);
contentPageVO.setTemplateCoverUrl(templateRespVO.getCoverUrl());
contentList.add(contentPageVO);
}
});
SourceReqQuery sourceReqQuery = new SourceReqQuery();
videoReqQuery.setScenicId(scenicId);
videoReqQuery.setMemberId(worker.getUserId());
//查询源素材
List<SourceRespVO> sourceList = sourceMapper.listGroupByType(sourceReqQuery);
sourceList.forEach(sourceRespVO -> {
ContentPageVO contentPageVO = new ContentPageVO();
Integer type = sourceRespVO.getType();
if(type==1){
contentPageVO.setName("原片集");
}else {
contentPageVO.setName("照片集");
}
contentPageVO.setContentType(2);
contentPageVO.setSourceType(type);
contentList.add(contentPageVO);
});
return ApiResponse.success(contentList);
}
}

View File

@ -1,20 +1,19 @@
package com.ycwl.basic.service.impl.mobile;
import com.ycwl.basic.mapper.pc.ScenicMapper;
import com.ycwl.basic.mapper.pc.SourceMapper;
import com.ycwl.basic.mapper.pc.VideoMapper;
import com.ycwl.basic.model.mobile.goods.GoodsDetailVO;
import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq;
import com.ycwl.basic.model.mobile.goods.GoodsReqQuery;
import com.ycwl.basic.model.mobile.goods.GoodsPageVO;
import com.ycwl.basic.mapper.pc.*;
import com.ycwl.basic.model.jwt.JwtInfo;
import com.ycwl.basic.model.mobile.goods.*;
import com.ycwl.basic.model.mobile.scenic.ScenicDeviceCountVO;
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
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.req.TaskReqQuery;
import com.ycwl.basic.model.pc.video.req.VideoReqQuery;
import com.ycwl.basic.model.pc.video.resp.VideoRespVO;
import com.ycwl.basic.service.mobile.GoodsService;
import com.ycwl.basic.utils.ApiResponse;
import com.ycwl.basic.utils.DateUtils;
import com.ycwl.basic.utils.JwtTokenUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -33,15 +32,20 @@ public class GoodsServiceImpl implements GoodsService {
private SourceMapper sourceMapper;
@Autowired
private ScenicMapper scenicMapper;
@Autowired
private TaskMapper taskMapper;
@Autowired
private DeviceMapper deviceMapper;
public ApiResponse<List<GoodsPageVO>> goodsList(GoodsReqQuery query) {
JwtInfo worker = JwtTokenUtil.getWorker();
//查询原素材
List<GoodsPageVO> goodsList = new ArrayList<>();
VideoReqQuery videoReqQuery = new VideoReqQuery();
videoReqQuery.setScenicId(query.getScenicId());
videoReqQuery.setIsBuy(query.getIsBuy());
videoReqQuery.setMemberId(query.getMemberId());
videoReqQuery.setMemberId(worker.getUserId());
//查询成片vlog
List<VideoRespVO> videoList = videoMapper.list(videoReqQuery);
videoList.forEach(videoRespVO -> {
@ -164,9 +168,12 @@ public class GoodsServiceImpl implements GoodsService {
}
@Override
public ApiResponse<GoodsDetailVO> videoGoodsDetail(Long goodsId) {
GoodsDetailVO goodsDetailVO = new GoodsDetailVO();
public ApiResponse<VideoGoodsDetailVO> videoGoodsDetail(Long goodsId) {
VideoGoodsDetailVO goodsDetailVO = new VideoGoodsDetailVO();
VideoRespVO videoRespVO = videoMapper.getById(goodsId);
if(videoRespVO==null){
return ApiResponse.fail("该vlog不存在或已失效");
}
goodsDetailVO.setGoodsName(videoRespVO.getTemplateName());
goodsDetailVO.setScenicId(videoRespVO.getScenicId());
goodsDetailVO.setScenicName(videoRespVO.getScenicName());
@ -177,6 +184,44 @@ public class GoodsServiceImpl implements GoodsService {
goodsDetailVO.setVideoUrl(videoRespVO.getVideoUrl());
goodsDetailVO.setTemplateCoverUrl(videoRespVO.getTemplateCoverUrl());
goodsDetailVO.setCreateTime(videoRespVO.getCreateTime());
goodsDetailVO.setPrice(videoRespVO.getTemplatePrice());
goodsDetailVO.setIsBuy(videoRespVO.getIsBuy());
ScenicDeviceCountVO scenicDeviceCountVO = deviceMapper.deviceCountByScenicId(videoRespVO.getScenicId(), -1L);
goodsDetailVO.setLensNum(scenicDeviceCountVO.getTotalDeviceCount());
return ApiResponse.success(goodsDetailVO);
}
/**
* 查询用户当前景区的视频合成任务状态
* @param scenicId 景区id
* @return 1 合成中 2 合成成功
*/
@Override
public ApiResponse<Integer> getAllTaskStatus(Long userId, Long scenicId) {
TaskReqQuery taskReqQuery = new TaskReqQuery();
taskReqQuery.setMemberId(userId);
taskReqQuery.setScenicId(scenicId);
taskReqQuery.setStatus(2);
int count=taskMapper.countTask(taskReqQuery);
if(count>0){
return ApiResponse.success(1);
}else {
return ApiResponse.success(2);
}
}
@Override
public ApiResponse<Integer> getTemplateTaskStatus(Long userId, Long templateId) {
TaskReqQuery taskReqQuery = new TaskReqQuery();
taskReqQuery.setMemberId(userId);
taskReqQuery.setScenicId(templateId);
taskReqQuery.setStatus(2);
int count=taskMapper.countTask(taskReqQuery);
if(count>0){
return ApiResponse.success(1);
}else {
return ApiResponse.success(2);
}
}
}

View File

@ -1,5 +1,6 @@
package com.ycwl.basic.service.impl.pc;
import cn.hutool.core.bean.BeanUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.ycwl.basic.constant.BaseContextHandler;
@ -9,11 +10,16 @@ import com.ycwl.basic.model.jwt.JwtInfo;
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;
import com.ycwl.basic.model.task.resp.SearchFaceRespVo;
import com.ycwl.basic.service.impl.task.TaskFaceServiceImpl;
import com.ycwl.basic.service.pc.FaceService;
import com.ycwl.basic.service.task.TaskFaceService;
import com.ycwl.basic.utils.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
@ -32,6 +38,11 @@ public class FaceServiceImpl implements FaceService {
private FaceMapper faceMapper;
@Autowired
private OssUtil ossUtil;
@Autowired
private TaskFaceService faceService;
@Value("${face.score}")
private float faceScore;
@Override
public ApiResponse<PageInfo<FaceRespVO>> pageQuery(FaceReqQuery faceReqQuery) {
@ -89,20 +100,21 @@ public class FaceServiceImpl implements FaceService {
}
@Override
public ApiResponse faceUPload(MultipartFile file) {
//TODO 获取用户信息
// @Transactional(rollbackFor = Exception.class)
public ApiResponse faceUPload(MultipartFile file,Long scenicId) {
//获取用户id
String userId = BaseContextHandler.getUserId();
JwtInfo worker = JwtTokenUtil.getWorker();
log.info("当前登录用户信息:{}",worker);
//1、上传人脸照片
String facaeUrl = uploadFileALiOss(file, userId);
//TODO 2、人脸照片有效性校验
Boolean isValid=true;
// 2、查看人脸是否已上传
FaceRespVO faceRespVO=faceMapper.getByMemberId(Long.parseLong(userId));
if(isValid){
//校验成功,保存用户人脸信息,将访问人脸照片访问地址响应给前端
FaceEntity faceEntity = new FaceEntity();
FaceEntity faceEntity = new FaceEntity();
if (faceRespVO==null) {
//新增人脸
faceEntity.setId(SnowFlakeUtil.getLongId());
faceEntity.setMemberId(Long.parseLong(userId));
faceEntity.setFaceUrl(facaeUrl);
@ -112,14 +124,31 @@ public class FaceServiceImpl implements FaceService {
// faceEntity.setMatchResult();
//TODO 人脸数据存库
faceMapper.add(faceEntity);
return ApiResponse.success(facaeUrl);
}else {
//2、更新人脸
faceRespVO.setFaceUrl(facaeUrl);
BeanUtil.copyProperties(faceRespVO,faceEntity);
faceMapper.update(faceEntity);
}
SearchFaceRespVo faceRespVo = faceService.searchFace(scenicId, faceEntity.getId());
float score = faceRespVo.getScore();
if (score<faceScore) {
//校验失败,删除,提示重新上传
ossUtil.deleteFile(facaeUrl);
throw new BaseException("人脸照片校验失败,请重新上传");
}else {
//校验成功,保存用户人脸信息,将访问人脸照片访问地址响应给前端
return ApiResponse.success(facaeUrl);
}
}
@Override
public ApiResponse<FaceRespVO> getFaceByMemberId(Long memberId) {
return ApiResponse.success(faceMapper.getByMemberId(memberId));
}
/**

View File

@ -3,6 +3,7 @@ package com.ycwl.basic.service.impl.pc;
import cn.hutool.core.bean.BeanUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.ycwl.basic.constant.BaseContextHandler;
import com.ycwl.basic.constant.NumberConstant;
import com.ycwl.basic.enums.BizCodeEnum;
import com.ycwl.basic.enums.GoodsTypeEnum;
@ -10,12 +11,15 @@ import com.ycwl.basic.enums.OrderStateEnum;
import com.ycwl.basic.enums.SourceTypeNameEnum;
import com.ycwl.basic.exception.AppException;
import com.ycwl.basic.mapper.pc.OrderMapper;
import com.ycwl.basic.mapper.pc.OrderOperationMapper;
import com.ycwl.basic.mapper.pc.SourceMapper;
import com.ycwl.basic.mapper.pc.VideoMapper;
import com.ycwl.basic.model.mobile.goods.GoodsDetailVO;
import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq;
import com.ycwl.basic.model.mobile.order.OrderAppPageReq;
import com.ycwl.basic.model.mobile.order.RefundOrderReq;
import com.ycwl.basic.model.pc.member.resp.MemberRespVO;
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.req.OrderAddOrUpdateReq;
import com.ycwl.basic.model.pc.order.req.OrderItemDTO;
@ -23,6 +27,7 @@ import com.ycwl.basic.model.pc.order.req.OrderReqQuery;
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.orderOp.entity.OrderOperationEntity;
import com.ycwl.basic.model.pc.source.entity.SourceEntity;
import com.ycwl.basic.model.pc.source.resp.SourceRespVO;
import com.ycwl.basic.model.pc.video.entity.VideoEntity;
@ -68,6 +73,8 @@ public class OrderServiceImpl implements OrderService {
private AppMemberService memberService;
@Autowired
private GoodsService goodsService;
@Autowired
private OrderOperationMapper orderOperationMapper;
@Override
public ApiResponse<PageInfo<OrderRespVO>> pageQuery(OrderReqQuery query) {
@ -207,9 +214,9 @@ public class OrderServiceImpl implements OrderService {
//如果订单未支付就把商品状态更改成未购买
if (state != OrderStateEnum.PAID.getState()) {
OrderRespVO orderRespVO = orderMapper.getById(orderSn);
Integer goodsType = orderRespVO.getGoodsType();
List<OrderItemVO> orderItemList = orderRespVO.getOrderItemList();
orderItemList.forEach(orderItemVO -> {
Integer goodsType = orderItemVO.getGoodsType();
Long goodsId = orderItemVO.getGoodsId();
if (Objects.equals(goodsType, GoodsTypeEnum.VIDEO.code)) {
VideoEntity videoEntity = new VideoEntity();
@ -225,9 +232,9 @@ public class OrderServiceImpl implements OrderService {
});
} else if (state == OrderStateEnum.REFUNDED.getState()) {//订单退款成功就把商品状态更改成未购买
OrderRespVO orderRespVO = orderMapper.getById(orderSn);
Integer goodsType = orderRespVO.getGoodsType();
List<OrderItemVO> orderItemList = orderRespVO.getOrderItemList();
orderItemList.forEach(orderItemVO -> {
Integer goodsType = orderItemVO.getGoodsType();
Long goodsId = orderItemVO.getGoodsId();
if (Objects.equals(goodsType, GoodsTypeEnum.VIDEO.code)) {
VideoEntity videoEntity = new VideoEntity();
@ -254,7 +261,7 @@ public class OrderServiceImpl implements OrderService {
}
@Override
public ApiResponse<PageInfo<OrderAppRespVO>> appPageQuery(OrderReqQuery orderReqQuery) {
public ApiResponse<PageInfo<OrderAppRespVO>> appPageQuery(OrderAppPageReq orderReqQuery) {
PageHelper.startPage(orderReqQuery.getPageNum(), orderReqQuery.getPageSize());
List<OrderAppRespVO> list = orderMapper.appList(orderReqQuery);
for (OrderAppRespVO appRespVO : list) {
@ -263,6 +270,7 @@ public class OrderServiceImpl implements OrderService {
OrderItemVO itemVO = orderItemList.get(NumberConstant.ZERO);
appRespVO.setScenicName(itemVO.getScenicName());
appRespVO.setGoodsName(itemVO.getGoodsName());
appRespVO.setSourceType(itemVO.getSourceType());
}
}
PageInfo<OrderAppRespVO> pageInfo = new PageInfo<>(list);
@ -277,6 +285,7 @@ public class OrderServiceImpl implements OrderService {
OrderItemVO itemVO = orderItemList.get(NumberConstant.ZERO);
orderAppRespVO.setScenicName(itemVO.getScenicName());
orderAppRespVO.setGoodsName(itemVO.getGoodsName());
orderAppRespVO.setSourceType(itemVO.getSourceType());
}
return ApiResponse.success(orderAppRespVO);
}
@ -301,4 +310,19 @@ public class OrderServiceImpl implements OrderService {
return ApiResponse.buildResult(BizCodeEnum.REQUEST_OK);
}
@Override
public void remarkOrder(Long orderId, OrderEntity query) {
OrderAddOrUpdateReq updateOrder = new OrderAddOrUpdateReq();
updateOrder.setId(orderId);
updateOrder.setRemark(query.getRemark());
orderMapper.update(updateOrder);
OrderOperationEntity orderOperationEntity = new OrderOperationEntity();
orderOperationEntity.setOrderId(orderId);
orderOperationEntity.setType("修改备注");
orderOperationEntity.setRemark("备注修改为:"+query.getRemark());
orderOperationEntity.setUser(BaseContextHandler.getAccount());
orderOperationEntity.setUserId(BaseContextHandler.getUserId());
orderOperationMapper.add(orderOperationEntity);
}
}

View File

@ -10,6 +10,8 @@ import com.aliyuncs.facebody.model.v20191230.DeleteFaceEntityRequest;
import com.aliyuncs.facebody.model.v20191230.SearchFaceRequest;
import com.aliyuncs.facebody.model.v20191230.SearchFaceResponse;
import com.ycwl.basic.config.FaceDetectConfig;
import com.ycwl.basic.exception.BaseException;
import com.ycwl.basic.exception.BizException;
import com.ycwl.basic.mapper.pc.DeviceMapper;
import com.ycwl.basic.mapper.pc.FaceMapper;
import com.ycwl.basic.mapper.pc.FaceSampleMapper;
@ -22,6 +24,7 @@ import com.ycwl.basic.model.pc.faceSample.resp.FaceSampleRespVO;
import com.ycwl.basic.model.task.resp.AddFaceRespVo;
import com.ycwl.basic.model.task.resp.SearchFaceRespVo;
import com.ycwl.basic.service.task.TaskFaceService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -34,6 +37,7 @@ import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Service
public class TaskFaceServiceImpl implements TaskFaceService {
@Autowired
@ -87,8 +91,10 @@ public class TaskFaceServiceImpl implements TaskFaceService {
return respVo;
} catch (Exception e) {
e.printStackTrace();
log.error("人脸搜索失败:{}", e.getMessage());
throw new BaseException(e.getMessage());
}
return null;
// return null;
}
@Override

View File

@ -99,7 +99,9 @@ public class TaskTaskServiceImpl implements TaskService {
// Template
String cacheJson = redisTemplate.opsForValue().get(TaskConstant.TASK_TEMPLATE_KEY_PFX + worker.getId());
if (cacheJson == null) {
List<TemplateRespVO> templateList = templateMapper.list(new TemplateReqQuery());
TemplateReqQuery templateReqQuery = new TemplateReqQuery();
templateReqQuery.setPid(0L);
List<TemplateRespVO> templateList = templateMapper.list(templateReqQuery);
for (TemplateRespVO template : templateList) {
template.setChildren(templateMapper.getByPid(template.getId()));
}

View File

@ -5,6 +5,7 @@ import com.ycwl.basic.model.mobile.index.TopStateResp;
import com.ycwl.basic.model.mobile.scenic.ScenicAppVO;
import com.ycwl.basic.model.mobile.scenic.ScenicDeviceCountVO;
import com.ycwl.basic.model.mobile.scenic.ScenicIndexVO;
import com.ycwl.basic.model.mobile.scenic.content.ContentPageVO;
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
import com.ycwl.basic.utils.ApiResponse;
@ -36,4 +37,6 @@ public interface AppScenicService {
* @return
*/
ApiResponse<TopStateResp> topState();
ApiResponse<List<ContentPageVO>> contentList(Long scenicId);
}

View File

@ -1,9 +1,6 @@
package com.ycwl.basic.service.mobile;
import com.ycwl.basic.model.mobile.goods.GoodsDetailVO;
import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq;
import com.ycwl.basic.model.mobile.goods.GoodsReqQuery;
import com.ycwl.basic.model.mobile.goods.GoodsPageVO;
import com.ycwl.basic.model.mobile.goods.*;
import com.ycwl.basic.model.pc.source.resp.SourceRespVO;
import com.ycwl.basic.utils.ApiResponse;
@ -42,5 +39,14 @@ public interface GoodsService {
* @param goodsId 商品vlogid
* @return
*/
ApiResponse<GoodsDetailVO> videoGoodsDetail(Long goodsId);
ApiResponse<VideoGoodsDetailVO> videoGoodsDetail(Long goodsId);
/**
* 查询当前用户的成片合成任务状态
* @param userId
* @return
*/
ApiResponse<Integer> getAllTaskStatus(Long userId ,Long scenicId);
ApiResponse<Integer> getTemplateTaskStatus(Long userId, Long templateId);
}

View File

@ -22,5 +22,7 @@ public interface FaceService {
ApiResponse<Integer> deleteByIds(List<Long> ids);
ApiResponse<Integer> update(FaceEntity face);
ApiResponse faceUPload(MultipartFile file);
ApiResponse faceUPload(MultipartFile file,Long scrnicId);
ApiResponse<FaceRespVO> getFaceByMemberId(Long memberId);
}

View File

@ -2,7 +2,9 @@ package com.ycwl.basic.service.pc;
import com.github.pagehelper.PageInfo;
import com.ycwl.basic.enums.OrderStateEnum;
import com.ycwl.basic.model.mobile.order.OrderAppPageReq;
import com.ycwl.basic.model.mobile.order.RefundOrderReq;
import com.ycwl.basic.model.pc.order.entity.OrderEntity;
import com.ycwl.basic.model.pc.order.req.OrderAddOrUpdateReq;
import com.ycwl.basic.model.pc.order.req.OrderReqQuery;
import com.ycwl.basic.model.pc.order.resp.OrderAppRespVO;
@ -32,7 +34,7 @@ public interface OrderService {
ApiResponse<Integer> getOrderCountByUserId(Long userId);
ApiResponse<PageInfo<OrderAppRespVO>> appPageQuery(OrderReqQuery orderReqQuery);
ApiResponse<PageInfo<OrderAppRespVO>> appPageQuery(OrderAppPageReq orderReqQuery);
ApiResponse<OrderAppRespVO> appDetail(Long id);
@ -52,4 +54,6 @@ public interface OrderService {
* @return
*/
ApiResponse<?> auditRefundOrder(RefundOrderReq refundOrderReq);
void remarkOrder(Long orderId, OrderEntity query);
}