Browse Source

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

k.zhang 4 years ago
parent
commit
509aa1ffa5
4 changed files with 78 additions and 0 deletions
  1. 1 0
      apis/user/base.go
  2. 48 0
      apis/user/user.order.get.go
  3. 16 0
      models/mysql/order.go
  4. 13 0
      models/user/user.order.get.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)   //获取订单列表
 	}
 }

+ 48 - 0
apis/user/user.order.get.go

@@ -1 +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 outData user.OrderGetResponse
+	//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
+}

+ 13 - 0
models/user/user.order.get.go

@@ -0,0 +1,13 @@
+package user
+
+import "duoduo/models/mysql"
+
+type OrderGetRequest struct {
+	OpenId    string `json:"openId"`
+	PageSize  int    `json:"pageSize"`
+	PageIndex int    `json:"pageIndex"`
+}
+
+type OrderGetResponse struct {
+	Order []mysql.Order `json:"order"`
+}