Skip to content

Commit 514c7cb

Browse files
authored
Merge pull request chaitin#199 from yokowu/fix-code-line-stat
fix: 修复统计页代码行计算错误
2 parents bdb8852 + 0892045 commit 514c7cb

File tree

3 files changed

+21
-12
lines changed

3 files changed

+21
-12
lines changed

backend/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.23.7
44

55
require (
66
entgo.io/ent v0.14.4
7-
github.com/GoYoko/web v1.4.0
7+
github.com/GoYoko/web v1.1.0
88
github.com/cloudwego/eino v0.3.51
99
github.com/cloudwego/eino-ext/components/model/openai v0.0.0-20250710065240-482d48888f25
1010
github.com/doquangtan/socket.io/v4 v4.0.8

backend/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg
88
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
99
github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60=
1010
github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
11-
github.com/GoYoko/web v1.4.0 h1:DUe5ZsUA3i5HWAX2HiUmkuNop+xEzPYpZpg2ozUw37E=
12-
github.com/GoYoko/web v1.4.0/go.mod h1:DL9/gvuUG2jcBE1XUIY+9QBrrhdshzPEdxMCzR9jUHo=
11+
github.com/GoYoko/web v1.1.0 h1:nIbtol5z0Y03d0nHsvGjv+W0fgmFRGUL8fzPN3kmrOY=
12+
github.com/GoYoko/web v1.1.0/go.mod h1:DL9/gvuUG2jcBE1XUIY+9QBrrhdshzPEdxMCzR9jUHo=
1313
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
1414
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
1515
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=

backend/internal/dashboard/repo/dashboard.go

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ func (d *DashboardRepo) CategoryStat(ctx context.Context, req domain.StatisticsF
4646
if err := d.db.Task.Query().
4747
Where(task.CreatedAtGTE(req.StartTime())).
4848
Where(task.ProgramLanguageNEQ("")).
49+
Where(task.IsSuggested(true)).
4950
Modify(func(s *sql.Selector) {
5051
s.Select(
5152
sql.As("program_language", "category"),
@@ -112,8 +113,9 @@ func (d *DashboardRepo) TimeStat(ctx context.Context, req domain.StatisticsFilte
112113
sql.As("COUNT(*) FILTER (WHERE model_type = 'llm')", "llm_count"),
113114
sql.As("COUNT(*) FILTER (WHERE is_suggested = true AND model_type = 'coder')", "code_count"),
114115
sql.As("COUNT(*) FILTER (WHERE is_accept = true AND model_type = 'coder')", "accepted_count"),
115-
sql.As(sql.Sum(task.FieldCodeLines), "code_lines"),
116-
).GroupBy("date").
116+
sql.As("SUM(code_lines) FILTER (WHERE is_accept = true)", "code_lines"),
117+
).
118+
GroupBy("date").
117119
OrderBy(sql.Asc("date"))
118120
}).
119121
Scan(ctx, &ds); err != nil {
@@ -127,7 +129,8 @@ func (d *DashboardRepo) TimeStat(ctx context.Context, req domain.StatisticsFilte
127129
s.Select(
128130
sql.As("date_trunc('minute', created_at)", "date"),
129131
sql.As(sql.Count("*"), "count"),
130-
).GroupBy("date").
132+
).
133+
GroupBy("date").
131134
OrderBy(sql.Asc("date"))
132135
}).
133136
Scan(ctx, &dsOneHour); err != nil {
@@ -208,7 +211,8 @@ func (d *DashboardRepo) UserCodeRank(ctx context.Context, req domain.StatisticsF
208211
s.Select(
209212
sql.As("user_id", "user_id"),
210213
sql.As(sql.Sum(task.FieldCodeLines), "code_lines"),
211-
).GroupBy(task.FieldUserID).
214+
).
215+
GroupBy(task.FieldUserID).
212216
OrderBy(sql.Desc("code_lines"))
213217
}).
214218
Scan(ctx, &rs); err != nil {
@@ -289,8 +293,9 @@ func (d *DashboardRepo) UserStat(ctx context.Context, req domain.StatisticsFilte
289293
sql.As("COUNT(*) FILTER (WHERE model_type = 'llm')", "llm_count"),
290294
sql.As("COUNT(*) FILTER (WHERE is_suggested = true AND model_type = 'coder')", "code_count"),
291295
sql.As("COUNT(*) FILTER (WHERE is_accept = true AND model_type = 'coder')", "accepted_count"),
292-
sql.As(sql.Sum(task.FieldCodeLines), "code_lines"),
293-
).GroupBy("date").
296+
sql.As("SUM(code_lines) FILTER (WHERE is_accept = true)", "code_lines"),
297+
).
298+
GroupBy("date").
294299
OrderBy(sql.Asc("date"))
295300
}).
296301
Scan(ctx, &ds); err != nil {
@@ -306,7 +311,8 @@ func (d *DashboardRepo) UserStat(ctx context.Context, req domain.StatisticsFilte
306311
s.Select(
307312
sql.As("work_mode", "category"),
308313
sql.As("COUNT(*)", "value"),
309-
).GroupBy(task.FieldWorkMode).
314+
).
315+
GroupBy(task.FieldWorkMode).
310316
OrderBy(sql.Desc("value"))
311317
}).
312318
Scan(ctx, &cs); err != nil {
@@ -317,11 +323,13 @@ func (d *DashboardRepo) UserStat(ctx context.Context, req domain.StatisticsFilte
317323
Where(task.CreatedAtGTE(req.StartTime())).
318324
Where(task.HasUserWith(user.ID(id))).
319325
Where(task.ProgramLanguageNEQ("")).
326+
Where(task.IsSuggested(true)).
320327
Modify(func(s *sql.Selector) {
321328
s.Select(
322329
sql.As("program_language", "category"),
323330
sql.As("COUNT(*)", "value"),
324-
).GroupBy(task.FieldProgramLanguage).
331+
).
332+
GroupBy(task.FieldProgramLanguage).
325333
OrderBy(sql.Desc("value"))
326334
}).
327335
Scan(ctx, &ps); err != nil {
@@ -384,7 +392,8 @@ func (d *DashboardRepo) UserHeatmap(ctx context.Context, userID string) ([]*doma
384392
s.Select(
385393
sql.As("date_trunc('day', created_at)", "date"),
386394
sql.As("COUNT(*)", "count"),
387-
).GroupBy("date").
395+
).
396+
GroupBy("date").
388397
OrderBy(sql.Asc("date"))
389398
}).
390399
Scan(ctx, &rs); err != nil {

0 commit comments

Comments
 (0)