|
- 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
- }
|