|
|
|
@ -48,6 +48,46 @@ type Profit struct {
|
|
|
|
|
ETotal decimal.Decimal
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Person struct {
|
|
|
|
|
HeadImgUrl string
|
|
|
|
|
Nickname string
|
|
|
|
|
Phone string
|
|
|
|
|
WechatNo string
|
|
|
|
|
RemarkName string
|
|
|
|
|
Count int
|
|
|
|
|
Flag int
|
|
|
|
|
Amount decimal.Decimal
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (i *incomeLogic) Team(userID uint) (data []Person) {
|
|
|
|
|
if userID == 0 {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
var self user.RecookUserInfoModel
|
|
|
|
|
mysql.Db.First(&self, "id = ?", userID)
|
|
|
|
|
if self.Level != 2{
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
var u1 []user.RecookUserInfoModel
|
|
|
|
|
mysql.Db.Preload("OrderList", "status = 4").Where("parent_id = ?", userID).Find(&u1)
|
|
|
|
|
for _, v := range u1 {
|
|
|
|
|
amount := decimal.Zero
|
|
|
|
|
for _, j := range v.OrderList {
|
|
|
|
|
amount = amount.Add(j.ActualTotalAmount)
|
|
|
|
|
}
|
|
|
|
|
data = append(data, Person{
|
|
|
|
|
HeadImgUrl: v.HeadImgUrl,
|
|
|
|
|
Nickname: v.Nickname,
|
|
|
|
|
Phone: v.Mobile,
|
|
|
|
|
WechatNo: v.WechatNo,
|
|
|
|
|
RemarkName: v.RemarkName,
|
|
|
|
|
Count: len(v.OrderList),
|
|
|
|
|
Amount: amount,
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (i *incomeLogic) Profit(userID uint) (res Profit) {
|
|
|
|
|
var pr []order.Profit
|
|
|
|
|
mysql.Db.Find(&pr, "user_id = ? and status <> 1 and base > 0 and income > 0", userID)
|
|
|
|
|