From 8b4e7561f4869a62be468d11cd8274cef2684724 Mon Sep 17 00:00:00 2001 From: shanshanzhong Date: Tue, 26 May 2026 08:06:50 -0700 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D:=20scripts=20=E7=BC=96?= =?UTF-8?q?=E8=AF=91=E5=86=B2=E7=AA=81=20+=20order=20=E7=BB=9F=E8=AE=A1=20?= =?UTF-8?q?is=5Fnew=20=E5=AD=97=E6=AE=B5=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - scripts/ 下两个独立脚本移到各自子目录,消除 package main 冲突 - model/order/model.go 统计查询 type→is_new 字段修正(7处) Co-authored-by: multica-agent --- internal/model/order/model.go | 32 +++++++++---------- .../main.go} | 0 .../main.go} | 0 3 files changed, 16 insertions(+), 16 deletions(-) rename scripts/{convert_recovery_orders.go => convert_recovery_orders/main.go} (100%) rename scripts/{reconcile_mihapay_orders.go => reconcile_mihapay_orders/main.go} (100%) diff --git a/internal/model/order/model.go b/internal/model/order/model.go index d858b3b..89d1b5f 100644 --- a/internal/model/order/model.go +++ b/internal/model/order/model.go @@ -160,8 +160,8 @@ func (m *customOrderModel) QueryMonthlyOrders(ctx context.Context, date time.Tim Where("status IN ? AND created_at BETWEEN ? AND ? AND method != ?", []int64{2, 5}, firstDay, lastDay, "balance"). Select( "SUM(amount) as amount_total, " + - "SUM(CASE WHEN type = 1 THEN amount ELSE 0 END) as new_order_amount, " + - "SUM(CASE WHEN type = 2 THEN amount ELSE 0 END) as renewal_order_amount", + "SUM(CASE WHEN is_new = 1 THEN amount ELSE 0 END) as new_order_amount, " + + "SUM(CASE WHEN is_new = 0 THEN amount ELSE 0 END) as renewal_order_amount", ). Scan(v).Error }) @@ -177,8 +177,8 @@ func (m *customOrderModel) QueryDateOrders(ctx context.Context, date time.Time) Where("status IN ? AND DATE_FORMAT(created_at, '%Y-%m-%d') = ? AND method != ?", []int64{2, 5}, dateStr, "balance"). Select( "SUM(amount) as amount_total, " + - "SUM(CASE WHEN type = 1 THEN amount ELSE 0 END) as new_order_amount, " + - "SUM(CASE WHEN type = 2 THEN amount ELSE 0 END) as renewal_order_amount", + "SUM(CASE WHEN is_new = 1 THEN amount ELSE 0 END) as new_order_amount, " + + "SUM(CASE WHEN is_new = 0 THEN amount ELSE 0 END) as renewal_order_amount", ). Scan(v).Error }) @@ -192,8 +192,8 @@ func (m *customOrderModel) QueryTotalOrders(ctx context.Context) (OrdersTotal, e return conn.Model(&Order{}). Select(` SUM(amount) AS amount_total, - SUM(CASE WHEN type = 1 THEN amount ELSE 0 END) AS new_order_amount, - SUM(CASE WHEN type = 2 THEN amount ELSE 0 END) AS renewal_order_amount + SUM(CASE WHEN is_new = 1 THEN amount ELSE 0 END) AS new_order_amount, + SUM(CASE WHEN is_new = 0 THEN amount ELSE 0 END) AS renewal_order_amount `). Where("status IN ? AND method != ?", []int64{2, 5}, "balance"). Scan(&result).Error @@ -214,8 +214,8 @@ func (m *customOrderModel) QueryMonthlyUserCounts(ctx context.Context, date time err := m.QueryNoCacheCtx(ctx, nil, func(conn *gorm.DB, _ interface{}) error { return conn.Model(&Order{}). Select(` - COUNT(DISTINCT CASE WHEN type = 1 THEN user_id END) AS new_users, - COUNT(DISTINCT CASE WHEN type = 2 THEN user_id END) AS renewal_users + COUNT(DISTINCT CASE WHEN is_new = 1 THEN user_id END) AS new_users, + COUNT(DISTINCT CASE WHEN is_new = 0 THEN user_id END) AS renewal_users `). Where("status IN ? AND created_at >= ? AND created_at < ? AND method != ?", []int64{2, 5}, firstDay, nextMonth, "balance"). @@ -232,8 +232,8 @@ func (m *customOrderModel) QueryDateUserCounts(ctx context.Context, date time.Ti err := m.QueryNoCacheCtx(ctx, nil, func(conn *gorm.DB, _ interface{}) error { return conn.Model(&Order{}). Select(` - COUNT(DISTINCT CASE WHEN type = 1 THEN user_id END) AS new_users, - COUNT(DISTINCT CASE WHEN type = 2 THEN user_id END) AS renewal_users + COUNT(DISTINCT CASE WHEN is_new = 1 THEN user_id END) AS new_users, + COUNT(DISTINCT CASE WHEN is_new = 0 THEN user_id END) AS renewal_users `). Where("status IN ? AND DATE_FORMAT(created_at, '%Y-%m-%d') = ? AND method != ?", []int64{2, 5}, dateStr, "balance"). @@ -249,8 +249,8 @@ func (m *customOrderModel) QueryTotalUserCounts(ctx context.Context) (int64, int return conn.Model(&Order{}). Where("status IN ? AND method != ?", []int64{2, 5}, "balance"). Select(` - COUNT(DISTINCT CASE WHEN type = 1 THEN user_id END) AS new_users, - COUNT(DISTINCT CASE WHEN type = 2 THEN user_id END) AS renewal_users + COUNT(DISTINCT CASE WHEN is_new = 1 THEN user_id END) AS new_users, + COUNT(DISTINCT CASE WHEN is_new = 0 THEN user_id END) AS renewal_users `). Scan(&counts).Error }) @@ -282,8 +282,8 @@ func (m *customOrderModel) QueryDailyOrdersList(ctx context.Context, date time.T Select(` DATE_FORMAT(created_at, '%Y-%m-%d') AS date, SUM(amount) AS amount_total, - SUM(CASE WHEN type = 1 THEN amount ELSE 0 END) AS new_order_amount, - SUM(CASE WHEN type = 2 THEN amount ELSE 0 END) AS renewal_order_amount + SUM(CASE WHEN is_new = 1 THEN amount ELSE 0 END) AS new_order_amount, + SUM(CASE WHEN is_new = 0 THEN amount ELSE 0 END) AS renewal_order_amount `). Where("status IN ? AND created_at >= ? AND created_at < ? AND method != ?", []int64{2, 5}, firstDay, nextDay, "balance"). @@ -326,8 +326,8 @@ func (m *customOrderModel) QueryMonthlyOrdersList(ctx context.Context, date time Select(` DATE_FORMAT(created_at, '%Y-%m') AS date, SUM(amount) AS amount_total, - SUM(CASE WHEN type = 1 THEN amount ELSE 0 END) AS new_order_amount, - SUM(CASE WHEN type = 2 THEN amount ELSE 0 END) AS renewal_order_amount + SUM(CASE WHEN is_new = 1 THEN amount ELSE 0 END) AS new_order_amount, + SUM(CASE WHEN is_new = 0 THEN amount ELSE 0 END) AS renewal_order_amount `). Where("status IN ? AND created_at >= ? AND created_at < ? AND method != ?", []int64{2, 5}, start, end, "balance"). diff --git a/scripts/convert_recovery_orders.go b/scripts/convert_recovery_orders/main.go similarity index 100% rename from scripts/convert_recovery_orders.go rename to scripts/convert_recovery_orders/main.go diff --git a/scripts/reconcile_mihapay_orders.go b/scripts/reconcile_mihapay_orders/main.go similarity index 100% rename from scripts/reconcile_mihapay_orders.go rename to scripts/reconcile_mihapay_orders/main.go