本文整理汇总了Golang中go2o/src/core/domain/interface/promotion.ICashBackPromotion.GetDataTag方法的典型用法代码示例。如果您正苦于以下问题:Golang ICashBackPromotion.GetDataTag方法的具体用法?Golang ICashBackPromotion.GetDataTag怎么用?Golang ICashBackPromotion.GetDataTag使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类go2o/src/core/domain/interface/promotion.ICashBackPromotion
的用法示例。
在下文中一共展示了ICashBackPromotion.GetDataTag方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: HandleCashBackDataTag
func HandleCashBackDataTag(m member.IMember, order *shopping.ValueOrder,
c promotion.ICashBackPromotion, memberRep member.IMemberRep) {
data := c.GetDataTag()
if _, ok := data["G1"]; ok {
cashBack3R(m, order, c, memberRep)
}
// fmt.Println("---------[ xxx ]",len(data),data)
}
示例2: HandleCashBackDataTag
func HandleCashBackDataTag(m member.IMember, order *shopping.ValueOrder,
c promotion.ICashBackPromotion, memberRep member.IMemberRep) {
data := c.GetDataTag()
var level int = 0
for k, _ := range data {
if strings.HasPrefix(k, "G") {
if l, err := strconv.Atoi(k[1:]); err == nil && l > level {
level = l
}
}
}
//log.Println("[ Back][ Level] - ",level)
cashBack3R(level, m, order, c, memberRep)
}
示例3: cashBack3R
func cashBack3R(m member.IMember, order *shopping.ValueOrder, c promotion.ICashBackPromotion, memberRep member.IMemberRep) {
var fee1 int
var fee2 int
dt := c.GetDataTag()
fee1, _ = strconv.Atoi(dt["G1"])
fee2, _ = strconv.Atoi(dt["G2"])
var cm member.IMember = m
var pm member.IMember = m
// fmt.Println("------ START BACK ------")
var backFunc = func(m member.IMember, parentM member.IMember, fee int) {
// fmt.Println("---------[ back ]",parentM.GetValue().Name,fee)
backCashForMember(m, order, fee, parentM.GetValue().Name)
}
var i int = 0
for true {
rl := cm.GetRelation()
// fmt.Println("-------- BACK - ID - ",rl.InvitationMemberId)
if rl == nil || rl.InvitationMemberId == 0 {
break
}
cm = memberRep.GetMember(rl.InvitationMemberId)
// fmt.Println("-------- BACK ",cm == nil)
if m == nil {
break
}
if i == 0 {
backFunc(cm, pm, fee2)
} else if i == 1 {
backFunc(cm, pm, fee1)
}
pm = cm
i++
if i > 1 {
break
}
}
}
示例4: cashBack3R
func cashBack3R(level int, m member.IMember, order *shopping.ValueOrder, c promotion.ICashBackPromotion, memberRep member.IMemberRep) {
dt := c.GetDataTag()
var cm member.IMember = m
var pm member.IMember = m
// fmt.Println("------ START BACK ------")
var backFunc = func(m member.IMember, parentM member.IMember, fee int) {
// fmt.Println("---------[ back ]",parentM.GetValue().Name,fee)
backCashForMember(m, order, fee, parentM.GetValue().Name)
}
var i int = 0
for true {
rl := cm.GetRelation()
// fmt.Println("-------- BACK - ID - ",rl.InvitationMemberId)
if rl == nil || rl.RefereesId == 0 {
break
}
cm = memberRep.GetMember(rl.RefereesId)
// fmt.Println("-------- BACK ",cm == nil)
if m == nil {
break
}
if fee, err := strconv.Atoi(dt[fmt.Sprintf("G%d", i)]); err == nil {
//log.Println("[ Back][ Cash] - ",i," back ",fee)
backFunc(cm, pm, fee)
}
pm = cm
i++
if i >= level {
break
}
}
}