Commit 00cb1b2a authored by hujiebin's avatar hujiebin

1

parent 44a401b7
......@@ -20,4 +20,6 @@ h5_game_yellow:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o h5_game_yellow h5_game_yellow.go
fruit_fix:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o fruit_fix fruit_fix.go
fruit_day_award:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o fruit_day_award fruit_day_award.go
package main
import (
"encoding/json"
"fmt"
"git.hilo.cn/hilo-common/script/mysql"
"github.com/tealeg/xlsx"
"io/ioutil"
"net/http"
)
type FruitDayAward struct {
Code int `json:"code"`
Message string `json:"message"`
Data struct {
Total int `json:"total"`
Data []struct {
Rank int `json:"rank"`
UserCode string `json:"userCode"`
Country string `json:"country"`
Stake int `json:"stake"`
Award int `json:"award"`
ProfitLoss int `json:"profitLoss"`
ChargeMoney float64 `json:"chargeMoney"`
} `json:"data"`
} `json:"data"`
}
type ResCountry struct {
Name string
Area int
}
type UserSvip2 struct {
Code string
Level int
}
func ats32(a interface{}) string {
return fmt.Sprintf("%v", a)
}
func main() {
url := "https://apiv2.faceline.live/v1/fruitMachine/rank/award?lang=zh-cn&pageIndex=1&pageSize=50000&beginDate=2023-08-15&endDate=2023-08-15&userCode=&timezone=1"
method := "GET"
client := &http.Client{}
req, err := http.NewRequest(method, url, nil)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("nonce", "hilo")
req.Header.Add("token", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjI1MSwiRXh0ZXJuYWxJZCI6IiIsImV4cCI6MTY5MzIwNjcxOH0.V-5CfVUGbQDtn04vy85rjb2TtrfntZCuv209tUKFcgU")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
panic(err)
}
var response = new(FruitDayAward)
err = json.Unmarshal(body, &response)
if err != nil {
panic(err)
}
var countryArea = make(map[string]string)
// get from db
var countries []ResCountry
if err := mysql.ProdReadOnlyDB.Model(ResCountry{}).Find(&countries).Error; err != nil {
panic(err)
}
for _, v := range countries {
area := "阿语"
if v.Area == 2 {
area = "非阿语"
}
countryArea[v.Name] = area
}
var svipMap = make(map[string]int)
var codes []string
for _, v := range response.Data.Data {
codes = append(codes, v.UserCode)
}
var svips []UserSvip2
if err := mysql.ProdReadOnlyDB.Table("user_svip s").Joins("INNER JOIN user u ON u.id = s.user_id").Select("u.code,s.level").Where("u.code in ?", codes).Find(&svips).Error; err != nil {
panic(err)
}
for _, v := range svips {
svipMap[v.Code] = v.Level
}
excelFileName := fmt.Sprintf("./0815水果机中奖榜.xlsx")
xlFile := xlsx.NewFile()
sheet, _ := xlFile.AddSheet("charge")
row := sheet.AddRow()
c1, c2, c3, c4, c5, c6, c7, c8, c9 := row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell()
c1.Value, c2.Value, c3.Value, c4.Value, c5.Value, c6.Value, c7.Value, c8.Value, c9.Value = "排名", "用户ID", "区域", "国家", "SVIP等级", "投注钻石数", "中奖钻石数", "盈亏(中奖-投注)", "充值金额$"
for _, d := range response.Data.Data {
row := sheet.AddRow()
c1, c2, c3, c4, c5, c6, c7, c8, c9 := row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell()
c1.Value, c2.Value, c3.Value, c4.Value, c5.Value, c6.Value, c7.Value, c8.Value, c9.Value =
ats32(d.Rank), ats32(d.UserCode), countryArea[d.Country], ats32(d.Country), ats32(svipMap[d.UserCode]), ats32(d.Stake), ats32(d.Award), ats32(d.ProfitLoss), ats32(d.ChargeMoney)
}
_ = xlFile.Save(excelFileName)
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment