feat:优化项目信息
This commit is contained in:
54
app/api/enterprise/controller/sys/vip.go
Normal file
54
app/api/enterprise/controller/sys/vip.go
Normal file
@ -0,0 +1,54 @@
|
||||
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}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user