| @@ -16,77 +16,6 @@ import ( | |||
| "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) { | |||
| startDate := ctx.Query("startDate") | |||
| endDate := ctx.Query("endDate") | |||