diff --git a/src/gonganxitong/common.go b/src/gonganxitong/common.go index 6aa364d..8d1c460 100644 --- a/src/gonganxitong/common.go +++ b/src/gonganxitong/common.go @@ -563,6 +563,8 @@ func PortalCmd(portal ice.Any) { } cmd("portal", portal) cmd("goodslist", goodslist{Table: table}) + cmd("quotalist", goodslist{Table: table}) + cmd("spendlist", goodslist{Table: table}) cmd("paymentlist", paymentlist{Table: table}) cmd("meeting", meeting{Table: table}) cmd("document", document{Table: table}) diff --git a/src/gonganxitong/goodslist.go b/src/gonganxitong/goodslist.go index c65e568..e989eff 100644 --- a/src/gonganxitong/goodslist.go +++ b/src/gonganxitong/goodslist.go @@ -1,16 +1,55 @@ package gonganxitong -import "shylinux.com/x/ice" +import ( + "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 order string `data:"91"` - fields string `data:"name,title,content,user_uid"` + fields string `data:"name,price,title,content,user_uid"` create string `name:"create name* title* content*" role:"leader"` remove string `name:"remove" role:"leader"` + payfor string `name:"payfor" help:"购买" style:"notice" role:"worker"` } +func (s goodslist) AfterMigrate(m *ice.Message, arg ...string) { + s.Table.AfterMigrate(m, arg...) + s.insert(m, "service", "2-1", "1000", "初级版") + s.insert(m, "service", "2-2", "3000", "高级版") + s.insert(m, "service", "2-3", "5000", "旗舰版") + s.insert(m, "company", "5-1", "10000", "企业初级版") + s.insert(m, "company", "5-2", "30000", "企业高级版") + s.insert(m, "company", "5-3", "50000", "企业旗舰版") +} func (s goodslist) List(m *ice.Message, arg ...string) { + 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") + } + m.PushAction(s.Payfor).Action() + } else { + s.Select(m, model.PLACE_UID, "service") + m.PushAction(s.Payfor).Action() + if s.IsLeader(m) { + m.Action(s.Create) + } + } + m.Display("") +} +func (s goodslist) Payfor(m *ice.Message, arg ...string) { } func init() { ice.TeamCtxCmd(goodslist{Table: newTable()}) } + +func (s goodslist) insert(m *ice.Message, auth, level, price string, arg ...string) { + s.Insert(m, model.UID, kit.Hashs(auth, level), model.PLACE_UID, auth, model.NAME, level, model.PRICE, price, model.TITLE, kit.Select("", arg, 0), model.CONTENT, kit.Select("", arg, 1)) +} diff --git a/src/gonganxitong/goodslist.js b/src/gonganxitong/goodslist.js new file mode 100644 index 0000000..d6582a0 --- /dev/null +++ b/src/gonganxitong/goodslist.js @@ -0,0 +1,9 @@ +Volcanos(chat.ONIMPORT, { + _init: function(can, msg) { + can.onimport.myView(can, msg, function(value) { return [ + {view: html.TITLE, list: [value.title, "¥ "+value.price/100+" / 月", can.onimport.titleAction(can, value)]}, + {view: html.STATUS, list: [value.uid.slice(0, 6), can.onimport.timeView(can, value), value.user_name]}, + {view: html.OUTPUT, list: [value.content]}, + ] }) + }, +}) \ No newline at end of file diff --git a/src/gonganxitong/model/model.go b/src/gonganxitong/model/model.go index 3d5099b..5f5aefe 100644 --- a/src/gonganxitong/model/model.go +++ b/src/gonganxitong/model/model.go @@ -111,6 +111,7 @@ const ( AMOUNT = "amount" ACCESS_TOKEN = "access_token" EXPIRE_TIME = "expire_time" + PRICE = "price" ) type Sess struct { @@ -150,6 +151,7 @@ type Goodslist struct { Name string `gorm:"type:varchar(32)"` Title string `gorm:"type:varchar(64)"` Content string `gorm:"type:varchar(128)"` + Price int } type Quotalist struct { db.ModelWithUID diff --git a/src/gonganxitong/paymentlist.go b/src/gonganxitong/paymentlist.go index c7c7f0b..e03b569 100644 --- a/src/gonganxitong/paymentlist.go +++ b/src/gonganxitong/paymentlist.go @@ -52,7 +52,9 @@ func (s paymentlist) List(m *ice.Message, arg ...string) { func (s paymentlist) Payfor(m *ice.Message, arg ...string) { s.cmdy(m, s.Request, arg...) } -func (s paymentlist) Request(m *ice.Message, arg ...string) {} +func (s paymentlist) Request(m *ice.Message, arg ...string) { + +} func (s paymentlist) Response(m *ice.Message, arg ...string) { if len(arg) > 1 { s.Update(m, kit.Dict(model.STATUS, PaymentSuccess), s.PLACE_UID, arg[0], model.UID, arg[1]) diff --git a/src/gonganxitong/quotalist.go b/src/gonganxitong/quotalist.go index aadc123..a94fdb1 100644 --- a/src/gonganxitong/quotalist.go +++ b/src/gonganxitong/quotalist.go @@ -3,7 +3,7 @@ package gonganxitong import "shylinux.com/x/ice" type quotalist struct { - Tables + Table fields string `data:"title,content,user_uid"` create string `name:"create title* content*" role:"leader"` remove string `name:"remove" role:"leader"` @@ -12,4 +12,4 @@ type quotalist struct { func (s quotalist) List(m *ice.Message, arg ...string) { } -func init() { ice.TeamCtxCmd(quotalist{}) } +func init() { ice.TeamCtxCmd(quotalist{Table: newTable()}) } diff --git a/src/gonganxitong/spendlist.go b/src/gonganxitong/spendlist.go index 07c3550..3fc922e 100644 --- a/src/gonganxitong/spendlist.go +++ b/src/gonganxitong/spendlist.go @@ -3,7 +3,7 @@ package gonganxitong import "shylinux.com/x/ice" type spendlist struct { - Tables + Table fields string `data:"title,content,user_uid"` create string `name:"create title* content*" role:"leader"` remove string `name:"remove" role:"leader"` @@ -12,4 +12,4 @@ type spendlist struct { func (s spendlist) List(m *ice.Message, arg ...string) { } -func init() { ice.TeamCtxCmd(spendlist{}) } +func init() { ice.TeamCtxCmd(spendlist{Table: newTable()}) }