43 lines
1.3 KiB
Go
43 lines
1.3 KiB
Go
package main
|
||
|
||
import (
|
||
"database/sql"
|
||
"fmt"
|
||
"log"
|
||
|
||
_ "github.com/go-sql-driver/mysql"
|
||
)
|
||
|
||
func main() {
|
||
// 连接数据库
|
||
dsn := "root:bindbox2025kdy@tcp(150.158.78.154:3306)/dev_game?parseTime=true"
|
||
db, err := sql.Open("mysql", dsn)
|
||
if err != nil {
|
||
log.Fatal("连接失败:", err)
|
||
}
|
||
defer db.Close()
|
||
|
||
// 1. 重置优惠券状态用于测试
|
||
// 注意:这里为了不破坏现场,我们创建一个新的优惠券用于测试
|
||
// 或者,如果用户允许,我们可以修复已经超额的优惠券?
|
||
// 这里我们只观察,不测试下单(因为需要调用 API)。
|
||
// 但我们可以手动验证 "Mock" ApplyCouponWithCap 逻辑。
|
||
|
||
fmt.Println("此脚本仅打印当前优惠券 275 的状态,请手动进行下单测试验证修复效果。")
|
||
|
||
// 查询优惠券状态
|
||
var bal int64
|
||
var status int32
|
||
err = db.QueryRow("SELECT balance_amount, status FROM user_coupons WHERE id = 275").Scan(&bal, &status)
|
||
if err != nil {
|
||
log.Fatal(err)
|
||
}
|
||
fmt.Printf("当前优惠券余额: %d 分, 状态: %d\n", bal, status)
|
||
|
||
if bal > 0 {
|
||
fmt.Println("余额 > 0,正常情况。请尝试下单直到余额耗尽,再次下单应失败或不使用优惠券。")
|
||
} else {
|
||
fmt.Println("余额 <= 0,修复前这会导致重新使用 5000 面值。修复后应该无法使用。")
|
||
}
|
||
}
|