|
|
@@ -161,16 +161,48 @@ func SettlementStarLevelDividends(engine *xorm.Engine, masterId string, ch *rabb |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
siginDividend, _ := siginDividendValue.Float64() |
|
|
|
if siginDividend > 0 { |
|
|
|
//TODO::推入rabbitmq 异步处理 |
|
|
|
ch.Publish(md.OneCirclesExchange, md.OneCirclesStructForStarLevelDividends{ |
|
|
|
MasterId: masterId, |
|
|
|
Uid: item.Uid, |
|
|
|
SignDividend: siginDividend, |
|
|
|
}, md.OneCirclesRoutKeyForStarLevelDividend) |
|
|
|
if siginDividendValue.GreaterThan(decimal.NewFromInt(0)) { |
|
|
|
//TODO::统计当前有多少直推用户昨天签到了 |
|
|
|
userRelates, err1 := db.DbsUserRelateByParentUid(engine, item.Uid, 1) |
|
|
|
if err1 != nil { |
|
|
|
fmt.Println("err:::::88888888", err1) |
|
|
|
return err |
|
|
|
} |
|
|
|
var userRelatesUids []int |
|
|
|
if userRelates != nil { |
|
|
|
for _, userRelate := range *userRelates { |
|
|
|
userRelatesUids = append(userRelatesUids, userRelate.Uid) |
|
|
|
} |
|
|
|
} |
|
|
|
if len(userRelatesUids) > 0 { |
|
|
|
var oneCirclesGreenEnergySignIns []*model.OneCirclesGreenEnergySignIn |
|
|
|
err = engine.Where("start_time >= ?", startDate).And("start_time <=?", endDate).In("uid", userRelatesUids).And("is_completed =?", 0).Find(&oneCirclesGreenEnergySignIns) |
|
|
|
if err != nil { |
|
|
|
fmt.Println("err:::::999999999", err) |
|
|
|
return |
|
|
|
} |
|
|
|
if len(oneCirclesGreenEnergySignIns) > 0 { |
|
|
|
userRelatesUidsValue := decimal.NewFromInt(int64(len(userRelatesUids))) |
|
|
|
oneCirclesGreenEnergySignInsValue := decimal.NewFromInt(int64(len(oneCirclesGreenEnergySignIns))) |
|
|
|
siginDividendValue = siginDividendValue.Mul(oneCirclesGreenEnergySignInsValue.Div(userRelatesUidsValue)) |
|
|
|
} else { |
|
|
|
siginDividendValue = decimal.NewFromFloat(0) |
|
|
|
} |
|
|
|
} else { |
|
|
|
siginDividendValue = decimal.NewFromFloat(0) |
|
|
|
} |
|
|
|
|
|
|
|
totalDividendValue = totalDividendValue.Add(siginDividendValue) |
|
|
|
siginDividend, _ := siginDividendValue.Float64() |
|
|
|
if siginDividend > 0 { |
|
|
|
//TODO::推入rabbitmq 异步处理 |
|
|
|
ch.Publish(md.OneCirclesExchange, md.OneCirclesStructForStarLevelDividends{ |
|
|
|
MasterId: masterId, |
|
|
|
Uid: item.Uid, |
|
|
|
SignDividend: siginDividend, |
|
|
|
}, md.OneCirclesRoutKeyForStarLevelDividend) |
|
|
|
|
|
|
|
totalDividendValue = totalDividendValue.Add(siginDividendValue) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
userSignInArr = []int{} |
|
|
@@ -198,16 +230,48 @@ func SettlementStarLevelDividends(engine *xorm.Engine, masterId string, ch *rabb |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
siginDividend, _ := siginDividendValue.Float64() |
|
|
|
if siginDividend > 0 { |
|
|
|
//TODO::推入rabbitmq 异步处理 |
|
|
|
ch.Publish(md.OneCirclesExchange, md.OneCirclesStructForStarLevelDividends{ |
|
|
|
MasterId: masterId, |
|
|
|
Uid: item.Uid, |
|
|
|
SignDividend: siginDividend, |
|
|
|
}, md.OneCirclesRoutKeyForStarLevelDividend) |
|
|
|
if siginDividendValue.GreaterThan(decimal.NewFromInt(0)) { |
|
|
|
//TODO::统计当前有多少直推用户昨天签到了 |
|
|
|
userRelates, err1 := db.DbsUserRelateByParentUid(engine, item.Uid, 1) |
|
|
|
if err1 != nil { |
|
|
|
fmt.Println("err:::::88888888", err1) |
|
|
|
return err |
|
|
|
} |
|
|
|
var userRelatesUids []int |
|
|
|
if userRelates != nil { |
|
|
|
for _, userRelate := range *userRelates { |
|
|
|
userRelatesUids = append(userRelatesUids, userRelate.Uid) |
|
|
|
} |
|
|
|
} |
|
|
|
if len(userRelatesUids) > 0 { |
|
|
|
var oneCirclesGreenEnergySignIns []*model.OneCirclesGreenEnergySignIn |
|
|
|
err = engine.Where("start_time >= ?", startDate).And("start_time <=?", endDate).In("uid", userRelatesUids).And("is_completed =?", 0).Find(&oneCirclesGreenEnergySignIns) |
|
|
|
if err != nil { |
|
|
|
fmt.Println("err:::::999999999", err) |
|
|
|
return |
|
|
|
} |
|
|
|
if len(oneCirclesGreenEnergySignIns) > 0 { |
|
|
|
userRelatesUidsValue := decimal.NewFromInt(int64(len(userRelatesUids))) |
|
|
|
oneCirclesGreenEnergySignInsValue := decimal.NewFromInt(int64(len(oneCirclesGreenEnergySignIns))) |
|
|
|
siginDividendValue = siginDividendValue.Mul(oneCirclesGreenEnergySignInsValue.Div(userRelatesUidsValue)) |
|
|
|
} else { |
|
|
|
siginDividendValue = decimal.NewFromFloat(0) |
|
|
|
} |
|
|
|
} else { |
|
|
|
siginDividendValue = decimal.NewFromFloat(0) |
|
|
|
} |
|
|
|
|
|
|
|
totalDividendValue = totalDividendValue.Add(siginDividendValue) |
|
|
|
siginDividend, _ := siginDividendValue.Float64() |
|
|
|
if siginDividend > 0 { |
|
|
|
//TODO::推入rabbitmq 异步处理 |
|
|
|
ch.Publish(md.OneCirclesExchange, md.OneCirclesStructForStarLevelDividends{ |
|
|
|
MasterId: masterId, |
|
|
|
Uid: item.Uid, |
|
|
|
SignDividend: siginDividend, |
|
|
|
}, md.OneCirclesRoutKeyForStarLevelDividend) |
|
|
|
|
|
|
|
totalDividendValue = totalDividendValue.Add(siginDividendValue) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|