k.zhang 4 jaren geleden
bovenliggende
commit
0517e5df17
3 gewijzigde bestanden met toevoegingen van 57 en 7 verwijderingen
  1. 1 0
      apis/user/base.go
  2. 40 7
      apis/user/user.order.get.go
  3. 16 0
      models/mysql/order.go

+ 1 - 0
apis/user/base.go

@@ -8,5 +8,6 @@ func InitUserRouter(engine *gin.RouterGroup) {
 		v1.POST("/user/open.id/set", OpenIdSet) //设置openId
 		v1.POST("/user/pid/get", PidGet)        //获取pid
 		v1.POST("/user/wallet/get", WalletGet)  //用户钱包信息
+		v1.POST("/user/order/list", OrderGet)   //获取订单列表
 	}
 }

+ 40 - 7
apis/user/user.order.get.go

@@ -1,16 +1,49 @@
 package user
 
 import (
+	"duoduo/models/mysql"
+	"duoduo/models/user"
+	"duoduo/tools/app"
 	"github.com/gin-gonic/gin"
 )
 
 func OrderGet(c *gin.Context) {
-	//var inData user.OrderGetRequest
+	var inData user.OrderGetRequest
 	//var outData user.OrderGetResponse
-	//var order mysql.Order
-	//err := c.ShouldBindJSON(&inData)
-	//if err != nil {
-	//	app.Error(c, 400, err, err.Error())
-	//	return
-	//}
+	//var order []mysql.Order
+	var orderOpneId mysql.Order
+	var pid mysql.Pid
+
+	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
+	}
+
+	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)
+	if err != nil {
+		app.Error(c, 500, err, err.Error())
+		return
+	}
+
+	app.PageOK(c, orderVal, count, pageIndex, pageSize, app.Success)
 }

+ 16 - 0
models/mysql/order.go

@@ -97,3 +97,19 @@ func (o *Order) Update(orderId string) (update Order, err error) {
 	}
 	return
 }
+
+//list 接口使用
+func (o *Order) GetOrderList(pageSize int, pageIndex int) ([]Order, int, error) {
+	var doc []Order
+
+	table := orm.Eloquent.Table(o.TableName())
+
+	table = table.Where("p_id = ?  ", o.PID)
+
+	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").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
+}