@@ -0,0 +1,23 @@ | |||||
package db | |||||
import ( | |||||
"applet/app/db/model" | |||||
"xorm.io/xorm" | |||||
) | |||||
func CommOrderRelateListByOid(Db *xorm.Engine, oid int64, pvd string) ([]*model.CommOrdListRelate, error) { | |||||
var ol []*model.CommOrdListRelate | |||||
err := Db.Where("oid=? and pvd=?", oid, pvd).Find(&ol) | |||||
if err != nil { | |||||
return nil, err | |||||
} | |||||
return ol, nil | |||||
} | |||||
func CommOrderRelateListByOidSess(sess *xorm.Session, oid int64, pvd string) ([]*model.CommOrdListRelate, error) { | |||||
var ol []*model.CommOrdListRelate | |||||
err := sess.Where("oid=? and pvd=?", oid, pvd).Find(&ol) | |||||
if err != nil { | |||||
return nil, err | |||||
} | |||||
return ol, nil | |||||
} |
@@ -0,0 +1,15 @@ | |||||
package model | |||||
type CommOrdListRelate struct { | |||||
Id int64 `json:"id" xorm:"pk autoincr BIGINT(20)"` | |||||
Oid int64 `json:"oid" xorm:"not null default 0 comment('订单号') index unique(IDX_ORD) BIGINT(20)"` | |||||
Uid int `json:"uid" xorm:"not null default 0 comment('用户ID') unique(IDX_ORD) index INT(10)"` | |||||
Amount float64 `json:"amount" xorm:"not null default 0.00 comment('金额') FLOAT(10,2)"` | |||||
Pvd string `json:"pvd" xorm:"not null default '' comment('供应商taobao,jd,pdd,vip,suning,kaola') index VARCHAR(8)"` | |||||
Info string `json:"info" xorm:"not null comment('备注') TEXT"` | |||||
CreateAt int `json:"create_at" xorm:"not null default 0 comment('订单创建时间') index INT(10)"` | |||||
Level int `json:"level" xorm:"not null default 0 comment('0自购 1直推 大于1:间推') INT(10)"` | |||||
Mode string `json:"mode" xorm:"default '' comment('分佣方案类型') VARCHAR(255)"` | |||||
AdditionalSubsidy string `json:"additional_subsidy" xorm:"default 0.000000 comment('额外补贴 酒庄模式才有效') DECIMAL(16,6)"` | |||||
ExtendType int `json:"extend_type" xorm:"default 0 unique(IDX_ORD) comment('0普通 1超级推荐人 2团长 3团长上级超级推荐人 4团长担保用户') INT(11)"` | |||||
} |
@@ -0,0 +1,282 @@ | |||||
package svc | |||||
import ( | |||||
db2 "applet/app/db" | |||||
"applet/app/db/model" | |||||
"applet/app/utils" | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/lib/comm_plan" | |||||
md2 "code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/md" | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/rule" | |||||
svc2 "code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/svc" | |||||
"fmt" | |||||
"github.com/jinzhu/copier" | |||||
"time" | |||||
"xorm.io/xorm" | |||||
) | |||||
func CommGetLvUser(engine *xorm.Engine, CommissionParam md2.CommissionFirstParam, oid int64, masterId string, mapData map[string]string) { | |||||
commArr := rule.GetComm(engine) | |||||
plan, commission, virtualCoinMoneyRate := svc2.GetAllPlan(engine, masterId) | |||||
var CommissionParam1 md2.CommissionParam | |||||
comm := CommissionParam.CommissionParam | |||||
err2 := copier.Copy(&CommissionParam1, &comm) | |||||
fmt.Println(err2) | |||||
_, _, _, _, lvUser, err := svc2.GetRewardCommission(engine, &CommissionParam1, false, CommissionParam.Uid, CommissionParam.Provider, masterId, true, mapData, commArr, plan, commission, virtualCoinMoneyRate) | |||||
if err != nil { | |||||
return | |||||
} | |||||
if lvUser == nil { | |||||
return | |||||
} | |||||
CommCommOrderRelateInsert(engine, oid, CommissionParam.Provider, int(time.Now().Unix()), lvUser, mapData) | |||||
//sql := `SELECT id from user_virtual_coin_flow where ord_id='%d'` | |||||
//sql = fmt.Sprintf(sql, oid) | |||||
//nativeString, _ := db2.QueryNativeString(engine, sql) | |||||
//has := false | |||||
//if len(nativeString) > 0 && utils.StrToInt(nativeString[0]["id"]) > 0 { | |||||
// has = true | |||||
//} | |||||
//sql1 := `SELECT id from fin_user_flow where ord_id='%d'` | |||||
//sql1 = fmt.Sprintf(sql1, oid) | |||||
//nativeString1, _ := db2.QueryNativeString(engine, sql1) | |||||
//has1 := false | |||||
//if len(nativeString1) > 0 && utils.StrToInt(nativeString1[0]["id"]) > 0 { | |||||
// has1 = true | |||||
//} | |||||
//fmt.Println("===========任务4=============", masterId, CommissionParam.Uid, oid, has, has1) | |||||
//if has == false && has1 == false { | |||||
CommSettleDone(engine, CommissionParam.Provider, oid, masterId, mapData) | |||||
//} | |||||
} | |||||
// 分佣表插入获取到的数据 | |||||
func CommCommOrderRelateInsert(eg *xorm.Engine, oid int64, pvd string, createTime int, lvUser *comm_plan.LvUser, mapData map[string]string) { | |||||
level := 0 | |||||
oldLevel := 0 | |||||
fmt.Println(lvUser) | |||||
profit := utils.FloatFormat(lvUser.Profit+lvUser.SubsidyFee, 6) | |||||
oldLvUser := lvUser | |||||
data := []*model.CommOrdListRelate{ | |||||
{ | |||||
Oid: oid, | |||||
Uid: lvUser.Uid, | |||||
Amount: profit, | |||||
Pvd: pvd, | |||||
CreateAt: createTime, | |||||
Level: level, | |||||
}, | |||||
} | |||||
if mapData["reward_type"] == "2" { | |||||
data = make([]*model.CommOrdListRelate, 0) | |||||
} | |||||
mode := mapData["mode"] | |||||
for lvUser.ParentUser != nil { | |||||
lvUser = lvUser.ParentUser | |||||
if lvUser.Uid == 0 { | |||||
continue | |||||
} | |||||
fmt.Println(lvUser) | |||||
level = level + 1 | |||||
profit = utils.FloatFormat(lvUser.Profit+lvUser.SubsidyFee, 6) | |||||
var additionalSubsidy float64 = 0 | |||||
if utils.InArr(mode, []string{"lv_winery", "public_platoon"}) { | |||||
profit = utils.FloatFormat(lvUser.Profit, 6) | |||||
additionalSubsidy = lvUser.SubsidyFee | |||||
} | |||||
data = append(data, &model.CommOrdListRelate{ | |||||
Oid: oid, | |||||
Uid: lvUser.Uid, | |||||
Amount: profit, | |||||
Pvd: pvd, | |||||
CreateAt: createTime, | |||||
Level: level, | |||||
Mode: mode, | |||||
AdditionalSubsidy: utils.Float64ToStrByPrec(additionalSubsidy, 9), | |||||
ExtendType: lvUser.ExtendType, | |||||
}) | |||||
} | |||||
for _, v := range data { | |||||
if utils.StrToInt(mapData["coin_id_type"]) > 0 { | |||||
v.Amount = 0 | |||||
v.Info = "任务没佣金设置,不返佣金" | |||||
} | |||||
} | |||||
err1 := db2.DbInsertBatch(eg, data) | |||||
if err1 != nil { | |||||
return | |||||
} else { | |||||
// 插入虚拟币数据 | |||||
vcrData := CommCombineVirtualCoinRelateData(oldLvUser, oid, pvd, oldLevel, mapData) | |||||
err2 := db2.DbInsertBatch(eg, vcrData) | |||||
for _, item := range vcrData { | |||||
fmt.Println(item) | |||||
} | |||||
if err2 != nil { | |||||
return | |||||
} | |||||
} | |||||
} | |||||
func CommSettleDone(eg *xorm.Engine, pvd string, oid int64, masterId string, mapData map[string]string) bool { | |||||
fmt.Println("=======================任务=============", masterId, oid, pvd) | |||||
ol, err := db2.CommOrderRelateListByOid(eg, oid, pvd) | |||||
if err != nil { | |||||
return false | |||||
} | |||||
// 查询虚拟币 virtual_coin_relate 表 | |||||
vcrList, err := db2.GetVirtualCoinRelateListWithOrdId(eg, oid, pvd) | |||||
if err != nil { | |||||
return false | |||||
} | |||||
session := eg.NewSession() | |||||
defer session.Close() | |||||
if err := session.Begin(); err != nil { | |||||
return false | |||||
} | |||||
set, _ := db2.SysCfgGetOne(eg, "app_name_cn") | |||||
var appName = "" | |||||
if set != nil { | |||||
appName = set.Val | |||||
} | |||||
for _, item := range ol { | |||||
if mapData["reward_type"] == "2" && item.Level == 0 { | |||||
continue | |||||
} | |||||
//佣金不为空 | |||||
if item.Amount > 0 { | |||||
//公排 | |||||
if utils.InArr(item.Mode, []string{"lv_commission_public_platoon", "lv_price_public_platoon"}) && item.ExtendType == 5 { | |||||
fmt.Println("======================555") | |||||
bools := PublicPlatoonSettle(session, "共富奖励", mapData["title"], utils.Int64ToStr(oid), item.Uid, 0, item.Amount) | |||||
fmt.Println("======================666", bools) | |||||
if bools == false { | |||||
_ = session.Rollback() | |||||
return false | |||||
} | |||||
continue | |||||
} | |||||
_ = CommCommSettleMoney(session, item, appName, masterId, mapData) | |||||
} | |||||
if utils.StrToFloat64(item.AdditionalSubsidy) > 0 { | |||||
if item.Mode == "public_platoon" { //公排 | |||||
bools := PublicPlatoonSettle(session, "共富奖励", mapData["title"], utils.Int64ToStr(oid), item.Uid, 0, utils.StrToFloat64(item.AdditionalSubsidy)) | |||||
if bools == false { | |||||
_ = session.Rollback() | |||||
return false | |||||
} | |||||
} | |||||
} | |||||
} | |||||
// 虚拟币相关操作 | |||||
for _, item := range vcrList { | |||||
if mapData["reward_type"] == "2" && item.Level == 0 { | |||||
continue | |||||
} | |||||
if utils.StrToFloat64(item.Amount) > 0 { | |||||
if utils.InArr(item.Mode, []string{"lv_commission_public_platoon", "lv_price_public_platoon"}) && item.ExtendType == 5 { | |||||
fmt.Println("======================555") | |||||
bools := PublicPlatoonSettle(session, "共富奖励", mapData["title"], utils.Int64ToStr(oid), item.Uid, item.CoinId, utils.StrToFloat64(item.Amount)) | |||||
fmt.Println("======================666", bools) | |||||
if bools == false { | |||||
_ = session.Rollback() | |||||
return false | |||||
} | |||||
continue | |||||
} | |||||
_ = CommSettleVirtualCoin(session, item, mapData) | |||||
} | |||||
//公排 | |||||
if item.Mode == "public_platoon" && utils.StrToFloat64(item.AdditionalSubsidy) > 0 { | |||||
bools := PublicPlatoonSettle(session, "共富奖励", mapData["title"], utils.Int64ToStr(oid), item.Uid, item.CoinId, utils.StrToFloat64(item.AdditionalSubsidy)) | |||||
if bools == false { | |||||
_ = session.Rollback() | |||||
return false | |||||
} | |||||
} | |||||
} | |||||
// 提交事务 | |||||
err = session.Commit() | |||||
if err != nil { | |||||
return false | |||||
} | |||||
return true | |||||
} | |||||
func CommCommSettleMoney(session *xorm.Session, item *model.CommOrdListRelate, appName, masterId string, mapData map[string]string) bool { | |||||
now := time.Now() | |||||
beforeAmount := "0" | |||||
afterAmount := "0" | |||||
var affected int64 = 0 | |||||
userProfile, err := db2.UserProfileFindByIdWithSession(session, item.Uid) | |||||
if userProfile == nil { | |||||
} | |||||
if err != nil || userProfile == nil { | |||||
_ = session.Rollback() | |||||
return false | |||||
} | |||||
// 获取余额更新锁 | |||||
cb, err := HandleBalanceDistributedLock(masterId, utils.IntToStr(item.Uid), "mall_settle_order") | |||||
if err != nil { | |||||
fmt.Println(err.Error()) | |||||
_ = session.Rollback() | |||||
return false | |||||
} | |||||
// 释放锁 | |||||
if cb != nil { | |||||
defer cb() | |||||
} | |||||
// 开始写入流水 | |||||
var orderAction int | |||||
if item.Level == 0 { | |||||
orderAction = 10 // 自购 | |||||
} else { | |||||
orderAction = 11 // 推广 | |||||
} | |||||
var ItemTitle = mapData["title"] + "奖励" | |||||
if item.Level > 0 { | |||||
ItemTitle = mapData["title"] + "团队奖励" | |||||
} | |||||
finUserFlow := model.FinUserFlow{ | |||||
Type: 0, | |||||
Uid: item.Uid, | |||||
Amount: utils.Float64ToStrByPrec(item.Amount, 8), | |||||
BeforeAmount: beforeAmount, | |||||
AfterAmount: afterAmount, | |||||
OrdType: item.Pvd, | |||||
OrdId: utils.AnyToString(item.Oid), | |||||
OrdAction: orderAction, | |||||
OrdDetail: "", | |||||
State: 2, | |||||
OtherId: item.Id, | |||||
OrdTitle: ItemTitle, | |||||
OrdTime: int(now.Unix()), | |||||
CreateAt: now, | |||||
UpdateAt: now, | |||||
} | |||||
// 更新用户余额 | |||||
finUserFlow.BeforeAmount = userProfile.FinValid | |||||
userProfile.FinValid = utils.Float64ToStrByPrec(utils.AnyToFloat64(userProfile.FinValid)+utils.AnyToFloat64(item.Amount), 8) | |||||
userProfile.FinTotal = userProfile.FinTotal + utils.StrToFloat32(utils.Float64ToStrByPrec(item.Amount, 8)) | |||||
affected, err = db2.UserProfileUpdateWithSession(session, item.Uid, userProfile) | |||||
finUserFlow.AfterAmount = userProfile.FinValid | |||||
has, errs := db2.InsertCommWithSession( | |||||
session, &finUserFlow) | |||||
if affected == 0 || err != nil || errs != nil || has == 0 { | |||||
_ = session.Rollback() | |||||
return false | |||||
} | |||||
if utils.InArr(item.Mode, []string{"public_platoon", "lv_commission_public_platoon", "lv_price_public_platoon"}) { //公排的加一条流水 | |||||
kind := 4 | |||||
title := "自购奖" | |||||
if item.Level == 1 { | |||||
kind = 5 | |||||
title = "直推奖" | |||||
} | |||||
bools := PublicPlatoonAddRecordWithSession(session, title, utils.Int64ToStr(item.Oid), item.Uid, 0, kind, 0, item.Amount, beforeAmount) | |||||
if bools == false { | |||||
return false | |||||
} | |||||
} | |||||
return true | |||||
} |
@@ -259,7 +259,7 @@ func SettleDone(eg *xorm.Engine, pvd string, oid int64, masterId string, mapData | |||||
} | } | ||||
continue | continue | ||||
} | } | ||||
_ = CommSettleVirtualCoin(session, item) | |||||
_ = CommSettleVirtualCoin(session, item, map[string]string{}) | |||||
} | } | ||||
//公排 | //公排 | ||||
if item.Mode == "public_platoon" && utils.StrToFloat64(item.AdditionalSubsidy) > 0 { | if item.Mode == "public_platoon" && utils.StrToFloat64(item.AdditionalSubsidy) > 0 { | ||||
@@ -362,7 +362,7 @@ func CommSettleMoney(session *xorm.Session, item *model.TaskOrdListRelate, appNa | |||||
return true | return true | ||||
} | } | ||||
func CommSettleVirtualCoin(session *xorm.Session, virtualCoinRelateItem *model.VirtualCoinRelate) bool { | |||||
func CommSettleVirtualCoin(session *xorm.Session, virtualCoinRelateItem *model.VirtualCoinRelate, mapData map[string]string) bool { | |||||
var ( | var ( | ||||
beforeAmount = "0" | beforeAmount = "0" | ||||
@@ -407,11 +407,17 @@ func CommSettleVirtualCoin(session *xorm.Session, virtualCoinRelateItem *model.V | |||||
if virtualCoinRelateItem.Pvd == "adset_video" { | if virtualCoinRelateItem.Pvd == "adset_video" { | ||||
title = "看视频奖励" | title = "看视频奖励" | ||||
} | } | ||||
if mapData["title"] != "" { | |||||
title = mapData["title"] + "奖励" | |||||
} | |||||
if virtualCoinRelateItem.Level > 0 { | if virtualCoinRelateItem.Level > 0 { | ||||
title = "团队任务奖励" | title = "团队任务奖励" | ||||
if virtualCoinRelateItem.Pvd == "adset_video" { | if virtualCoinRelateItem.Pvd == "adset_video" { | ||||
title = "团队看视频奖励" | title = "团队看视频奖励" | ||||
} | } | ||||
if mapData["title"] != "" { | |||||
title = mapData["title"] + "团队奖励" | |||||
} | |||||
} | } | ||||
// 用户虚拟币流水表新增记录 | // 用户虚拟币流水表新增记录 | ||||
var userVirtualCoinFlow = model.UserVirtualCoinFlow{ | var userVirtualCoinFlow = model.UserVirtualCoinFlow{ | ||||
@@ -96,6 +96,8 @@ func initConsumes() { | |||||
jobs[consumeMd.ZhiosTaskVideoRewardConsumeFunName] = ZhiosTaskVideoRewardExchange //视频分佣 | jobs[consumeMd.ZhiosTaskVideoRewardConsumeFunName] = ZhiosTaskVideoRewardExchange //视频分佣 | ||||
jobs[consumeMd.ZhiosNewVideoRewardConsumeFunName] = ZhiosNewVideoRewardExchange //短视频奖励 | jobs[consumeMd.ZhiosNewVideoRewardConsumeFunName] = ZhiosNewVideoRewardExchange //短视频奖励 | ||||
jobs[consumeMd.ZhiosRelateRewardConsumeFunName] = ZhiosRelateRewardExchange //分佣结算 | |||||
} | } | ||||
func Run() { | func Run() { | ||||
@@ -461,6 +461,15 @@ var RabbitMqQueueKeyList = []*MqQueue{ | |||||
BindKey: "", | BindKey: "", | ||||
ConsumeFunName: "ZhiosTaskRewardExchange", | ConsumeFunName: "ZhiosTaskRewardExchange", | ||||
}, | }, | ||||
{ | |||||
ExchangeName: "zhios.relate_reward.exchange", | |||||
Name: "zhios_relate_reward", | |||||
Type: FanOutQueueType, | |||||
IsPersistent: false, | |||||
RoutKey: "relate_reward", | |||||
BindKey: "", | |||||
ConsumeFunName: "ZhiosRelateRewardExchange", | |||||
}, | |||||
{ | { | ||||
ExchangeName: "zhios.task_video_reward.exchange", | ExchangeName: "zhios.task_video_reward.exchange", | ||||
Name: "zhios_task_video_reward", | Name: "zhios_task_video_reward", | ||||
@@ -553,6 +562,7 @@ const ( | |||||
CancalUserRelateConsumeFunName = "CancalUserRelateConsume" | CancalUserRelateConsumeFunName = "CancalUserRelateConsume" | ||||
CancalUserIntegralExchangeConsumeFunName = "CancalUserIntegralExchange" | CancalUserIntegralExchangeConsumeFunName = "CancalUserIntegralExchange" | ||||
ZhiosTaskRewardConsumeFunName = "ZhiosTaskRewardExchange" | ZhiosTaskRewardConsumeFunName = "ZhiosTaskRewardExchange" | ||||
ZhiosRelateRewardConsumeFunName = "ZhiosRelateRewardExchange" | |||||
ZhiosTaskVideoRewardConsumeFunName = "ZhiosTaskVideoRewardExchange" | ZhiosTaskVideoRewardConsumeFunName = "ZhiosTaskVideoRewardExchange" | ||||
ZhiosNewVideoRewardConsumeFunName = "ZhiosNewVideoRewardExchange" | ZhiosNewVideoRewardConsumeFunName = "ZhiosNewVideoRewardExchange" | ||||
CanalOneOrengeUserVirtualCcoinFlowFunName = "CanalOneOrengeUserVirtualCoinFlowConsume" | CanalOneOrengeUserVirtualCcoinFlowFunName = "CanalOneOrengeUserVirtualCoinFlowConsume" | ||||
@@ -20,6 +20,7 @@ type ZhiosTaskReward struct { | |||||
Oid string `json:"oid"` | Oid string `json:"oid"` | ||||
RewardType string `json:"reward_type"` | RewardType string `json:"reward_type"` | ||||
PlanType string `json:"plan_type"` | PlanType string `json:"plan_type"` | ||||
Provider string `json:"provider"` | |||||
} | } | ||||
type AcquisitionCfg struct { | type AcquisitionCfg struct { | ||||
Id string `json:"id"` | Id string `json:"id"` | ||||
@@ -0,0 +1,93 @@ | |||||
package consume | |||||
import ( | |||||
"applet/app/db" | |||||
"applet/app/svc" | |||||
"applet/app/utils" | |||||
"applet/app/utils/logx" | |||||
"applet/consume/md" | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_go_mq.git/rabbit" | |||||
md3 "code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/md" | |||||
svc2 "code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/svc" | |||||
"encoding/json" | |||||
"errors" | |||||
"fmt" | |||||
"github.com/streadway/amqp" | |||||
) | |||||
// | |||||
func ZhiosRelateRewardExchange(queue md.MqQueue) { | |||||
fmt.Println(">>>>>>>>>>>>>>>>>>>>>>>>") | |||||
ch, err := rabbit.Cfg.Pool.GetChannel() | |||||
if err != nil { | |||||
logx.Error(err) | |||||
return | |||||
} | |||||
defer ch.Release() | |||||
//1、将自己绑定到交换机上 | |||||
ch.Bind(queue.Name, queue.ExchangeName, queue.RoutKey) | |||||
//2、取出数据进行消费 | |||||
ch.Qos(1) | |||||
delivery := ch.Consume(queue.Name, false) | |||||
var res amqp.Delivery | |||||
var ok bool | |||||
for { | |||||
res, ok = <-delivery | |||||
if ok == true { | |||||
//fmt.Println(string(res.Body)) | |||||
fmt.Println(">>>>>>>>>>>>>>>>CanalOrderConsume<<<<<<<<<<<<<<<<<<<<<<<<<") | |||||
err = handleZhiosRelateRewardExchange(res.Body) | |||||
//_ = res.Reject(false) | |||||
fmt.Println(err) | |||||
_ = res.Ack(true) | |||||
} else { | |||||
panic(errors.New("error getting message")) | |||||
} | |||||
} | |||||
fmt.Println("get msg done") | |||||
} | |||||
func handleZhiosRelateRewardExchange(msg []byte) error { | |||||
//1、解析canal采集至mq中queue的数据结构体 | |||||
var canalMsg *md.ZhiosTaskReward | |||||
fmt.Println(string(msg)) | |||||
var tmpString string | |||||
err := json.Unmarshal(msg, &tmpString) | |||||
if err != nil { | |||||
fmt.Println(err.Error()) | |||||
return err | |||||
} | |||||
fmt.Println(tmpString) | |||||
err = json.Unmarshal([]byte(tmpString), &canalMsg) | |||||
if err != nil { | |||||
return err | |||||
} | |||||
mid := canalMsg.Mid | |||||
eg := db.DBs[mid] | |||||
if eg == nil { | |||||
return nil | |||||
} | |||||
uid := canalMsg.Uid | |||||
//计算佣金 | |||||
var CommissionParam md3.CommissionFirstParam | |||||
CommissionParam.CommissionParam.Commission = canalMsg.Reward | |||||
CommissionParam.Uid = uid | |||||
CommissionParam.Provider = canalMsg.Provider | |||||
plans, commission, virtualCoinMoneyRate := svc2.GetAllPlan(eg, mid) | |||||
cfgs, err := svc2.GetPlanCfg(eg, canalMsg.Provider, mid, plans, commission, virtualCoinMoneyRate, &CommissionParam.CommissionParam) | |||||
if err != nil || cfgs == nil { | |||||
return nil | |||||
} | |||||
title := canalMsg.Title | |||||
var mapData = map[string]string{ | |||||
"coin_id_type": canalMsg.CoinIdType, | |||||
"mode": cfgs.Mode, | |||||
"title": title, | |||||
"device_model": canalMsg.DeviceModel, | |||||
"reward_type": canalMsg.RewardType, | |||||
} | |||||
svc.CommGetLvUser(eg, CommissionParam, utils.StrToInt64(canalMsg.Oid), mid, mapData) | |||||
return nil | |||||
} |