recharge_record_dao.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package dao
  2. import (
  3. "youngee_b_api/app/entity"
  4. "youngee_b_api/app/vo"
  5. )
  6. type RechargeRecordDao struct{}
  7. func (d RechargeRecordDao) Insert(rechargeRecord *entity.RechargeRecord) error {
  8. err := Db.Debug().Model(entity.RechargeRecord{}).Omit("confirm_at").Create(rechargeRecord).Error
  9. if err != nil {
  10. return err
  11. }
  12. return nil
  13. }
  14. // 获取指定企业id的充值金额、确认中金额
  15. func (d RechargeRecordDao) GetRechargeAmount(enterpriseId string, status int64) (float64, error) {
  16. var totalAmount float64
  17. query := Db.Debug().Model(&entity.RechargeRecord{})
  18. err := query.Where("enterprise_id = ? AND status = ?", enterpriseId, status).Select("SUM(recharge_amount)").Scan(&totalAmount).Error
  19. if err != nil {
  20. return 0, err
  21. }
  22. return totalAmount, nil
  23. }
  24. // 获取指定企业id的充值记录
  25. func (d RechargeRecordDao) RechargeInfoList(param *vo.RechargeParam) ([]entity.RechargeRecord, int64, error) {
  26. rechargeRecords := []entity.RechargeRecord{}
  27. var total int64
  28. query := Db.Debug().Model(&entity.RechargeRecord{}).Where("enterprise_id = ? AND status = ?", param.EnterpriseId, param.RechargeState)
  29. query.Count(&total)
  30. query = query.Select("recharge_id, recharge_amount, transfer_voucher_url, recharge_method, commit_at, confirm_at, refuse_at, fail_reason")
  31. offset := (param.Page - 1) * param.PageSize
  32. var err error
  33. if param.RechargeState == 1 {
  34. err = query.Order("commit_at desc").Offset(offset).Limit(param.PageSize).Find(&rechargeRecords).Error
  35. } else if param.RechargeState == 2 {
  36. err = query.Order("confirm_at desc").Offset(offset).Limit(param.PageSize).Find(&rechargeRecords).Error
  37. } else if param.RechargeState == 3 {
  38. err = query.Order("refuse_at desc").Offset(offset).Limit(param.PageSize).Find(&rechargeRecords).Error
  39. }
  40. if err != nil {
  41. return nil, 0, err
  42. }
  43. return rechargeRecords, total, nil
  44. }