12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- package db
- import (
- "context"
- "youngee_b_api/model/gorm_model"
- "youngee_b_api/model/http_model"
- "gorm.io/gorm"
- )
- func CreateEnterprise(ctx context.Context, newEnterprise gorm_model.Enterprise) (*int64, error) {
- db := GetReadDB(ctx)
- err := db.Create(&newEnterprise).Error
- if err != nil {
- return nil, err
- }
- return &newEnterprise.EnterpriseID, nil
- }
- //用户ID查找
- func GetEnterpriseByUID(ctx context.Context, userID int64) (*gorm_model.Enterprise, error) {
- db := GetReadDB(ctx)
- enterprise := gorm_model.Enterprise{}
- err := db.Where("user_id = ?", userID).First(&enterprise).Error
- if err != nil {
- if err == gorm.ErrRecordNotFound {
- return nil, nil
- } else {
- return nil, err
- }
- }
- return &enterprise, nil
- }
- //企业ID查找
- func GetEnterpriseByEnterpriseID(ctx context.Context, EnterpriseID int64) (*gorm_model.Enterprise, error) {
- db := GetReadDB(ctx)
- enterprise := gorm_model.Enterprise{}
- err := db.Where("enterprise_id = ?", EnterpriseID).First(&enterprise).Error
- if err != nil {
- if err == gorm.ErrRecordNotFound {
- return nil, nil
- } else {
- return nil, err
- }
- }
- return &enterprise, nil
- }
- // GetEnterpriseBalance 获取企业可用余额等信息
- func GetEnterpriseBalance(ctx context.Context, EnterpriseID int64) (*http_model.EnterpriseBalanceData, error) {
- db := GetReadDB(ctx)
- enterprise := gorm_model.Enterprise{}
- err := db.Where("enterprise_id = ?", EnterpriseID).First(&enterprise).Error
- if err != nil {
- if err == gorm.ErrRecordNotFound {
- return nil, nil
- } else {
- return nil, err
- }
- }
- res := &http_model.EnterpriseBalanceData{
- Balance: enterprise.Balance,
- FrozenBalance: enterprise.FrozenBalance,
- AvailableBalance: enterprise.AvailableBalance,
- }
- return res, nil
- }
- // 支付-修改企业账户余额
- func UpdateEnterpriseBalance(ctx context.Context, EnterpriseID int64, balance int64, availableBalance int64, frozenBalance int64) (*int64, error) {
- db := GetReadDB(ctx)
- err := db.Model(gorm_model.Enterprise{}).Where("enterprise_id", EnterpriseID).
- Updates(map[string]interface{}{"balance": gorm.Expr("balance + ?", balance), "available_balance": gorm.Expr("available_balance + ?", availableBalance), "frozen_balance": gorm.Expr("frozen_balance + ?", frozenBalance)}).Error
- if err != nil {
- return nil, err
- }
- enterprise := gorm_model.Enterprise{}
- err = db.Model(gorm_model.Enterprise{}).Where("enterprise_id", EnterpriseID).Scan(&enterprise).Error
- if err != nil {
- return nil, err
- }
- return &enterprise.Balance, nil
- }
|