/
result.go
52 lines (35 loc) · 1.07 KB
/
result.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package eventcar
import (
"github.com/1-bi/eventcar/schema"
"github.com/1-bi/uerrors"
)
type embeddedResult struct {
respResultType schema.ResEvent_ResultType
respContent []byte
respErr uerrors.CodeError
req *schema.ReqQ
}
func (myself *embeddedResult) Complete(refobj []byte) {
myself.respResultType = schema.ResEvent_SUCCESS
myself.respContent = refobj
}
func (myself *embeddedResult) Fail(err uerrors.CodeError) {
myself.respResultType = schema.ResEvent_FAILURE
myself.respErr = err
}
func (myself *embeddedResult) ConvertRepResult() *schema.ResEvent {
resEvent := new(schema.ResEvent)
resEvent.ReqId = myself.req.ReqId
resEvent.Name = myself.req.Name
resEvent.ResultType = myself.respResultType
if schema.ResEvent_SUCCESS == resEvent.ResultType {
resEvent.ResultBody = myself.respContent
} else if schema.ResEvent_FAILURE == resEvent.ResultType {
codeErr := new(schema.CodeError)
codeErr.Code = myself.respErr.Code()
codeErr.Prefix = myself.respErr.Prefix()
codeErr.Msg = myself.respErr.MsgBody()
resEvent.Error = codeErr
}
return resEvent
}