wechatmenu.go 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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/go-xorm/xorm"
  9. )
  10. // WechatMenuDAO 当前数据库操作对象
  11. type WechatMenuDAO struct {
  12. ctx *utils.Context
  13. db *xorm.Session
  14. }
  15. // NewWechatMenuDAO New Inst
  16. func NewWechatMenuDAO(ctx *utils.Context) *WechatMenuDAO {
  17. return &WechatMenuDAO{
  18. ctx: ctx,
  19. db: ctx.DB,
  20. }
  21. }
  22. func (m *WechatMenuDAO) GetWechatMenuByOrgId(orgId string) (*model.TaWechatMenu, error) {
  23. var menu []model.TaWechatMenu
  24. sql := `SELECT * FROM ta_wechat_menu where status > ` + strconv.Itoa(models.STATUS_DEL) + `
  25. and org_id = '` + orgId + `'`
  26. err := m.db.Sql(sql).Find(&menu)
  27. if len(menu) > 0 {
  28. return &menu[0], err
  29. }
  30. return nil, err
  31. }
  32. func (m *WechatMenuDAO) AddWechatMenu(menu model.TaWechatMenu) (*model.TaWechatMenu, error) {
  33. menu.WechatConfigId = utils.GetGUID()
  34. menu.Status = models.STATUS_NORMAL
  35. menu.CreateDate = time.Now()
  36. _, err := m.db.Insert(menu)
  37. return &menu, err
  38. }
  39. func (m *WechatMenuDAO) UpdateWechatMenu(wechatMenu, orgId string) error {
  40. var menu = model.TaWechatMenu{
  41. OrgId: orgId,
  42. WechatConfigJson: wechatMenu,
  43. }
  44. var cols = []string{
  45. "wechat_config_json",
  46. }
  47. _, err := m.db.Cols(cols...).Where("org_id = ?", menu.WechatConfigId).And("status > ?", strconv.Itoa(models.STATUS_DEL)).Update(menu)
  48. return err
  49. }
  50. func (m *WechatMenuDAO) DeleteWechatMenu(wechatConfigId string) error {
  51. var menu = model.TaWechatMenu{
  52. WechatConfigId: wechatConfigId,
  53. Status: models.STATUS_DEL,
  54. }
  55. var cols = []string{
  56. "status",
  57. }
  58. _, err := m.db.Cols(cols...).Where("wechat_config_id = ?", menu.WechatConfigId).Update(menu)
  59. return err
  60. }