52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"net/http"
|
|
"strconv"
|
|
)
|
|
|
|
/*
|
|
下载
|
|
GET http://127.0.0.1:8888/statistics/task?data_type=0&start_time=2024-12-26&end_time=2024-12-26
|
|
请求参数
|
|
data_type 数据类型
|
|
0新用户游戏破产率
|
|
1新用户平均游戏时长
|
|
2用户平均游戏时长
|
|
3新用户平均局数
|
|
4平均倍数
|
|
5活跃破产率
|
|
start_time 开始时间
|
|
end_time 结束时间
|
|
*/
|
|
|
|
// Download 下载
|
|
func Download(w http.ResponseWriter, r *http.Request) {
|
|
// 请求参数
|
|
// data_type 数据类型
|
|
// start_time 开始时间
|
|
// end_time 结束时间
|
|
// Request parameters
|
|
|
|
dataType, err := strconv.Atoi(r.URL.Query().Get("data_type"))
|
|
if err != nil {
|
|
http.Error(w, "Invalid data_type", http.StatusBadRequest)
|
|
return
|
|
}
|
|
|
|
startTime := r.URL.Query().Get("start_time")
|
|
endTime := r.URL.Query().Get("end_time")
|
|
|
|
f, name, err := ExcelMgrSingle.Pull(dataType, startTime, endTime)
|
|
if err != nil {
|
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
|
return
|
|
}
|
|
defer f.Close()
|
|
|
|
w.Header().Set("Content-Type", "application/octet-stream;charset=UTF-8")
|
|
w.Header().Set("Content-Disposition", "attachment; filename=\""+name+".xlsx\"")
|
|
|
|
f.Write(w)
|
|
}
|