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 ->
|
||||
if (model.faceDeleted == true) {
|
||||
//删除数据
|
||||
faceApi.deleteByUserName(model.userId)
|
||||
// 仅删除 userFaceId 对应的单条人脸记录,避免误删该用户名下所有特征
|
||||
val userFaceId = model.userFaceId
|
||||
if (!userFaceId.isNullOrEmpty()) {
|
||||
faceApi.deleteByUserFaceId(userFaceId)
|
||||
}
|
||||
} else {
|
||||
// 获取该用户所有已存特征,判断当前特征是否已存在
|
||||
val existList = faceApi.queryAllByUserName(model.userId)
|
||||
|
||||
@@ -91,6 +91,13 @@ public class FaceApi {
|
||||
getFaceDao().deleteFaceById(userName);
|
||||
}
|
||||
|
||||
/**
|
||||
* 按 userFaceId 删除单条人脸记录
|
||||
*/
|
||||
public void deleteByUserFaceId(String userFaceId) {
|
||||
getFaceDao().deleteFaceByUserFaceId(userFaceId);
|
||||
}
|
||||
|
||||
public Long insert(FaceEntity entity) {
|
||||
if (entity == null) {
|
||||
return 0L;
|
||||
|
||||
@@ -55,6 +55,12 @@ public interface FaceDao {
|
||||
@Query("DELETE from face WHERE user_name = :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