add facebook page model method

This commit is contained in:
Jay
2018-09-10 23:12:18 +08:00
parent 145fbcd42e
commit fcc12ed82c
3 changed files with 112 additions and 8 deletions
+32 -4
View File
@@ -2,12 +2,18 @@ package model
import "time"
type FBGroups struct {
*LineGroup
Tmpl string `db:"tmpl"`
}
// FacebookPage - struct
type FacebookPage struct {
ID string `db:"id" cc:"id"`
LastPost string `db:"lastpost" cc:"lastpost"`
Ctime time.Time `db:"ctime" cc:"ctime"`
Mtime time.Time `db:"mtime" cc:"ctime"`
ID string `db:"id" cc:"id"`
LastPost string `db:"lastpost" cc:"lastpost"`
Ctime time.Time `db:"ctime" cc:"ctime"`
Mtime time.Time `db:"mtime" cc:"ctime"`
Groups []*FBGroups `db:"-"`
}
// GetAllFacebookPage -
@@ -18,3 +24,25 @@ func GetAllFacebookPage() (pages []*FacebookPage, err error) {
}
return
}
func (p *FacebookPage) UpdatePost(postID string) (err error) {
query := `update "public"."facebook_page" set "lastpost" = $1 where id = $2`
_, err = x.Exec(query, postID, p.ID)
if err != nil {
return
}
p.LastPost = postID
return
}
func (p *FacebookPage) GetGroups() (err error) {
query := `select g.*, rt.tmpl as tmpl from "public"."facebook_page" p
left join "public"."line_fb_rt" rt
on rt."facebook" = p.id
left join "public"."line_group" g
on g.id = rt."line"
where
p.id = $1`
err = x.Select(&p.Groups, query, p.ID)
return
}