2026-01-27 01:33:32 +08:00

42 lines
1.1 KiB
Go

package main
import (
"fmt"
"log"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
const (
DbDSN = "root:bindbox2025kdy@tcp(150.158.78.154:3306)/dev_game?charset=utf8mb4&parseTime=True&loc=Local"
)
func main() {
db, err := gorm.Open(mysql.Open(DbDSN), &gorm.Config{})
if err != nil {
log.Fatalf("DB connection failed: %v", err)
}
fmt.Println("--- User 9090 Full Coupon Dump (Cloud DB) ---")
var userCoupons []map[string]interface{}
db.Raw("SELECT * FROM user_coupons WHERE user_id = 9090").Scan(&userCoupons)
for _, uc := range userCoupons {
fmt.Printf("\nCoupon Record: %+v\n", uc)
id := uc["id"]
// Get associated orders for this coupon
var orders []map[string]interface{}
db.Raw("SELECT order_id, applied_amount, created_at FROM order_coupons WHERE user_coupon_id = ?", id).Scan(&orders)
fmt.Printf(" Orders associated: %+v\n", orders)
// Get ledger entries
var ledger []map[string]interface{}
db.Raw("SELECT action, change_amount, balance_after, created_at FROM user_coupon_ledger WHERE user_coupon_id = ?", id).Scan(&ledger)
fmt.Printf(" Ledger entries: %+v\n", ledger)
}
}