@@ -2,12 +2,13 @@ package md | |||
// 公排结构 | |||
type LvGrade struct { | |||
Lv int `json:"lv"` // 会员级别 | |||
LvName string `json:"lv_name"` // 会员名称 | |||
ReturnType []string `json:"return_type"` //返利类型 | |||
CommonWealthSystem map[string]string `json:"common_wealth_system"` //共富制度比例 | |||
SelfRateList map[string]string `json:"self_rate_list"` // 自购比例 | |||
DirectPush map[string]string `json:"direct_push"` // 直推奖励比例 | |||
Lv int `json:"lv"` // 会员级别 | |||
LvName string `json:"lv_name"` // 会员名称 | |||
ReturnType []string `json:"return_type"` //返利类型 | |||
CommonWealthSystem map[string]string `json:"common_wealth_system"` //共富制度比例 | |||
SelfRateList map[string]string `json:"self_rate_list"` // 自购比例 | |||
DirectPush map[string]string `json:"direct_push"` // 直推奖励比例 | |||
UserLvUpPublicPlatoonList []interface{} `json:"user_lv_up_public_platoon_list"` //会员费分销补贴相应方式的列表 | |||
} | |||
type PublicPlatoonRelateCommissionReq struct { | |||
@@ -218,12 +218,33 @@ func BatchGetPublicPlatoonRelateCommissionByOrderLevel(engine *xorm.Engine, mast | |||
parentUid, _ := db.UserFindByID(engine, nowBenefitUid) | |||
lvGrade := subsidyTmp[zhios_order_relate_utils.IntToStr(parentUid.Level)] | |||
if lvGrade != nil { | |||
//判断购买人是哪个等级 | |||
UserLvUpPublicPlatoonList := make(map[string]interface{}) | |||
if len(lvGrade.UserLvUpPublicPlatoonList) > 0 { | |||
for _, v1 := range lvGrade.UserLvUpPublicPlatoonList { | |||
v2 := v1.(map[string]interface{}) | |||
if zhios_order_relate_utils.AnyToInt64(v2["lv"]) == zhios_order_relate_utils.StrToInt64(param.UserLevel) { | |||
rateList, ok := v2["rate_list"].(map[string]interface{}) | |||
if ok { | |||
UserLvUpPublicPlatoonList = rateList | |||
} | |||
} | |||
} | |||
} | |||
for _, coinId := range lvGrade.ReturnType { | |||
var pendingAmount = param.PendingAmount | |||
if zhios_order_relate_utils.StrToInt(coinId) > 0 { //积分更换基数 | |||
pendingAmount = param.PendingIntegral | |||
} | |||
commonWealthSystem[coinId] = zhios_order_relate_utils.Float64ToStrByPrec(zhios_order_relate_utils.StrToFloat64(lvGrade.CommonWealthSystem[coinId])*zhios_order_relate_utils.StrToFloat64(pendingAmount)/100, 9) | |||
bili := lvGrade.CommonWealthSystem[coinId] | |||
//判断购买人是哪个等级 读对应的比例 | |||
if UserLvUpPublicPlatoonList != nil { | |||
newBili, ok := UserLvUpPublicPlatoonList[coinId] | |||
if ok { | |||
bili = zhios_order_relate_utils.AnyToString(newBili) | |||
} | |||
} | |||
commonWealthSystem[coinId] = zhios_order_relate_utils.Float64ToStrByPrec(zhios_order_relate_utils.StrToFloat64(bili)*zhios_order_relate_utils.StrToFloat64(pendingAmount)/100, 9) | |||
} | |||
} | |||
} | |||
@@ -432,12 +432,33 @@ func BatchSmallGetPublicPlatoonRelateCommissionLevel(engine *xorm.Engine, master | |||
if parentUid != nil { | |||
lvGrade := subsidyTmp[zhios_order_relate_utils.IntToStr(parentUid.Level)] | |||
if lvGrade != nil { | |||
//判断购买人是哪个等级 | |||
UserLvUpPublicPlatoonList := make(map[string]interface{}) | |||
if len(lvGrade.UserLvUpPublicPlatoonList) > 0 { | |||
for _, v1 := range lvGrade.UserLvUpPublicPlatoonList { | |||
v2 := v1.(map[string]interface{}) | |||
if zhios_order_relate_utils.AnyToInt64(v2["lv"]) == zhios_order_relate_utils.StrToInt64(param.UserLevel) { | |||
rateList, ok := v2["rate_list"].(map[string]interface{}) | |||
if ok { | |||
UserLvUpPublicPlatoonList = rateList | |||
} | |||
} | |||
} | |||
} | |||
for _, coinId := range lvGrade.ReturnType { | |||
var pendingAmount = param.PendingAmount | |||
if zhios_order_relate_utils.StrToInt(coinId) > 0 { //积分更换基数 | |||
pendingAmount = param.PendingIntegral | |||
} | |||
commonWealthSystem[coinId] = zhios_order_relate_utils.Float64ToStrByPrec(zhios_order_relate_utils.StrToFloat64(lvGrade.CommonWealthSystem[coinId])*zhios_order_relate_utils.StrToFloat64(pendingAmount)/100, 9) | |||
bili := lvGrade.CommonWealthSystem[coinId] | |||
//判断购买人是哪个等级 读对应的比例 | |||
if UserLvUpPublicPlatoonList != nil { | |||
newBili, ok := UserLvUpPublicPlatoonList[coinId] | |||
if ok { | |||
bili = zhios_order_relate_utils.AnyToString(newBili) | |||
} | |||
} | |||
commonWealthSystem[coinId] = zhios_order_relate_utils.Float64ToStrByPrec(zhios_order_relate_utils.StrToFloat64(bili)*zhios_order_relate_utils.StrToFloat64(pendingAmount)/100, 9) | |||
} | |||
} | |||
} | |||