Browse Source

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

k.zhang 1 year ago
parent
commit
bfa1ff718c
4 changed files with 84 additions and 1 deletions
  1. 2 1
      apis/shanghu/base.go
  2. 52 0
      apis/shanghu/client.trans.go
  3. 15 0
      apis/shanghu/models/client.trans.go
  4. 15 0
      models/shanghu/pay.go

+ 2 - 1
apis/shanghu/base.go

@@ -32,12 +32,13 @@ func InitShangHuRouter(engine *gin.RouterGroup) {
 		v1.POST("/client/pay/list", GetPayTransList)                        //交易列表
 		v1.POST("/verification/code", GetVerificationCode)                  //核销码
 		v1.POST("/merchant/sale/list", GetMerchantPayTransList)             //销售记录
-		v1.POST("/merchant/cancel", CancelNumber)                           //核销
+		v1.POST("/merchant/cancel", CancelNumber)                           //核销  已弃用
 		v1.POST("/merchant/update/whxy", UpdateMerchantCardWXYZ)            //xyz                               //更新坐标
 		v1.POST("/merchant/user/code", MerchantUserCode)                    //
 		v1.POST("/account/amount", GetAccountAmount)                        //获取金额
 		v1.POST("/cash/out", PayCashOut)                                    //提现
 		v1.POST("/cash.out/list", CashOutList)                              //提现列表
+		v1.POST("/client/sale/list", GetClientPayTransList)                 //c端用户分销记录
 	}
 
 	v2 := engine.Group("v2")

+ 52 - 0
apis/shanghu/client.trans.go

@@ -177,3 +177,55 @@ func GetMerchantPayTransList(c *gin.Context) {
 	app.PageOK(c, outData, count, pageIndex, pageSize, app.Success)
 
 }
+
+func GetClientPayTransList(c *gin.Context) {
+	var inData models.ClientTransListRequest
+	var sqlClientUser shanghu.MerchantClientUser
+	var sqlPay shanghu.ClientPayTrans
+	var outData []models.ClientTransListReply
+	err := c.ShouldBindJSON(&inData)
+	if err != nil {
+		app.Error(c, 400, err, err.Error())
+		return
+	}
+	var pageSize = 10
+	var pageIndex = 1
+	if inData.PageSize != 0 {
+		pageSize = inData.PageSize
+	}
+	if inData.PageIndex != 0 {
+		pageIndex = inData.PageIndex
+	}
+
+	sqlClientUser.ClientOpenID = inData.ClientOpenId
+	clientUserInfo, err := sqlClientUser.GetUserInfo()
+	if err != nil {
+		app.Error(c, 400, err, err.Error())
+		return
+	}
+	sqlPay.InvitationCode = clientUserInfo.Code
+	codeTransInfo, count, err := sqlPay.GetPaySuccessTransByInvitationCode(pageSize, pageIndex)
+	if err != nil {
+		app.Error(c, 400, err, err.Error())
+		return
+	}
+
+	for i := 0; i < len(codeTransInfo); i++ {
+		data := models.ClientTransListReply{}
+		var cardSql shanghu.MerchantCard
+		var clientInfoSql shanghu.MerchantClientUser
+		data.TransId = codeTransInfo[i].ID
+		data.PayTime = codeTransInfo[i].PayTime.Format(time.DateTime)
+		data.MerchantCardID = codeTransInfo[i].MerchantCardID
+		cardSql.ID = codeTransInfo[i].MerchantCardID
+		cardInfo, _ := cardSql.GetMerchantCard()
+		data.MerchantCardName = cardInfo.MerchantCardName
+		clientInfoSql.ClientOpenID = codeTransInfo[i].ClientOpenID
+		userInfo, _ := clientInfoSql.GetUserInfo()
+		data.UserId = userInfo.Code
+		data.SaleAmount = codeTransInfo[i].Amount.Mul(decimal.NewFromInt(cardInfo.RebateRate)).Div(decimal.NewFromInt(100)).Round(2)
+		outData = append(outData, data)
+	}
+
+	app.PageOK(c, outData, count, pageIndex, pageSize, app.Success)
+}

+ 15 - 0
apis/shanghu/models/client.trans.go

@@ -54,3 +54,18 @@ type MerchantTransReply struct {
 	TransId          int64           `json:"trans_id"`           // 交易id
 	SaleId           string          `json:"sale_id"`            //销售ID
 }
+
+type ClientTransListRequest struct {
+	ClientOpenId string `json:"open_id"`
+	PageSize     int    `json:"page_size"`
+	PageIndex    int    `json:"page_index"`
+}
+
+type ClientTransListReply struct {
+	MerchantCardID   int64           `json:"merchant_card_id"`   // 商户卡id
+	SaleAmount       decimal.Decimal `json:"sale_amount"`        // 分销佣金
+	PayTime          string          `json:"pay_time"`           // 支付时间
+	MerchantCardName string          `json:"merchant_card_name"` // 商户卡名称
+	TransId          int64           `json:"trans_id"`           // 交易id
+	UserId           string          `json:"user_id"`            // 用户ID
+}

+ 15 - 0
models/shanghu/pay.go

@@ -63,6 +63,21 @@ func (m *ClientPayTrans) GetPayTransByOpenid() (ClientPayTrans, error) {
 	return doc, nil
 }
 
+func (m *ClientPayTrans) GetPaySuccessTransByInvitationCode(pageSize int, pageIndex int) ([]ClientPayTrans, int, error) {
+	var doc []ClientPayTrans
+
+	table := orm.ShMysql.Table(m.TableName())
+
+	table = table.Where("invitation_code = ?  and status = 2  and account_status = 99", m.InvitationCode)
+	var count int
+	if err := table.Select("*").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
+
+}
+
 func (m *ClientPayTrans) GetPayTransById() (ClientPayTrans, error) {
 	var doc ClientPayTrans