一物一码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

db_user_fin_flow.go 2.3 KiB

2 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package db
  2. import (
  3. "applet/app/db/model"
  4. "applet/app/utils/logx"
  5. "xorm.io/xorm"
  6. )
  7. // GetFinUserFlowByID is 用户流水记录
  8. func GetFinUserFlowByID(Db *xorm.Engine, id interface{}) (*model.FinUserFlow, error) {
  9. var m model.FinUserFlow
  10. if has, err := Db.Where("id = ?", id).Get(&m); err != nil || !has {
  11. return nil, logx.Warn(err)
  12. }
  13. return &m, nil
  14. }
  15. // GetFinUserFlowByID is 用户流水记录
  16. func GetFinUserFlowByUIDANDOID(Db *xorm.Engine, types, uid, ordId string) (*model.FinUserFlow, error) {
  17. var m model.FinUserFlow
  18. if has, err := Db.Where("uid = ? and ord_id = ? and type = ?", uid, ordId, types).Get(&m); err != nil || !has {
  19. return nil, logx.Warn(err)
  20. }
  21. return &m, nil
  22. }
  23. //FinUserFlowInsertOne is 插入一条流水记录
  24. func FinUserFlowInsertOne(Db *xorm.Engine, m *model.FinUserFlow) error {
  25. _, err := Db.InsertOne(m)
  26. if err != nil {
  27. return err
  28. }
  29. return nil
  30. }
  31. // FinUserFlowByUID is 用户流水
  32. func FinUserFlowInputByUID(Db *xorm.Engine, uid interface{}, time string, limit, start int) ([]*model.FinUserFlow, error) {
  33. var m []*model.FinUserFlow
  34. if err := Db.Where("uid = ? AND create_at like ?", uid, time+"%").In("type", "0").Desc("create_at").Limit(limit, start).Find(&m); err != nil {
  35. return nil, logx.Warn(err)
  36. }
  37. return m, nil
  38. }
  39. // FinUserFlowByUIDByOrderAction is 用户流水 by OrderAction
  40. func FinUserFlowInputByUIDByOrderActionByTime(Db *xorm.Engine, uid, oa interface{}, time string, limit, start int) ([]*model.FinUserFlow, error) {
  41. var m []*model.FinUserFlow
  42. 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 {
  43. return nil, logx.Warn(err)
  44. }
  45. return m, nil
  46. }
  47. // FinUserFlowByUIDByOrderAction is 用户流水 by OrderAction
  48. func FinUserFlowInputByUIDByTypeByTime(Db *xorm.Engine, uid int, time string, limit, start int) ([]*model.FinUserFlow, error) {
  49. var m []*model.FinUserFlow
  50. if err := Db.Where("uid = ? AND type = 1 AND create_at like ?", uid, time+"%").Desc("create_at").Limit(limit, start).Find(&m); err != nil {
  51. return nil, logx.Warn(err)
  52. }
  53. return m, nil
  54. }
  55. // 在事务中使用,插入一条流水记录
  56. func FinUserFlowInsertOneWithSession(session *xorm.Session, m *model.FinUserFlow) error {
  57. _, err := session.InsertOne(m)
  58. if err != nil {
  59. return err
  60. }
  61. return nil
  62. }