|
@@ -6,11 +6,14 @@ import (
|
|
|
mhayaHttp "github.com/mhaya/extend/http"
|
|
|
mhayaTime "github.com/mhaya/extend/time"
|
|
|
"github.com/mhaya/game/game_cluster/internal/code"
|
|
|
+ "github.com/mhaya/game/game_cluster/internal/constant"
|
|
|
+ "github.com/mhaya/game/game_cluster/internal/mdb/models"
|
|
|
"github.com/mhaya/game/game_cluster/internal/param"
|
|
|
mhayaLogger "github.com/mhaya/logger"
|
|
|
pomeloClient "github.com/mhaya/net/parser/pomelo/client"
|
|
|
"math/rand"
|
|
|
"strconv"
|
|
|
+ "sync"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -26,46 +29,47 @@ var (
|
|
|
|
|
|
func main() {
|
|
|
|
|
|
- accounts := make(map[string]*param.LoginReq)
|
|
|
- for i := 1; i <= maxRobotNum; i++ {
|
|
|
- str := strconv.Itoa(i)
|
|
|
- accounts[str] = ¶m.LoginReq{
|
|
|
- Pid: 2,
|
|
|
- OpenID: str,
|
|
|
- Platform: "ios",
|
|
|
- Channel: "tg",
|
|
|
- }
|
|
|
+ var wg sync.WaitGroup
|
|
|
+
|
|
|
+ //accounts := make(map[string]*param.LoginReq)
|
|
|
+ //for i := 1; i <= maxRobotNum; i++ {
|
|
|
+ // str := strconv.Itoa(i)
|
|
|
+ // accounts[str] = ¶m.LoginReq{
|
|
|
+ // Pid: 2,
|
|
|
+ // OpenID: str,
|
|
|
+ // Platform: "ios",
|
|
|
+ // Channel: "tg",
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //var Url = ""
|
|
|
+ //for _, val := range accounts {
|
|
|
+ // k := rand.Intn(2)
|
|
|
+ // if k == 1 {
|
|
|
+ // Url = url2
|
|
|
+ // } else {
|
|
|
+ // Url = url
|
|
|
+ // }
|
|
|
+ // fmt.Println(Url)
|
|
|
+ // time.Sleep(200 * time.Millisecond)
|
|
|
+ // go RunRobot(Url, val)
|
|
|
+ //}
|
|
|
+
|
|
|
+ // 邀请排行榜机器人
|
|
|
+ accounts := BuildAccount(1)
|
|
|
+ for _, account := range accounts {
|
|
|
+ wg.Add(1)
|
|
|
+ InviteRankRobot(account, &wg)
|
|
|
}
|
|
|
- var Url = ""
|
|
|
- for _, val := range accounts {
|
|
|
- k := rand.Intn(2)
|
|
|
- if k == 1 {
|
|
|
- Url = url2
|
|
|
- } else {
|
|
|
- Url = url
|
|
|
- }
|
|
|
- fmt.Println(Url)
|
|
|
- time.Sleep(200 * time.Millisecond)
|
|
|
- go RunRobot(Url, val)
|
|
|
- }
|
|
|
-
|
|
|
+ wg.Wait()
|
|
|
}
|
|
|
|
|
|
var Player = []string{"28q1PjXEh3M", "28q1PjY2LSm", "28q1PjYpgFW", "28q1PjYLLvw", "28qeTc4cwBj", "28q1RgBeGYq", "28q1PjYLLvx", "28qfgUzvh67", "28qeLPTxn79", "28qfBVzrRqm", "28qf5VTadno", "28qfdrK9yVN", "28qg8W7Lbmh"}
|
|
|
|
|
|
func RunRobot(url string, val *param.LoginReq) {
|
|
|
- token := RegisterDevAccount(url, val)
|
|
|
- if token == "" {
|
|
|
- return
|
|
|
- }
|
|
|
- params := map[string]interface{}{
|
|
|
- "nickName": "guest" + val.OpenID,
|
|
|
- }
|
|
|
- Login(url, params, token)
|
|
|
+ token, _ := RegisterAndLogin(url, val)
|
|
|
|
|
|
- time.Sleep(time.Duration(rand.Int31n(2)) * time.Millisecond)
|
|
|
num1 := rand.Intn(12)
|
|
|
- params = map[string]interface{}{
|
|
|
+ params := map[string]interface{}{
|
|
|
"parentName": Player[num1],
|
|
|
}
|
|
|
time.Sleep(time.Duration(rand.Int31n(10)) * time.Millisecond)
|
|
@@ -90,7 +94,55 @@ func RunRobot(url string, val *param.LoginReq) {
|
|
|
}
|
|
|
|
|
|
}(url, token)
|
|
|
+}
|
|
|
+
|
|
|
+// 邀请排行榜机器人
|
|
|
+func InviteRankRobot(account *param.LoginReq, wg *sync.WaitGroup) {
|
|
|
+ defer wg.Done()
|
|
|
+ // 注册邀请人账号
|
|
|
+ _, userName := RegisterAndLogin(url, account)
|
|
|
+ //
|
|
|
+ //params := map[string]interface{}{
|
|
|
+ // "parentName": userName,
|
|
|
+ //}
|
|
|
+ // 注册被邀请人账号并填写邀请
|
|
|
+ RegisterAndLogin(url, account)
|
|
|
+
|
|
|
+ time.Sleep(time.Duration(rand.Int31n(10)) * time.Millisecond)
|
|
|
+
|
|
|
+ //Invite(url, params, token)
|
|
|
|
|
|
+ //设置邀请榜单
|
|
|
+ models.SetRank(constant.RankSourceInvite, 0, userName, 1)
|
|
|
+}
|
|
|
+
|
|
|
+func BuildAccount(total int) []*param.LoginReq {
|
|
|
+ accounts := make([]*param.LoginReq, 0)
|
|
|
+ for i := 1; i <= total; i++ {
|
|
|
+ str := strconv.Itoa(i)
|
|
|
+ accounts = append(accounts, ¶m.LoginReq{
|
|
|
+ Pid: 2,
|
|
|
+ OpenID: str,
|
|
|
+ Platform: "ios",
|
|
|
+ Channel: "tg",
|
|
|
+ })
|
|
|
+ }
|
|
|
+ return accounts
|
|
|
+}
|
|
|
+
|
|
|
+// 注册并登录
|
|
|
+func RegisterAndLogin(url string, val *param.LoginReq) (string, string) {
|
|
|
+ token := RegisterDevAccount(url, val)
|
|
|
+ if token == "" {
|
|
|
+ return "", ""
|
|
|
+ }
|
|
|
+ params := map[string]interface{}{
|
|
|
+ "nickName": "guest" + val.OpenID,
|
|
|
+ }
|
|
|
+ userName := Login(url, params, token)
|
|
|
+
|
|
|
+ time.Sleep(time.Duration(rand.Int31n(2)) * time.Millisecond)
|
|
|
+ return token, userName
|
|
|
}
|
|
|
|
|
|
func RegisterDevAccount(url string, val *param.LoginReq) string {
|
|
@@ -102,6 +154,7 @@ func RegisterDevAccount(url string, val *param.LoginReq) string {
|
|
|
"platform": val.Platform,
|
|
|
"channel": val.Channel,
|
|
|
}
|
|
|
+
|
|
|
jsonBytes, _, err := mhayaHttp.PostJSON(requestURL, params)
|
|
|
if err != nil {
|
|
|
mhayaLogger.Warn(err)
|
|
@@ -121,23 +174,26 @@ func RegisterDevAccount(url string, val *param.LoginReq) string {
|
|
|
return ""
|
|
|
}
|
|
|
|
|
|
-func Login(url string, params map[string]interface{}, token string) {
|
|
|
+func Login(url string, params map[string]interface{}, token string) string {
|
|
|
requestURL := fmt.Sprintf("%s/login", url)
|
|
|
jsonBytes, err := mhayaHttp.PostJSONWithHeader(requestURL, params, token)
|
|
|
if err != nil {
|
|
|
mhayaLogger.Warn(err)
|
|
|
- return
|
|
|
+ return ""
|
|
|
}
|
|
|
|
|
|
rsp := &code.Result{}
|
|
|
err = jsoniter.Unmarshal(jsonBytes, rsp)
|
|
|
if err != nil {
|
|
|
mhayaLogger.Warn(err)
|
|
|
- return
|
|
|
+ return ""
|
|
|
}
|
|
|
|
|
|
mhayaLogger.Debugf("Login OK")
|
|
|
|
|
|
+ m := rsp.Data.(map[string]interface{})
|
|
|
+ i := m["userName"]
|
|
|
+ return i.(string)
|
|
|
}
|
|
|
|
|
|
func Roll(url string, params map[string]interface{}, token string) {
|