From 33c573b782ff75cf3739a61ffefb1b31b5d340db Mon Sep 17 00:00:00 2001 From: longbinbin <2284496322@qq.com> Date: Fri, 29 Nov 2024 15:36:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E2=80=9Cface=E2=80=9D?= =?UTF-8?q?=E7=9B=B8=E5=85=B3CRUD=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ycwl/basic/mapper/pc/FaceMapper.java | 24 +++++++ .../model/pc/face/entity/FaceEntity.java | 41 +++++++++++ .../basic/model/pc/face/req/FaceReqQuery.java | 32 +++++++++ .../basic/model/pc/face/resp/FaceRespVO.java | 29 ++++++++ src/main/resources/mapper/pc/BrokerMapper.xml | 6 ++ src/main/resources/mapper/pc/DeviceMapper.xml | 6 ++ src/main/resources/mapper/pc/FaceMapper.xml | 70 +++++++++++++++++++ 7 files changed, 208 insertions(+) create mode 100644 src/main/java/com/ycwl/basic/mapper/pc/FaceMapper.java create mode 100644 src/main/java/com/ycwl/basic/model/pc/face/entity/FaceEntity.java create mode 100644 src/main/java/com/ycwl/basic/model/pc/face/req/FaceReqQuery.java create mode 100644 src/main/java/com/ycwl/basic/model/pc/face/resp/FaceRespVO.java create mode 100644 src/main/resources/mapper/pc/FaceMapper.xml diff --git a/src/main/java/com/ycwl/basic/mapper/pc/FaceMapper.java b/src/main/java/com/ycwl/basic/mapper/pc/FaceMapper.java new file mode 100644 index 0000000..1b61c20 --- /dev/null +++ b/src/main/java/com/ycwl/basic/mapper/pc/FaceMapper.java @@ -0,0 +1,24 @@ +package com.ycwl.basic.mapper.pc; + +import com.ycwl.basic.model.pc.device.entity.DeviceEntity; +import com.ycwl.basic.model.pc.device.req.DeviceReqQuery; +import com.ycwl.basic.model.pc.device.resp.DeviceRespVO; +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 org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Author:longbinbin + * @Date:2024/11/29 15:09 + */ +public interface FaceMapper { + List list(FaceReqQuery faceReqQuery); + FaceRespVO getById(Long id); + int add(FaceEntity device); + int deleteById(Long id); + int deleteByIds(@Param("list") Long ids); + int update(DeviceEntity device); +} diff --git a/src/main/java/com/ycwl/basic/model/pc/face/entity/FaceEntity.java b/src/main/java/com/ycwl/basic/model/pc/face/entity/FaceEntity.java new file mode 100644 index 0000000..f428caa --- /dev/null +++ b/src/main/java/com/ycwl/basic/model/pc/face/entity/FaceEntity.java @@ -0,0 +1,41 @@ +package com.ycwl.basic.model.pc.face.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Author:longbinbin + * @Date:2024/11/29 15:11 + */ +@Data +@TableName("face") +public class FaceEntity { + @TableId + private Long id; + /** + * 会员id + */ + private Long memberId; + /** + * 用户上传的人脸照片 + */ + private String faceUrl; + /** + * 与样本匹配的ID,逗号隔开 + */ + private String matchSampleIds; + /** + * 匹配率 + */ + private BigDecimal firstMatchRate; + /** + * 匹配的结果,JSON字符串 + */ + private String matchResult; + private Date createAt; + private Date updateAt; +} diff --git a/src/main/java/com/ycwl/basic/model/pc/face/req/FaceReqQuery.java b/src/main/java/com/ycwl/basic/model/pc/face/req/FaceReqQuery.java new file mode 100644 index 0000000..0af86f9 --- /dev/null +++ b/src/main/java/com/ycwl/basic/model/pc/face/req/FaceReqQuery.java @@ -0,0 +1,32 @@ +package com.ycwl.basic.model.pc.face.req; + +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Author:longbinbin + * @Date:2024/11/29 15:16 + */ +@Data +@ApiModel("人脸查询参数") +public class FaceReqQuery { + @ApiModelProperty("会员id") + private Long memberId; + @ApiModelProperty("用户上传的人脸照片") + private String faceUrl; + @ApiModelProperty("与样本匹配的ID,逗号隔开") + private String matchSampleIds; + @ApiModelProperty("匹配率") + private BigDecimal startMatchRate; + @ApiModelProperty("匹配率") + private BigDecimal endMatchRate; + @ApiModelProperty("匹配的结果,JSON字符串") + private String matchResult; + private Date startTime; + private Date endTime; +} diff --git a/src/main/java/com/ycwl/basic/model/pc/face/resp/FaceRespVO.java b/src/main/java/com/ycwl/basic/model/pc/face/resp/FaceRespVO.java new file mode 100644 index 0000000..52f83e0 --- /dev/null +++ b/src/main/java/com/ycwl/basic/model/pc/face/resp/FaceRespVO.java @@ -0,0 +1,29 @@ +package com.ycwl.basic.model.pc.face.resp; + +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Author:longbinbin + * @Date:2024/11/29 15:18 + */ +@ApiModel("人脸查询响应参数") +public class FaceRespVO { + private Long id; + @ApiModelProperty("会员id") + private Long memberId; + @ApiModelProperty("用户上传的人脸照片") + private String faceUrl; + @ApiModelProperty("与样本匹配的ID,逗号隔开") + private String matchSampleIds; + @ApiModelProperty("匹配率") + private BigDecimal firstMatchRate; + @ApiModelProperty("匹配的结果,JSON字符串") + private String matchResult; + private Date createAt; + private Date updateAt; +} diff --git a/src/main/resources/mapper/pc/BrokerMapper.xml b/src/main/resources/mapper/pc/BrokerMapper.xml index b70e9be..a498c76 100644 --- a/src/main/resources/mapper/pc/BrokerMapper.xml +++ b/src/main/resources/mapper/pc/BrokerMapper.xml @@ -35,6 +35,12 @@ and `status` = #{status} + + and d.create_at >= #{startTime} + + + and d.create_at <= #{endTime} + + select id, member_id, face_url, match_sample_ids, first_match_rate, match_result + from face + + + and member_id = #{memberId} + + + and match_sample_ids like concat('%', #{matchSampleIds}, '%') + + + and first_match_rate >= #{startMatchRate} + + + and first_match_rate <= #{endMatchRate} + + + and create_at >= #{startTime} + + + and create_at <= #{endTime} + + + + + \ No newline at end of file