-
Notifications
You must be signed in to change notification settings - Fork 1
/
session.go
60 lines (48 loc) · 1.28 KB
/
session.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
53
54
55
56
57
58
59
60
package service
import (
"github.com/curltech/go-colla-core/container"
"github.com/curltech/go-colla-core/entity"
"github.com/curltech/go-colla-core/util/message"
)
type SessionService struct {
OrmBaseService
}
var sessionService = &SessionService{}
func GetSessionService() *SessionService {
return sessionService
}
var seqname = "seq_base"
func (this *SessionService) GetSeqName() string {
return seqname
}
func (this *SessionService) NewEntity(data []byte) (interface{}, error) {
entity := &entity.Session{}
if data == nil {
return entity, nil
}
err := message.Unmarshal(data, entity)
if err != nil {
return nil, err
}
return entity, err
}
func (this *SessionService) NewEntities(data []byte) (interface{}, error) {
entities := make([]*entity.Session, 0)
if data == nil {
return &entities, nil
}
err := message.Unmarshal(data, entities)
if err != nil {
return nil, err
}
return &entities, err
return &entities, nil
}
func init() {
GetSession().Sync(new(entity.Session))
RegistSeq(seqname, 0)
sessionService.OrmBaseService.GetSeqName = sessionService.GetSeqName
sessionService.OrmBaseService.FactNewEntity = sessionService.NewEntity
sessionService.OrmBaseService.FactNewEntities = sessionService.NewEntities
container.RegistService("session", sessionService)
}