k.zhang 11 月之前
父节点
当前提交
12f92c7eb7

+ 4 - 1
apis/shanghu/base.go

@@ -59,6 +59,9 @@ func InitShangHuRouter(engine *gin.RouterGroup) {
 		recharge.POST("/project/create", CreateMerchantRechargeProject)
 		recharge.POST("/project/del", DelMerchantRechargeProject)
 		recharge.POST("/project/list", MerchantRechargeProjectList)
-		recharge.POST("/merchant/recharge", MerchantRecharge) //充值根据code给用户充值
+		recharge.POST("/merchant/recharge", MerchantRecharge)                       //充值根据code给用户充值
+		recharge.POST("/client/account/list", GetMerchantRechargeClientAccountList) //客户端展示金额
+		recharge.POST("/client/ticket/list", GetMerchantRechargeList)               //客户端展示优惠券
+		recharge.POST("/client/recharge/list", GetMerchantClientTicketAccountLog)   //获取充值记录
 	}
 }

+ 68 - 0
apis/shanghu/merchant.client.ticket.account.log.go

@@ -0,0 +1,68 @@
+package shanghu
+
+import (
+	"duoduo/apis/shanghu/models"
+	"duoduo/models/shanghu"
+	"duoduo/tools/app"
+	"github.com/gin-gonic/gin"
+	"time"
+)
+
+func GetMerchantClientTicketAccountLog(c *gin.Context) {
+	var inData models.GetMerchantRechargeClientAccountLogListRequest
+	var sqlData shanghu.MerchantRechargeClientAccountLog
+	var outDataList []models.GetMerchantRechargeClientAccountLogListReply
+
+	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
+	}
+
+	sqlData.MerchantOpenID = inData.MerchantOpenId
+	cashOutList, count, err := sqlData.MerchantRechargeClientAccountLogList(pageSize, pageIndex)
+	if err != nil {
+		app.Error(c, 500, err, err.Error())
+		return
+	}
+
+	for _, v := range cashOutList {
+		var out models.GetMerchantRechargeClientAccountLogListReply
+		var merchantClientUser shanghu.MerchantClientUser
+		merchantClientUser.ClientOpenID = v.ClientOpenID
+
+		userInfo, err := merchantClientUser.GetUserInfo()
+		if err != nil {
+			app.Error(c, 500, err, err.Error())
+			return
+		}
+
+		var merchantRecharge shanghu.MerchantRecharge
+		merchantRecharge.ID = v.PayTransID
+
+		merchantRechargeInfo, err := merchantRecharge.GetMerchantRecharge()
+		if err != nil {
+			app.Error(c, 500, err, err.Error())
+			return
+		}
+
+		out.Amount = v.Amount.String()
+		out.ClientUserId = userInfo.Code
+		out.RechargeName = merchantRechargeInfo.MerchantRechargeName
+		out.RechargeTime = v.CreatedAt.Format(time.DateTime)
+		outDataList = append(outDataList, out)
+
+	}
+	app.PageOK(c, outDataList, count, pageIndex, pageSize, app.Success)
+
+}

+ 52 - 0
apis/shanghu/merchant.client.ticket.go

@@ -51,3 +51,55 @@ func MerchantRecharge(c *gin.Context) {
 	app.OK(c, nil, app.Success)
 
 }
+
+func GetMerchantRechargeList(c *gin.Context) {
+	var inData models.MerchantRechargeTicketListRequest
+	var sqlData shanghu.MerchantClientTicket
+	var outDataList []models.MerchantRechargeTicketListReply
+
+	//var merchantClientTicket shanghu.MerchantClientTicket
+
+	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
+	}
+
+	sqlData.ClientOpenID = inData.ClientOpenId
+	cashOutList, count, err := sqlData.MerchantRechargeTicketList(pageSize, pageIndex)
+	if err != nil {
+		app.Error(c, 500, err, err.Error())
+		return
+	}
+
+	for _, v := range cashOutList {
+		var merchant shanghu.Merchant
+		var outData models.MerchantRechargeTicketListReply
+		merchant.OpenId = v.MerchantOpenID
+		merchantData, err := merchant.GetMerchant()
+		if err != nil {
+			app.Error(c, 500, err, err.Error())
+			return
+		}
+		outData.MerchantOpenName = merchantData.MerchantName
+		outData.MerchantOpenID = v.MerchantOpenID
+		outData.ClientOpenID = v.ClientOpenID
+		outData.RechargeProjectQuantity = v.RechargeProjectQuantity
+		outData.RechargeProjectName = v.RechargeProjectName
+		outData.TicketId = v.ID
+		outDataList = append(outDataList, outData)
+	}
+
+	app.PageOK(c, outDataList, count, pageIndex, pageSize, app.Success)
+
+}

+ 59 - 0
apis/shanghu/merchant.recharge.client.account.go

