1. 排除商城直购(source_type=1):GMV和成本过滤条件从IN(1,2,3,4)改为IN(2,3,4) 2. 排除次卡免费使用订单(actual_amount=0):避免购买次卡和使用次卡双重计入GMV - source_type=4 一番赏使用次卡:1578单 44032元重复 - source_type=3 对对碰使用次卡:422单 7042元重复 - 合计去除51074元虚增GMV(29.1%) 3. 成本过滤条件同步修正:source_type IN(2,3,4),total_amount>0 修正后:GMV从175600降至124527元,毛利率从37.4%回到真实的11.8%
56 lines
1.6 KiB
Go
56 lines
1.6 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"gorm.io/driver/mysql"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func main() {
|
|
dsn := "root:bindbox2025kdy@tcp(150.158.78.154:3306)/dev_game?charset=utf8mb4&parseTime=True&loc=Local"
|
|
db, _ := gorm.Open(mysql.Open(dsn), &gorm.Config{})
|
|
|
|
channelID := 3
|
|
filter := "users.channel_id = ? AND users.deleted_at IS NULL AND orders.status = 2 AND orders.actual_amount > 0 AND orders.source_type IN (1,2,3,4) AND (orders.ext_order_id = '' OR orders.ext_order_id IS NULL)"
|
|
|
|
type Sample struct {
|
|
ID int64
|
|
SourceType int32
|
|
ActualAmount int64
|
|
Remark string
|
|
}
|
|
|
|
// 一番赏 remark
|
|
var ichiban []Sample
|
|
db.Table("orders").
|
|
Joins("JOIN users ON users.id = orders.user_id").
|
|
Select("orders.id, orders.source_type, orders.actual_amount, orders.remark").
|
|
Where(filter+" AND orders.source_type = 4", channelID).
|
|
Limit(5).
|
|
Scan(&ichiban)
|
|
|
|
fmt.Println("=== 一番赏 (source_type=4) remark 示例 ===")
|
|
for _, s := range ichiban {
|
|
fmt.Printf(" ID=%-6d amount=%-8d remark=[%s]\n", s.ID, s.ActualAmount, s.Remark)
|
|
}
|
|
|
|
// 翻牌 matching_game 的 issue 对应关系
|
|
type IssueActivity struct {
|
|
IssueID int64
|
|
ActivityID int64
|
|
PriceDraw int64
|
|
}
|
|
var ia []IssueActivity
|
|
db.Table("activity_issues").
|
|
Joins("JOIN activities ON activities.id = activity_issues.activity_id").
|
|
Select("activity_issues.id as issue_id, activity_issues.activity_id, activities.price_draw").
|
|
Where("activity_issues.id IN (92, 96, 104)").
|
|
Scan(&ia)
|
|
|
|
fmt.Println("\n=== 翻牌 issue → activity → price_draw ===")
|
|
for _, r := range ia {
|
|
fmt.Printf(" issue_id=%d → activity_id=%d → price_draw=%d\n", r.IssueID, r.ActivityID, r.PriceDraw)
|
|
}
|
|
}
|