feat(face): 按 userFaceId 删除单条人脸记录
- 在 FaceDao 中新增按 userFaceId 删除人脸记录的SQL语句 - 在 FaceApi 类中新增 deleteByUserFaceId 方法调用该DAO方法 - 在 NetViewModelV2 中删除人脸时改为按 userFaceId 删除,避免误删所有同用户特征
This commit is contained in:
@@ -226,7 +226,11 @@ class NetViewModelV2 : ViewModel() {
|
|||||||
list.forEach { model ->
|
list.forEach { model ->
|
||||||
if (model.faceDeleted == true) {
|
if (model.faceDeleted == true) {
|
||||||
//删除数据
|
//删除数据
|
||||||
faceApi.deleteByUserName(model.userId)
|
// 仅删除 userFaceId 对应的单条人脸记录,避免误删该用户名下所有特征
|
||||||
|
val userFaceId = model.userFaceId
|
||||||
|
if (!userFaceId.isNullOrEmpty()) {
|
||||||
|
faceApi.deleteByUserFaceId(userFaceId)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// 获取该用户所有已存特征,判断当前特征是否已存在
|
// 获取该用户所有已存特征,判断当前特征是否已存在
|
||||||
val existList = faceApi.queryAllByUserName(model.userId)
|
val existList = faceApi.queryAllByUserName(model.userId)
|
||||||
|
|||||||
@@ -91,6 +91,13 @@ public class FaceApi {
|
|||||||
getFaceDao().deleteFaceById(userName);
|
getFaceDao().deleteFaceById(userName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按 userFaceId 删除单条人脸记录
|
||||||
|
*/
|
||||||
|
public void deleteByUserFaceId(String userFaceId) {
|
||||||
|
getFaceDao().deleteFaceByUserFaceId(userFaceId);
|
||||||
|
}
|
||||||
|
|
||||||
public Long insert(FaceEntity entity) {
|
public Long insert(FaceEntity entity) {
|
||||||
if (entity == null) {
|
if (entity == null) {
|
||||||
return 0L;
|
return 0L;
|
||||||
|
|||||||
@@ -55,6 +55,12 @@ public interface FaceDao {
|
|||||||
@Query("DELETE from face WHERE user_name = :userName")
|
@Query("DELETE from face WHERE user_name = :userName")
|
||||||
int deleteFaceById(String userName);
|
int deleteFaceById(String userName);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按 userFaceId 删除单条人脸记录
|
||||||
|
*/
|
||||||
|
@Query("DELETE from face WHERE user_face_id = :userFaceId")
|
||||||
|
int deleteFaceByUserFaceId(String userFaceId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除所有已注册的人脸
|
* 删除所有已注册的人脸
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user