package db import ( "applet/app/db/model" "applet/app/utils/logx" "xorm.io/xorm" ) // GetFinUserFlowByID is 用户流水记录 func GetFinUserFlowByID(Db *xorm.Engine, id interface{}) (*model.FinUserFlow, error) { var m model.FinUserFlow if has, err := Db.Where("id = ?", id).Get(&m); err != nil || !has { return nil, logx.Warn(err) } return &m, nil } // GetFinUserFlowByID is 用户流水记录 func GetFinUserFlowByUIDANDOID(Db *xorm.Engine, types, uid, ordId string) (*model.FinUserFlow, error) { var m model.FinUserFlow if has, err := Db.Where("uid = ? and ord_id = ? and type = ?", uid, ordId, types).Get(&m); err != nil || !has { return nil, logx.Warn(err) } return &m, nil } //FinUserFlowInsertOne is 插入一条流水记录 func FinUserFlowInsertOne(Db *xorm.Engine, m *model.FinUserFlow) error { _, err := Db.InsertOne(m) if err != nil { return err } return nil } // FinUserFlowByUID is 用户流水 func FinUserFlowInputByUID(Db *xorm.Engine, uid interface{}, time string, limit, start int) ([]*model.FinUserFlow, error) { var m []*model.FinUserFlow if err := Db.Where("uid = ? AND create_at like ?", uid, time+"%").In("type", "0").Desc("create_at").Limit(limit, start).Find(&m); err != nil { return nil, logx.Warn(err) } return m, nil } // FinUserFlowByUIDByOrderAction is 用户流水 by OrderAction func FinUserFlowInputByUIDByOrderActionByTime(Db *xorm.Engine, uid, oa interface{}, time string, limit, start int) ([]*model.FinUserFlow, error) { var m []*model.FinUserFlow if err := Db.Where("uid = ? AND ord_action = ? AND create_at like ?", uid, oa, time+"%").Desc("create_at").Limit(limit, start).Find(&m); err != nil { return nil, logx.Warn(err) } return m, nil } // FinUserFlowByUIDByOrderAction is 用户流水 by OrderAction func FinUserFlowInputByUIDByTypeByTime(Db *xorm.Engine, uid int, time string, limit, start int) ([]*model.FinUserFlow, error) { var m []*model.FinUserFlow if err := Db.Where("uid = ? AND type = 1 AND create_at like ?", uid, time+"%").Desc("create_at").Limit(limit, start).Find(&m); err != nil { return nil, logx.Warn(err) } return m, nil } // 在事务中使用,插入一条流水记录 func FinUserFlowInsertOneWithSession(session *xorm.Session, m *model.FinUserFlow) error { _, err := session.InsertOne(m) if err != nil { return err } return nil }