cbservicemodel.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package model
  2. import (
  3. "fmt"
  4. "github.com/zeromicro/go-zero/core/stores/sqlx"
  5. )
  6. var _ CbServiceModel = (*customCbServiceModel)(nil)
  7. type (
  8. // CbServiceModel is an interface to be customized, add more methods here,
  9. // and implement the added methods in customCbServiceModel.
  10. CbServiceModel interface {
  11. cbServiceModel
  12. GetServiceByOpenKfid(openKfid string) (d *CbService, err error)
  13. UpdateCursorByOpenKfid(openKfid string, cursor string) (err error)
  14. }
  15. customCbServiceModel struct {
  16. *defaultCbServiceModel
  17. }
  18. )
  19. // NewCbServiceModel returns a model for the database table.
  20. func NewCbServiceModel(conn sqlx.SqlConn) CbServiceModel {
  21. return &customCbServiceModel{
  22. defaultCbServiceModel: newCbServiceModel(conn),
  23. }
  24. }
  25. func (m *customCbServiceModel) GetServiceByOpenKfid(openKfid string) (d *CbService, err error) {
  26. query := fmt.Sprintf("select * from %s where `open_kfid` = ? limit 1", m.table)
  27. var resp CbService
  28. err = m.conn.QueryRow(&resp, query, openKfid)
  29. d = &resp
  30. return
  31. }
  32. func (m *customCbServiceModel) UpdateCursorByOpenKfid(openKfid string, cursor string) (err error) {
  33. query := fmt.Sprintf("update %s set `next_cursor` = ? where `open_kfid` = ?", m.table)
  34. _, err = m.conn.Exec(query, cursor, openKfid)
  35. return err
  36. }