mirror of
https://shylinux.com/x/community
synced 2025-05-09 07:08:11 +08:00
114 lines
4.3 KiB
Go
114 lines
4.3 KiB
Go
package gonganxitong
|
|
|
|
import (
|
|
"time"
|
|
|
|
"shylinux.com/x/ice"
|
|
kit "shylinux.com/x/toolkits"
|
|
|
|
"shylinux.com/x/community/src/api"
|
|
"shylinux.com/x/community/src/gonganxitong/model"
|
|
)
|
|
|
|
type goodslist struct {
|
|
Table
|
|
quotalist quotalist
|
|
spendlist spendlist
|
|
paymentlist paymentlist
|
|
order string `data:"91"`
|
|
auth string `data:"issued"`
|
|
fields string `data:"name,amount,title,content,user_uid"`
|
|
create string `name:"create name* amount* title* content*" role:"leader"`
|
|
remove string `name:"remove" role:"leader"`
|
|
request string `name:"request" help:"购买" style:"notice" role:"void"`
|
|
response string `name:"response" role:"void"`
|
|
}
|
|
|
|
func (s goodslist) AfterMigrate(m *ice.Message, arg ...string) {
|
|
s.Table.AfterMigrate(m, arg...)
|
|
if s.PrefixPortal(m) == api.RENZHENGSHOUQUAN_PORTAL {
|
|
s.insert(m, "service", "3-1", "1000", "基础版")
|
|
s.insert(m, "service", "3-2", "3000", "高级版")
|
|
s.insert(m, "service", "3-3", "5000", "旗舰版")
|
|
s.insert(m, "company", "4-1", "10000", "企业基础版")
|
|
s.insert(m, "company", "4-2", "30000", "企业高级版")
|
|
s.insert(m, "company", "4-3", "50000", "企业旗舰版")
|
|
s.insert(m, "school", "5-1", "10000", "教育基础版")
|
|
s.insert(m, "school", "5-2", "30000", "教育高级版")
|
|
s.insert(m, "school", "5-3", "50000", "教育旗舰版")
|
|
s.insert(m, "street", "6-1", "10000", "社区基础版")
|
|
s.insert(m, "street", "6-2", "30000", "社区高级版")
|
|
s.insert(m, "street", "6-3", "50000", "社区旗舰版")
|
|
}
|
|
}
|
|
func (s goodslist) Create(m *ice.Message, arg ...string) {
|
|
s.Insert(m, kit.Simple(s.TransPrice(m, arg, model.AMOUNT), m.OptionSimple(model.PLACE_UID, model.USER_UID))...)
|
|
s.RecordEventWithName(m, "")
|
|
}
|
|
func (s goodslist) List(m *ice.Message, arg ...string) {
|
|
if len(arg) == 1 {
|
|
if s.PrefixPortal(m) == api.RENZHENGSHOUQUAN_PORTAL {
|
|
msg := m.Cmd(api.RENZHENGSHOUQUAN_AUTH, s.Select, model.UID, arg[0])
|
|
switch kit.Int(msg.Append(model.AUTH_TYPE)) {
|
|
case 3:
|
|
s.Select(m, model.PLACE_UID, "service")
|
|
case 4:
|
|
s.Select(m, model.PLACE_UID, "company")
|
|
case 5:
|
|
s.Select(m, model.PLACE_UID, "school")
|
|
case 6:
|
|
s.Select(m, model.PLACE_UID, "street")
|
|
}
|
|
m.PushAction(s.Request).Action()
|
|
} else {
|
|
if s.IsLeader(m) {
|
|
s.Select(m, model.PLACE_UID, "service")
|
|
m.PushAction(s.Request).Action()
|
|
}
|
|
msg := s.Select(m.Spawn(), model.PLACE_UID, arg[0])
|
|
if s.IsLeader(m) {
|
|
msg.PushAction(s.Request, s.Remove).Action(s.Create)
|
|
} else {
|
|
msg.PushAction(s.Request).Action()
|
|
}
|
|
m.Copy(msg)
|
|
s.SelectJoinUser(m)
|
|
}
|
|
m.Display("")
|
|
} else if len(arg) == 2 {
|
|
m.Cmdy(s.Prefix(m, s.quotalist), s.Select, model.GOODSLIST_UID, arg[1])
|
|
m.EchoInfoButton("请购买会员", s.Request).Action()
|
|
m.Display("quotalist.js")
|
|
}
|
|
}
|
|
func (s goodslist) Request(m *ice.Message, arg ...string) {
|
|
if msg := s.Select(m.Spawn(), m.OptionSimple(model.UID)...); msg.IsErr() {
|
|
m.Copy(msg)
|
|
} else if _msg := m.Cmd(s.Prefix(m, s.paymentlist), s.Create, model.GOODSLIST_UID, m.Option(model.UID),
|
|
model.AMOUNT, kit.Float(msg.Append(model.AMOUNT))/100, msg.AppendSimple(model.TITLE, model.CONTENT)); _msg.IsErr() {
|
|
m.Copy(_msg)
|
|
} else {
|
|
m.Options(msg.AppendSimple(model.AMOUNT, model.TITLE, model.CONTENT))
|
|
m.Cmdy(s.Prefix(m, s.paymentlist), m.ActionKey(), m.PrefixKey(), "", m.Option(model.PLACE_UID), _msg.Result())
|
|
m.Push(model.PAYMENTLIST_UID, _msg.Result())
|
|
}
|
|
}
|
|
func (s goodslist) Response(m *ice.Message, arg ...string) {
|
|
if m.Cmdy(s.Prefix(m, s.paymentlist), m.ActionKey(), arg).IsErr() {
|
|
return
|
|
}
|
|
t := time.Now().AddDate(0, 1, 0)
|
|
msg := m.Cmd(s.Prefix(m, s.paymentlist), s.Select, model.UID, arg[1])
|
|
m.Cmd(s.Prefix(m, s.quotalist), s.Select, msg.AppendSimple(model.GOODSLIST_UID)).Table(func(value ice.Maps) {
|
|
m.Cmd(s.Prefix(m, s.spendlist), s.Insert, model.PLACE_UID, arg[0], msg.AppendSimple(model.USER_UID), model.PAYMENTLIST_UID, arg[1],
|
|
model.QUOTALIST_UID, value[model.UID], model.EXPIRE_TIME, t.Format(ice.MOD_TIME), model.VENDOR, value[model.VENDOR], model.TOTAL, value[model.TOTAL])
|
|
})
|
|
}
|
|
|
|
func init() { ice.TeamCtxCmd(goodslist{Table: newTable()}) }
|
|
|
|
func (s goodslist) insert(m *ice.Message, auth, level, amount string, arg ...string) {
|
|
s.Insert(m, model.UID, kit.Hashs(auth, level), model.PLACE_UID, auth, model.NAME, level,
|
|
model.AMOUNT, amount, model.TITLE, kit.Select("", arg, 0), model.CONTENT, kit.Select("", arg, 1))
|
|
}
|