From b88c070ec7056e21cf5641c82b25f07de9a6a97c Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Tue, 17 Dec 2024 15:27:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/controller/viid/ViidController.java | 10 +++++++ .../com/ycwl/basic/mapper/SourceMapper.java | 2 ++ .../basic/model/mobile/goods/GoodsPageVO.java | 1 + .../model/pc/source/entity/SourceEntity.java | 1 + .../model/viid/entity/FacePositionObject.java | 26 +++++++++++++++++++ .../model/viid/entity/SubImageInfoObject.java | 4 +-- .../service/impl/mobile/GoodsServiceImpl.java | 1 + .../com/ycwl/basic/task/VideoPieceGetter.java | 6 +++++ 8 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/ycwl/basic/model/viid/entity/FacePositionObject.java diff --git a/src/main/java/com/ycwl/basic/controller/viid/ViidController.java b/src/main/java/com/ycwl/basic/controller/viid/ViidController.java index a538220..f7d928c 100644 --- a/src/main/java/com/ycwl/basic/controller/viid/ViidController.java +++ b/src/main/java/com/ycwl/basic/controller/viid/ViidController.java @@ -2,6 +2,7 @@ package com.ycwl.basic.controller.viid; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; import com.ycwl.basic.annotation.IgnoreToken; import com.ycwl.basic.mapper.DeviceMapper; import com.ycwl.basic.mapper.FaceSampleMapper; @@ -12,6 +13,7 @@ import com.ycwl.basic.model.pc.source.entity.SourceEntity; import com.ycwl.basic.model.viid.entity.DeviceIdObject; import com.ycwl.basic.model.viid.entity.FaceListObject; import com.ycwl.basic.model.viid.entity.FaceObject; +import com.ycwl.basic.model.viid.entity.FacePositionObject; import com.ycwl.basic.model.viid.entity.ResponseStatusObject; import com.ycwl.basic.model.viid.entity.SubImageInfoObject; import com.ycwl.basic.model.viid.entity.SubImageList; @@ -206,6 +208,11 @@ public class ViidController { if (scenicId == null) { continue; } + FacePositionObject facePosition = new FacePositionObject(); + facePosition.setLtY(face.getLeftTopY()); + facePosition.setLtX(face.getLeftTopX()); + facePosition.setRbY(face.getRightBtmY()); + facePosition.setRbX(face.getRightBtmX()); if (ObjectUtil.isNotEmpty(subImageList) && CollUtil.isNotEmpty(subImageList.getSubImageInfoObject())) { // 遍历每个图片对象 for (SubImageInfoObject subImage : subImageList.getSubImageInfoObject()) { @@ -238,6 +245,8 @@ public class ViidController { } // Type=14 场景图 else if (subImage.getType().equals("14")) { + facePosition.setImgHeight(subImage.getHeight()); + facePosition.setImgWidth(subImage.getWidth()); SourceEntity source = new SourceEntity(); source.setId(SnowFlakeUtil.getLongId()); source.setDeviceId(device.getId()); @@ -253,6 +262,7 @@ public class ViidController { continue; } source.setUrl(url); + source.setPosJson(JSON.toJSONString(facePosition)); sourceMapper.add(source); } } diff --git a/src/main/java/com/ycwl/basic/mapper/SourceMapper.java b/src/main/java/com/ycwl/basic/mapper/SourceMapper.java index fffa472..9ad1e39 100644 --- a/src/main/java/com/ycwl/basic/mapper/SourceMapper.java +++ b/src/main/java/com/ycwl/basic/mapper/SourceMapper.java @@ -41,4 +41,6 @@ public interface SourceMapper { int countByMemberId(String userId); List listVideoBySampleIds(List sampleId); + + SourceEntity findBySampleId(Long faceSampleId); } diff --git a/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsPageVO.java b/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsPageVO.java index b011bd3..9952d3c 100644 --- a/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsPageVO.java +++ b/src/main/java/com/ycwl/basic/model/mobile/goods/GoodsPageVO.java @@ -29,6 +29,7 @@ public class GoodsPageVO { private Integer sourceType; @ApiModelProperty("商品(vlog)id goodsType为1时才有值") private Long goodsId; + private String templateName; @ApiModelProperty("模版封面图片") private String templateCoverUrl; } diff --git a/src/main/java/com/ycwl/basic/model/pc/source/entity/SourceEntity.java b/src/main/java/com/ycwl/basic/model/pc/source/entity/SourceEntity.java index e3c9371..0080b72 100644 --- a/src/main/java/com/ycwl/basic/model/pc/source/entity/SourceEntity.java +++ b/src/main/java/com/ycwl/basic/model/pc/source/entity/SourceEntity.java @@ -52,4 +52,5 @@ public class SourceEntity { private Integer isBuy; private Date createTime; private Date updateTime; + private String posJson; } diff --git a/src/main/java/com/ycwl/basic/model/viid/entity/FacePositionObject.java b/src/main/java/com/ycwl/basic/model/viid/entity/FacePositionObject.java new file mode 100644 index 0000000..9e062a1 --- /dev/null +++ b/src/main/java/com/ycwl/basic/model/viid/entity/FacePositionObject.java @@ -0,0 +1,26 @@ +package com.ycwl.basic.model.viid.entity; + +import lombok.Data; + +@Data +public class FacePositionObject { + private Integer imgWidth; + private Integer imgHeight; + private Integer ltX; + private Integer ltY; + private Integer rbX; + private Integer rbY; + public Integer getWidth(){ + return rbX - ltX; + } + public Integer getHeight(){ + return rbY - ltY; + } + + public Integer centerX(){ + return (ltX + rbX) / 2; + } + public Integer centerY(){ + return (ltY + rbY) / 2; + } +} diff --git a/src/main/java/com/ycwl/basic/model/viid/entity/SubImageInfoObject.java b/src/main/java/com/ycwl/basic/model/viid/entity/SubImageInfoObject.java index 71284d7..2e23048 100644 --- a/src/main/java/com/ycwl/basic/model/viid/entity/SubImageInfoObject.java +++ b/src/main/java/com/ycwl/basic/model/viid/entity/SubImageInfoObject.java @@ -18,9 +18,9 @@ public class SubImageInfoObject { @JsonProperty("FileFormat") private String FileFormat; @JsonProperty("Width") - private String Width; + private Integer Width; @JsonProperty("Height") - private String Height; + private Integer Height; @JsonProperty("ShotTime") private String ShotTime; @JsonProperty("Data") 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 eab6898..b91f604 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 @@ -62,6 +62,7 @@ public class GoodsServiceImpl implements GoodsService { goodsPageVO.setLatitude(videoRespVO.getLatitude()); goodsPageVO.setGoodsType(1); goodsPageVO.setGoodsId(videoRespVO.getId()); + goodsPageVO.setTemplateName(videoRespVO.getTemplateName()); goodsPageVO.setTemplateCoverUrl(videoRespVO.getTemplateCoverUrl()); goodsList.add(goodsPageVO); }); diff --git a/src/main/java/com/ycwl/basic/task/VideoPieceGetter.java b/src/main/java/com/ycwl/basic/task/VideoPieceGetter.java index ef4e16d..0ced63c 100644 --- a/src/main/java/com/ycwl/basic/task/VideoPieceGetter.java +++ b/src/main/java/com/ycwl/basic/task/VideoPieceGetter.java @@ -126,8 +126,14 @@ public class VideoPieceGetter { try { InputStream inputStream = new FileInputStream(outFile); String url = ossUtil.uploadFile(inputStream, "user-video-source/", outFile.getName()); + SourceEntity imgSource = sourceMapper.findBySampleId(faceSample.getId()); SourceEntity sourceEntity = new SourceEntity(); sourceEntity.setId(SnowFlakeUtil.getLongId()); + if (imgSource != null) { + sourceEntity.setUrl(imgSource.getUrl()); + sourceEntity.setPosJson(imgSource.getPosJson()); + sourceEntity.setMemberId(imgSource.getMemberId()); + } sourceEntity.setVideoUrl(url); sourceEntity.setFaceSampleId(faceSample.getId()); sourceEntity.setMemberId(task.getMemberId());