|
@@ -1,15 +1,126 @@
|
1
|
1
|
package goods
|
2
|
2
|
|
|
3
|
+import (
|
|
4
|
+ "encoding/json"
|
|
5
|
+ "errors"
|
|
6
|
+ "spaceofcheng/services/models/model"
|
|
7
|
+ "spaceofcheng/services/utils"
|
|
8
|
+ "time"
|
|
9
|
+)
|
|
10
|
+
|
3
|
11
|
// GetOrderList 获取商品订单
|
4
|
12
|
// 管理端 - 统计查询
|
5
|
13
|
func (c *GoodsController) GetOrderList() {
|
6
|
|
- // caseID := c.GetString("caseid")
|
7
|
|
- // userType := c.GetString("usertype")
|
8
|
|
- // status := c.GetString("status")
|
9
|
|
- // orderStart := c.GetString("startdate")
|
10
|
|
- // orderEnd := c.GetString("enddate")
|
|
14
|
+ caseID := c.GetString("caseid")
|
|
15
|
+ if caseID == "" {
|
|
16
|
+ c.ResponseError(errors.New("请选择有效案场"))
|
|
17
|
+ }
|
|
18
|
+
|
|
19
|
+ userType := c.GetString("usertype")
|
|
20
|
+ status := c.GetString("status")
|
|
21
|
+ orderStart := c.GetString("startdate")
|
|
22
|
+ orderEnd := c.GetString("enddate")
|
|
23
|
+
|
|
24
|
+ page, _ := c.GetInt("page")
|
|
25
|
+ pagesize, _ := c.GetInt("pagesize")
|
|
26
|
+
|
|
27
|
+ var orderDate []time.Time
|
|
28
|
+
|
|
29
|
+ if orderStart != "" {
|
|
30
|
+ t, err := time.Parse("20060102150405", orderStart)
|
|
31
|
+ if err != nil {
|
|
32
|
+ utils.LogError("接收时间参数失败: " + err.Error())
|
|
33
|
+ c.ResponseError(errors.New("接收时间参数失败"))
|
|
34
|
+ }
|
|
35
|
+
|
|
36
|
+ orderDate = []time.Time{t}
|
|
37
|
+ }
|
|
38
|
+
|
|
39
|
+ if orderEnd != "" {
|
|
40
|
+ t, err := time.Parse("20060102150405", orderEnd)
|
|
41
|
+ if err != nil {
|
|
42
|
+ utils.LogError("接收时间参数失败: " + err.Error())
|
|
43
|
+ c.ResponseError(errors.New("接收时间参数失败"))
|
|
44
|
+ }
|
|
45
|
+
|
|
46
|
+ if orderDate == nil {
|
|
47
|
+ orderDate = make([]time.Time, 0)
|
|
48
|
+ }
|
|
49
|
+ orderDate = append(orderDate, t)
|
|
50
|
+ }
|
|
51
|
+
|
|
52
|
+ list, total, err := c.serv.GetOrderList(caseID, userType, status, orderDate, page, pagesize)
|
|
53
|
+ if err != nil {
|
|
54
|
+ c.ResponseError(err)
|
|
55
|
+ }
|
|
56
|
+
|
|
57
|
+ c.ResponseJSON(map[string]interface{}{
|
|
58
|
+ "list": list,
|
|
59
|
+ "pagesize": pagesize,
|
|
60
|
+ "pagenum": total,
|
|
61
|
+ "page": page,
|
|
62
|
+ })
|
|
63
|
+}
|
|
64
|
+
|
|
65
|
+// GetOnlineOrder 获取在线订单
|
|
66
|
+// 管理端 - 有 websocket 操作
|
|
67
|
+func (c *GoodsController) GetOnlineOrder() {
|
|
68
|
+ caseID := c.GetString("caseid")
|
|
69
|
+ if caseID == "" {
|
|
70
|
+ c.ResponseError(errors.New("请选择有效案场"))
|
|
71
|
+ }
|
|
72
|
+
|
|
73
|
+ list, err := c.serv.GetOnLineOrders(caseID)
|
|
74
|
+ if err != nil {
|
|
75
|
+ c.ResponseError(err)
|
|
76
|
+ }
|
|
77
|
+
|
|
78
|
+ c.ResponseJSON(map[string]interface{}{
|
|
79
|
+ "list": list,
|
|
80
|
+ })
|
|
81
|
+}
|
|
82
|
+
|
|
83
|
+// PostOrder 下单
|
|
84
|
+// 微信端
|
|
85
|
+func (c *GoodsController) PostOrder() {
|
|
86
|
+ // 订单主信息
|
|
87
|
+ info := c.GetString("info")
|
|
88
|
+ if info == "" {
|
|
89
|
+ c.ResponseError(errors.New("无有效订单信息"))
|
|
90
|
+ }
|
|
91
|
+
|
|
92
|
+ // 订单详情
|
|
93
|
+ detail := c.GetString("detail")
|
|
94
|
+ if detail == "" {
|
|
95
|
+ c.ResponseError(errors.New("无有效订单详情信息"))
|
|
96
|
+ }
|
|
97
|
+
|
|
98
|
+ // 订单优惠券
|
|
99
|
+ coupon := c.GetString("coupon")
|
|
100
|
+
|
|
101
|
+ //
|
|
102
|
+ var orderInfo model.TaGoodsOrders
|
|
103
|
+ var orderDetail []model.TaGoodsOrdersDetail
|
|
104
|
+ var orderCoupon []model.TaGoodsOrdersCoupon
|
|
105
|
+
|
|
106
|
+ if err := json.Unmarshal([]byte(info), &orderInfo); err != nil {
|
|
107
|
+ utils.LogError("下单转换JSON失败: " + err.Error())
|
|
108
|
+ c.ResponseError(errors.New("下单数据格式不正确"))
|
|
109
|
+ }
|
|
110
|
+
|
|
111
|
+ if err := json.Unmarshal([]byte(detail), &orderDetail); err != nil {
|
|
112
|
+ utils.LogError("下单详情转换JSON失败: " + err.Error())
|
|
113
|
+ c.ResponseError(errors.New("详情数据格式不正确"))
|
|
114
|
+ }
|
|
115
|
+
|
|
116
|
+ if err := json.Unmarshal([]byte(coupon), &orderCoupon); err != nil {
|
|
117
|
+ utils.LogError("下单优惠转换JSON失败: " + err.Error())
|
|
118
|
+ c.ResponseError(errors.New("优惠数据格式不正确"))
|
|
119
|
+ }
|
11
|
120
|
|
12
|
|
- // page, _ := c.GetInt("page")
|
13
|
|
- // pagesize, _ := c.GetInt("pagesize")
|
|
121
|
+ if err := c.serv.Orders(&orderInfo, orderDetail, orderCoupon); err != nil {
|
|
122
|
+ c.ResponseError(err)
|
|
123
|
+ }
|
14
|
124
|
|
|
125
|
+ c.ResponseJSON("ok")
|
15
|
126
|
}
|