Sfoglia il codice sorgente

Merge branch 'develop' of k.zhang/duoduo into test

k.zhang 4 anni fa
parent
commit
132062af0f

+ 88 - 36
apis/pdd/pdd.ddk.order.list.increment.get.go

@@ -79,11 +79,11 @@ func PddDdkOrderListIncrementGet(c *gin.Context) {
 
 		//同步订单信息
 		for i := 0; i < len(outData.OrderListGetResponse.OrderList); i++ {
-
 			var pid mysql.Pid
-			var order mysql.Order
-			var trans mysql.TransRecords
-
+			//var order mysql.Order
+			//var trans mysql.TransRecords
+			var user mysql.User
+			//var wallet mysql.Wallet
 			sqlData.OrderID = outData.OrderListGetResponse.OrderList[i].OrderID
 			sqlData.PID = outData.OrderListGetResponse.OrderList[i].PID
 			sqlData.UpdateTime = tools.GetCurrntTimeStr()
@@ -101,60 +101,58 @@ func PddDdkOrderListIncrementGet(c *gin.Context) {
 			sqlData.Amount2 = decimal.NewFromInt(outData.OrderListGetResponse.OrderList[i].PromotionAmount).Mul(decimal.NewFromFloat(0.001))
 			sqlData.OrderAmount = decimal.NewFromInt(outData.OrderListGetResponse.OrderList[i].OrderAmount).Div(decimal.NewFromInt(100))
 
-			fmt.Println("amount = ", sqlData.Amount)
+			//根据pid
+			pid.Pid = outData.OrderListGetResponse.OrderList[i].PID
+			pidVal, err := pid.GetOpenId()
+			if err != nil {
+				continue
+			}
+			//根据openId 获取 openId1-2
+			user.OpenID = pidVal.OpenID
+			userVal, err := user.Get()
+			if err != nil {
+				continue
+			}
+
+			sqlData.OpenId = user.OpenID
+			sqlData.OpenId1 = userVal.OpenIdOne
+			sqlData.OpenId2 = userVal.OpenIdTwo
 
 			count := sqlData.GetNum()
 			if count <= 0 {
 				sqlData.CreateTime = tools.GetCurrntTimeStr()
 				_, err = sqlData.Create()
 				if err != nil {
-					app.Error(c, 500, nil, err.Error())
 					return
 				}
 			} else {
 				_, err = sqlData.Update(sqlData.OrderID)
 				if err != nil {
-					app.Error(c, 500, nil, err.Error())
 					return
 				}
 			}
 
 			//统计钱包数据
 			//首先获取open_id
-			pid.Pid = outData.OrderListGetResponse.OrderList[i].PID
-			pidVal, err := pid.GetOpenId()
-			if err != nil {
-				continue
-			}
-			order.PID = outData.OrderListGetResponse.OrderList[i].PID
-			//统计钱包数据
-			walletVal, err := order.GetAmount()
+			//本人
+
+			err = UpdateWallet(user.OpenID)
 			if err != nil {
 				continue
 			}
 
-			walletVal.LatelyAmount = walletVal.LatelyAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
-			walletVal.TodayAmount = walletVal.TodayAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
-			walletVal.TotalAmount = walletVal.TotalAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
-			walletVal.YesterdayAmount = walletVal.YesterdayAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
-			walletVal.AvailableAmount = walletVal.AvailableAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
-
-			trans.TransStatus = 3
-			trans.OpenID = pidVal.OpenID
-			transVal, err := trans.GetAmount()
-			if err != nil {
-				continue
+			if userVal.OpenIdOne != "" {
+				err = UpdateWallet(userVal.OpenIdOne)
+				if err != nil {
+					continue
+				}
 			}
-			walletVal.WithdrawalAmount = transVal.Amount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
-			walletVal.AvailableAmount = walletVal.AvailableAmount.Sub(walletVal.WithdrawalAmount).Mul(decimal.NewFromFloat(0.6)).Round(2)
-
-			//更新钱包
-			walletVal.OpenID = pidVal.OpenID
-			walletVal.Pid = outData.OrderListGetResponse.OrderList[i].PID
-			walletVal.UpdateTime = tools.GetCurrntTimeStr()
-			_, err = walletVal.UpdateAll()
-			if err != nil {
-				continue
+
+			if userVal.OpenIdTwo != "" {
+				err = UpdateWallet(userVal.OpenIdTwo)
+				if err != nil {
+					continue
+				}
 			}
 
 		}
@@ -166,3 +164,57 @@ func PddDdkOrderListIncrementGet(c *gin.Context) {
 
 	app.OK(c, nil, app.Success)
 }
+
+func UpdateWallet(openId string) error {
+	var order mysql.Order
+	var wallet mysql.Wallet
+	var trans mysql.TransRecords
+	var pid mysql.Pid
+
+	order.OpenId = openId
+	//根据订单统计钱包数据
+	walletVal, err := order.GetAmountOpenId()
+	if err != nil {
+		return err
+	}
+
+	wallet.TotalAmount = walletVal.TotalAmount.Add(walletVal.TotalAmountOne).Add(walletVal.TotalAmountTwo)
+	wallet.LatelyAmount = walletVal.LatelyAmount.Add(walletVal.LatelyAmountOne).Add(walletVal.LatelyAmountTwo)
+	wallet.TodayAmount = walletVal.TodayAmount.Add(walletVal.TodayAmountOne).Add(walletVal.TodayAmountTwo)
+	wallet.YesterdayAmount = walletVal.YesterdayAmount.Add(walletVal.YesterdayAmountOne).Add(walletVal.YesterdayAmountTwo)
+	wallet.AvailableAmount = walletVal.AvailableAmount.Add(walletVal.AvailableAmountOne).Add(walletVal.AvailableAmountTwo)
+	//本人金额计算
+	//walletVal.LatelyAmount = walletVal.LatelyAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
+	//walletVal.TodayAmount = walletVal.TodayAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
+	//walletVal.TotalAmount = walletVal.TotalAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
+	//walletVal.YesterdayAmount = walletVal.YesterdayAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
+	//walletVal.AvailableAmount = walletVal.AvailableAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
+
+	trans.TransStatus = 3
+	trans.OpenID = openId
+	transVal, err := trans.GetAmount()
+	if err != nil {
+		return err
+	}
+	//已提现总金额 = 提现记录求和
+	wallet.WithdrawalAmount = transVal.Amount
+	//可以提现金额 = 5求和-已体现金额
+	wallet.AvailableAmount = wallet.AvailableAmount.Sub(wallet.WithdrawalAmount).Round(2)
+	pid.OpenID = openId
+	pid.PidStatus = 1
+	pidVal, err := pid.Get()
+	if err != nil {
+		return err
+	}
+
+	//更新钱包
+	wallet.OpenID = openId
+	wallet.Pid = pidVal.Pid
+	wallet.UpdateTime = tools.GetCurrntTimeStr()
+	_, err = wallet.UpdateAll()
+	if err != nil {
+		return err
+	}
+	return nil
+
+}

+ 2 - 1
apis/user/base.go

@@ -10,6 +10,7 @@ func InitUserRouter(engine *gin.RouterGroup) {
 		v1.POST("/user/wallet/get", WalletGet)   //用户钱包信息
 		v1.POST("/user/order/list", OrderGet)    //获取订单列表
 		v1.POST("/user/open.id/get", OpenIdGet)  //根据openId获取信息
-		v1.POST("/user/update/name", UpdateName) //根据openId获取信息
+		v1.POST("/user/update/name", UpdateName) //更新名字
+		v1.POST("/user/list", UserList)          //更新名字
 	}
 }

+ 40 - 0
apis/user/user.list.go

@@ -0,0 +1,40 @@
+package user
+
+import (
+	"duoduo/models/mysql"
+	"duoduo/models/user"
+	"duoduo/tools/app"
+	"github.com/gin-gonic/gin"
+)
+
+func UserList(c *gin.Context) {
+	var inData user.UserListRequest
+
+	var user mysql.User
+
+	var pageSize = 10
+	var pageIndex = 1
+
+	err := c.ShouldBindJSON(&inData)
+	if err != nil {
+		app.Error(c, 400, err, err.Error())
+		return
+	}
+
+	if inData.PageSize != 0 {
+		pageSize = inData.PageSize
+	}
+	if inData.PageIndex != 0 {
+		pageIndex = inData.PageIndex
+	}
+
+	user.OpenID = inData.OpenId
+	userVal, count, err := user.GetOrderOpenIdList(pageSize, pageIndex, inData.Status)
+	if err != nil {
+		app.Error(c, 500, err, err.Error())
+		return
+	}
+
+	app.PageOK(c, userVal, count, pageIndex, pageSize, app.Success)
+
+}

+ 2 - 13
apis/user/user.order.get.go

@@ -9,10 +9,7 @@ import (
 
 func OrderGet(c *gin.Context) {
 	var inData user.OrderGetRequest
-	//var outData user.OrderGetResponse
-	//var order []mysql.Order
 	var orderOpneId mysql.Order
-	var pid mysql.Pid
 
 	var pageSize = 10
 	var pageIndex = 1
@@ -30,16 +27,8 @@ func OrderGet(c *gin.Context) {
 		pageIndex = inData.PageIndex
 	}
 
-	pid.OpenID = inData.OpenId
-	pid.PidStatus = 1
-	pidVal, err := pid.Get()
-	if err != nil {
-		app.Error(c, 500, err, err.Error())
-		return
-	}
-
-	orderOpneId.PID = pidVal.Pid
-	orderVal, count, err := orderOpneId.GetOrderList(pageSize, pageIndex)
+	orderOpneId.OpenId = inData.OpenId
+	orderVal, count, err := orderOpneId.GetOrderOpenIdList(pageSize, pageIndex, inData.UserStatus)
 	if err != nil {
 		app.Error(c, 500, err, err.Error())
 		return

+ 151 - 1
models/mysql/order.go

@@ -2,6 +2,7 @@ package mysql
 
 import (
 	orm "duoduo/database"
+	"errors"
 	"github.com/shopspring/decimal"
 )
 
@@ -23,6 +24,27 @@ type Order struct {
 	Amount1               decimal.Decimal `gorm:"column:amount_1" json:"amount1"`
 	Amount2               decimal.Decimal `gorm:"column:amount_2" json:"amount2"`
 	OrderAmount           decimal.Decimal `gorm:"column:order_amount" json:"orderAmount"`
+	OpenId                string          `gorm:"column:open_id" json:"openId"`
+	OpenId1               string          `gorm:"column:open_id_1" json:"openId1"`
+	OpenId2               string          `gorm:"column:open_id_2" json:"openId2"`
+}
+
+type OrderAmount struct {
+	TotalAmount        decimal.Decimal `gorm:"column:total_amount" json:"totalAmount"`
+	TotalAmountOne     decimal.Decimal `gorm:"column:total_amount_one" json:"totalAmountOne"`
+	TotalAmountTwo     decimal.Decimal `gorm:"column:total_amount_two" json:"totalAmountTwo"`
+	TodayAmount        decimal.Decimal `gorm:"column:today_amount" json:"todayAmount"`
+	TodayAmountOne     decimal.Decimal `gorm:"column:today_amount_one" json:"todayAmountOne"`
+	TodayAmountTwo     decimal.Decimal `gorm:"column:today_amount_two" json:"todayAmountTwo"`
+	YesterdayAmount    decimal.Decimal `gorm:"column:yesterday_amount" json:"yesterdayAmount"`
+	YesterdayAmountOne decimal.Decimal `gorm:"column:yesterday_amount_one" json:"yesterdayAmountOne"`
+	YesterdayAmountTwo decimal.Decimal `gorm:"column:yesterday_amount_two" json:"yesterdayAmountTwo"`
+	LatelyAmount       decimal.Decimal `gorm:"column:lately_amount" json:"latelyAmount"`
+	LatelyAmountOne    decimal.Decimal `gorm:"column:lately_amount_one" json:"latelyAmountOne"`
+	LatelyAmountTwo    decimal.Decimal `gorm:"column:lately_amount_two" json:"latelyAmountTwo"`
+	AvailableAmount    decimal.Decimal `gorm:"column:available_amount" json:"availableAmount"`
+	AvailableAmountOne decimal.Decimal `gorm:"column:available_amount_one" json:"availableAmountOne"`
+	AvailableAmountTwo decimal.Decimal `gorm:"column:available_amount_two" json:"availableAmountTwo"`
 }
 
 // TableName sets the insert table name for this struct type
@@ -93,6 +115,108 @@ func (o *Order) GetAmount() (Wallet, error) {
 
 }
 
+func (o *Order) GetAmountOpenId() (OrderAmount, error) {
+	var wallet OrderAmount
+
+	//历史总收益: 0,1,2,3,5 求和
+	//今日预估收益:0,1,2,3 求和
+	//昨日预估收益:0,1,2,3 求和
+	//近30日预估收益:0,1,2,3,5 求和
+	//可体现金额:5求和-已体现金额
+	//已体现金额:提现记录求和
+	//历史总收益
+	err := orm.Eloquent.Select("SUM(amount) as total_amount").Where("order_status in (0,1,2,3,5) and open_id = ? ", o.OpenId).Table(o.TableName()).First(&wallet).Error
+
+	if err != nil {
+		return wallet, err
+	}
+	err = orm.Eloquent.Select("SUM(amount_1) as total_amount_one").Where("order_status in (0,1,2,3,5) and open_id_1 = ? ", o.OpenId).Table(o.TableName()).First(&wallet).Error
+
+	if err != nil {
+		return wallet, err
+	}
+
+	err = orm.Eloquent.Select("SUM(amount_2) as total_amount_two").Where("order_status in (0,1,2,3,5) and open_id_2 = ? ", o.OpenId).Table(o.TableName()).First(&wallet).Error
+
+	if err != nil {
+		return wallet, err
+	}
+	//今日收益
+	err = orm.Eloquent.Select("SUM(amount) as today_amount").Where("order_status in (0,1,2,3) and open_id = ? and DATE(order_group_success_time) = curdate() ", o.OpenId).Table(o.TableName()).First(&wallet).Error
+
+	if err != nil {
+		return wallet, err
+	}
+	err = orm.Eloquent.Select("SUM(amount_1) as today_amount_one").Where("order_status in (0,1,2,3) and open_id_1 = ? and DATE(order_group_success_time) = curdate() ", o.OpenId).Table(o.TableName()).First(&wallet).Error
+
+	if err != nil {
+		return wallet, err
+	}
+	err = orm.Eloquent.Select("SUM(amount_2) as today_amount_two").Where("order_status in (0,1,2,3) and open_id_2 = ? and DATE(order_group_success_time) = curdate() ", o.OpenId).Table(o.TableName()).First(&wallet).Error
+
+	if err != nil {
+		return wallet, err
+	}
+	//昨日收益
+	err = orm.Eloquent.Select("SUM(amount) as yesterday_amount").Where("order_status in (0,1,2,3) and open_id = ? and DATE(order_group_success_time) = date_sub(curdate(),interval 1 day) ", o.OpenId).Table(o.TableName()).First(&wallet).Error
+
+	if err != nil {
+		return wallet, err
+	}
+
+	err = orm.Eloquent.Select("SUM(amount_1) as yesterday_amount_one").Where("order_status in (0,1,2,3) and open_id_1 = ? and DATE(order_group_success_time) = date_sub(curdate(),interval 1 day) ", o.OpenId).Table(o.TableName()).First(&wallet).Error
+
+	if err != nil {
+		return wallet, err
+	}
+
+	err = orm.Eloquent.Select("SUM(amount_2) as yesterday_amount_two").Where("order_status in (0,1,2,3) and open_id_2 = ? and DATE(order_group_success_time) = date_sub(curdate(),interval 1 day) ", o.OpenId).Table(o.TableName()).First(&wallet).Error
+
+	if err != nil {
+		return wallet, err
+	}
+	//近30日收益
+	err = orm.Eloquent.Select("SUM(amount) as lately_amount").Where("order_status in (0,1,2,3) and open_id = ? and DATE(order_group_success_time) >= date_sub(curdate(),interval 30 day) ", o.OpenId).Table(o.TableName()).First(&wallet).Error
+
+	if err != nil {
+		return wallet, err
+	}
+
+	err = orm.Eloquent.Select("SUM(amount_1) as lately_amount_one").Where("order_status in (0,1,2,3) and open_id_1 = ? and DATE(order_group_success_time) >= date_sub(curdate(),interval 30 day) ", o.OpenId).Table(o.TableName()).First(&wallet).Error
+
+	if err != nil {
+		return wallet, err
+	}
+
+	err = orm.Eloquent.Select("SUM(amount_2) as lately_amount_two").Where("order_status in (0,1,2,3) and open_id_2 = ? and DATE(order_group_success_time) >= date_sub(curdate(),interval 30 day) ", o.OpenId).Table(o.TableName()).First(&wallet).Error
+
+	if err != nil {
+		return wallet, err
+	}
+
+	//上个月结算收益
+	err = orm.Eloquent.Select("SUM(amount) as available_amount").Where("order_status = 5 and open_id = ? and DATE(order_group_success_time) >= date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(day from now()) day),interval 0 month) ", o.OpenId).Table(o.TableName()).First(&wallet).Error
+
+	if err != nil {
+		return wallet, err
+	}
+
+	err = orm.Eloquent.Select("SUM(amount_1) as available_amount_one").Where("order_status = 5 and open_id_1 = ? and DATE(order_group_success_time) >= date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(day from now()) day),interval 0 month) ", o.OpenId).Table(o.TableName()).First(&wallet).Error
+
+	if err != nil {
+		return wallet, err
+	}
+
+	err = orm.Eloquent.Select("SUM(amount_2) as available_amount_two").Where("order_status = 5 and open_id_2 = ? and DATE(order_group_success_time) >= date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(day from now()) day),interval 0 month) ", o.OpenId).Table(o.TableName()).First(&wallet).Error
+
+	if err != nil {
+		return wallet, err
+	}
+
+	return wallet, nil
+
+}
+
 // 更新
 func (o *Order) Update(orderId string) (update Order, err error) {
 	if err = orm.Eloquent.Table(o.TableName()).Where("order_id = ?", orderId).First(&update).Error; err != nil {
@@ -101,7 +225,7 @@ func (o *Order) Update(orderId string) (update Order, err error) {
 
 	//参数1:是要修改的数据
 	//参数2:是修改的数据
-	if err = orm.Eloquent.Table(o.TableName()).Model(&update).Updates(&o).Error; err != nil {
+	if err = orm.Eloquent.Table(o.TableName()).Where("order_id = ?", orderId).Model(&update).Updates(&o).Error; err != nil {
 		return
 	}
 	return
@@ -122,3 +246,29 @@ func (o *Order) GetOrderList(pageSize int, pageIndex int) ([]Order, int, error)
 	table.Count(&count)
 	return doc, count, nil
 }
+
+//list 接口使用
+func (o *Order) GetOrderOpenIdList(pageSize int, pageIndex int, status int) ([]Order, int, error) {
+	var doc []Order
+
+	table := orm.Eloquent.Table(o.TableName())
+
+	if status == 0 {
+		table = table.Where("open_id = ?  ", o.OpenId)
+	} else if status == 1 {
+		table = table.Where("open_id_1 = ?  ", o.OpenId)
+	} else if status == 2 {
+		table = table.Where("open_id_2 = ?  ", o.OpenId)
+	} else {
+		return nil, 0, errors.New("status err")
+	}
+
+	//table = table.Where("open_id = ?  ", o.OpenId)
+
+	var count int
+	if err := table.Select("order_id,promotion_amount,p_id,order_status,order_status_desc,goods_name,goods_thumbnail_url,order_group_success_time,amount,amount_1,amount_2,order_sn,DATE_FORMAT(order_create_time,'%Y-%m-%d %H:%i:%s') as order_create_time,order_amount").Order("id desc").Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Error; err != nil {
+		return nil, 0, err
+	}
+	table.Count(&count)
+	return doc, count, nil
+}

+ 38 - 0
models/mysql/user.go

@@ -3,6 +3,7 @@ package mysql
 import (
 	orm "duoduo/database"
 	"duoduo/tools"
+	"errors"
 )
 
 type User struct {
@@ -17,6 +18,19 @@ type User struct {
 	OpenIdTwo  string `gorm:"column:open_id_2" json:"openIdTwo"`
 }
 
+type UserName struct {
+	CreateTime string `gorm:"column:create_time" json:"createTime"`
+	OpenID     string `gorm:"column:open_id" json:"openId"`
+	Phone      string `gorm:"column:phone" json:"phone"`
+	Pid        string `gorm:"column:pid" json:"pid"`
+	UpdateTime string `gorm:"column:update_time" json:"updateTime"`
+	NickName   string `gorm:"column:nick_name" json:"nickName"`
+	AvatarUrl  string `gorm:"column:avatar_url" json:"avatarUrl"`
+	OpenIdOne  string `gorm:"column:open_id_1" json:"openIdOne"`
+	OpenIdTwo  string `gorm:"column:open_id_2" json:"openIdTwo"`
+	Id         int    `gorm:"column:id" json:"id"`
+}
+
 // TableName sets the insert table name for this struct type
 func (u *User) TableName() string {
 	return "user"
@@ -75,3 +89,27 @@ func (u *User) UpdateName() (update User, err error) {
 
 	return update, nil
 }
+
+//list 接口使用
+func (u *User) GetOrderOpenIdList(pageSize int, pageIndex int, status int) ([]User, int, error) {
+	var doc []User
+
+	table := orm.Eloquent.Table(u.TableName())
+
+	if status == 1 {
+		table = table.Where("open_id_1 = ?  ", u.OpenID)
+	} else if status == 2 {
+		table = table.Where("open_id_2 = ?  ", u.OpenID)
+	} else {
+		return nil, 0, errors.New("status err")
+	}
+
+	//table = table.Where("open_id = ?  ", o.OpenId)
+
+	var count int
+	if err := table.Select("id,nick_name,avatar_url").Order("id desc").Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Error; err != nil {
+		return nil, 0, err
+	}
+	table.Count(&count)
+	return doc, count, nil
+}

+ 14 - 0
models/user/user.list.go

@@ -0,0 +1,14 @@
+package user
+
+import "duoduo/models/mysql"
+
+type UserListRequest struct {
+	OpenId    string `json:"openId"`
+	Status    int    `json:"status"` //1-下线 2-下下线
+	PageSize  int    `json:"pageSize"`
+	PageIndex int    `json:"pageIndex"`
+}
+
+type UserListResponse struct {
+	User []mysql.User `json:"user"`
+}

+ 4 - 3
models/user/user.order.get.go

@@ -3,9 +3,10 @@ package user
 import "duoduo/models/mysql"
 
 type OrderGetRequest struct {
-	OpenId    string `json:"openId"`
-	PageSize  int    `json:"pageSize"`
-	PageIndex int    `json:"pageIndex"`
+	OpenId     string `json:"openId"`
+	UserStatus int    `json:"userStatus"` //0 -本人订单 1-下级订单 2-下下级订单
+	PageSize   int    `json:"pageSize"`
+	PageIndex  int    `json:"pageIndex"`
 }
 
 type OrderGetResponse struct {

+ 95 - 35
report/pdd.ddk.order.list.increment.get.go

@@ -39,9 +39,12 @@ func DdkOrder() {
 		inData.Page = fmt.Sprintf("%d", pag)
 		inData.PageSize = "50"
 
-		timeInt := time.Now().Unix()
-		inData.EndUpdateTime = fmt.Sprintf("%d", timeInt)
-		inData.StartUpdateTime = fmt.Sprintf("%d", timeInt-60)
+		//timeInt := time.Now().Unix()
+		//inData.EndUpdateTime = fmt.Sprintf("%d", timeInt)
+		//inData.StartUpdateTime = fmt.Sprintf("%d", timeInt-60)
+
+		inData.EndUpdateTime = "1626786000"
+		inData.StartUpdateTime = "1626739940"
 
 		inData.Sign = "sign"
 
@@ -73,8 +76,10 @@ func DdkOrder() {
 		//同步订单信息
 		for i := 0; i < len(outData.OrderListGetResponse.OrderList); i++ {
 			var pid mysql.Pid
-			var order mysql.Order
-			var trans mysql.TransRecords
+			//var order mysql.Order
+			//var trans mysql.TransRecords
+			var user mysql.User
+			//var wallet mysql.Wallet
 			sqlData.OrderID = outData.OrderListGetResponse.OrderList[i].OrderID
 			sqlData.PID = outData.OrderListGetResponse.OrderList[i].PID
 			sqlData.UpdateTime = tools.GetCurrntTimeStr()
@@ -89,9 +94,26 @@ func DdkOrder() {
 			sqlData.OrderSn = outData.OrderListGetResponse.OrderList[i].OrderSn
 			sqlData.Amount = decimal.NewFromInt(outData.OrderListGetResponse.OrderList[i].PromotionAmount).Mul(decimal.NewFromFloat(0.006))
 			sqlData.Amount1 = decimal.NewFromInt(outData.OrderListGetResponse.OrderList[i].PromotionAmount).Mul(decimal.NewFromFloat(0.001))
-			sqlData.Amount1 = decimal.NewFromInt(outData.OrderListGetResponse.OrderList[i].PromotionAmount).Mul(decimal.NewFromFloat(0.001))
+			sqlData.Amount2 = decimal.NewFromInt(outData.OrderListGetResponse.OrderList[i].PromotionAmount).Mul(decimal.NewFromFloat(0.001))
 			sqlData.OrderAmount = decimal.NewFromInt(outData.OrderListGetResponse.OrderList[i].OrderAmount).Div(decimal.NewFromInt(100))
 
+			//根据pid
+			pid.Pid = outData.OrderListGetResponse.OrderList[i].PID
+			pidVal, err := pid.GetOpenId()
+			if err != nil {
+				continue
+			}
+			//根据openId 获取 openId1-2
+			user.OpenID = pidVal.OpenID
+			userVal, err := user.Get()
+			if err != nil {
+				continue
+			}
+
+			sqlData.OpenId = user.OpenID
+			sqlData.OpenId1 = userVal.OpenIdOne
+			sqlData.OpenId2 = userVal.OpenIdTwo
+
 			count := sqlData.GetNum()
 			if count <= 0 {
 				sqlData.CreateTime = tools.GetCurrntTimeStr()
@@ -108,40 +130,24 @@ func DdkOrder() {
 
 			//统计钱包数据
 			//首先获取open_id
-			pid.Pid = outData.OrderListGetResponse.OrderList[i].PID
-			pidVal, err := pid.GetOpenId()
-			if err != nil {
-				continue
-			}
-			order.PID = outData.OrderListGetResponse.OrderList[i].PID
-			//统计钱包数据
-			walletVal, err := order.GetAmount()
+			//本人
+			err = UpdateWallet(user.OpenID)
 			if err != nil {
 				continue
 			}
 
-			walletVal.LatelyAmount = walletVal.LatelyAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
-			walletVal.TodayAmount = walletVal.TodayAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
-			walletVal.TotalAmount = walletVal.TotalAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
-			walletVal.YesterdayAmount = walletVal.YesterdayAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
-			walletVal.AvailableAmount = walletVal.AvailableAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
-
-			trans.TransStatus = 3
-			trans.OpenID = pidVal.OpenID
-			transVal, err := trans.GetAmount()
-			if err != nil {
-				continue
+			if userVal.OpenIdOne != "" {
+				err = UpdateWallet(userVal.OpenIdOne)
+				if err != nil {
+					continue
+				}
 			}
-			walletVal.WithdrawalAmount = transVal.Amount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
-			walletVal.AvailableAmount = walletVal.AvailableAmount.Sub(walletVal.WithdrawalAmount).Mul(decimal.NewFromFloat(0.6)).Round(2)
-
-			//更新钱包
-			walletVal.OpenID = pidVal.OpenID
-			walletVal.Pid = outData.OrderListGetResponse.OrderList[i].PID
-			walletVal.UpdateTime = tools.GetCurrntTimeStr()
-			_, err = walletVal.UpdateAll()
-			if err != nil {
-				continue
+
+			if userVal.OpenIdTwo != "" {
+				err = UpdateWallet(userVal.OpenIdTwo)
+				if err != nil {
+					continue
+				}
 			}
 
 		}
@@ -152,3 +158,57 @@ func DdkOrder() {
 	}
 
 }
+
+func UpdateWallet(openId string) error {
+	var order mysql.Order
+	var wallet mysql.Wallet
+	var trans mysql.TransRecords
+	var pid mysql.Pid
+
+	order.OpenId = openId
+	//根据订单统计钱包数据
+	walletVal, err := order.GetAmountOpenId()
+	if err != nil {
+		return err
+	}
+
+	wallet.TotalAmount = walletVal.TotalAmount.Add(walletVal.TotalAmountOne).Add(walletVal.TotalAmountTwo)
+	wallet.LatelyAmount = walletVal.LatelyAmount.Add(walletVal.LatelyAmountOne).Add(walletVal.LatelyAmountTwo)
+	wallet.TodayAmount = walletVal.TodayAmount.Add(walletVal.TodayAmountOne).Add(walletVal.TodayAmountTwo)
+	wallet.YesterdayAmount = walletVal.YesterdayAmount.Add(walletVal.YesterdayAmountOne).Add(walletVal.YesterdayAmountTwo)
+	wallet.AvailableAmount = walletVal.AvailableAmount.Add(walletVal.AvailableAmountOne).Add(walletVal.AvailableAmountTwo)
+	//本人金额计算
+	//walletVal.LatelyAmount = walletVal.LatelyAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
+	//walletVal.TodayAmount = walletVal.TodayAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
+	//walletVal.TotalAmount = walletVal.TotalAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
+	//walletVal.YesterdayAmount = walletVal.YesterdayAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
+	//walletVal.AvailableAmount = walletVal.AvailableAmount.Div(decimal.NewFromInt(100)).Mul(decimal.NewFromFloat(0.6)).Round(2)
+
+	trans.TransStatus = 3
+	trans.OpenID = openId
+	transVal, err := trans.GetAmount()
+	if err != nil {
+		return err
+	}
+	//已提现总金额 = 提现记录求和
+	wallet.WithdrawalAmount = transVal.Amount
+	//可以提现金额 = 5求和-已体现金额
+	wallet.AvailableAmount = wallet.AvailableAmount.Sub(wallet.WithdrawalAmount).Round(2)
+	pid.OpenID = openId
+	pid.PidStatus = 1
+	pidVal, err := pid.Get()
+	if err != nil {
+		return err
+	}
+
+	//更新钱包
+	wallet.OpenID = openId
+	wallet.Pid = pidVal.Pid
+	wallet.UpdateTime = tools.GetCurrntTimeStr()
+	_, err = wallet.UpdateAll()
+	if err != nil {
+		return err
+	}
+	return nil
+
+}