wkyuer 1 month ago
parent
commit
bc44e32c36
1 changed files with 7 additions and 2 deletions
  1. 7 2
      internal/logic/product/subvip/price.go

+ 7 - 2
internal/logic/product/subvip/price.go

@@ -80,7 +80,7 @@ func (p jySubVipProduct) GetPrice() (price int64, err error) {
 		}
 		}
 		price = thisPriceSetting.UnityPrice(gconv.Float64(p.OrderDetail.Filter.BuyCycle+p.OrderDetail.Filter.GiftCycle), cycleType, calNum, 0, p.OrderDetail.ReqSubject == 2)
 		price = thisPriceSetting.UnityPrice(gconv.Float64(p.OrderDetail.Filter.BuyCycle+p.OrderDetail.Filter.GiftCycle), cycleType, calNum, 0, p.OrderDetail.ReqSubject == 2)
 	case 3: //升级
 	case 3: //升级
-		oldFilter, _, entTime, _, err := common2.GetLinkVipCycleFilter(context.Background(), p.OrderDetail.LinkedOrderId)
+		oldFilter, startTime, entTime, _, err := common2.GetLinkVipCycleFilter(context.Background(), p.OrderDetail.LinkedOrderId)
 		if err != nil {
 		if err != nil {
 			return 0, fmt.Errorf("查询关联订单异常")
 			return 0, fmt.Errorf("查询关联订单异常")
 		}
 		}
@@ -108,7 +108,12 @@ func (p jySubVipProduct) GetPrice() (price int64, err error) {
 			return 0, gerror.NewCode(gcode.CodeValidationFailed, "价格格式配置异常")
 			return 0, gerror.NewCode(gcode.CodeValidationFailed, "价格格式配置异常")
 		}
 		}
 		count := p.OrderDetail.Filter.BuyAccountCount + p.OrderDetail.Filter.GiftAccountCount
 		count := p.OrderDetail.Filter.BuyAccountCount + p.OrderDetail.Filter.GiftAccountCount
-		month = utility.GetMonthDayNum(time.Now(), entTime)
+		if startTime.After(now) { //未生效单子升级
+			month = utility.GetMonthDayNum(time.Now(), entTime)
+		} else { //生效单子升级
+			month = utility.GetMonthDayNum(now, entTime)
+		}
+
 		if sVal1.UnitNum != areaTotalNum { //升级服务
 		if sVal1.UnitNum != areaTotalNum { //升级服务
 			_, mPrice, _, err = common2.OrderUnitPrice(p.OrderDetail.LinkedOrderId)
 			_, mPrice, _, err = common2.OrderUnitPrice(p.OrderDetail.LinkedOrderId)
 			if err != nil {
 			if err != nil {