Files
lone-services/services/analysis/internal/logic/common/helper.go
T
zzw 46d3f672bf
CI / changes (push) Successful in 1m30s
CI / ad (push) Successful in 31s
CI / admin (push) Successful in 24s
CI / bff (push) Successful in 31s
CI / chore (push) Successful in 27s
CI / equipment (push) Successful in 21s
CI / express (push) Successful in 23s
CI / factory (push) Successful in 21s
CI / message (push) Successful in 21s
CI / order (push) Successful in 22s
CI / payment (push) Successful in 20s
CI / percutaneous (push) Successful in 20s
CI / product (push) Successful in 20s
CI / record (push) Successful in 19s
CI / sale (push) Successful in 19s
CI / support (push) Successful in 20s
CI / task (push) Successful in 19s
CI / user (push) Successful in 21s
CI / wecom (push) Successful in 22s
feat: device info and bind
2026-10-16 15:36:17 +08:00

84 lines
2.2 KiB
Go

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
}
}