feat: analysis user auth and ws
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
package common
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
"lone-services/pkg/modelbase"
|
||||
"lone-services/pkg/utils"
|
||||
analysis "lone-services/rpc/analysis/pb"
|
||||
"lone-services/services/analysis/internal/dao"
|
||||
"lone-services/services/analysis/internal/model"
|
||||
)
|
||||
|
||||
func RequireBizUserId(ctx context.Context) (int64, utils.UserInfo, *analysis.Response) {
|
||||
user := utils.GetUserFromCtx(ctx)
|
||||
if user.BizId < utils.NumberOne {
|
||||
return utils.NumberZero, user, OutResponse(utils.ErrorParams, "业务用户不存在")
|
||||
}
|
||||
return user.BizId, user, nil
|
||||
}
|
||||
|
||||
func RequireStoreId(ctx context.Context) (int64, utils.UserInfo, *analysis.Response) {
|
||||
user := utils.GetUserFromCtx(ctx)
|
||||
if !user.Valid {
|
||||
return utils.NumberZero, user, FailResponse(utils.ErrorNoLogin)
|
||||
}
|
||||
if user.Type != dao.TypeStore {
|
||||
return utils.NumberZero, user, FailResponse(utils.ErrorAuthority)
|
||||
}
|
||||
|
||||
storeId := user.BizId
|
||||
if storeId < utils.NumberOne {
|
||||
return utils.NumberZero, user, OutResponse(utils.ErrorParams, "门店信息不存在")
|
||||
}
|
||||
return storeId, user, nil
|
||||
}
|
||||
|
||||
func RequireUserLogin(ctx context.Context) (utils.UserInfo, *analysis.Response) {
|
||||
user := utils.GetUserFromCtx(ctx)
|
||||
if !user.Valid {
|
||||
return user, FailResponse(utils.ErrorNoLogin)
|
||||
}
|
||||
if user.Type != dao.TypeUser {
|
||||
return user, FailResponse(utils.ErrorAuthority)
|
||||
}
|
||||
return user, nil
|
||||
}
|
||||
|
||||
func LoadAnalysisUser(id int64) (*dao.User, error) {
|
||||
var row dao.User
|
||||
err := model.UserModel{}.Init().GetOne(modelbase.Params{
|
||||
Eq: map[string]string{"id": strconv.FormatInt(id, utils.NumberTen)},
|
||||
}, &row)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if row.Id < utils.NumberOne {
|
||||
return nil, nil
|
||||
}
|
||||
return &row, nil
|
||||
}
|
||||
Reference in New Issue
Block a user