From bf4ee1f6ab8f50718fb9666821a7f5b74454ccbc Mon Sep 17 00:00:00 2001 From: zouap Date: Tue, 16 Nov 2021 17:56:11 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8A=A0=E5=85=A5?= =?UTF-8?q?=E6=9C=88=E4=BB=BD=EF=BC=8C=E5=A6=82=E6=9E=9C=E4=B8=8D=E8=B6=B3?= =?UTF-8?q?1=E6=9C=88=EF=BC=8C=E5=88=99=E4=BD=BF=E7=94=A81=E6=9C=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- models/user_business_analysis.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/models/user_business_analysis.go b/models/user_business_analysis.go index 19a24dbac..1223224ee 100644 --- a/models/user_business_analysis.go +++ b/models/user_business_analysis.go @@ -674,5 +674,8 @@ func subMonth(t1, t2 time.Time) (month int) { } monthInterval %= 12 month = yearInterval*12 + monthInterval + if month == 0 { + month = 1 + } return month } From 4bc24fd37d2d59af35a0799ed5dd5c97af2bda09 Mon Sep 17 00:00:00 2001 From: ychao_1983 Date: Wed, 17 Nov 2021 08:24:21 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=BC=98=E5=8C=96=EF=BC=8C=E4=B8=8D=E5=86=8D?= =?UTF-8?q?=E5=85=88=E4=BF=9D=E5=AD=98=E5=88=B0=E6=9C=AC=E5=9C=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/cron/tasks_basic.go | 12 ------------ routers/api/v1/repo/repo_dashbord.go | 32 ++++++-------------------------- 2 files changed, 6 insertions(+), 38 deletions(-) diff --git a/modules/cron/tasks_basic.go b/modules/cron/tasks_basic.go index e238418d8..207018c20 100755 --- a/modules/cron/tasks_basic.go +++ b/modules/cron/tasks_basic.go @@ -11,7 +11,6 @@ import ( "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/migrations" repository_service "code.gitea.io/gitea/modules/repository" - api_repo "code.gitea.io/gitea/routers/api/v1/repo" "code.gitea.io/gitea/routers/repo" mirror_service "code.gitea.io/gitea/services/mirror" ) @@ -186,17 +185,6 @@ func registerHandleSummaryStatistic() { }) } -func registerHandleClearRepoStatisticFile() { - RegisterTaskFatal("handle_repo_clear_statistic_file", &BaseConfig{ - Enabled: true, - RunAtStart: false, - Schedule: "@daily", - }, func(ctx context.Context, _ *models.User, _ Config) error { - api_repo.ClearUnusedStatisticsFile() - return nil - }) -} - func initBasicTasks() { registerUpdateMirrorTask() registerRepoHealthCheck() diff --git a/routers/api/v1/repo/repo_dashbord.go b/routers/api/v1/repo/repo_dashbord.go index 2becdd59f..041162039 100644 --- a/routers/api/v1/repo/repo_dashbord.go +++ b/routers/api/v1/repo/repo_dashbord.go @@ -2,7 +2,6 @@ package repo import ( "fmt" - "io/ioutil" "net/http" "net/url" "os" @@ -174,7 +173,7 @@ func ServeAllProjectsPeriodStatisticsFile(ctx *context.Context) { return } var projectAnalysis = ctx.Tr("repo.repo_stat_inspect") - fileName, frontName := getFileName(ctx, beginTime, endTime, projectAnalysis) + fileName := getFileName(ctx, beginTime, endTime, projectAnalysis) if err := os.MkdirAll(setting.RadarMap.Path, os.ModePerm); err != nil { ctx.Error(http.StatusBadRequest, fmt.Errorf("Failed to create dir %s: %v", setting.AvatarUploadPath, err).Error()) @@ -207,17 +206,14 @@ func ServeAllProjectsPeriodStatisticsFile(ctx *context.Context) { f.SetActiveSheet(index) f.DeleteSheet("Sheet1") - if err := f.SaveAs(fileName); err != nil { - log.Error("Can not generate file.", err) - ctx.Error(http.StatusBadRequest, ctx.Tr("repo.generate_statistic_file_error")) - return - } + ctx.Resp.Header().Set("Content-Disposition", "attachment; filename="+url.QueryEscape(fileName)) + ctx.Resp.Header().Set("Content-Type", "application/octet-stream") - ctx.ServeFile(fileName, url.QueryEscape(frontName)) + f.WriteTo(ctx.Resp) } -func getFileName(ctx *context.Context, beginTime time.Time, endTime time.Time, projectAnalysis string) (string, string) { +func getFileName(ctx *context.Context, beginTime time.Time, endTime time.Time, projectAnalysis string) string { baseName := setting.RadarMap.Path + "/" + projectAnalysis + "_" if ctx.QueryTrim("q") != "" { @@ -229,23 +225,7 @@ func getFileName(ctx *context.Context, beginTime time.Time, endTime time.Time, p baseName = baseName + beginTime.AddDate(0, 0, -1).Format(EXCEL_DATE_FORMAT) + "_" + endTime.AddDate(0, 0, -1).Format(EXCEL_DATE_FORMAT) } frontName := baseName + ".xlsx" - localName := baseName + "_" + strconv.FormatInt(time.Now().Unix(), 10) + ".xlsx" - return localName, path.Base(frontName) -} - -func ClearUnusedStatisticsFile() { - fileInfos, err := ioutil.ReadDir(setting.RadarMap.Path) - if err != nil { - log.Warn("can not read dir: "+setting.RadarMap.Path, err) - return - } - - for _, fileInfo := range fileInfos { - if !fileInfo.IsDir() && fileInfo.ModTime().Before(time.Now().AddDate(0, 0, -1)) { - os.Remove(path.Join(setting.RadarMap.Path, fileInfo.Name())) - } - } - + return path.Base(frontName) } func allProjectsPeroidHeader(ctx *context.Context) map[string]string { From 17e649b35c8dd4789134ac6a171ae1e1d382fbfc Mon Sep 17 00:00:00 2001 From: Gitea Date: Wed, 17 Nov 2021 09:27:34 +0800 Subject: [PATCH 3/3] modify code --- web_src/js/components/ProAnalysis.vue | 9 +++++---- web_src/js/components/UserAnalysis.vue | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/web_src/js/components/ProAnalysis.vue b/web_src/js/components/ProAnalysis.vue index dfc09aad4..2a42f189c 100755 --- a/web_src/js/components/ProAnalysis.vue +++ b/web_src/js/components/ProAnalysis.vue @@ -2,7 +2,7 @@
- 项目分析 数据更新时间:{{lastUpdatedTime}} / 从{{recordBeginTime}}开始统计 + 项目分析 数据更新时间: {{lastUpdatedTime}} / 从{{recordBeginTime}}开始统计
@@ -156,7 +156,7 @@