Browse Source

修改roll房

neo 1 year ago
parent
commit
d939a1eb77
2 changed files with 98 additions and 0 deletions
  1. 1 0
      controllers/roll.go
  2. 97 0
      models/roll.go

+ 1 - 0
controllers/roll.go

@@ -32,6 +32,7 @@ func (c *RollController) Get() {
32 32
 
33 33
 	action := c.GetString("action")
34 34
 	if action == "update" {
35
+		models.InitRollInfo()
35 36
 		c.Data["json"] = &map[string]interface{}{"status": true}
36 37
 		c.ServeJSON()
37 38
 		return

+ 97 - 0
models/roll.go

@@ -40,6 +40,10 @@ type RollCondition struct {
40 40
 	Name         string
41 41
 }
42 42
 
43
+type RES_ROLL struct {
44
+	Code int `json:"code"` // 错误码
45
+}
46
+
43 47
 type RollConditionArray []*RollCondition
44 48
 
45 49
 var conditionList RollConditionArray
@@ -89,6 +93,8 @@ func InitRollInfo() {
89 93
 	rd := pool.Get()
90 94
 	defer rd.Close()
91 95
 
96
+	rollList = RollInfoArray{}
97
+
92 98
 	result, _ := redis.Values(rd.Do("smembers", ROLL_MAIN_KEY))
93 99
 	for _, v := range result {
94 100
 		id := utils.StringToInt(string(v.([]byte)))
@@ -205,6 +211,7 @@ func AddRollInfo(hf *RollInfo) error {
205 211
 	rollList = append(rollList, hf)
206 212
 	riMutex.Unlock()
207 213
 
214
+	SendGameAddRoll(hf.Id)
208 215
 	return nil
209 216
 }
210 217
 
@@ -267,6 +274,8 @@ func UpdateRollInfo(hf *RollInfo) error {
267 274
 	}
268 275
 	riMutex.Unlock()
269 276
 
277
+	SendGameUpdateRoll(hf.Id)
278
+
270 279
 	return nil
271 280
 }
272 281
 
@@ -321,6 +330,7 @@ func DelRollInfoById(id int) error {
321 330
 			rollList = append(rollList[:i], rollList[ii:]...)
322 331
 		}
323 332
 	}
333
+	SendGameDeleteRoll(id)
324 334
 
325 335
 	return nil
326 336
 }
@@ -342,6 +352,8 @@ func del_unactive_roll_info(id int) error {
342 352
 	}
343 353
 	rd.Do("srem", ROLL_MAIN_KEY, id)
344 354
 
355
+	SendGameDeleteRoll(id)
356
+
345 357
 	return nil
346 358
 }
347 359
 
@@ -374,6 +386,7 @@ func GetRollInfoList() RollInfoArray {
374 386
 	for _, v := range rollList {
375 387
 		if v.AwardTime > currTime {
376 388
 			_rollList = append(_rollList, v)
389
+		} else {
377 390
 			del_unactive_roll_info(v.Id)
378 391
 		}
379 392
 	}
@@ -384,3 +397,87 @@ func GetRollInfoList() RollInfoArray {
384 397
 func GetRollConditionList() RollConditionArray {
385 398
 	return conditionList
386 399
 }
400
+
401
+// 游戏服 - 新增
402
+func SendGameAddRoll(id int) error {
403
+	params := make(map[string]interface{})
404
+	params["name"] = "gm_add_roll"
405
+	data := make(map[string]interface{})
406
+	data["id"] = id
407
+	params["data"] = data
408
+
409
+	body, _ := json.Marshal(params)
410
+	host := utils.GetKeyConf("gameservers", "web")
411
+	sign := utils.Strtomd5(string(body) + utils.GetKeyConf("app", "gameKey"))
412
+	url := "http://" + host + "/json?sign=" + sign
413
+	buff, err := utils.SendAndRecvHTTP("POST", url, string(body))
414
+	if err != nil {
415
+		return err
416
+	}
417
+
418
+	var res RES_ROLL
419
+	err = json.Unmarshal(buff, &res)
420
+	if err != nil {
421
+		return err
422
+	}
423
+	if res.Code != 200 {
424
+		return fmt.Errorf("code:%d", res.Code)
425
+	}
426
+	return nil
427
+}
428
+
429
+// 游戏服 - 更新
430
+func SendGameUpdateRoll(id int) error {
431
+	params := make(map[string]interface{})
432
+	params["name"] = "gm_update_roll"
433
+	data := make(map[string]interface{})
434
+	data["id"] = id
435
+	params["data"] = data
436
+
437
+	body, _ := json.Marshal(params)
438
+	host := utils.GetKeyConf("gameservers", "web")
439
+	sign := utils.Strtomd5(string(body) + utils.GetKeyConf("app", "gameKey"))
440
+	url := "http://" + host + "/json?sign=" + sign
441
+	buff, err := utils.SendAndRecvHTTP("POST", url, string(body))
442
+	if err != nil {
443
+		return err
444
+	}
445
+
446
+	var res RES_ROLL
447
+	err = json.Unmarshal(buff, &res)
448
+	if err != nil {
449
+		return err
450
+	}
451
+	if res.Code != 200 {
452
+		return fmt.Errorf("code:%d", res.Code)
453
+	}
454
+	return nil
455
+}
456
+
457
+// 游戏服 - 更新
458
+func SendGameDeleteRoll(id int) error {
459
+	params := make(map[string]interface{})
460
+	params["name"] = "gm_del_roll"
461
+	data := make(map[string]interface{})
462
+	data["id"] = id
463
+	params["data"] = data
464
+
465
+	body, _ := json.Marshal(params)
466
+	host := utils.GetKeyConf("gameservers", "web")
467
+	sign := utils.Strtomd5(string(body) + utils.GetKeyConf("app", "gameKey"))
468
+	url := "http://" + host + "/json?sign=" + sign
469
+	buff, err := utils.SendAndRecvHTTP("POST", url, string(body))
470
+	if err != nil {
471
+		return err
472
+	}
473
+
474
+	var res RES_ROLL
475
+	err = json.Unmarshal(buff, &res)
476
+	if err != nil {
477
+		return err
478
+	}
479
+	if res.Code != 200 {
480
+		return fmt.Errorf("code:%d", res.Code)
481
+	}
482
+	return nil
483
+}