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 RequireAnalysisUserId(ctx context.Context) (int64, utils.UserInfo, *analysis.Response) { user, fail := RequireUserLogin(ctx) if fail != nil { return utils.NumberZero, user, fail } if user.BizId < utils.NumberOne { return utils.NumberZero, user, OutResponse(utils.ErrorParams, "业务用户不存在") } return user.BizId, 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 } func SkinTypeOf(clientCode string) (int32, bool) { switch clientCode { case dao.ClientCodeUserSkin: return dao.SkinTypeUser, true case dao.ClientCodeStoreSkin: return dao.SkinTypeStore, true default: return 0, false } }