瀏覽代碼

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

胡轶钦 6 年之前
父節點
當前提交
a94df925b8
共有 3 個文件被更改,包括 23 次插入12 次删除
  1. 12
    1
      controllers/bodycheck/bodycheck.go
  2. 11
    0
      controllers/goods/order.go
  3. 0
    11
      service/goods/orders.go

+ 12
- 1
controllers/bodycheck/bodycheck.go 查看文件

@@ -7,6 +7,7 @@ import (
7 7
 	"spaceofcheng/services/models/model"
8 8
 	"spaceofcheng/services/service/bodycheck"
9 9
 	"spaceofcheng/services/utils"
10
+	"sync"
10 11
 
11 12
 	"github.com/astaxie/beego"
12 13
 )
@@ -15,6 +16,8 @@ import (
15 16
 // 临时的解决方案是放到全局单例对象中
16 17
 var qrCodes map[string]string
17 18
 
19
+var mtx *sync.Mutex
20
+
18 21
 // BodyCheckController 商品
19 22
 type BodyCheckController struct {
20 23
 	serv *bodycheck.BodyCheckServ
@@ -67,8 +70,15 @@ func (c *BodyCheckController) GetCheckByUser() {
67 70
 
68 71
 // PostCheckResult 测量结果返回
69 72
 func (c *BodyCheckController) PostCheckResult() {
73
+	// 防止并发
74
+	mtx.Lock()
75
+
70 76
 	r := c.Ctx.Request
71
-	defer r.Body.Close()
77
+	defer func() {
78
+		r.Body.Close()
79
+		mtx.Unlock()
80
+	}()
81
+
72 82
 	con, _ := ioutil.ReadAll(r.Body) //获取post的数据
73 83
 
74 84
 	var formVal map[string]interface{}
@@ -98,4 +108,5 @@ func (c *BodyCheckController) PostCheckResult() {
98 108
 
99 109
 func init() {
100 110
 	qrCodes = make(map[string]string)
111
+	mtx = new(sync.Mutex)
101 112
 }

+ 11
- 0
controllers/goods/order.go 查看文件

@@ -8,9 +8,12 @@ import (
8 8
 	"spaceofcheng/services/models/model"
9 9
 	"spaceofcheng/services/utils"
10 10
 	"strconv"
11
+	"sync"
11 12
 	"time"
12 13
 )
13 14
 
15
+var mtx *sync.Mutex
16
+
14 17
 // GetOrderList 获取商品订单
15 18
 // 管理端 - 统计查询
16 19
 func (c *GoodsController) GetOrderList() {
@@ -86,6 +89,10 @@ func (c *GoodsController) GetOnlineOrder() {
86 89
 // PostOrder 下单
87 90
 // 微信端
88 91
 func (c *GoodsController) PostOrder() {
92
+	// 防止并发
93
+	mtx.Lock()
94
+	defer mtx.Unlock()
95
+
89 96
 	// 订单主信息
90 97
 	info := c.GetString("info")
91 98
 	if info == "" {
@@ -283,3 +290,7 @@ func (c *GoodsController) UpdateOrdersIntimidate() {
283 290
 	}
284 291
 	c.ResponseJSON("操作成功!")
285 292
 }
293
+
294
+func init() {
295
+	mtx = new(sync.Mutex)
296
+}

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

@@ -11,23 +11,16 @@ import (
11 11
 	"spaceofcheng/services/service/cases"
12 12
 	"spaceofcheng/services/utils"
13 13
 	"strconv"
14
-	"sync"
15 14
 	"time"
16 15
 
17 16
 	"github.com/yl10/kit/guid"
18 17
 )
19 18
 
20
-var mtx *sync.Mutex
21
-
22 19
 // Orders 下单
23 20
 func (s *GoodsServ) Orders(
24 21
 	info *model.TaGoodsOrders,
25 22
 	details []model.TaGoodsOrdersDetail,
26 23
 	customercouponid string) error {
27
-	// 防止并发
28
-	mtx.Lock()
29
-	defer mtx.Unlock()
30
-
31 24
 	// org := s.ctx.Get("org").(model.SysOrg)
32 25
 	cust := s.ctx.Get("customer").(model.TaCustomer)
33 26
 
@@ -595,7 +588,3 @@ func (s *GoodsServ) GetNewGoods(ordersID string) (*goods.OrdersWithGoods, error)
595 588
 
596 589
 	return order, nil
597 590
 }
598
-
599
-func init() {
600
-	mtx = new(sync.Mutex)
601
-}