diff --git a/src/main/java/com/ycwl/basic/mapper/pc/DeviceMapper.java b/src/main/java/com/ycwl/basic/mapper/pc/DeviceMapper.java index 85f40b8..f175456 100644 --- a/src/main/java/com/ycwl/basic/mapper/pc/DeviceMapper.java +++ b/src/main/java/com/ycwl/basic/mapper/pc/DeviceMapper.java @@ -1,7 +1,5 @@ package com.ycwl.basic.mapper.pc; -import com.ycwl.basic.model.pc.broker.entity.BrokerEntity; -import com.ycwl.basic.model.pc.broker.req.BrokerReqQuery; 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; 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 1b61c20..ada162d 100644 --- a/src/main/java/com/ycwl/basic/mapper/pc/FaceMapper.java +++ b/src/main/java/com/ycwl/basic/mapper/pc/FaceMapper.java @@ -1,8 +1,5 @@ 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; @@ -13,12 +10,13 @@ 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 add(FaceEntity face); int deleteById(Long id); int deleteByIds(@Param("list") Long ids); - int update(DeviceEntity device); + int update(FaceEntity face); } diff --git a/src/main/java/com/ycwl/basic/mapper/pc/FaceSampleMapper.java b/src/main/java/com/ycwl/basic/mapper/pc/FaceSampleMapper.java new file mode 100644 index 0000000..e1a1090 --- /dev/null +++ b/src/main/java/com/ycwl/basic/mapper/pc/FaceSampleMapper.java @@ -0,0 +1,22 @@ +package com.ycwl.basic.mapper.pc; + +import com.ycwl.basic.model.pc.faceSample.entity.FaceSampleEntity; +import com.ycwl.basic.model.pc.faceSample.req.FaceSampleReqQuery; +import com.ycwl.basic.model.pc.faceSample.resp.FaceSampleRespVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Author:longbinbin + * @Date:2024/11/29 15:38 + * 人脸样本(设备上报)检索 + */ +public interface FaceSampleMapper { + List list(FaceSampleReqQuery faceSampleReqQuery); + FaceSampleRespVO getById(Long id); + int add(FaceSampleEntity faceSample); + int deleteById(Long id); + int deleteByIds(@Param("list") Long ids); + int update(FaceSampleEntity faceSample); +} diff --git a/src/main/java/com/ycwl/basic/model/pc/faceSample/entity/FaceSampleEntity.java b/src/main/java/com/ycwl/basic/model/pc/faceSample/entity/FaceSampleEntity.java new file mode 100644 index 0000000..7f8dc23 --- /dev/null +++ b/src/main/java/com/ycwl/basic/model/pc/faceSample/entity/FaceSampleEntity.java @@ -0,0 +1,44 @@ +package com.ycwl.basic.model.pc.faceSample.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +/** + * @Author:longbinbin + * @Date:2024/11/29 15:40 + */ +@Data +@TableName("face_sample") +public class FaceSampleEntity { + @TableId + private Long id; + /** + * 来源设备 + */ + private Long deviceId; + /** + * 人脸照片 + */ + private String faceUrl; + /** + * 与样本匹配的ID,逗号隔开 + */ + private String matchSampleIds; + /** + * 匹配率 + */ + private String firstMatchRate; + /** + * 匹配的结果,JSON字符串 + */ + private String matchResult; + /** + * 是否匹配,0未匹配,1已匹配 + */ + private Integer status; + private Date createAt; + private Date updateAt; +} diff --git a/src/main/java/com/ycwl/basic/model/pc/faceSample/req/FaceSampleReqQuery.java b/src/main/java/com/ycwl/basic/model/pc/faceSample/req/FaceSampleReqQuery.java new file mode 100644 index 0000000..9c91063 --- /dev/null +++ b/src/main/java/com/ycwl/basic/model/pc/faceSample/req/FaceSampleReqQuery.java @@ -0,0 +1,50 @@ +package com.ycwl.basic.model.pc.faceSample.req; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @Author:longbinbin + * @Date:2024/11/29 15:40 + */ +@Data +@ApiModel("人脸样本查询参数") +public class FaceSampleReqQuery { + /** + * 来源设备 + */ + @ApiModelProperty("来源设备") + private Long deviceId; + /** + * 人脸照片 + */ + @ApiModelProperty("人脸照片") + private String faceUrl; + /** + * 与样本匹配的ID,逗号隔开 + */ + @ApiModelProperty("与样本匹配的ID,逗号隔开") + private String matchSampleIds; + /** + * 匹配率 + */ + @ApiModelProperty("匹配率") + private String firstMatchRate; + /** + * 匹配的结果,JSON字符串 + */ + @ApiModelProperty("匹配的结果,JSON字符串") + private String matchResult; + /** + * 是否匹配,0未匹配,1已匹配 + */ + @ApiModelProperty("是否匹配,0未匹配,1已匹配") + private Integer status; + private Date startTime; + private Date endTime; +} diff --git a/src/main/java/com/ycwl/basic/model/pc/faceSample/resp/FaceSampleRespVO.java b/src/main/java/com/ycwl/basic/model/pc/faceSample/resp/FaceSampleRespVO.java new file mode 100644 index 0000000..c726dca --- /dev/null +++ b/src/main/java/com/ycwl/basic/model/pc/faceSample/resp/FaceSampleRespVO.java @@ -0,0 +1,50 @@ +package com.ycwl.basic.model.pc.faceSample.resp; + +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @Author:longbinbin + * @Date:2024/11/29 15:40 + */ +@Data +@ApiModel("人脸样本响应参数") +public class FaceSampleRespVO { + private Long id; + /** + * 来源设备 + */ + @ApiModelProperty("来源设备") + private Long deviceId; + /** + * 人脸照片 + */ + @ApiModelProperty("人脸照片") + private String faceUrl; + /** + * 与样本匹配的ID,逗号隔开 + */ + @ApiModelProperty("与样本匹配的ID,逗号隔开") + private String matchSampleIds; + /** + * 匹配率 + */ + @ApiModelProperty("匹配率") + private String firstMatchRate; + /** + * 匹配的结果,JSON字符串 + */ + @ApiModelProperty("匹配的结果,JSON字符串") + private String matchResult; + /** + * 是否匹配,0未匹配,1已匹配 + */ + @ApiModelProperty("是否匹配,0未匹配,1已匹配") + private Integer status; + private Date createAt; + private Date updateAt; +} diff --git a/src/main/resources/mapper/pc/FaceSampleMapper.xml b/src/main/resources/mapper/pc/FaceSampleMapper.xml new file mode 100644 index 0000000..3ad9cb7 --- /dev/null +++ b/src/main/resources/mapper/pc/FaceSampleMapper.xml @@ -0,0 +1,76 @@ + + + + + insert into face_sample(id, device_id, face_url, match_sample_ids, first_match_rate, match_result,`status`) + values (#{id}, #{deviceId}, #{faceUrl}, #{matchSampleIds}, #{firstMatchRate}, #{matchResult},#{status}) + + + update face_sample + + + device_id = #{deviceId}, + + + face_url = #{faceUrl}, + + + match_sample_ids = #{matchSampleIds}, + + + first_match_rate = #{firstMatchRate}, + + + match_result = #{matchResult}, + + + `status` = #{status}, + + + where id = #{id} + + + delete from face_sample where id = #{id} + + + + delete from face_sample where id in ( + + #{id} + + ) + + + + + \ No newline at end of file