diff --git a/internal/logic/admin/order/refundOrderLogic.go b/internal/logic/admin/order/refundOrderLogic.go index 754091d..6113b90 100644 --- a/internal/logic/admin/order/refundOrderLogic.go +++ b/internal/logic/admin/order/refundOrderLogic.go @@ -117,7 +117,7 @@ func (l *RefundOrderLogic) RefundOrder(req *types.RefundOrderRequest) error { } if err := tx.Model(&modelorder.Order{}). - Where("id = ? AND status IN ?", orderInfo.Id, []uint8{2, 5}). + Where("id = ? AND status IN ?", orderInfo.Id, []int{2, 5}). Update("status", orderStatusRefunded).Error; err != nil { return errors.Wrapf(xerr.NewErrCode(xerr.DatabaseUpdateError), "refund order status update failed: %v", err) } diff --git a/internal/model/order/model.go b/internal/model/order/model.go index e175b19..979902b 100644 --- a/internal/model/order/model.go +++ b/internal/model/order/model.go @@ -156,8 +156,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 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", + "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", ). Scan(v).Error }) @@ -173,8 +173,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 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", + "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", ). Scan(v).Error }) @@ -188,8 +188,8 @@ func (m *customOrderModel) QueryTotalOrders(ctx context.Context) (OrdersTotal, e return conn.Model(&Order{}). Select(` SUM(amount) AS amount_total, - 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 + 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 `). Where("status IN ? AND method != ?", []int64{2, 5}, "balance"). Scan(&result).Error @@ -210,8 +210,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 is_new = 1 THEN user_id END) AS new_users, - COUNT(DISTINCT CASE WHEN is_new = 0 THEN user_id END) AS renewal_users + 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 `). Where("status IN ? AND created_at >= ? AND created_at < ? AND method != ?", []int64{2, 5}, firstDay, nextMonth, "balance"). @@ -228,8 +228,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 is_new = 1 THEN user_id END) AS new_users, - COUNT(DISTINCT CASE WHEN is_new = 0 THEN user_id END) AS renewal_users + 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 `). Where("status IN ? AND DATE_FORMAT(created_at, '%Y-%m-%d') = ? AND method != ?", []int64{2, 5}, dateStr, "balance"). @@ -245,8 +245,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 is_new = 1 THEN user_id END) AS new_users, - COUNT(DISTINCT CASE WHEN is_new = 0 THEN user_id END) AS renewal_users + 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 `). Scan(&counts).Error }) @@ -278,8 +278,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 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 + 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 `). Where("status IN ? AND created_at >= ? AND created_at < ? AND method != ?", []int64{2, 5}, firstDay, nextDay, "balance"). @@ -322,8 +322,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 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 + 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 `). Where("status IN ? AND created_at >= ? AND created_at < ? AND method != ?", []int64{2, 5}, start, end, "balance"). diff --git a/internal/model/user/model.go b/internal/model/user/model.go index 9a658d3..ef9c5e8 100644 --- a/internal/model/user/model.go +++ b/internal/model/user/model.go @@ -378,13 +378,13 @@ func (m *customUserModel) QueryDailyUserStatisticsList(ctx context.Context, date // 子查询:统计每天的新用户订单数量 newOrderSub := conn.Model(&order.Order{}). Select("DATE_FORMAT(created_at, '%Y-%m-%d') AS date, COUNT(DISTINCT user_id) AS new_order_users"). - Where("is_new = 1 AND created_at BETWEEN ? AND ? AND status IN ?", firstDay, date, []int64{2, 5}). + Where("type = 1 AND created_at BETWEEN ? AND ? AND status IN ? AND method != ?", firstDay, date, []int64{2, 5}, "balance"). Group("DATE_FORMAT(created_at, '%Y-%m-%d')") // 子查询:统计每天的续费订单数量 renewalOrderSub := conn.Model(&order.Order{}). Select("DATE_FORMAT(created_at, '%Y-%m-%d') AS date, COUNT(DISTINCT user_id) AS renewal_order_users"). - Where("is_new = 0 AND created_at BETWEEN ? AND ? AND status IN ?", firstDay, date, []int64{2, 5}). + Where("type = 2 AND created_at BETWEEN ? AND ? AND status IN ? AND method != ?", firstDay, date, []int64{2, 5}, "balance"). Group("DATE_FORMAT(created_at, '%Y-%m-%d')") return conn.Model(&User{}). @@ -416,13 +416,13 @@ func (m *customUserModel) QueryMonthlyUserStatisticsList(ctx context.Context, da // 子查询:每月新订单用户数量 newOrderSub := conn.Model(&order.Order{}). Select("DATE_FORMAT(created_at, '%Y-%m') AS date, COUNT(DISTINCT user_id) AS new_order_users"). - Where("is_new = 1 AND created_at >= ? AND status IN ?", sixMonthsAgo, []int64{2, 5}). + Where("type = 1 AND created_at >= ? AND status IN ? AND method != ?", sixMonthsAgo, []int64{2, 5}, "balance"). Group("DATE_FORMAT(created_at, '%Y-%m')") // 子查询:每月续费订单用户数量 renewalOrderSub := conn.Model(&order.Order{}). Select("DATE_FORMAT(created_at, '%Y-%m') AS date, COUNT(DISTINCT user_id) AS renewal_order_users"). - Where("is_new = 0 AND created_at >= ? AND status IN ?", sixMonthsAgo, []int64{2, 5}). + Where("type = 2 AND created_at >= ? AND status IN ? AND method != ?", sixMonthsAgo, []int64{2, 5}, "balance"). Group("DATE_FORMAT(created_at, '%Y-%m')") return conn.Model(&User{}).