@@ -0,0 +1,59 @@
+package shanghu
+
+import (
+	"duoduo/apis/shanghu/models"
+	"duoduo/models/shanghu"
+	"duoduo/tools/app"
+	"github.com/gin-gonic/gin"
+)
+
+func GetMerchantRechargeClientAccountList(c *gin.Context) {
+	var inData models.MerchantRechargeClientAccountListRequest
+	var sqlData shanghu.MerchantRechargeClientAccount
+	var outDataList []models.MerchantRechargeClientAccountListReply
+
+	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
+	}
+
+	sqlData.ClientOpenID = inData.ClientOpenId
+
+	cashOutList, count, err := sqlData.MerchantRechargeClientAccountList(pageSize, pageIndex)
+	if err != nil {
+		app.Error(c, 500, err, err.Error())
+		return
+	}
+
+	for _, v := range cashOutList {
+		var merchant shanghu.Merchant
+		var outData models.MerchantRechargeClientAccountListReply
+		merchant.OpenId = v.MerchantOpenID
+		merchantData, err := merchant.GetMerchant()
+		if err != nil {
+			app.Error(c, 500, err, err.Error())
+			return
+		}
+		outData.MerchantOpenName = merchantData.MerchantName
+		outData.MerchantOpenID = v.MerchantOpenID
+		outData.Amount = v.Amount.String()
+		outData.ClientOpenID = v.ClientOpenID
+		outData.AccountId = v.ID
+		outDataList = append(outDataList, outData)
+
+	}
+
+	app.PageOK(c, outDataList, count, pageIndex, pageSize, app.Success)
+
+}

+ 14 - 0
apis/shanghu/models/merchant.client.ticket.account.log.go

@@ -0,0 +1,14 @@
+package models
+
+type GetMerchantRechargeClientAccountLogListRequest struct {
+	MerchantOpenId string `json:"merchant_open_id"`
+	PageSize       int    `json:"page_size"`
+	PageIndex      int    `json:"page_index"`
+}
+
+type GetMerchantRechargeClientAccountLogListReply struct {
+	ClientUserId string `json:"client_user_id"`
+	Amount       string `json:"amount"`
+	RechargeName string `json:"recharge_name"`
+	RechargeTime string `json:"recharge_time"`
+}

+ 15 - 0
apis/shanghu/models/merchant.client.ticket.go

@@ -5,3 +5,18 @@ type MerchantRechargeRequest struct {
 	MerchantOpenID     string `json:"merchant_open_id"`     // Open id
 	MerchantRechargeID int64  `json:"merchant_recharge_id"` // 充值id
 }
+
+type MerchantRechargeTicketListRequest struct {
+	ClientOpenId string `json:"client_open_id"`
+	PageSize     int    `json:"page_size"`
+	PageIndex    int    `json:"page_index"`
+}
+
+type MerchantRechargeTicketListReply struct {
+	RechargeProjectQuantity int    `json:"recharge_project_quantity"` // 项目数量
+	RechargeProjectName     string `json:"recharge_project_name"`     // 项目名
+	MerchantOpenID          string `json:"merchant_open_id"`          //
+	ClientOpenID            string `json:"client_open_id"`            //
+	MerchantOpenName        string `json:"merchant_open_name"`        //商户名称
+	TicketId                int64  `json:"ticket_id"`
+}

+ 15 - 0
apis/shanghu/models/merchant.recharge.client.account.go

@@ -0,0 +1,15 @@
+package models
+
+type MerchantRechargeClientAccountListRequest struct {
+	ClientOpenId string `json:"client_open_id"`
+	PageSize     int    `json:"page_size"`
+	PageIndex    int    `json:"page_index"`
+}
+
+type MerchantRechargeClientAccountListReply struct {
+	ClientOpenID     string `json:"client_open_id"`
+	MerchantOpenID   string `json:"merchant_open_id"`
+	Amount           string `json:"amount"`
+	MerchantOpenName string `json:"merchant_open_name"`
+	AccountId        int64  `json:"account_id"`
+}

+ 15 - 0
models/shanghu/merchant.client.ticket.go

@@ -162,3 +162,18 @@ func (u *MerchantClientTicket) Recharge(recharge MerchantRecharge, clientOpenId
 
 	return nil
 }
+
+// list 接口使用
+func (m *MerchantClientTicket) MerchantRechargeTicketList(pageSize int, pageIndex int) ([]MerchantClientTicket, int, error) {
+	var doc []MerchantClientTicket
+
+	table := orm.ShMysql.Table(m.TableName())
+
+	table = table.Where("client_open_id = ? ", m.ClientOpenID)
+	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
+}

+ 16 - 0
models/shanghu/merchant.recharge.client.account.go

@@ -1,6 +1,7 @@
 package shanghu
 
 import (
+	orm "duoduo/database"
 	"github.com/shopspring/decimal"
 	"time"
 )
@@ -21,3 +22,18 @@ type MerchantRechargeClientAccount struct {
 func (m *MerchantRechargeClientAccount) TableName() string {
 	return "merchant_recharge_client_account"
 }
+
+// list 接口使用
+func (m *MerchantRechargeClientAccount) MerchantRechargeClientAccountList(pageSize int, pageIndex int) ([]MerchantRechargeClientAccount, int, error) {
+	var doc []MerchantRechargeClientAccount
+
+	table := orm.ShMysql.Table(m.TableName())
+
+	table = table.Where("client_open_id = ? ", m.ClientOpenID)
+	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
+}

+ 15 - 0
models/shanghu/merchant.recharge.client.account.log.go

@@ -39,3 +39,18 @@ func (u *MerchantRechargeClientAccountLog) Create() (MerchantRechargeClientAccou
 
 	return doc, nil
 }
+
+// list 接口使用
+func (m *MerchantRechargeClientAccountLog) MerchantRechargeClientAccountLogList(pageSize int, pageIndex int) ([]MerchantRechargeClientAccountLog, int, error) {
+	var doc []MerchantRechargeClientAccountLog
+
+	table := orm.ShMysql.Table(m.TableName())
+
+	table = table.Where("merchant_open_id = ? ", m.MerchantOpenID)
+	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
+}