切换导航条
此项目
正在载入...
登录
mmm-go
/
partnermg
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
tangxvhui
5 years ago
提交
a1290faa1a9de88c8530611a854ac3ee9df8ea59
1 个父辈
0c0da7f3
更相
隐藏空白字符变更
内嵌
并排对比
正在显示
1 个修改的文件
包含
0 行增加
和
94 行删除
pkg/infrastructure/repository/repository_go.bak
pkg/infrastructure/repository/repository_go.bak
已删除
100644 → 0
查看文件 @
0c0da7f
package repository
import (
"bytes"
"encoding/gob"
"fmt"
"github.com/go-pg/pg/v10/orm"
"github.com/linmadan/egglib-go/utils/snowflake"
)
var (
ERR_EMPTY_TC = fmt.Errorf("transactionContext参数不能为nil")
)
type Query struct {
*orm.Query
queryOptions map[string]interface{}
AffectRow int
}
func NewQuery(query *orm.Query, queryOptions map[string]interface{}) *Query {
return &Query{
query,
queryOptions,
0,
}
}
func (query *Query) SetWhere(condition, key string) *Query {
if v, ok := query.queryOptions[key]; ok {
query.Where(condition, v)
}
return query
}
func (query *Query) SetLimit() *Query {
if offset, ok := query.queryOptions["offset"]; ok {
offset := offset.(int)
if offset > -1 {
query.Offset(offset)
}
} else {
query.Offset(0)
}
if limit, ok := query.queryOptions["limit"]; ok {
limit := limit.(int)
if limit > -1 {
query.Limit(limit)
} else {
query.Limit(20)
}
}
return query
}
func (query *Query) SetOrder(orderColumn string, key string) *Query {
//query.Order(condition...)
//return query
if v, ok := query.queryOptions[key]; ok {
query.Order(fmt.Sprintf("%v %v", orderColumn, v))
}
return query
}
func (query *Query) HandleError(err error, errMsg string) error {
if err.Error() == "pg: no rows in result set" {
return fmt.Errorf(errMsg)
} else {
return err
}
}
func NewSnowflakeId() (int64, error) {
IdWorker, err := snowflake.NewIdWorker(2)
if err != nil {
return 0, err
}
id, err := IdWorker.NextId()
return id, err
}
//GobModelTransform 模型转换
func GobModelTransform(dst interface{}, src interface{}) error {
var data bytes.Buffer
enc := gob.NewEncoder(&data)
if err := enc.Encode(src); err != nil {
return err
}
dec := gob.NewDecoder(&data)
if err := dec.Decode(dst); err != nil {
return err
}
return nil
}
请
注册
或
登录
后发表评论