package model import ( "context" "fmt" "github.com/zeromicro/go-zero/core/stores/cache" "github.com/zeromicro/go-zero/core/stores/sqlx" ) var _ SysUserRoleModel = (*customSysUserRoleModel)(nil) type ( SysUserRoleModel interface { sysUserRoleModel FindByUserId(ctx context.Context, userId string) (*SysUserRole, error) DeleteByUserId(ctx context.Context, userId string) error } customSysUserRoleModel struct { *defaultSysUserRoleModel } ) func NewSysUserRoleModel(conn sqlx.SqlConn, c cache.CacheConf, opts ...cache.Option) SysUserRoleModel { return &customSysUserRoleModel{ defaultSysUserRoleModel: newSysUserRoleModel(conn, c, opts...), } } func (m *customSysUserRoleModel) FindByUserId(ctx context.Context, userId string) (*SysUserRole, error) { var resp SysUserRole query := fmt.Sprintf("SELECT %s FROM %s WHERE `user_id` = ? LIMIT 1", sysUserRoleRows, m.table) err := m.QueryRowNoCacheCtx(ctx, &resp, query, userId) switch err { case nil: return &resp, nil default: return nil, err } } func (m *customSysUserRoleModel) DeleteByUserId(ctx context.Context, userId string) error { query := fmt.Sprintf("DELETE FROM %s WHERE `user_id` = ?", m.table) _, err := m.ExecNoCacheCtx(ctx, query, userId) return err }