Commit 87e4d89f08934fdc22f6aed5b8746d5f541f7b42
1 parent
537b64ea
Exists in
master
提交提现相关接口
Showing
4 changed files
with
382 additions
and
16 deletions
Show diff stats
src/HttpServer/logic/datadef.go
| @@ -263,14 +263,22 @@ type QuerydrawrewardResp struct { | @@ -263,14 +263,22 @@ type QuerydrawrewardResp struct { | ||
| 263 | Data QuerydrawrewardData `json:"data"` | 263 | Data QuerydrawrewardData `json:"data"` |
| 264 | } | 264 | } |
| 265 | 265 | ||
| 266 | +type QuerygetcashinfoData struct { | ||
| 267 | + Logindaysum int `json:"logindaysum"` | ||
| 268 | + Logindaycontinue int `json:"logindaycontinue"` | ||
| 269 | + Cashdata []WithDrawDesc `json:"cashdata"` | ||
| 270 | +} | ||
| 271 | + | ||
| 272 | +type QuerygetcashinfoResp struct { | ||
| 273 | + Code int `json:"code"` | ||
| 274 | + Message string `json:"message"` | ||
| 275 | + Data QuerygetcashinfoData `json:"data"` | ||
| 276 | +} | ||
| 277 | + | ||
| 266 | type GetcashReq struct { | 278 | type GetcashReq struct { |
| 267 | - Gameid string `json:"gameid"` | ||
| 268 | - Channel string `json:"channel"` | ||
| 269 | - Money float32 `json:"money"` | ||
| 270 | - Openid string `json:"openid"` | ||
| 271 | - Nickname string `json:"nickname"` | ||
| 272 | - Headurl string `json:"headurl"` | ||
| 273 | - Ver string `json:"ver"` | 279 | + Money float32 `json:"money"` |
| 280 | + Openid string `json:"openid"` | ||
| 281 | + Ver string `json:"ver"` | ||
| 274 | } | 282 | } |
| 275 | 283 | ||
| 276 | type CommReq struct { | 284 | type CommReq struct { |
src/HttpServer/logic/function.go
| @@ -377,6 +377,16 @@ func InitTaskAndAchievement(uuid int, channel string) error { | @@ -377,6 +377,16 @@ func InitTaskAndAchievement(uuid int, channel string) error { | ||
| 377 | return nil | 377 | return nil |
| 378 | } | 378 | } |
| 379 | 379 | ||
| 380 | +func (uinfo *UserData) GetWithDrawData(money float32) (int, *WithDrawDesc) { | ||
| 381 | + //处理提现状态 | ||
| 382 | + for k, val := range uinfo.WithDraw.Cashdata { | ||
| 383 | + if val.Cnum == money { | ||
| 384 | + return k, &val | ||
| 385 | + } | ||
| 386 | + } | ||
| 387 | + return -1, nil | ||
| 388 | +} | ||
| 389 | + | ||
| 380 | func InitUserInfo(resp *UserLoginResp, uniqueuid, gameid, channel string, uuid int) error { | 390 | func InitUserInfo(resp *UserLoginResp, uniqueuid, gameid, channel string, uuid int) error { |
| 381 | 391 | ||
| 382 | var initdata UserData | 392 | var initdata UserData |
| @@ -477,6 +487,173 @@ func GetUserSelfData(uniqueid string) (string, error) { | @@ -477,6 +487,173 @@ func GetUserSelfData(uniqueid string) (string, error) { | ||
| 477 | return data, nil | 487 | return data, nil |
| 478 | } | 488 | } |
| 479 | 489 | ||
| 490 | +func GetCashList(uuid int, gameid string, channel string, start int, number int) (*[]WithDrawRecord, error) { | ||
| 491 | + SERVERKEY := conf.GetCoinConf().Key | ||
| 492 | + /*if gameid == "1015" { | ||
| 493 | + SERVERKEY = XIAOXINGXING_SERVERKEYTEST_1015 | ||
| 494 | + }*/ | ||
| 495 | + | ||
| 496 | + var paramlist []string | ||
| 497 | + var params GetCashListDesc | ||
| 498 | + params.Sign_type = "md5" | ||
| 499 | + params.Gameid = gameid | ||
| 500 | + params.Channel = channel | ||
| 501 | + params.Uid = uuid | ||
| 502 | + params.Time_stamp = strconv.Itoa(int(time.Now().Unix())) | ||
| 503 | + params.Start = start | ||
| 504 | + params.Number = number | ||
| 505 | + signtypestr := "sign_type=" + params.Sign_type | ||
| 506 | + timestampstr := "time_stamp=" + strconv.Itoa(int(time.Now().Unix())) | ||
| 507 | + paramgameid := "gameid=" + gameid | ||
| 508 | + pchannel := "channel=" + channel | ||
| 509 | + puid := "uid=" + strconv.Itoa(uuid) | ||
| 510 | + pstart := "start=" + strconv.Itoa(start) | ||
| 511 | + pnumber := "number=" + strconv.Itoa(number) | ||
| 512 | + paramlist = append(paramlist, signtypestr) | ||
| 513 | + paramlist = append(paramlist, timestampstr) | ||
| 514 | + paramlist = append(paramlist, paramgameid) | ||
| 515 | + paramlist = append(paramlist, pchannel) | ||
| 516 | + paramlist = append(paramlist, puid) | ||
| 517 | + if start != 0 { | ||
| 518 | + paramlist = append(paramlist, pstart) | ||
| 519 | + } | ||
| 520 | + | ||
| 521 | + paramlist = append(paramlist, pnumber) | ||
| 522 | + | ||
| 523 | + sumparam := GettotalParam(paramlist) | ||
| 524 | + //加serverkey | ||
| 525 | + signsum := sumparam + SERVERKEY | ||
| 526 | + logger.Info("GetCashList sumparam=%v", signsum) | ||
| 527 | + | ||
| 528 | + //进行hash | ||
| 529 | + sign := GetHashValue(signsum) | ||
| 530 | + params.Sign = sign | ||
| 531 | + | ||
| 532 | + bys, err := json.Marshal(¶ms) | ||
| 533 | + if err != nil { | ||
| 534 | + logger.Error("GetCashList failed=%v", err) | ||
| 535 | + return nil, err | ||
| 536 | + } | ||
| 537 | + res, err := DoHttpPost(bys, "api/server/tixian/lst") | ||
| 538 | + if err != nil { | ||
| 539 | + logger.Error("GetCashList failed=%v", err) | ||
| 540 | + return nil, err | ||
| 541 | + } | ||
| 542 | + | ||
| 543 | + logger.Info("GetCashList res=%v", res) | ||
| 544 | + | ||
| 545 | + var resp GetCashListResp | ||
| 546 | + err = json.Unmarshal([]byte(res), &resp) | ||
| 547 | + if err != nil { | ||
| 548 | + logger.Error("GetCoinFromSdk failed=%v", err) | ||
| 549 | + return nil, err | ||
| 550 | + } | ||
| 551 | + | ||
| 552 | + if resp.Code != "0" { | ||
| 553 | + logger.Error("GetCoinFromSdk failed=%v", resp.Msg) | ||
| 554 | + return nil, err | ||
| 555 | + } | ||
| 556 | + return &resp.Data, nil | ||
| 557 | +} | ||
| 558 | + | ||
| 559 | +func GetCashFromSDK(uuid int, goldnum int, gameid, channel, openid, nickname, headurl, ver string, checkcoin int) (int, error) { | ||
| 560 | + | ||
| 561 | + SERVERKEY := conf.GetCoinConf().Key | ||
| 562 | + | ||
| 563 | + if goldnum == 0 || uuid == 0 || gameid == "" || channel == "" || openid == "" || ver == "" { | ||
| 564 | + logger.Error("GetCashFromSDK param empty") | ||
| 565 | + return 0, errors.New("param empty") | ||
| 566 | + } | ||
| 567 | + var paramlist []string | ||
| 568 | + var params TixianDesc | ||
| 569 | + params.Sign_type = "md5" | ||
| 570 | + params.Gameid = gameid | ||
| 571 | + params.Channel = channel | ||
| 572 | + params.Uid = uuid | ||
| 573 | + params.Time_stamp = strconv.Itoa(int(time.Now().Unix())) | ||
| 574 | + params.Headurl = headurl | ||
| 575 | + params.Money = goldnum | ||
| 576 | + params.Openid = openid | ||
| 577 | + params.Nickname = nickname | ||
| 578 | + params.Typ = 6 | ||
| 579 | + params.Ver = ver | ||
| 580 | + params.Editcoin = 1 | ||
| 581 | + params.Checkcoin = checkcoin | ||
| 582 | + signtypestr := "sign_type=" + params.Sign_type | ||
| 583 | + timestampstr := "time_stamp=" + strconv.Itoa(int(time.Now().Unix())) | ||
| 584 | + paramgameid := "gameid=" + gameid | ||
| 585 | + pchannel := "channel=" + channel | ||
| 586 | + puid := "uid=" + strconv.Itoa(uuid) | ||
| 587 | + phead := "headurl=" + headurl | ||
| 588 | + pnickname := "nickname=" + nickname | ||
| 589 | + popenid := "openid=" + openid | ||
| 590 | + pmoney := "money=" + strconv.Itoa(goldnum) | ||
| 591 | + ptype := "typ=" + "6" //微信 | ||
| 592 | + ped := "editcoin=1" | ||
| 593 | + pcheco := "checkcoin=" + strconv.Itoa(checkcoin) | ||
| 594 | + //pver := "ver=" + params.Ver | ||
| 595 | + paramlist = append(paramlist, signtypestr) | ||
| 596 | + paramlist = append(paramlist, timestampstr) | ||
| 597 | + paramlist = append(paramlist, paramgameid) | ||
| 598 | + paramlist = append(paramlist, pchannel) | ||
| 599 | + paramlist = append(paramlist, puid) | ||
| 600 | + if headurl != "" { | ||
| 601 | + paramlist = append(paramlist, phead) | ||
| 602 | + } | ||
| 603 | + if nickname != "" { | ||
| 604 | + paramlist = append(paramlist, pnickname) | ||
| 605 | + } | ||
| 606 | + paramlist = append(paramlist, popenid) | ||
| 607 | + paramlist = append(paramlist, pmoney) | ||
| 608 | + paramlist = append(paramlist, ptype) | ||
| 609 | + paramlist = append(paramlist, ped) | ||
| 610 | + paramlist = append(paramlist, pcheco) | ||
| 611 | + //paramlist = append(paramlist, pver) | ||
| 612 | + | ||
| 613 | + sumparam := GettotalParam(paramlist) | ||
| 614 | + //加serverkey | ||
| 615 | + signsum := sumparam + SERVERKEY | ||
| 616 | + | ||
| 617 | + //进行hash | ||
| 618 | + sign := GetHashValue(signsum) | ||
| 619 | + params.Sign = sign | ||
| 620 | + | ||
| 621 | + bys, err := json.Marshal(¶ms) | ||
| 622 | + if err != nil { | ||
| 623 | + logger.Error("GetCashFromSDK failed=%v", err) | ||
| 624 | + return 0, err | ||
| 625 | + } | ||
| 626 | + res, err := DoHttpPost(bys, "api/server/tixian") | ||
| 627 | + logger.Info("GetCashFromSDK sumparam is:%v,sign is:%v", signsum, sign) | ||
| 628 | + logger.Info("GetCashFromSDK sumparam param=%v", string(bys)) | ||
| 629 | + if err != nil { | ||
| 630 | + logger.Error("GetCashFromSDK failed=%v", err) | ||
| 631 | + return 0, err | ||
| 632 | + } | ||
| 633 | + | ||
| 634 | + logger.Info("GetCashFromSDK res=%v", res) | ||
| 635 | + | ||
| 636 | + var resp GetCashResp | ||
| 637 | + err = json.Unmarshal([]byte(res), &resp) | ||
| 638 | + if err != nil { | ||
| 639 | + logger.Error("GetCashFromSDK failed=%v", err) | ||
| 640 | + return 0, err | ||
| 641 | + } | ||
| 642 | + | ||
| 643 | + if resp.Code != "0" { | ||
| 644 | + logger.Error("GetCashFromSDK failed=%v", resp.Msg) | ||
| 645 | + return 0, errors.New(resp.Msg) | ||
| 646 | + } | ||
| 647 | + | ||
| 648 | + //拉取一下新的金币值 | ||
| 649 | + newnum, err := GetCoinFromSdk(uuid, gameid, channel) | ||
| 650 | + if err != nil { | ||
| 651 | + logger.Error("GetCashFromSDK failed=%v", err) | ||
| 652 | + return 0, err | ||
| 653 | + } | ||
| 654 | + return newnum, nil | ||
| 655 | +} | ||
| 656 | + | ||
| 480 | func AddCoinToSdk(uuid int, goldnum int, gameid string, channel string, atype int) (int, error) { | 657 | func AddCoinToSdk(uuid int, goldnum int, gameid string, channel string, atype int) (int, error) { |
| 481 | SERVERKEY := conf.GetCoinConf().Key | 658 | SERVERKEY := conf.GetCoinConf().Key |
| 482 | /*if gameid == "1015" { | 659 | /*if gameid == "1015" { |
src/HttpServer/logic/httpserver.go
| @@ -59,6 +59,9 @@ func startServerHttpServe() { | @@ -59,6 +59,9 @@ func startServerHttpServe() { | ||
| 59 | http.HandleFunc("/russiaxiaoxiao/uploadhigestscore", Uploadhigestscore) //上报玩家历史最高分 | 59 | http.HandleFunc("/russiaxiaoxiao/uploadhigestscore", Uploadhigestscore) //上报玩家历史最高分 |
| 60 | http.HandleFunc("/russiaxiaoxiao/queryrankinfo", Queryrankinfo) //查询排行榜 | 60 | http.HandleFunc("/russiaxiaoxiao/queryrankinfo", Queryrankinfo) //查询排行榜 |
| 61 | http.HandleFunc("/russiaxiaoxiao/querydrawreward", Querydrawreward) //请求抽奖 | 61 | http.HandleFunc("/russiaxiaoxiao/querydrawreward", Querydrawreward) //请求抽奖 |
| 62 | + http.HandleFunc("/russiaxiaoxiao/querygetcashinfo", Querdrawinfo) //请求提现档位数据 | ||
| 63 | + http.HandleFunc("/russiaxiaoxiao/getcash", Getcash) //请求提现 | ||
| 64 | + http.HandleFunc("/russiaxiaoxiao/getcashrecord", Getcashrecord) //请求提现记录 | ||
| 62 | 65 | ||
| 63 | //.......................................... | 66 | //.......................................... |
| 64 | /*http.HandleFunc("/eliminatestar/getuserdata", Getuserdata) //获取玩家数据 | 67 | /*http.HandleFunc("/eliminatestar/getuserdata", Getuserdata) //获取玩家数据 |
| @@ -427,65 +430,83 @@ func Onlinentf(w http.ResponseWriter, r *http.Request) { | @@ -427,65 +430,83 @@ func Onlinentf(w http.ResponseWriter, r *http.Request) { | ||
| 427 | 430 | ||
| 428 | func Getcashrecord(w http.ResponseWriter, r *http.Request) { | 431 | func Getcashrecord(w http.ResponseWriter, r *http.Request) { |
| 429 | 432 | ||
| 433 | + gameid := "" | ||
| 434 | + channel := "" | ||
| 435 | + uniqueid := "" | ||
| 430 | Uuid := 0 | 436 | Uuid := 0 |
| 431 | if len(r.Header) > 0 { | 437 | if len(r.Header) > 0 { |
| 432 | Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) | 438 | Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) |
| 439 | + gameid = r.Header.Get("Gameid") | ||
| 440 | + channel = r.Header.Get("Channel") | ||
| 441 | + uniqueid = r.Header.Get("Uuid") + r.Header.Get("Channel") | ||
| 433 | } | 442 | } |
| 434 | 443 | ||
| 435 | if Uuid == 0 { | 444 | if Uuid == 0 { |
| 436 | SetHeader(w) | 445 | SetHeader(w) |
| 437 | - //logger.Error("Uuid is nil!") | 446 | + logger.Error("Uuid is nil!") |
| 438 | return | 447 | return |
| 439 | } | 448 | } |
| 440 | result, _ := ioutil.ReadAll(r.Body) | 449 | result, _ := ioutil.ReadAll(r.Body) |
| 441 | r.Body.Close() | 450 | r.Body.Close() |
| 442 | 451 | ||
| 443 | s := string(result) | 452 | s := string(result) |
| 444 | - logger.Info("Getcashrecord , body:%v,uuid=%v", s, Uuid) | 453 | + logger.Info("Getcashrecord , body:%v,uuid=%v", s, uniqueid) |
| 445 | 454 | ||
| 446 | - //HandlerGetcashrecord(w, s, Uuid) | 455 | + HandlerGetcashrecord(w, s, uniqueid, gameid, channel, Uuid) |
| 447 | } | 456 | } |
| 448 | 457 | ||
| 449 | func Getcash(w http.ResponseWriter, r *http.Request) { | 458 | func Getcash(w http.ResponseWriter, r *http.Request) { |
| 450 | 459 | ||
| 460 | + gameid := "" | ||
| 461 | + channel := "" | ||
| 462 | + uniqueid := "" | ||
| 451 | Uuid := 0 | 463 | Uuid := 0 |
| 452 | if len(r.Header) > 0 { | 464 | if len(r.Header) > 0 { |
| 453 | Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) | 465 | Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) |
| 466 | + gameid = r.Header.Get("Gameid") | ||
| 467 | + channel = r.Header.Get("Channel") | ||
| 468 | + uniqueid = r.Header.Get("Uuid") + r.Header.Get("Channel") | ||
| 454 | } | 469 | } |
| 455 | 470 | ||
| 456 | if Uuid == 0 { | 471 | if Uuid == 0 { |
| 457 | SetHeader(w) | 472 | SetHeader(w) |
| 458 | - //logger.Error("Uuid is nil!") | 473 | + logger.Error("Uuid is nil!") |
| 459 | return | 474 | return |
| 460 | } | 475 | } |
| 461 | result, _ := ioutil.ReadAll(r.Body) | 476 | result, _ := ioutil.ReadAll(r.Body) |
| 462 | r.Body.Close() | 477 | r.Body.Close() |
| 463 | 478 | ||
| 464 | s := string(result) | 479 | s := string(result) |
| 465 | - logger.Info("Getcash , body:%v,uuid=%v", s, Uuid) | 480 | + logger.Info("Getcash , body:%v,uuid=%v", s, uniqueid) |
| 466 | 481 | ||
| 467 | - //HandlerGetcash(w, s, Uuid) | 482 | + HandlerGetcash(w, s, uniqueid, gameid, channel, Uuid) |
| 468 | } | 483 | } |
| 469 | 484 | ||
| 470 | func Querdrawinfo(w http.ResponseWriter, r *http.Request) { | 485 | func Querdrawinfo(w http.ResponseWriter, r *http.Request) { |
| 471 | 486 | ||
| 487 | + gameid := "" | ||
| 488 | + channel := "" | ||
| 489 | + uniqueid := "" | ||
| 472 | Uuid := 0 | 490 | Uuid := 0 |
| 473 | if len(r.Header) > 0 { | 491 | if len(r.Header) > 0 { |
| 474 | Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) | 492 | Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) |
| 493 | + gameid = r.Header.Get("Gameid") | ||
| 494 | + channel = r.Header.Get("Channel") | ||
| 495 | + uniqueid = r.Header.Get("Uuid") + r.Header.Get("Channel") | ||
| 475 | } | 496 | } |
| 476 | 497 | ||
| 477 | if Uuid == 0 { | 498 | if Uuid == 0 { |
| 478 | SetHeader(w) | 499 | SetHeader(w) |
| 479 | - //logger.Error("Uuid is nil!") | 500 | + logger.Error("Uuid is nil!") |
| 480 | return | 501 | return |
| 481 | } | 502 | } |
| 482 | result, _ := ioutil.ReadAll(r.Body) | 503 | result, _ := ioutil.ReadAll(r.Body) |
| 483 | r.Body.Close() | 504 | r.Body.Close() |
| 484 | 505 | ||
| 485 | s := string(result) | 506 | s := string(result) |
| 486 | - logger.Info("Querdrawinfo , body:%v,uuid=%v", s, Uuid) | 507 | + logger.Info("Querdrawinfo , body:%v,uuid=%v", s, uniqueid) |
| 487 | 508 | ||
| 488 | - //HandlerQuerdrawinfo(w, s, Uuid) | 509 | + HandlerQuerdrawinfo(w, s, uniqueid, gameid, channel, Uuid) |
| 489 | } | 510 | } |
| 490 | 511 | ||
| 491 | func Querydrawreward(w http.ResponseWriter, r *http.Request) { | 512 | func Querydrawreward(w http.ResponseWriter, r *http.Request) { |
src/HttpServer/logic/logic.go
| @@ -8,6 +8,7 @@ import ( | @@ -8,6 +8,7 @@ import ( | ||
| 8 | "encoding/json" | 8 | "encoding/json" |
| 9 | "fmt" | 9 | "fmt" |
| 10 | "net/http" | 10 | "net/http" |
| 11 | + "strconv" | ||
| 11 | "time" | 12 | "time" |
| 12 | ) | 13 | ) |
| 13 | 14 | ||
| @@ -119,6 +120,165 @@ func HandlerUploaduserbasicinfo(w http.ResponseWriter, data string, uniqueuuid s | @@ -119,6 +120,165 @@ func HandlerUploaduserbasicinfo(w http.ResponseWriter, data string, uniqueuuid s | ||
| 119 | fmt.Fprint(w, string(respstr)) | 120 | fmt.Fprint(w, string(respstr)) |
| 120 | } | 121 | } |
| 121 | 122 | ||
| 123 | +func HandlerGetcashrecord(w http.ResponseWriter, data string, uniqueuuid, gameid, channel string, uuid int) { | ||
| 124 | + SetHeader(w) | ||
| 125 | + var resp GetcashrecordResp | ||
| 126 | + resp.Code = 0 | ||
| 127 | + resp.Message = "success" | ||
| 128 | + for { | ||
| 129 | + | ||
| 130 | + uinfo, err := GetUserInfo(strconv.Itoa(uuid)) | ||
| 131 | + if err != nil || uinfo == nil { | ||
| 132 | + logger.Error("HandlerGetcashrecord getuserinfo failed=%v", err) | ||
| 133 | + resp.Code = 1 | ||
| 134 | + resp.Message = "get userinfo failed" | ||
| 135 | + break | ||
| 136 | + } | ||
| 137 | + list, err := GetCashList(uuid, gameid, channel, 0, 100) | ||
| 138 | + if err != nil { | ||
| 139 | + logger.Error("HandlerGetcashrecord failed err=%v", err) | ||
| 140 | + resp.Message = "服务器错误" | ||
| 141 | + resp.Code = 1 | ||
| 142 | + break | ||
| 143 | + } | ||
| 144 | + if list != nil { | ||
| 145 | + resp.Data.Withdata = append(resp.Data.Withdata, *list...) | ||
| 146 | + } | ||
| 147 | + | ||
| 148 | + break | ||
| 149 | + } | ||
| 150 | + | ||
| 151 | + //回包 | ||
| 152 | + respstr, _ := json.Marshal(&resp) | ||
| 153 | + fmt.Fprint(w, string(respstr)) | ||
| 154 | +} | ||
| 155 | + | ||
| 156 | +func HandlerGetcash(w http.ResponseWriter, data string, uniqueuuid, gameid, channel string, uuid int) { | ||
| 157 | + SetHeader(w) | ||
| 158 | + var resp GetcashResp | ||
| 159 | + resp.Code = 0 | ||
| 160 | + resp.Message = "success" | ||
| 161 | + var rdata GetcashReq | ||
| 162 | + err := json.Unmarshal([]byte(data), &rdata) | ||
| 163 | + for { | ||
| 164 | + if err != nil { | ||
| 165 | + logger.Error("HandlerGetcash json unmarshal failed=%v", err) | ||
| 166 | + resp.Code = 1 | ||
| 167 | + resp.Message = "json failed" | ||
| 168 | + break | ||
| 169 | + } | ||
| 170 | + uinfo, err := GetUserInfo(strconv.Itoa(uuid)) | ||
| 171 | + if err != nil || uinfo == nil { | ||
| 172 | + logger.Error("HandlerGetcash getuserinfo failed=%v", err) | ||
| 173 | + resp.Code = 1 | ||
| 174 | + resp.Message = "get userinfo failed" | ||
| 175 | + break | ||
| 176 | + } | ||
| 177 | + | ||
| 178 | + index, info := uinfo.GetWithDrawData(rdata.Money) | ||
| 179 | + if index == -1 || info == nil { | ||
| 180 | + logger.Error("HandlerGetcash GetWithDrawData failed=%v", err) | ||
| 181 | + resp.Code = 1 | ||
| 182 | + resp.Message = "get GetWithDrawData failed" | ||
| 183 | + break | ||
| 184 | + } | ||
| 185 | + | ||
| 186 | + if info.Cnum == 30 { | ||
| 187 | + //30的是连续登陆天数 | ||
| 188 | + if uinfo.ContinueLoginDay < info.Day { | ||
| 189 | + logger.Error("HandlerGetcash notfit failed=%v", err) | ||
| 190 | + resp.Code = 1 | ||
| 191 | + resp.Message = "提现条件不满足" | ||
| 192 | + break | ||
| 193 | + } | ||
| 194 | + } else { | ||
| 195 | + if uinfo.SumLoginDay < info.Day { | ||
| 196 | + logger.Error("HandlerGetcash notfit failed=%v", err) | ||
| 197 | + resp.Code = 1 | ||
| 198 | + resp.Message = "提现条件不满足" | ||
| 199 | + break | ||
| 200 | + } | ||
| 201 | + } | ||
| 202 | + | ||
| 203 | + if info.Isnew == 0 { | ||
| 204 | + logger.Error("HandlerGetcash notfit failed=%v", err) | ||
| 205 | + resp.Code = 1 | ||
| 206 | + resp.Message = "新人专享只能提取一次" | ||
| 207 | + break | ||
| 208 | + } | ||
| 209 | + | ||
| 210 | + if info.Preisfind == 0 { | ||
| 211 | + logger.Error("HandlerGetcash notfit failed=%v", err) | ||
| 212 | + resp.Code = 1 | ||
| 213 | + resp.Message = "请先完成前一档提现" | ||
| 214 | + break | ||
| 215 | + } | ||
| 216 | + | ||
| 217 | + //判断一下前置条件的下一档 | ||
| 218 | + if index == len(uinfo.WithDraw.Cashdata)-1 { | ||
| 219 | + //最后一档了不用处理 | ||
| 220 | + } else { | ||
| 221 | + if index < len(uinfo.WithDraw.Cashdata)-1 { | ||
| 222 | + uinfo.WithDraw.Cashdata[index+1].Preisfind = 1 | ||
| 223 | + } | ||
| 224 | + } | ||
| 225 | + | ||
| 226 | + checkcoin := 2 //不开启自动审核 | ||
| 227 | + drawnum := int(rdata.Money * 10000) | ||
| 228 | + gold, err := GetCashFromSDK(uuid, drawnum, gameid, channel, rdata.Openid, uinfo.NickName, uinfo.HeadUrl, rdata.Ver, checkcoin) | ||
| 229 | + if err != nil { | ||
| 230 | + logger.Error("HandlerGetcash GetCashFromSDK failed failed=%v", err) | ||
| 231 | + resp.Code = 1 | ||
| 232 | + resp.Message = "从后台提现失败了" | ||
| 233 | + break | ||
| 234 | + | ||
| 235 | + } | ||
| 236 | + if info.Isnew == 1 { | ||
| 237 | + uinfo.WithDraw.Cashdata[index].Isnew = 0 | ||
| 238 | + } | ||
| 239 | + | ||
| 240 | + resp.Data.Walletgold = gold | ||
| 241 | + | ||
| 242 | + //保存 | ||
| 243 | + SaveUserInfo(uinfo, strconv.Itoa(uuid)) | ||
| 244 | + | ||
| 245 | + break | ||
| 246 | + | ||
| 247 | + } | ||
| 248 | + //回包 | ||
| 249 | + respstr, _ := json.Marshal(&resp) | ||
| 250 | + fmt.Fprint(w, string(respstr)) | ||
| 251 | +} | ||
| 252 | + | ||
| 253 | +func HandlerQuerdrawinfo(w http.ResponseWriter, data string, uniqueuuid, gameid, channel string, uuid int) { | ||
| 254 | + SetHeader(w) | ||
| 255 | + var resp QuerygetcashinfoResp | ||
| 256 | + resp.Code = 0 | ||
| 257 | + resp.Message = "success" | ||
| 258 | + | ||
| 259 | + for { | ||
| 260 | + | ||
| 261 | + uinfo, err := GetUserInfo(uniqueuuid) | ||
| 262 | + if err != nil { | ||
| 263 | + logger.Info("GetUserInfo HandlerQuerydrawreward data failed:%v,for:%v", err, data) | ||
| 264 | + resp.Message = "GetUserInfo failed" | ||
| 265 | + resp.Code = 1 | ||
| 266 | + break | ||
| 267 | + } | ||
| 268 | + | ||
| 269 | + resp.Data.Logindaycontinue = uinfo.ContinueLoginDay | ||
| 270 | + resp.Data.Logindaysum = uinfo.SumLoginDay | ||
| 271 | + resp.Data.Cashdata = append(resp.Data.Cashdata, uinfo.WithDraw.Cashdata...) | ||
| 272 | + | ||
| 273 | + resp.Code = ERROR_OK | ||
| 274 | + break | ||
| 275 | + } | ||
| 276 | + | ||
| 277 | + //回包 | ||
| 278 | + respstr, _ := json.Marshal(&resp) | ||
| 279 | + fmt.Fprint(w, string(respstr)) | ||
| 280 | +} | ||
| 281 | + | ||
| 122 | func HandlerQuerydrawreward(w http.ResponseWriter, data string, uniqueuuid, gameid, channel string, uuid int) { | 282 | func HandlerQuerydrawreward(w http.ResponseWriter, data string, uniqueuuid, gameid, channel string, uuid int) { |
| 123 | SetHeader(w) | 283 | SetHeader(w) |
| 124 | var resp QuerydrawrewardResp | 284 | var resp QuerydrawrewardResp |