mirror of
https://shylinux.com/x/community
synced 2025-05-08 06:46:55 +08:00
81 lines
2.7 KiB
Go
81 lines
2.7 KiB
Go
package gonganxitong
|
|
|
|
import (
|
|
"shylinux.com/x/ice"
|
|
kit "shylinux.com/x/toolkits"
|
|
|
|
"shylinux.com/x/community/src/gonganxitong/model"
|
|
)
|
|
|
|
type market struct {
|
|
Table
|
|
domain domain
|
|
command command
|
|
service service
|
|
thumb thumb
|
|
comment comment
|
|
favor favor
|
|
order string `data:"901"`
|
|
create string `name:"create domain_uid* title* content" role:"void"`
|
|
remove string `name:"remove" role:"void"`
|
|
thumbToggle string `name:"thumbToggle" role:"void"`
|
|
commentCreate string `name:"commentCreate content*" role:"void"`
|
|
favorToggle string `name:"favorToggle" role:"void"`
|
|
shareCreate string `name:"shareCreate" role:"void"`
|
|
}
|
|
|
|
func (s market) Create(m *ice.Message, arg ...string) {
|
|
s.Insert(m, append(arg, m.OptionSimple(model.PLACE_UID, model.USER_UID, model.COMMAND_UID, model.ARGS)...)...)
|
|
}
|
|
func (s market) List(m *ice.Message, arg ...string) {
|
|
s.Tables(m, s.command, s.service, s.LeftJoinValue(m, s.thumb, s), s.LeftJoinValue(m, s.favor, s)).FieldsWithCreatedAT(m, s,
|
|
s.Key(s, model.USER_UID), model.PLACE_UID, model.SERVICE_NAME, model.TITLE, model.CONTENT,
|
|
model.THUMB_COUNT, model.COMMENT_COUNT, model.FAVOR_COUNT, model.SHARE_COUNT, model.THUMB_STATUS, model.FAVOR_STATUS,
|
|
s.AS(model.NODENAME, model.SPACE), s.Key(s.command, model.INDEX), model.ARGS,
|
|
model.COMMAND_NAME,
|
|
)
|
|
if len(arg) < 2 {
|
|
if m.Option(model.DOMAIN_UID) != "" {
|
|
s.Select(m, m.OptionSimple(model.DOMAIN_UID)...)
|
|
} else {
|
|
s.Select(m)
|
|
}
|
|
m.Action()
|
|
} else if len(arg) == 2 {
|
|
msg := s.Select(m.Spawn(), s.Key(s, model.UID), arg[1])
|
|
s.ProcessPodCmd(m, msg, model.MARKET_UID, arg[1])
|
|
} else {
|
|
return
|
|
}
|
|
s.SelectJoinRecent(m, model.PLACE_UID)
|
|
s.SelectJoinUser(m, model.NAME, model.AVATAR, model.AUTH_UID)
|
|
s.SelectJoinAuth(m)
|
|
s.DisplayBase(m, "")
|
|
}
|
|
func (s market) ThumbToggle(m *ice.Message, arg ...string) {
|
|
m.OptionDefault(model.MARKET_UID, m.Option(model.UID))
|
|
if kit.Int(m.Cmdx(s.thumb, s.thumb.Toggle))%2 == 1 {
|
|
s.AddCount(m, model.THUMB_COUNT, "1")
|
|
} else {
|
|
s.AddCount(m, model.THUMB_COUNT, "-1")
|
|
}
|
|
}
|
|
func (s market) CommentCreate(m *ice.Message, arg ...string) {
|
|
m.OptionDefault(model.MARKET_UID, m.Option(model.UID))
|
|
m.Cmd(s.comment, s.Insert, arg)
|
|
s.AddCount(m, model.COMMENT_COUNT, "1")
|
|
}
|
|
func (s market) FavorToggle(m *ice.Message, arg ...string) {
|
|
m.OptionDefault(model.MARKET_UID, m.Option(model.UID))
|
|
if kit.Int(m.Cmdx(s.favor, s.favor.Toggle))%2 == 1 {
|
|
s.AddCount(m, model.FAVOR_COUNT, "1")
|
|
} else {
|
|
s.AddCount(m, model.FAVOR_COUNT, "-1")
|
|
}
|
|
}
|
|
func (s market) ShareCreate(m *ice.Message, arg ...string) {
|
|
s.AddCount(m, model.SHARE_COUNT, "1")
|
|
}
|
|
|
|
func init() { ice.TeamCtxCmd(market{Table: newTable()}) }
|