package wechatmenu import ( "strconv" "time" "wechat-conf/models" "wechat-conf/models/model" "wechat-conf/utils" "github.com/go-xorm/xorm" ) // WechatMenuDAO 当前数据库操作对象 type WechatMenuDAO struct { ctx *utils.Context db *xorm.Session } // NewWechatMenuDAO New Inst func NewWechatMenuDAO(ctx *utils.Context) *WechatMenuDAO { return &WechatMenuDAO{ ctx: ctx, db: ctx.DB, } } func (m *WechatMenuDAO) GetWechatMenuByOrgId(orgId string) (*model.TaWechatMenu, error) { var menu []model.TaWechatMenu sql := `SELECT * FROM ta_wechat_menu where status > ` + strconv.Itoa(models.STATUS_DEL) + ` and org_id = '` + orgId + `'` err := m.db.Sql(sql).Find(&menu) if len(menu) > 0 { return &menu[0], err } return nil, err } func (m *WechatMenuDAO) AddWechatMenu(menu model.TaWechatMenu) (*model.TaWechatMenu, error) { menu.WechatConfigId = utils.GetGUID() menu.Status = models.STATUS_NORMAL menu.CreateDate = time.Now() _, err := m.db.Insert(menu) return &menu, err } func (m *WechatMenuDAO) UpdateWechatMenu(wechatMenu, orgId string) error { var menu = model.TaWechatMenu{ OrgId: orgId, WechatConfigJson: wechatMenu, } var cols = []string{ "wechat_config_json", } _, err := m.db.Cols(cols...).Where("org_id = ?", menu.WechatConfigId).And("status > ?", strconv.Itoa(models.STATUS_DEL)).Update(menu) return err } func (m *WechatMenuDAO) DeleteWechatMenu(wechatConfigId string) error { var menu = model.TaWechatMenu{ WechatConfigId: wechatConfigId, Status: models.STATUS_DEL, } var cols = []string{ "status", } _, err := m.db.Cols(cols...).Where("wechat_config_id = ?", menu.WechatConfigId).Update(menu) return err }