package logic import ( "admin/admin" "encoding/json" "reflect" "pkg.local/utils" validateService "pkg.local/validate" ) type BaseLogic struct { } func (l *BaseLogic) checkParams(in interface{}, v validateService.IValidator) *admin.Response { rv := reflect.ValueOf(in) if rv.Kind() != reflect.Ptr || rv.IsNil() { return &admin.Response{ Code: utils.ErrorParams.Code, Msg: "request must be non‑nil proto pointer", } } resp := validateService.ValidateFromProto(in, v) if resp != utils.StringEmpty { return &admin.Response{ Code: utils.ErrorParams.Code, Msg: resp, } } return nil } func (l *BaseLogic) fail(status utils.Status) *admin.Response { return &admin.Response{Code: status.Code, Msg: status.Msg} } func (l *BaseLogic) out(status utils.Status, msg string) *admin.Response { return &admin.Response{Code: status.Code, Msg: msg} } func (l *BaseLogic) ok(data any) *admin.Response { buf, _ := json.Marshal(data) return &admin.Response{Code: utils.Ok.Code, Msg: utils.Ok.Msg, Data: string(buf)} }