|
@@ -1290,10 +1290,20 @@ func (p *Game) ReadyInner(playerID int32, useLocker bool) error {
|
|
|
}
|
|
|
|
|
|
err = db.GetDB().Transaction(func(tx *gorm.DB) error {
|
|
|
- err := tx.Exec("update users as a, users as b set a.credits_qznn = b.credits_qznn + ?, a.credits = b.credits - ? where a.id = ? and b.id = ? and b.credits - ? >= 0",
|
|
|
- frozenAmount, frozenAmount, playerID, playerID, frozenAmount).Error
|
|
|
+ // err := tx.Exec("update users as a, users as b set a.credits_qznn = b.credits_qznn + ?, a.credits = b.credits - ? where a.id = ? and b.id = ? and b.credits - ? >= 0",
|
|
|
+ // frozenAmount, frozenAmount, playerID, playerID, frozenAmount).Error
|
|
|
+
|
|
|
+ // if err != nil {
|
|
|
+ // return err
|
|
|
+ // }
|
|
|
+
|
|
|
+ err = tx.Model(model.User{}).Where("id = ?", playerID).Updates(map[string]interface{}{
|
|
|
+ "credits": gorm.Expr("credits - ?", frozenAmount),
|
|
|
+ "credits_qznn": gorm.Expr("credits_qznn + ?", frozenAmount),
|
|
|
+ }).Error
|
|
|
|
|
|
if err != nil {
|
|
|
+ logrus.Error(err)
|
|
|
return err
|
|
|
}
|
|
|
|
|
@@ -1303,7 +1313,7 @@ func (p *Game) ReadyInner(playerID int32, useLocker bool) error {
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
- if afterUserModel.CreditsQZNN.LessThan(frozenAmount) {
|
|
|
+ if afterUserModel.Credits.LessThan(decimal.Zero) {
|
|
|
return errors.New("内部错误")
|
|
|
}
|
|
|
|
|
@@ -1334,10 +1344,19 @@ func (p *Game) ReadyInner(playerID int32, useLocker bool) error {
|
|
|
}
|
|
|
|
|
|
err = db.GetDB().Transaction(func(tx *gorm.DB) error {
|
|
|
- err := tx.Exec("update users as a, users as b set a.balance_qznn = b.balance_qznn + ?, a.balance = b.balance - ? where a.id = ? and b.id = ? and b.balance - ? >= 0",
|
|
|
- frozenAmount, frozenAmount, playerID, playerID, frozenAmount).Error
|
|
|
+ // err := tx.Exec("update users as a, users as b set a.balance_qznn = b.balance_qznn + ?, a.balance = b.balance - ? where a.id = ? and b.id = ? and b.balance - ? >= 0",
|
|
|
+ // frozenAmount, frozenAmount, playerID, playerID, frozenAmount).Error
|
|
|
+
|
|
|
+ // if err != nil {
|
|
|
+ // return err
|
|
|
+ // }
|
|
|
+ err = tx.Model(model.User{}).Where("id = ?", playerID).Updates(map[string]interface{}{
|
|
|
+ "balance": gorm.Expr("balance - ?", frozenAmount),
|
|
|
+ "balance_qznn": gorm.Expr("balance_qznn + ?", frozenAmount),
|
|
|
+ }).Error
|
|
|
|
|
|
if err != nil {
|
|
|
+ logrus.Error(err)
|
|
|
return err
|
|
|
}
|
|
|
|
|
@@ -1347,7 +1366,7 @@ func (p *Game) ReadyInner(playerID int32, useLocker bool) error {
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
- if afterUserModel.BalanceQZNN.LessThan(frozenAmount) {
|
|
|
+ if afterUserModel.Balance.LessThan(decimal.Zero) {
|
|
|
return errors.New("内部错误")
|
|
|
}
|
|
|
|