服务之间相互调用

This commit is contained in:
2026-08-24 10:06:52 +08:00
parent c33fbdb422
commit 80f428c032
49 changed files with 1756 additions and 35 deletions
+44
View File
@@ -0,0 +1,44 @@
package logic
import (
"lone-services/pkg/utils"
"lone-services/pkg/validate"
order "lone-services/rpc/order/pb"
"reflect"
jsoniter "github.com/json-iterator/go"
)
type BaseLogic struct {
}
func (l *BaseLogic) checkParams(in interface{}, v validate.IValidator) *order.Response {
rv := reflect.ValueOf(in)
if rv.Kind() != reflect.Ptr || rv.IsNil() {
return &order.Response{
Code: utils.ErrorParams.Code,
Msg: "request must be nonnil proto pointer",
}
}
resp := validate.ValidateFromProto(in, v)
if resp != utils.StringEmpty {
return &order.Response{
Code: utils.ErrorParams.Code,
Msg: resp,
}
}
return nil
}
func (l *BaseLogic) fail(status utils.Status) (*order.Response, error) {
return l.out(status, status.Msg)
}
func (l *BaseLogic) out(status utils.Status, msg string) (*order.Response, error) {
return &order.Response{Code: status.Code, Msg: msg}, nil
}
func (l *BaseLogic) ok(data any) (*order.Response, error) {
buf, _ := jsoniter.Marshal(data)
return &order.Response{Code: utils.Ok.Code, Msg: utils.Ok.Msg, Data: string(buf)}, nil
}