123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package wechatmenu
  2. import (
  3. "strconv"
  4. "time"
  5. "wechat-conf/models"
  6. "wechat-conf/models/model"
  7. "wechat-conf/utils"
  8. "github.com/astaxie/beego"
  9. "github.com/go-xorm/xorm"
  10. )
  11. // WechatMenuDAO 当前数据库操作对象
  12. type WechatMenuDAO struct {
  13. ctx *utils.Context
  14. db *xorm.Session
  15. }
  16. // NewWechatMenuDAO New Inst
  17. func NewWechatMenuDAO(ctx *utils.Context) *WechatMenuDAO {
  18. return &WechatMenuDAO{
  19. ctx: ctx,
  20. db: ctx.DB,
  21. }
  22. }
  23. func (m *WechatMenuDAO) GetWechatMenuByOrgId(orgId string) (*model.TaWechatMenu, error) {
  24. var menu []model.TaWechatMenu
  25. sql := `SELECT * FROM ta_wechat_menu where status > ` + strconv.Itoa(models.STATUS_DEL) + `
  26. and org_id = '` + orgId + `'`
  27. err := m.db.Sql(sql).Find(&menu)
  28. if len(menu) > 0 {
  29. return &menu[0], err
  30. }
  31. return nil, err
  32. }
  33. func (m *WechatMenuDAO) AddWechatMenu(menu model.TaWechatMenu) (*model.TaWechatMenu, error) {
  34. menu.WechatConfigId = utils.GetGUID()
  35. menu.Status = models.STATUS_NORMAL
  36. menu.CreateDate = time.Now()
  37. _, err := m.db.Insert(menu)
  38. return &menu, err
  39. }
  40. func (m *WechatMenuDAO) UpdateWechatMenu(wechatMenu, orgId string) error {
  41. var menu = model.TaWechatMenu{
  42. OrgId: orgId,
  43. WechatConfigJson: wechatMenu,
  44. }
  45. var cols = []string{
  46. "wechat_config_json",
  47. }
  48. beego.Info("__________________________更新微信菜单——————————————————————————————————————")
  49. beego.Info(menu)
  50. _, err := m.db.Cols(cols...).Where("org_id = ?", menu.OrgId).And("status > ?", strconv.Itoa(models.STATUS_DEL)).Update(menu)
  51. return err
  52. }
  53. // func (m *WechatMenuDAO) GetMenuByOrgId(orgId string) (*model.TaWechatMenu, error) {
  54. // }
  55. func (m *WechatMenuDAO) DeleteWechatMenu(wechatConfigId string) error {
  56. var menu = model.TaWechatMenu{
  57. WechatConfigId: wechatConfigId,
  58. Status: models.STATUS_DEL,
  59. }
  60. var cols = []string{
  61. "status",
  62. }
  63. _, err := m.db.Cols(cols...).Where("wechat_config_id = ?", menu.WechatConfigId).Update(menu)
  64. return err
  65. }