26
26
globalLock sync.Mutex
27
27
28
28
errCancelFail = errors .New ("遇到不可抗力因素,注销失败!" )
29
+
30
+ // ErrInvalidProductID 商品ID无效
31
+ ErrInvalidProductID = errors .New ("商品id不存在" )
32
+
29
33
// ErrNoBoys 表示当前没有男孩子可用的错误。
30
34
ErrNoBoys = errors .New ("暂时没有男孩子哦" )
31
35
@@ -337,24 +341,15 @@ func Redeem(gid, uid int64, lastLength float64) error {
337
341
return ErrNoNiuNiu
338
342
}
339
343
340
- /* var n niuNiuManager
341
- if err = db.Where("niu_id = ?", niuID).First(&n).Error; err != nil {
342
- return err
343
- }
344
-
345
- switch n.Status {
346
- case 1:
347
- return errors.New("你的牛牛已经被拍卖无法赎回")
348
- case 2:
349
- return errors.New("你的牛牛已经被注销无法赎回")
350
- }*/
351
-
352
344
money := wallet .GetWalletOf (uid )
353
345
354
- if money < 150 {
346
+ price := 150
347
+
348
+ if money < price {
355
349
var builder strings.Builder
356
350
walletName := wallet .GetWalletName ()
357
- builder .WriteString ("赎牛牛需要150" )
351
+ builder .WriteString ("赎牛牛需要" )
352
+ builder .WriteString (strconv .Itoa (price ))
358
353
builder .WriteString (walletName )
359
354
builder .WriteString (",快去赚钱吧,目前仅有:" )
360
355
builder .WriteString (strconv .Itoa (money ))
@@ -363,15 +358,15 @@ func Redeem(gid, uid int64, lastLength float64) error {
363
358
return errors .New (builder .String ())
364
359
}
365
360
366
- if err = wallet .InsertWalletOf (uid , - 150 ); err != nil {
361
+ if err = wallet .InsertWalletOf (uid , - price ); err != nil {
367
362
return err
368
363
}
369
364
370
365
return TableFor (gid , ur ).Where ("user_id = ?" , uid ).Update ("length" , lastLength ).Error
371
366
}
372
367
373
368
// Store 牛牛商店
374
- func Store (gid , uid int64 , n int ) error {
369
+ func Store (gid , uid int64 , productID int , quantity int ) error {
375
370
globalLock .Lock ()
376
371
defer globalLock .Unlock ()
377
372
if err := ensureUserInfoTable [userInfo ](gid , ur ); err != nil {
@@ -383,7 +378,7 @@ func Store(gid, uid int64, n int) error {
383
378
return err
384
379
}
385
380
386
- money , err := info .purchaseItem (n )
381
+ money , err := info .purchaseItem (productID , quantity )
387
382
if err != nil {
388
383
return err
389
384
}
@@ -442,9 +437,7 @@ func Sell(gid, uid int64) (string, error) {
442
437
return "" , err
443
438
}
444
439
445
- db .Model (& niuNiuManager {}).Where ("niu_id = ?" , niu .NiuID ).Update ("status" , 1 )
446
-
447
- return message , err
440
+ return message , db .Model (& niuNiuManager {}).Where ("niu_id = ?" , niu .NiuID ).Update ("status" , 1 ).Error
448
441
}
449
442
450
443
// ShowAuction 展示牛牛拍卖行
@@ -481,8 +474,10 @@ func Auction(gid, uid int64, index int) (string, error) {
481
474
482
475
niu , err := getUserByID (gid , uid )
483
476
484
- if err != nil {
477
+ if errors . Is ( err , gorm . ErrRecordNotFound ) {
485
478
niu .UserID = uid
479
+ } else if err != nil {
480
+ return "" , err
486
481
}
487
482
488
483
niu .Length = info .Length
0 commit comments