wechatcontent.go 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package wechatcontent
  2. import (
  3. "strconv"
  4. "time"
  5. "wechat-conf/models"
  6. "wechat-conf/models/model"
  7. "wechat-conf/utils"
  8. "github.com/go-xorm/xorm"
  9. )
  10. // WechatContentDAO 当前数据库操作对象
  11. type WechatContentDAO struct {
  12. ctx *utils.Context
  13. db *xorm.Session
  14. }
  15. // NewWechatContentDAO New Inst
  16. func NewWechatContentDAO(ctx *utils.Context) *WechatContentDAO {
  17. return &WechatContentDAO{
  18. ctx: ctx,
  19. db: ctx.DB,
  20. }
  21. }
  22. func (m *WechatContentDAO) GetWechatContentList(orgId string, page, pagesize int) ([]model.TaWechatContent, error) {
  23. var content []model.TaWechatContent
  24. sql := `SELECT * FROM ta_wechat_content where status > ` + strconv.Itoa(models.STATUS_DEL) + `
  25. and org_id = '` + orgId + `'`
  26. sql += ` order by create_date desc limit ` + strconv.Itoa((page-1)*pagesize) + `, ` + strconv.Itoa(pagesize)
  27. err := m.db.Sql(sql).Find(&content)
  28. return content, err
  29. }
  30. func (m *WechatContentDAO) GetWechatContentListCount(orgId string) (int, error) {
  31. var content []model.TaWechatContent
  32. sql := `SELECT * FROM ta_wechat_content where status > ` + strconv.Itoa(models.STATUS_DEL) + `
  33. and org_id = '` + orgId + `'`
  34. err := m.db.Sql(sql).Find(&content)
  35. return len(content), err
  36. }
  37. func (m *WechatContentDAO) GetWechatContentByMediaId(mediaId string) (*model.TaWechatContent, error) {
  38. var content []model.TaWechatContent
  39. sql := `SELECT * FROM ta_wechat_content where media_id = '` + mediaId + `'`
  40. err := m.db.Sql(sql).Find(&content)
  41. if len(content) > 0 {
  42. return &content[0], err
  43. }
  44. return nil, err
  45. }
  46. func (m *WechatContentDAO) AddWechatContent(content model.TaWechatContent) error {
  47. content.CreateDate = time.Now()
  48. content.Status = models.STATUS_NORMAL
  49. _, err := m.db.Insert(content)
  50. return err
  51. }
  52. func (m *WechatContentDAO) DeleteWechatContent(mediaId string) error {
  53. var content = model.TaWechatContent{
  54. MediaId: mediaId,
  55. Status: models.STATUS_DEL,
  56. }
  57. var cols = []string{
  58. "status",
  59. }
  60. _, err := m.db.Cols(cols...).Where("media_id = ?", content.MediaId).Update(content)
  61. return err
  62. }