75 lines
2.0 KiB
Go
75 lines
2.0 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
|
|
"gorm.io/driver/mysql"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// 简单的 struct 映射
|
|
type Orders struct {
|
|
ID int64
|
|
OrderNo string
|
|
SourceType int32
|
|
Status int32
|
|
Remark string
|
|
UserID int64
|
|
TotalAmount int64
|
|
ActualAmount int64
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
type IssuePositionClaims struct {
|
|
ID int64
|
|
IssueID int64
|
|
SlotIndex int64
|
|
OrderID int64
|
|
UserID int64
|
|
}
|
|
|
|
// 表名映射
|
|
func (Orders) TableName() string { return "orders" }
|
|
func (IssuePositionClaims) TableName() string { return "issue_position_claims" }
|
|
|
|
func main() {
|
|
// 尝试使用 config 中的密码
|
|
dsn := "root:api2api..@tcp(sh-cynosdbmysql-grp-88th45wy.sql.tencentcdb.com:28555)/bindbox_game?charset=utf8mb4&parseTime=True&loc=Local"
|
|
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
|
|
if err != nil {
|
|
panic("failed to connect database: " + err.Error())
|
|
}
|
|
|
|
targetOrderNo := "O20260107092217073"
|
|
|
|
var order Orders
|
|
if err := db.Where("order_no = ?", targetOrderNo).First(&order).Error; err != nil {
|
|
fmt.Printf("Error finding order: %v\n", err)
|
|
return
|
|
}
|
|
|
|
fmt.Printf("========== Order Info ==========\n")
|
|
fmt.Printf("ID: %d\n", order.ID)
|
|
fmt.Printf("OrderNo: %s\n", order.OrderNo)
|
|
fmt.Printf("UserID: %d\n", order.UserID)
|
|
fmt.Printf("SourceType: %d\n", order.SourceType)
|
|
fmt.Printf("Status: %d (2=Paid)\n", order.Status)
|
|
fmt.Printf("Amount: Total=%d, Actual=%d\n", order.TotalAmount, order.ActualAmount)
|
|
fmt.Printf("Remark Length: %d\n", len(order.Remark))
|
|
fmt.Printf("Remark Content: %s\n", order.Remark)
|
|
fmt.Printf("================================\n")
|
|
|
|
var claims []IssuePositionClaims
|
|
if err := db.Where("order_id = ?", order.ID).Find(&claims).Error; err != nil {
|
|
fmt.Printf("Error checking claims: %v\n", err)
|
|
}
|
|
|
|
fmt.Printf("========== Claims Info ==========\n")
|
|
fmt.Printf("Claims Count: %d\n", len(claims))
|
|
for _, c := range claims {
|
|
fmt.Printf("- Claim: SlotIndex=%d IssueID=%d\n", c.SlotIndex, c.IssueID)
|
|
}
|
|
fmt.Printf("=================================\n")
|
|
}
|