@@ -61,7 +61,6 @@ func GetPlanCfg(eg *xorm.Engine, pvd, masterId string) (*comm_plan.PlanOpt, erro | |||||
opt.PushHandRate = float64(int64(rewardOpt.PushHandRate*1e4)) / 1e4 | opt.PushHandRate = float64(int64(rewardOpt.PushHandRate*1e4)) / 1e4 | ||||
opt.MerchantRate = float64(int64(rewardOpt.MerchantRate*1e4)) / 1e4 | opt.MerchantRate = float64(int64(rewardOpt.MerchantRate*1e4)) / 1e4 | ||||
opt.PlanCommissionId = rewardOpt.PlanCommissionId | opt.PlanCommissionId = rewardOpt.PlanCommissionId | ||||
// 兑换现金比例 | // 兑换现金比例 | ||||
virtualCoinMoneyRate, err := GetVirtualCoinMoneyRateList(eg, masterId) | virtualCoinMoneyRate, err := GetVirtualCoinMoneyRateList(eg, masterId) | ||||
if err != nil || virtualCoinMoneyRate == nil { | if err != nil || virtualCoinMoneyRate == nil { | ||||
@@ -69,10 +68,14 @@ func GetPlanCfg(eg *xorm.Engine, pvd, masterId string) (*comm_plan.PlanOpt, erro | |||||
} else { | } else { | ||||
opt.VirtualCoinMoneyRatioList = virtualCoinMoneyRate | opt.VirtualCoinMoneyRatioList = virtualCoinMoneyRate | ||||
} | } | ||||
if commissionOpt.Mode == "public_platoon" { //公排 | |||||
return opt, nil | |||||
} | |||||
if opt.SysRate >= 1 || opt.PvdRate >= 1 || opt.RegionRate >= 1 || opt.GlobalRate >= 1 || opt.PvdRate+opt.SysRate+opt.RegionRate+opt.GlobalRate >= 1 { | if opt.SysRate >= 1 || opt.PvdRate >= 1 || opt.RegionRate >= 1 || opt.GlobalRate >= 1 || opt.PvdRate+opt.SysRate+opt.RegionRate+opt.GlobalRate >= 1 { | ||||
return nil, zhios_order_relate_logx.Warn("分佣方案数据设置总额不能大于1") | return nil, zhios_order_relate_logx.Warn("分佣方案数据设置总额不能大于1") | ||||
} | } | ||||
var subsidyTmp map[int]*comm_plan.LvGrade | var subsidyTmp map[int]*comm_plan.LvGrade | ||||
commissionOpt.Data = strings.ReplaceAll(commissionOpt.Data, "\"bili\":0", "\"bili\":\"0\"") | commissionOpt.Data = strings.ReplaceAll(commissionOpt.Data, "\"bili\":0", "\"bili\":\"0\"") | ||||
commissionOpt.Data = strings.ReplaceAll(commissionOpt.Data, "\"buy_deliver_list\":[]", "\"buy_deliver_list\":{}") | commissionOpt.Data = strings.ReplaceAll(commissionOpt.Data, "\"buy_deliver_list\":[]", "\"buy_deliver_list\":{}") | ||||
@@ -46,12 +46,18 @@ func BatchGetPublicPlatoonRelateCommissionByOrder(engine *xorm.Engine, masterId | |||||
if err != nil || commissionOpt == nil || commissionOpt.Id == 0 { | if err != nil || commissionOpt == nil || commissionOpt.Id == 0 { | ||||
return nil, err | return nil, err | ||||
} | } | ||||
var subsidyTmp map[string]*md.LvGrade | |||||
if err := json.Unmarshal([]byte(commissionOpt.Data), &subsidyTmp); err != nil { | |||||
var subsidyTmp = make(map[string]*md.LvGrade) | |||||
var tmp map[string]*md.LvGrade | |||||
if err := json.Unmarshal([]byte(commissionOpt.Data), &tmp); err != nil { | |||||
return nil, zhios_order_relate_logx.Warn(fmt.Sprintf("%s:分佣方案数据设置错误", masterId)) | return nil, zhios_order_relate_logx.Warn(fmt.Sprintf("%s:分佣方案数据设置错误", masterId)) | ||||
} | } | ||||
for _, v := range tmp { | |||||
subsidyTmp[zhios_order_relate_utils.IntToStr(v.Lv)] = v | |||||
} | |||||
lvGrade := subsidyTmp[param.UserLevel] | lvGrade := subsidyTmp[param.UserLevel] | ||||
var selfRateList, commonWealthSystem, directPush map[string]string | |||||
var directPush = make(map[string]string) | |||||
var selfRateList = make(map[string]string) | |||||
var commonWealthSystem = make(map[string]string) | |||||
for _, coinId := range lvGrade.ReturnType { | for _, coinId := range lvGrade.ReturnType { | ||||
selfRateList[coinId] = zhios_order_relate_utils.Float64ToStr(zhios_order_relate_utils.StrToFloat64(lvGrade.SelfRateList[coinId]) * zhios_order_relate_utils.StrToFloat64(param.PendingAmount) / 100) | selfRateList[coinId] = zhios_order_relate_utils.Float64ToStr(zhios_order_relate_utils.StrToFloat64(lvGrade.SelfRateList[coinId]) * zhios_order_relate_utils.StrToFloat64(param.PendingAmount) / 100) | ||||
commonWealthSystem[coinId] = zhios_order_relate_utils.Float64ToStr(zhios_order_relate_utils.StrToFloat64(lvGrade.CommonWealthSystem[coinId]) * zhios_order_relate_utils.StrToFloat64(param.PendingAmount) / 100) | commonWealthSystem[coinId] = zhios_order_relate_utils.Float64ToStr(zhios_order_relate_utils.StrToFloat64(lvGrade.CommonWealthSystem[coinId]) * zhios_order_relate_utils.StrToFloat64(param.PendingAmount) / 100) | ||||