diff --git a/src/main/java/com/ycwl/basic/controller/mobile/AppFaceController.java b/src/main/java/com/ycwl/basic/controller/mobile/AppFaceController.java index b161bbd..abd013c 100644 --- a/src/main/java/com/ycwl/basic/controller/mobile/AppFaceController.java +++ b/src/main/java/com/ycwl/basic/controller/mobile/AppFaceController.java @@ -1,14 +1,14 @@ package com.ycwl.basic.controller.mobile; +import com.ycwl.basic.model.jwt.JwtInfo; +import com.ycwl.basic.model.pc.face.resp.FaceRespVO; import com.ycwl.basic.service.pc.FaceService; import com.ycwl.basic.utils.ApiResponse; +import com.ycwl.basic.utils.JwtTokenUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; /** @@ -40,6 +40,12 @@ AppFaceController { return faceService.faceUPload(file,scenicId); } + @GetMapping("/getFaceData") + public ApiResponse getFaceData() { + JwtInfo worker = JwtTokenUtil.getWorker(); + return faceService.getFaceByMemberId(worker.getUserId()); + } + } diff --git a/src/main/java/com/ycwl/basic/controller/mobile/AppGoodsController.java b/src/main/java/com/ycwl/basic/controller/mobile/AppGoodsController.java index 81531fc..0ae16c2 100644 --- a/src/main/java/com/ycwl/basic/controller/mobile/AppGoodsController.java +++ b/src/main/java/com/ycwl/basic/controller/mobile/AppGoodsController.java @@ -1,5 +1,6 @@ package com.ycwl.basic.controller.mobile; +import com.ycwl.basic.model.jwt.JwtInfo; import com.ycwl.basic.model.mobile.goods.GoodsDetailVO; import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq; import com.ycwl.basic.model.mobile.goods.GoodsReqQuery; @@ -7,6 +8,7 @@ import com.ycwl.basic.model.mobile.goods.GoodsPageVO; import com.ycwl.basic.model.pc.source.resp.SourceRespVO; import com.ycwl.basic.service.mobile.GoodsService; import com.ycwl.basic.utils.ApiResponse; +import com.ycwl.basic.utils.JwtTokenUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -51,4 +53,16 @@ public class AppGoodsController { public ApiResponse queryPrice(@RequestBody GoodsPriceQueryReq queryPriceData) { return goodsService.queryPrice(queryPriceData); } + + /** + * 查询用户当前景区的视频合成任务状态 + * @param scenicId 景区id + * @return 1 合成中 2 合成成功 + */ + @ApiOperation("查询用户当前景区的视频合成任务状态 1 合成中 2 合成成功 ") + @GetMapping("/getTaskStatus/{scenicId}") + public ApiResponse getTaskStatus(@PathVariable("scenicId") Long scenicId) { + JwtInfo worker = JwtTokenUtil.getWorker(); + return goodsService.getTaskStatus(worker.getUserId(),scenicId); + } } diff --git a/src/main/java/com/ycwl/basic/controller/mobile/AppOrderController.java b/src/main/java/com/ycwl/basic/controller/mobile/AppOrderController.java index 72a977a..28fea4c 100644 --- a/src/main/java/com/ycwl/basic/controller/mobile/AppOrderController.java +++ b/src/main/java/com/ycwl/basic/controller/mobile/AppOrderController.java @@ -3,6 +3,7 @@ package com.ycwl.basic.controller.mobile; import com.github.pagehelper.PageInfo; import com.ycwl.basic.annotation.IgnoreToken; import com.ycwl.basic.constant.BaseContextHandler; +import com.ycwl.basic.model.mobile.order.OrderAppPageReq; import com.ycwl.basic.model.mobile.order.RefundOrderReq; import com.ycwl.basic.model.pc.order.req.OrderAddOrUpdateReq; import com.ycwl.basic.model.pc.order.req.OrderReqQuery; @@ -29,7 +30,7 @@ public class AppOrderController { @ApiOperation("用户端订单列表查询") @PostMapping("/page") - public ApiResponse> pageQuery(@RequestBody OrderReqQuery orderReqQuery) { + public ApiResponse> pageQuery(@RequestBody OrderAppPageReq orderReqQuery) { String userId = BaseContextHandler.getUserId(); orderReqQuery.setMemberId(Long.valueOf(userId)); return orderService.appPageQuery(orderReqQuery); diff --git a/src/main/java/com/ycwl/basic/controller/mobile/AppScenicController.java b/src/main/java/com/ycwl/basic/controller/mobile/AppScenicController.java index 439095c..e757d20 100644 --- a/src/main/java/com/ycwl/basic/controller/mobile/AppScenicController.java +++ b/src/main/java/com/ycwl/basic/controller/mobile/AppScenicController.java @@ -1,8 +1,11 @@ package com.ycwl.basic.controller.mobile; import com.github.pagehelper.PageInfo; +import com.ycwl.basic.model.mobile.goods.GoodsPageVO; +import com.ycwl.basic.model.mobile.goods.GoodsReqQuery; import com.ycwl.basic.model.mobile.scenic.ScenicAppVO; import com.ycwl.basic.model.mobile.scenic.ScenicDeviceCountVO; +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.service.mobile.AppScenicService; @@ -13,6 +16,8 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * @Author:longbinbin * @Date:2024/12/5 10:22 @@ -42,5 +47,11 @@ public class AppScenicController { return appScenicService.deviceCountByScenicId(scenicId); } + @ApiOperation("景区视频源素材列表") + @GetMapping("/contentList/{scenicId}") + public ApiResponse> contentList(@PathVariable Long scenicId) { + return appScenicService.contentList(scenicId); + } + } diff --git a/src/main/java/com/ycwl/basic/interceptor/AuthInterceptor.java b/src/main/java/com/ycwl/basic/interceptor/AuthInterceptor.java index 34a4daf..13c686b 100644 --- a/src/main/java/com/ycwl/basic/interceptor/AuthInterceptor.java +++ b/src/main/java/com/ycwl/basic/interceptor/AuthInterceptor.java @@ -82,7 +82,7 @@ public class AuthInterceptor extends HandlerInterceptorAdapter { } BaseContextHandler.setToken(token); BaseContextHandler.setName(jwtInfo.getName()); - BaseContextHandler.setUserId(jwtInfo.getUserId()); + BaseContextHandler.setUserId(String.valueOf(jwtInfo.getUserId())); BaseContextHandler.setAccount(jwtInfo.getAccount()); BaseContextHandler.setPhone(jwtInfo.getPhone()); BaseContextHandler.setRoleId(jwtInfo.getRoleId()); diff --git a/src/main/java/com/ycwl/basic/mapper/pc/FaceMapper.java b/src/main/java/com/ycwl/basic/mapper/pc/FaceMapper.java index b326b7c..d9e95cc 100644 --- a/src/main/java/com/ycwl/basic/mapper/pc/FaceMapper.java +++ b/src/main/java/com/ycwl/basic/mapper/pc/FaceMapper.java @@ -22,5 +22,5 @@ public interface FaceMapper { int deleteByIds(@Param("list") List ids); int update(FaceEntity face); - FaceRespVO getByMemberId(String userId); + FaceRespVO getByMemberId(Long userId); } diff --git a/src/main/java/com/ycwl/basic/mapper/pc/OrderMapper.java b/src/main/java/com/ycwl/basic/mapper/pc/OrderMapper.java index 2274718..ae0607a 100644 --- a/src/main/java/com/ycwl/basic/mapper/pc/OrderMapper.java +++ b/src/main/java/com/ycwl/basic/mapper/pc/OrderMapper.java @@ -1,5 +1,6 @@ package com.ycwl.basic.mapper.pc; +import com.ycwl.basic.model.mobile.order.OrderAppPageReq; 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.OrderReqQuery; @@ -31,7 +32,7 @@ public interface OrderMapper { int getOrderCount(OrderReqQuery query); - List appList(OrderReqQuery orderReqQuery); + List appList(OrderAppPageReq orderReqQuery); OrderAppRespVO appDetail(Long id); } diff --git a/src/main/java/com/ycwl/basic/mapper/pc/TaskMapper.java b/src/main/java/com/ycwl/basic/mapper/pc/TaskMapper.java index bf8d260..3fcf20e 100644 --- a/src/main/java/com/ycwl/basic/mapper/pc/TaskMapper.java +++ b/src/main/java/com/ycwl/basic/mapper/pc/TaskMapper.java @@ -3,6 +3,7 @@ package com.ycwl.basic.mapper.pc; import com.ycwl.basic.model.pc.task.entity.TaskEntity; import com.ycwl.basic.model.pc.task.req.TaskReqQuery; import com.ycwl.basic.model.pc.task.resp.TaskRespVO; +import com.ycwl.basic.utils.ApiResponse; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -47,4 +48,6 @@ public interface TaskMapper { void assignToWorker(@Param("taskId") Long taskId, @Param("workerId") Long workerId); void deassign(@Param("taskId") Long taskId); + + int countTask(TaskReqQuery taskReqQuery); } diff --git a/src/main/java/com/ycwl/basic/model/jwt/JwtInfo.java b/src/main/java/com/ycwl/basic/model/jwt/JwtInfo.java index 773a0cb..436292d 100644 --- a/src/main/java/com/ycwl/basic/model/jwt/JwtInfo.java +++ b/src/main/java/com/ycwl/basic/model/jwt/JwtInfo.java @@ -28,7 +28,7 @@ public class JwtInfo implements Serializable { /** * 用户ID */ - private String userId; + private Long userId; /** * 角色ID diff --git a/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsReqQuery.java b/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsReqQuery.java index 4828ab1..f4ad2fd 100644 --- a/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsReqQuery.java +++ b/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsReqQuery.java @@ -13,7 +13,7 @@ import lombok.Data; public class GoodsReqQuery { @ApiModelProperty("是否已购买 0否 1是") private Integer isBuy; - @ApiModelProperty("用户id") + @ApiModelProperty(value = "用户id", hidden = true) private Long memberId; @ApiModelProperty("景区id") private Long scenicId; diff --git a/src/main/java/com/ycwl/basic/model/mobile/scenic/content/ContentPageVO.java b/src/main/java/com/ycwl/basic/model/mobile/scenic/content/ContentPageVO.java new file mode 100644 index 0000000..3358454 --- /dev/null +++ b/src/main/java/com/ycwl/basic/model/mobile/scenic/content/ContentPageVO.java @@ -0,0 +1,34 @@ +package com.ycwl.basic.model.mobile.scenic.content; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @Author:longbinbin + * @Date:2024/12/5 15:10 + */ +@Data +@ApiModel("景区内容(成片、待成片模版、源素材)列表响应信息") +public class ContentPageVO { + @ApiModelProperty("内容名称") + private String name; +// @ApiModelProperty("景区id") +// private Long scenicId; +// @ApiModelProperty("景区名称") +// private String scenicName; +// @ApiModelProperty("经度") +// private BigDecimal longitude; +// @ApiModelProperty("纬度") +// private BigDecimal latitude; + @ApiModelProperty("内容类型 0模版 1:成片视频 2:源素材 ") + private Integer contentType; + @ApiModelProperty("源素材类型 1:视频 2:图片") + private Integer sourceType; + @ApiModelProperty("内容id contentType为0或1时才有值") + private Long contentId; + @ApiModelProperty("模版封面图片 contentType为0或1时才有值") + private String templateCoverUrl; +} diff --git a/src/main/java/com/ycwl/basic/model/pc/adminUser/entity/LoginEntity.java b/src/main/java/com/ycwl/basic/model/pc/adminUser/entity/LoginEntity.java index 41b4281..06f076c 100644 --- a/src/main/java/com/ycwl/basic/model/pc/adminUser/entity/LoginEntity.java +++ b/src/main/java/com/ycwl/basic/model/pc/adminUser/entity/LoginEntity.java @@ -4,7 +4,7 @@ import lombok.Data; @Data public class LoginEntity { - private String staffId; + private Long staffId; private String staffName; private String account; private String password; diff --git a/src/main/java/com/ycwl/basic/model/pc/order/resp/OrderAppRespVO.java b/src/main/java/com/ycwl/basic/model/pc/order/resp/OrderAppRespVO.java index f1ad828..8f12d25 100644 --- a/src/main/java/com/ycwl/basic/model/pc/order/resp/OrderAppRespVO.java +++ b/src/main/java/com/ycwl/basic/model/pc/order/resp/OrderAppRespVO.java @@ -88,6 +88,8 @@ public class OrderAppRespVO { */ @ApiModelProperty("商品类型,1成片,2源素材") private Integer goodsType; + @ApiModelProperty("封面图片(来自模版封面图片)") + private String coverUrl; @ApiModelProperty("订单明细") private List orderItemList; } diff --git a/src/main/java/com/ycwl/basic/model/pc/template/req/TemplateReqQuery.java b/src/main/java/com/ycwl/basic/model/pc/template/req/TemplateReqQuery.java index 71a3456..b180c91 100644 --- a/src/main/java/com/ycwl/basic/model/pc/template/req/TemplateReqQuery.java +++ b/src/main/java/com/ycwl/basic/model/pc/template/req/TemplateReqQuery.java @@ -19,6 +19,8 @@ import java.util.Date; @Data @ApiModel("模版查询请求类") public class TemplateReqQuery extends BaseQueryParameterReq { + @ApiModelProperty("景区id") + private Long scenicId; /** * 模版名称 */ diff --git a/src/main/java/com/ycwl/basic/service/impl/mobile/AppMemberServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/mobile/AppMemberServiceImpl.java index 2699cc7..9099f02 100644 --- a/src/main/java/com/ycwl/basic/service/impl/mobile/AppMemberServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/impl/mobile/AppMemberServiceImpl.java @@ -106,7 +106,7 @@ public class AppMemberServiceImpl implements AppMemberService { } 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()); diff --git a/src/main/java/com/ycwl/basic/service/impl/mobile/AppScenicServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/mobile/AppScenicServiceImpl.java index f7ecec8..7da34ab 100644 --- a/src/main/java/com/ycwl/basic/service/impl/mobile/AppScenicServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/impl/mobile/AppScenicServiceImpl.java @@ -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; @@ -103,4 +119,62 @@ public class AppScenicServiceImpl implements AppScenicService { return ApiResponse.success(topStateResp); } + + @Override + public ApiResponse> contentList(Long scenicId) { + JwtInfo worker = JwtTokenUtil.getWorker(); + //查询原素材 + List contentList = new ArrayList<>(); + + HashMap videoMap = new HashMap<>(); + VideoReqQuery videoReqQuery = new VideoReqQuery(); + videoReqQuery.setScenicId(scenicId); + videoReqQuery.setMemberId(worker.getUserId()); + //查询成片vlog + List 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 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 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); + } } diff --git a/src/main/java/com/ycwl/basic/service/impl/mobile/GoodsServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/mobile/GoodsServiceImpl.java index 09a8467..3f5bbac 100644 --- a/src/main/java/com/ycwl/basic/service/impl/mobile/GoodsServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/impl/mobile/GoodsServiceImpl.java @@ -2,7 +2,9 @@ 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.TaskMapper; import com.ycwl.basic.mapper.pc.VideoMapper; +import com.ycwl.basic.model.jwt.JwtInfo; import com.ycwl.basic.model.mobile.goods.GoodsDetailVO; import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq; import com.ycwl.basic.model.mobile.goods.GoodsReqQuery; @@ -10,11 +12,13 @@ import com.ycwl.basic.model.mobile.goods.GoodsPageVO; 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 +37,18 @@ public class GoodsServiceImpl implements GoodsService { private SourceMapper sourceMapper; @Autowired private ScenicMapper scenicMapper; + @Autowired + private TaskMapper taskMapper; public ApiResponse> goodsList(GoodsReqQuery query) { + JwtInfo worker = JwtTokenUtil.getWorker(); //查询原素材 List 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 videoList = videoMapper.list(videoReqQuery); videoList.forEach(videoRespVO -> { @@ -179,4 +186,24 @@ public class GoodsServiceImpl implements GoodsService { goodsDetailVO.setCreateTime(videoRespVO.getCreateTime()); return ApiResponse.success(goodsDetailVO); } + + /** + * 查询用户当前景区的视频合成任务状态 + * @param scenicId 景区id + * @return 1 合成中 2 合成成功 + */ + @Override + public ApiResponse getTaskStatus(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); + } + } + } diff --git a/src/main/java/com/ycwl/basic/service/impl/pc/FaceServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/pc/FaceServiceImpl.java index 2651f6c..32bf13c 100644 --- a/src/main/java/com/ycwl/basic/service/impl/pc/FaceServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/impl/pc/FaceServiceImpl.java @@ -110,7 +110,7 @@ public class FaceServiceImpl implements FaceService { //1、上传人脸照片 String facaeUrl = uploadFileALiOss(file, userId); // 2、查看人脸是否已上传 - FaceRespVO faceRespVO=faceMapper.getByMemberId(userId); + FaceRespVO faceRespVO=faceMapper.getByMemberId(Long.parseLong(userId)); FaceEntity faceEntity = new FaceEntity(); if (faceRespVO==null) { @@ -130,7 +130,7 @@ public class FaceServiceImpl implements FaceService { BeanUtil.copyProperties(faceRespVO,faceEntity); faceMapper.update(faceEntity); } - SearchFaceRespVo faceRespVo = faceService.searchFace(scenicId, faceRespVO.getId()); + SearchFaceRespVo faceRespVo = faceService.searchFace(scenicId, faceEntity.getId()); float score = faceRespVo.getScore(); if (score getFaceByMemberId(Long memberId) { + return ApiResponse.success(faceMapper.getByMemberId(memberId)); + } + /** * 阿里oss图片上传 * diff --git a/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java index fe651ca..191492c 100644 --- a/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java @@ -14,6 +14,7 @@ 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.OrderItemEntity; @@ -254,7 +255,7 @@ public class OrderServiceImpl implements OrderService { } @Override - public ApiResponse> appPageQuery(OrderReqQuery orderReqQuery) { + public ApiResponse> appPageQuery(OrderAppPageReq orderReqQuery) { PageHelper.startPage(orderReqQuery.getPageNum(), orderReqQuery.getPageSize()); List list = orderMapper.appList(orderReqQuery); for (OrderAppRespVO appRespVO : list) { diff --git a/src/main/java/com/ycwl/basic/service/impl/task/TaskFaceServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/task/TaskFaceServiceImpl.java index bc79db3..a0e0476 100644 --- a/src/main/java/com/ycwl/basic/service/impl/task/TaskFaceServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/impl/task/TaskFaceServiceImpl.java @@ -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 diff --git a/src/main/java/com/ycwl/basic/service/impl/task/TaskTaskServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/task/TaskTaskServiceImpl.java index 4265a19..f72d384 100644 --- a/src/main/java/com/ycwl/basic/service/impl/task/TaskTaskServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/impl/task/TaskTaskServiceImpl.java @@ -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 templateList = templateMapper.list(new TemplateReqQuery()); + TemplateReqQuery templateReqQuery = new TemplateReqQuery(); + templateReqQuery.setPid(0L); + List templateList = templateMapper.list(templateReqQuery); for (TemplateRespVO template : templateList) { template.setChildren(templateMapper.getByPid(template.getId())); } diff --git a/src/main/java/com/ycwl/basic/service/mobile/AppScenicService.java b/src/main/java/com/ycwl/basic/service/mobile/AppScenicService.java index 334fcd9..14208a6 100644 --- a/src/main/java/com/ycwl/basic/service/mobile/AppScenicService.java +++ b/src/main/java/com/ycwl/basic/service/mobile/AppScenicService.java @@ -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 topState(); + + ApiResponse> contentList(Long scenicId); } diff --git a/src/main/java/com/ycwl/basic/service/mobile/GoodsService.java b/src/main/java/com/ycwl/basic/service/mobile/GoodsService.java index 65866cf..8202f84 100644 --- a/src/main/java/com/ycwl/basic/service/mobile/GoodsService.java +++ b/src/main/java/com/ycwl/basic/service/mobile/GoodsService.java @@ -43,4 +43,11 @@ public interface GoodsService { * @return */ ApiResponse videoGoodsDetail(Long goodsId); + + /** + * 查询当前用户的成片合成任务状态 + * @param userId + * @return + */ + ApiResponse getTaskStatus(Long userId ,Long scenicId); } diff --git a/src/main/java/com/ycwl/basic/service/pc/FaceService.java b/src/main/java/com/ycwl/basic/service/pc/FaceService.java index 957d77b..f1edb52 100644 --- a/src/main/java/com/ycwl/basic/service/pc/FaceService.java +++ b/src/main/java/com/ycwl/basic/service/pc/FaceService.java @@ -23,4 +23,6 @@ public interface FaceService { ApiResponse update(FaceEntity face); ApiResponse faceUPload(MultipartFile file,Long scrnicId); + + ApiResponse getFaceByMemberId(Long memberId); } diff --git a/src/main/java/com/ycwl/basic/service/pc/OrderService.java b/src/main/java/com/ycwl/basic/service/pc/OrderService.java index 1087941..65c93ce 100644 --- a/src/main/java/com/ycwl/basic/service/pc/OrderService.java +++ b/src/main/java/com/ycwl/basic/service/pc/OrderService.java @@ -2,6 +2,7 @@ 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.req.OrderAddOrUpdateReq; import com.ycwl.basic.model.pc.order.req.OrderReqQuery; @@ -32,7 +33,7 @@ public interface OrderService { ApiResponse getOrderCountByUserId(Long userId); - ApiResponse> appPageQuery(OrderReqQuery orderReqQuery); + ApiResponse> appPageQuery(OrderAppPageReq orderReqQuery); ApiResponse appDetail(Long id); diff --git a/src/main/java/com/ycwl/basic/utils/JwtAnalysisUtil.java b/src/main/java/com/ycwl/basic/utils/JwtAnalysisUtil.java index 36521ff..64dcbe6 100644 --- a/src/main/java/com/ycwl/basic/utils/JwtAnalysisUtil.java +++ b/src/main/java/com/ycwl/basic/utils/JwtAnalysisUtil.java @@ -72,8 +72,12 @@ public class JwtAnalysisUtil { } catch (Exception e) { e.printStackTrace(); } + Long userId = null; + if (body.get("userId")!=null) { + userId= (Long) body.get("userId"); + } return new JwtInfo(StringUtil.a(body.get("name")), - StringUtil.a(body.get("userId")), + userId, StringUtil.a(body.get("roleId")), body.getSubject(), StringUtil.a(body.get("phone")), diff --git a/src/main/resources/mapper/pc/OrderMapper.xml b/src/main/resources/mapper/pc/OrderMapper.xml index 5b475d5..d0322f6 100644 --- a/src/main/resources/mapper/pc/OrderMapper.xml +++ b/src/main/resources/mapper/pc/OrderMapper.xml @@ -46,6 +46,7 @@ + @@ -258,7 +259,7 @@ + \ No newline at end of file diff --git a/src/main/resources/mapper/pc/TemplateMapper.xml b/src/main/resources/mapper/pc/TemplateMapper.xml index f9143d2..c73340e 100644 --- a/src/main/resources/mapper/pc/TemplateMapper.xml +++ b/src/main/resources/mapper/pc/TemplateMapper.xml @@ -48,7 +48,12 @@ select t.id, t.scenic_id, s.name as scenic_name, t.`name`, cover_url, t.status, t.create_time, t.update_time from template t left join scenic s on s.id = t.scenic_id - pid = 0 + + pid = #{pid} + + + and scenic_id = #{scenicId} + and locate(#{name},t.`name`) > 0 and is_placeholder = #{isPlaceholder} and t.`status` = #{status}