enterprise.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package db
  2. import (
  3. "context"
  4. "gorm.io/gorm"
  5. "youngee_m_api/model/gorm_model"
  6. )
  7. //企业ID查找
  8. func GetEnterpriseByEnterpriseID(ctx context.Context, EnterpriseID string) (*gorm_model.Enterprise, error) {
  9. db := GetReadDB(ctx)
  10. enterprise := gorm_model.Enterprise{}
  11. err := db.Where("enterprise_id = ?", EnterpriseID).First(&enterprise).Error
  12. if err != nil {
  13. if err == gorm.ErrRecordNotFound {
  14. return nil, nil
  15. } else {
  16. return nil, err
  17. }
  18. }
  19. return &enterprise, nil
  20. }
  21. // 支付-修改企业账户余额
  22. func UpdateEnterpriseBalance(ctx context.Context, EnterpriseID string, balance float64, availableBalance float64, frozenBalance float64) (*float64, error) {
  23. db := GetReadDB(ctx)
  24. err := db.Model(gorm_model.Enterprise{}).Where("enterprise_id", EnterpriseID).
  25. Updates(map[string]interface{}{"balance": gorm.Expr("balance + ?", balance), "available_balance": gorm.Expr("available_balance + ?", availableBalance), "frozen_balance": gorm.Expr("frozen_balance + ?", frozenBalance)}).Error
  26. if err != nil {
  27. return nil, err
  28. }
  29. enterprise := gorm_model.Enterprise{}
  30. err = db.Model(gorm_model.Enterprise{}).Where("enterprise_id", EnterpriseID).Scan(&enterprise).Error
  31. if err != nil {
  32. return nil, err
  33. }
  34. return &enterprise.Balance, nil
  35. }