package sys import ( "SciencesServer/app/api/enterprise/model" model2 "SciencesServer/app/common/model" "SciencesServer/app/session" ) type Vip struct { *session.Enterprise } type VipHandle func(session *session.Enterprise) *Vip type ( // VipInfo 会员信息 VipInfo struct { ID string `json:"id"` *model2.SysVip } // VipInstance 会员首页信息 VipInstance struct { Data []*VipInfo `json:"data"` Functions map[int]string `json:"functions"` } ) // Instance 首页信息 func (c *Vip) Instance() (*VipInstance, error) { mSysVip := model.NewSysVip() out := make([]*model2.SysVip, 0) if err := model2.Scan(mSysVip.SysVip, &out); err != nil { return nil, err } data := make([]*VipInfo, 0) for _, v := range out { data = append(data, &VipInfo{ ID: v.GetEncodeID(), SysVip: v, }) } return &VipInstance{ Data: data, Functions: mSysVip.GetFunctions(), }, nil } func NewVip() VipHandle { return func(session *session.Enterprise) *Vip { return &Vip{session} } }