| @@ -16,77 +16,6 @@ import ( | |||||
| "github.com/360EntSecGroup-Skylar/excelize/v2" | "github.com/360EntSecGroup-Skylar/excelize/v2" | ||||
| ) | ) | ||||
| func DownloadAllUserData(ctx *context.Context) { | |||||
| re, count := models.QueryUserStaticDataAll(pageOpts) | |||||
| log.Info("return count=" + fmt.Sprint(count)) | |||||
| //writer exec file. | |||||
| xlsx := excelize.NewFile() | |||||
| sheetName := ctx.Tr("user.static.sheetname") | |||||
| index := xlsx.NewSheet(sheetName) | |||||
| xlsx.DeleteSheet("Sheet1") | |||||
| dataHeader := map[string]string{ | |||||
| "A1": ctx.Tr("user.static.id"), | |||||
| "B1": ctx.Tr("user.static.name"), | |||||
| "C1": ctx.Tr("user.static.codemergecount"), | |||||
| "D1": ctx.Tr("user.static.commitcount"), | |||||
| "E1": ctx.Tr("user.static.issuecount"), | |||||
| "F1": ctx.Tr("user.static.commentcount"), | |||||
| "G1": ctx.Tr("user.static.focusrepocount"), | |||||
| "H1": ctx.Tr("user.static.starrepocount"), | |||||
| "I1": ctx.Tr("user.static.logincount"), | |||||
| "J1": ctx.Tr("user.static.watchedcount"), | |||||
| "K1": ctx.Tr("user.static.commitcodesize"), | |||||
| "L1": ctx.Tr("user.static.solveissuecount"), | |||||
| "M1": ctx.Tr("user.static.encyclopediascount"), | |||||
| "N1": ctx.Tr("user.static.createrepocount"), | |||||
| "O1": ctx.Tr("user.static.openiindex"), | |||||
| "P1": ctx.Tr("user.static.registdate"), | |||||
| "Q1": ctx.Tr("user.static.countdate"), | |||||
| } | |||||
| for k, v := range dataHeader { | |||||
| //设置单元格的值 | |||||
| xlsx.SetCellValue(sheetName, k, v) | |||||
| } | |||||
| for i, userRecord := range re { | |||||
| rows := fmt.Sprint(i + 2) | |||||
| xlsx.SetCellValue(sheetName, "A"+rows, userRecord.ID) | |||||
| xlsx.SetCellValue(sheetName, "B"+rows, userRecord.Name) | |||||
| xlsx.SetCellValue(sheetName, "C"+rows, userRecord.CodeMergeCount) | |||||
| xlsx.SetCellValue(sheetName, "D"+rows, userRecord.CommitCount) | |||||
| xlsx.SetCellValue(sheetName, "E"+rows, userRecord.IssueCount) | |||||
| xlsx.SetCellValue(sheetName, "F"+rows, userRecord.CommentCount) | |||||
| xlsx.SetCellValue(sheetName, "G"+rows, userRecord.FocusRepoCount) | |||||
| xlsx.SetCellValue(sheetName, "H"+rows, userRecord.StarRepoCount) | |||||
| xlsx.SetCellValue(sheetName, "I"+rows, userRecord.LoginCount) | |||||
| xlsx.SetCellValue(sheetName, "J"+rows, userRecord.WatchedCount) | |||||
| xlsx.SetCellValue(sheetName, "K"+rows, userRecord.CommitCodeSize) | |||||
| xlsx.SetCellValue(sheetName, "L"+rows, userRecord.SolveIssueCount) | |||||
| xlsx.SetCellValue(sheetName, "M"+rows, userRecord.EncyclopediasCount) | |||||
| xlsx.SetCellValue(sheetName, "N"+rows, userRecord.CreateRepoCount) | |||||
| xlsx.SetCellValue(sheetName, "O"+rows, fmt.Sprintf("%.2f", userRecord.OpenIIndex)) | |||||
| formatTime := userRecord.RegistDate.Format("2006-01-02 15:04:05") | |||||
| xlsx.SetCellValue(sheetName, "P"+rows, formatTime[0:len(formatTime)-3]) | |||||
| formatTime = time.Unix(userRecord.CountDate, 0).Format("2006-01-02 15:04:05") | |||||
| xlsx.SetCellValue(sheetName, "Q"+rows, formatTime[0:len(formatTime)-3]) | |||||
| } | |||||
| //设置默认打开的表单 | |||||
| xlsx.SetActiveSheet(index) | |||||
| var filename string | |||||
| filename = sheetName + "_" + ctx.Tr("user.static.all") + ".xlsx" | |||||
| ctx.Resp.Header().Set("Content-Disposition", "attachment; filename="+url.QueryEscape(filename)) | |||||
| ctx.Resp.Header().Set("Content-Type", "application/octet-stream") | |||||
| if _, err := xlsx.WriteTo(ctx.Resp); err != nil { | |||||
| log.Info("writer exel error." + err.Error()) | |||||
| } | |||||
| } | |||||
| func QueryUserStaticDataPage(ctx *context.Context) { | func QueryUserStaticDataPage(ctx *context.Context) { | ||||
| startDate := ctx.Query("startDate") | startDate := ctx.Query("startDate") | ||||
| endDate := ctx.Query("endDate") | endDate := ctx.Query("endDate") | ||||