diff --git a/internal/dao/bundleExtend.go b/internal/dao/bundleExtend.go index d37e333..10d395b 100644 --- a/internal/dao/bundleExtend.go +++ b/internal/dao/bundleExtend.go @@ -177,6 +177,14 @@ func GetBundleBalanceByUserId(req *bundle.GetBundleBalanceByUserIdReq) (data mod return } +func GetBundleBalanceByOrderUuid(orderUuid string) (data model.BundleBalance, err error) { + err = app.ModuleClients.BundleDB.Model(&model.BundleBalance{}).Where("order_uuid = ?", orderUuid).First(&data).Error + if err != nil { + return data, err + } + return +} + func AddBundleBalanceByUserId(data model.BundleBalanceUsePo) (usedType int, err error) { err = app.ModuleClients.BundleDB.Transaction(func(tx *gorm.DB) (err error) { ba := model.BundleActivate{} diff --git a/internal/logic/bundleExtendLogic.go b/internal/logic/bundleExtendLogic.go index 2e3b601..446ca30 100644 --- a/internal/logic/bundleExtendLogic.go +++ b/internal/logic/bundleExtendLogic.go @@ -315,8 +315,7 @@ func CreateBundleBalance(req *bundle.CreateBundleBalanceReq) (*bundle.CreateBund var data model.BundleBalance orderReq := &bundle.OrderRecordsDetailRequest{} var addValues []model.BundleOrderValueAdd - var oldValues []model.BundleOrderValueAdd - var oldAccountInfo model.RenewalInfo + var oldValues model.BundleBalance fmt.Println("开始创建套餐OrderUuid:", req.OrderUUID) orderReq.Uuid = req.OrderUUID orderInfo, err := dao.OrderRecordDetail(orderReq) @@ -336,18 +335,9 @@ func CreateBundleBalance(req *bundle.CreateBundleBalanceReq) (*bundle.CreateBund if err != nil || len(addValues) == 0 { return nil, errors.New("获取增值服务失败") } - oldValues, err = dao.GetValueAddByOrderUUID(orderInfo.RenewalOrderUUID) + oldValues, err = dao.GetBundleBalanceByOrderUuid(orderInfo.RenewalOrderUUID) if err != nil || len(addValues) == 0 { - return nil, errors.New("获取增值服务失败") - } - for _, od := range oldValues { - if od.ServiceType == 4 { - if od.EquityType == 1 { // 套餐权益 - oldAccountInfo.AccountBundleNumber += int(od.Num) - } else { - oldAccountInfo.AccountIncreaseNumber += int(od.Num) - } - } + return nil, errors.New("获取旧套餐数据失败失败") } } @@ -446,16 +436,16 @@ func CreateBundleBalance(req *bundle.CreateBundleBalanceReq) (*bundle.CreateBund //续费 if v.EquityType == 1 { // 套餐权益 data.BundleAccountNumber += int(v.Num) - if int(v.Num) >= oldAccountInfo.AccountBundleNumber { - data.BundleAccountConsumptionNumber += oldAccountInfo.AccountBundleNumber + if int(v.Num) >= oldValues.BundleAccountConsumptionNumber { + data.BundleAccountConsumptionNumber += oldValues.BundleAccountConsumptionNumber } else { data.BundleAccountConsumptionNumber += int(v.Num) } } else { data.IncreaseAccountNumber += int(v.Num) - if int(v.Num) >= oldAccountInfo.AccountIncreaseNumber { - data.IncreaseAccountConsumptionNumber += oldAccountInfo.AccountIncreaseNumber + if int(v.Num) >= oldValues.IncreaseAccountConsumptionNumber { + data.IncreaseAccountConsumptionNumber += oldValues.IncreaseAccountConsumptionNumber } else { data.IncreaseAccountConsumptionNumber += int(v.Num) }