feat: analysis admin
This commit is contained in:
@@ -8,6 +8,7 @@ import (
|
||||
"lone-services/pkg/utils"
|
||||
"lone-services/pkg/validate"
|
||||
analysis "lone-services/rpc/analysis/pb"
|
||||
"lone-services/services/analysis/internal/face"
|
||||
"lone-services/services/analysis/internal/logic/common"
|
||||
"lone-services/services/analysis/internal/model"
|
||||
"lone-services/services/analysis/internal/svc"
|
||||
@@ -36,10 +37,13 @@ func (l *FaceBindLogic) FaceBind(in *analysis.FaceBindReq) (*analysis.Response,
|
||||
return common.OutResponse(utils.ErrorParams, msg), nil
|
||||
}
|
||||
|
||||
bizId, _, fail := common.RequireBizUserId(l.ctx)
|
||||
bizId, loginUser, fail := common.RequireBizUserId(l.ctx)
|
||||
if fail != nil {
|
||||
return fail, nil
|
||||
}
|
||||
if loginUser.ID < utils.NumberOne {
|
||||
return common.FailResponse(utils.ErrorNoLoginInfo), nil
|
||||
}
|
||||
|
||||
row, err := common.LoadAnalysisUser(bizId)
|
||||
if err != nil {
|
||||
@@ -50,6 +54,23 @@ func (l *FaceBindLogic) FaceBind(in *analysis.FaceBindReq) (*analysis.Response,
|
||||
return common.FailResponse(utils.ErrorNotFund), nil
|
||||
}
|
||||
|
||||
imgPath, cleanup, err := face.PrepareImagePath(nil, req.FacePath)
|
||||
if err != nil {
|
||||
l.Errorf("face bind prepare image: %v", err)
|
||||
return common.FailResponse(utils.ErrorFileUpFailed), nil
|
||||
}
|
||||
defer cleanup()
|
||||
|
||||
vector, err := face.GetFaceVector(imgPath)
|
||||
if err != nil {
|
||||
l.Errorf("face bind vector: %v", err)
|
||||
return common.FailResponse(utils.ErrorNotFace), nil
|
||||
}
|
||||
if err = face.UpsertFace(loginUser.ID, vector); err != nil {
|
||||
l.Errorf("face bind milvus: %v", err)
|
||||
return common.FailResponse(utils.Fail), nil
|
||||
}
|
||||
|
||||
_, err = model.UserModel{}.Init().Edit(modelbase.Params{
|
||||
Eq: map[string]string{"id": strconv.FormatInt(bizId, utils.NumberTen)},
|
||||
}, map[string]interface{}{
|
||||
|
||||
Reference in New Issue
Block a user