wangfei 6 lat temu
rodzic
commit
712ebbaf00
4 zmienionych plików z 45 dodań i 0 usunięć
  1. 10
    0
      controllers/goods/order.go
  2. 14
    0
      models/goods/orders.go
  3. 3
    0
      routers/wechat.go
  4. 18
    0
      service/goods/orders.go

+ 10
- 0
controllers/goods/order.go Wyświetl plik

@@ -248,3 +248,13 @@ func (c *GoodsController) GetCustomerOrders() {
248 248
 	}
249 249
 	c.ResponseJSON(orders)
250 250
 }
251
+
252
+// GetCaseOrdersNum 获取案场订单数量
253
+func (c *GoodsController) GetCaseOrdersNum() {
254
+	caseid := c.GetString(":caseid")
255
+	num, err := c.serv.GetCaseOrdersNum(caseid)
256
+	if err != nil {
257
+		c.ResponseError(err)
258
+	}
259
+	c.ResponseJSON(num)
260
+}

+ 14
- 0
models/goods/orders.go Wyświetl plik

@@ -239,3 +239,17 @@ func (m *GoodsDAO) GetCustomerOrdersCount(custID string) (int, error) {
239 239
 	}
240 240
 	return len(orderList), nil
241 241
 }
242
+
243
+// GetOrdersCountByCase 根据案场获取订单信息
244
+func (m *GoodsDAO) GetOrdersCountByCase(caseid string) (int64, error) {
245
+	order := new(model.TaGoodsOrders)
246
+	total, err := m.db.Where("case_id = ?", caseid).And("status>"+strconv.Itoa(models.STATUS_DEL)).SumInt(order, "orders_num")
247
+	return total, err
248
+}
249
+
250
+// GetMonthOrdersCountByCase 获取案场本月的订单数量
251
+func (m *GoodsDAO) GetMonthOrdersCountByCase(caseid string) (int64, error) {
252
+	order := new(model.TaGoodsOrders)
253
+	total, err := m.db.Where("case_id = ?", caseid).And("status>"+strconv.Itoa(models.STATUS_DEL)).And("date_format(create_date,'%Y-%m')=date_format(NOW(),'%Y-%m')").SumInt(order, "orders_num")
254
+	return total, err
255
+}

+ 3
- 0
routers/wechat.go Wyświetl plik

@@ -25,5 +25,8 @@ func getWechatRoutes() beego.LinkNamespace {
25 25
 
26 26
 		// 商品订单
27 27
 		beego.NSRouter("/goods/user", &goods.GoodsController{}, "get:GetCustomerOrders"),
28
+
29
+		// 案场订单数量
30
+		beego.NSRouter("/goods/case/:caseid", &goods.GoodsController{}, "get:GetCaseOrdersNum"),
28 31
 	)
29 32
 }

+ 18
- 0
service/goods/orders.go Wyświetl plik

@@ -415,3 +415,21 @@ func (s *GoodsServ) GetCustomerOrders(page, pageSize int) (map[string]interface{
415 415
 		"page":     page,
416 416
 	}, nil
417 417
 }
418
+
419
+// GetCaseOrdersNum 获取案场订单数量
420
+func (s *GoodsServ) GetCaseOrdersNum(caseid string) (map[string]interface{}, error) {
421
+	total, err := s.dao.GetOrdersCountByCase(caseid)
422
+	if err != nil {
423
+		utils.LogError("获取案场订单数量失败: " + err.Error())
424
+		return nil, errors.New("获取案场信息失败")
425
+	}
426
+	monthtotal, err := s.dao.GetMonthOrdersCountByCase(caseid)
427
+	if err != nil {
428
+		utils.LogError("获取月案场订单数量失败: " + err.Error())
429
+		return nil, errors.New("获取案场信息失败")
430
+	}
431
+	return map[string]interface{}{
432
+		"total":      total,
433
+		"monthtotal": monthtotal,
434
+	}, nil
435
+}