33 lines
1.2 KiB
Go
33 lines
1.2 KiB
Go
package consumer
|
|
|
|
import (
|
|
"context"
|
|
"stat/common/log"
|
|
"stat/common/utils"
|
|
"stat/models/rechargechannelmod"
|
|
"stat/models/rechargemod"
|
|
"strconv"
|
|
)
|
|
|
|
func RechargeChannelHandle(ctx context.Context, rechageInfo *rechargemod.RechargeMod) error {
|
|
sumDate := utils.BeginWithTime(rechageInfo.SuccessAt)
|
|
rate := float64(4)
|
|
if rechageInfo.Rate != "" && rechageInfo.ChannelName != "daichong" {
|
|
rateF, err := strconv.ParseFloat(rechageInfo.Rate, 64)
|
|
if err != nil {
|
|
log.Error("RechargeChannelHandle rate is err", log.Any("rate", rechageInfo.Rate), log.Any("userid", rechageInfo.UserId), log.Any("appid", rechageInfo.AppId))
|
|
return err
|
|
}
|
|
rate = rateF
|
|
} else if rechageInfo.ChannelName == "daichong" {
|
|
rate = float64(8)
|
|
rechageInfo.CID = "daichong"
|
|
}
|
|
channelMoney := int64((rate * float64(rechageInfo.PayMoney)) / 100)
|
|
err := rechargechannelmod.UpsertOneUserRechargeStat(ctx, rechageInfo.CID, rechageInfo.AppId, sumDate, rechageInfo.BlocDeduction, rechageInfo.Money, rechageInfo.PayMoney, channelMoney)
|
|
if err != nil {
|
|
log.Error("RechargeChannelHandle UpsertOneUserRechargeStat", log.Any("rate", rechageInfo.Rate), log.Any("userid", rechageInfo.UserId), log.Any("appid", rechageInfo.AppId), log.E(err))
|
|
}
|
|
return err
|
|
}
|