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