fix query error
This commit is contained in:
parent
4acc78cd41
commit
703ffe34b2
@ -38,7 +38,7 @@ func GetChannelByID(id string) (ch *ChannelModel, err error) {
|
||||
}
|
||||
ch = &ChannelModel{}
|
||||
db := models.GetConn()
|
||||
query := `select id, server, enable_cmd, enable_notify, ctime, mtime where id = $1`
|
||||
query := `select id, server, enable_cmd, enable_notify, ctime, mtime from "discord"."channel" where id = $1`
|
||||
err = db.Get(ch, query, id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -52,7 +52,7 @@ func GetChannelListByServer(server string) (list []*ChannelModel, err error) {
|
||||
return nil, errors.New("server is empty")
|
||||
}
|
||||
db := models.GetConn()
|
||||
query := `select id, server, enable_cmd, enable_notify, ctime, mtime where server = $1`
|
||||
query := `select id, server, enable_cmd, enable_notify, ctime, mtime from "discord"."channel" where server = $1`
|
||||
err = db.Select(&list, query, server)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -61,12 +61,26 @@ func GetFacebookPageByChannelAndID(id, channel string) (page *FacebookPageModel,
|
||||
return nil, errors.New("channel or id is empty")
|
||||
}
|
||||
db := models.GetConn()
|
||||
query := `
|
||||
select
|
||||
fb.id, fb.lastpost, fb.ctime, fb.mtime
|
||||
from public.facebook_page fb
|
||||
left join "discord"."channel_facebook_rt" rt
|
||||
on rt.facebook = fb.id
|
||||
where fb.id = $1 and rt.channel = $2`
|
||||
result, err := db.Queryx(query, id, channel)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if result.Next() {
|
||||
page = &FacebookPageModel{}
|
||||
query := `select id, lastpost, ctime, mtime from public.facebook_page where id = $1 and channel = $2`
|
||||
err = db.Get(page, query, channel)
|
||||
err = result.StructScan(page)
|
||||
if err != nil && err != sql.ErrNoRows {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -39,10 +39,34 @@ func addServer(info EvtInfo, name string) string {
|
||||
return "add server success"
|
||||
}
|
||||
|
||||
func addChannel(info EvtInfo, cmd, notify string) string {
|
||||
server, err := dsmodel.GetServerByID(info.Server)
|
||||
if err != nil {
|
||||
return "Get server data fail"
|
||||
}
|
||||
_ = server
|
||||
|
||||
if server == nil {
|
||||
return "Server not init"
|
||||
}
|
||||
|
||||
ch, err := dsmodel.NewChannel(info.Channel, info.Server, cmd == "1", notify == "1")
|
||||
if err != nil {
|
||||
return "init channel data fail"
|
||||
}
|
||||
err = ch.Write()
|
||||
if err != nil {
|
||||
return "write channel data fail"
|
||||
}
|
||||
|
||||
return "Success"
|
||||
}
|
||||
|
||||
func addFacebookPage(info EvtInfo, fbid, tmpl string) string {
|
||||
log.Printf("add facebook ::: id : %s ::: tmpl : %s \n", fbid, tmpl)
|
||||
ch, err := dsmodel.GetChannelByID(info.Channel)
|
||||
if err != nil {
|
||||
log.Println("get channel fail", err)
|
||||
return ""
|
||||
}
|
||||
|
||||
@ -64,14 +88,17 @@ func addFacebookPage(info EvtInfo, fbid, tmpl string) string {
|
||||
} else {
|
||||
fbrt, err := ch.GetFacebookPageByID(fbid)
|
||||
if err != nil {
|
||||
log.Println("get fb rt fail :: ", err)
|
||||
return "check data fail"
|
||||
}
|
||||
|
||||
if fbrt != nil {
|
||||
return "facebook page already linked"
|
||||
}
|
||||
|
||||
rt, err := dsmodel.CreateFacebookRT(info.Channel, page.ID, tmpl)
|
||||
if err != nil {
|
||||
log.Println("create fail :: ", err)
|
||||
return "create data fail"
|
||||
}
|
||||
|
||||
|
@ -153,8 +153,17 @@ func selectAction(info EvtInfo, cmdKey, cmdValue, payload string) string {
|
||||
switch cmdKey {
|
||||
case "ds_addserver":
|
||||
return addServer(info, payload)
|
||||
case "ds_addchannel":
|
||||
strs := strings.Split(payload, " ")
|
||||
if len(strs) != 2 {
|
||||
return "!ds_addchennel {enable_cmd} {enable_notify}"
|
||||
}
|
||||
return addChannel(info, strs[0], strs[1])
|
||||
case "ds_addfacebook":
|
||||
strs := strings.Split(payload, " ")
|
||||
if len(strs) < 2 {
|
||||
return "!ds_addfacebook {facebook_id} {template}"
|
||||
}
|
||||
return addFacebookPage(info, strs[0], strings.Join(strs[1:], " "))
|
||||
case "ds_delfacebook":
|
||||
return delFacebookPage(info, payload)
|
||||
|
Loading…
Reference in New Issue
Block a user