浏览代码

Merge branch 'dev' of http://git.ycjcjy.com/SpaceOfCheng/services into dev

yansen 6 年前
父节点
当前提交
d9bb00faaf
共有 2 个文件被更改,包括 23 次插入0 次删除
  1. 15
    0
      models/goods/orders.go
  2. 8
    0
      service/goods/orders.go

+ 15
- 0
models/goods/orders.go 查看文件

@@ -325,3 +325,18 @@ func (m *GoodsDAO) GetOrderDetailByUser(caseid, userid string) ([]model.TaGoodsO
325 325
 	}
326 326
 	return details, nil
327 327
 }
328
+
329
+// GetOrderNumByUserNow 查询用户一分钟内有无订单
330
+func (m *GoodsDAO) GetOrderNumByUserNow(userId string) (int, error) {
331
+	var order []model.TaGoodsOrders
332
+	sql := `SELECT
333
+	*
334
+FROM
335
+	ta_goods_orders 
336
+WHERE 
337
+	user_id = '` + userId + `' 
338
+	AND DATE_FORMAT( create_date, '%Y-%m-%d %H:%i:%s' ) <= DATE_FORMAT( date_sub( now( ), INTERVAL 5 SECOND ), '%Y-%m-%d %H:%i:%s' ) 
339
+	AND status = ` + strconv.Itoa(models.STATUS_NORMAL)
340
+	err := m.db.Sql(sql).Find(&order)
341
+	return len(order), err
342
+}

+ 8
- 0
service/goods/orders.go 查看文件

@@ -34,6 +34,14 @@ func (s *GoodsServ) Orders(
34 34
 	info.OrdersId = guid.NewGUIDString()
35 35
 	info.MakeStatus = goods.MAKESTATUS_NOTSTARTED
36 36
 	info.UserId = cust.CustomerId
37
+	num, err := s.dao.GetOrderNumByUserNow(info.UserId)
38
+	if err != nil {
39
+		utils.LogError("获取5秒钟内是否下单错误:", err)
40
+		return errors.New("获取5秒钟内是否下单错误")
41
+	}
42
+	if num > 0 {
43
+		return errors.New("您五秒钟内只能下一单。")
44
+	}
37 45
 
38 46
 	// 校验下单内容
39 47
 	if err := s.validOrdersInfo(info); err != nil {