Commit 653c7e69 authored by hujiebin's avatar hujiebin

feat:明细去掉bef/aft

parent 6b090bbb
...@@ -96,8 +96,7 @@ func TxAddReduceDiamondAccount(model *domain.Model, userId mysql.ID, operateType ...@@ -96,8 +96,7 @@ func TxAddReduceDiamondAccount(model *domain.Model, userId mysql.ID, operateType
if diamondAccount.Status == diamond_e.Frozen && diamondOperateSet.AddReduce == mysql.REDUCE { if diamondAccount.Status == diamond_e.Frozen && diamondOperateSet.AddReduce == mysql.REDUCE {
return fmt.Errorf("bizerr.DiamondAccountFrozen") return fmt.Errorf("bizerr.DiamondAccountFrozen")
} }
return model.Transaction(func(model *domain.Model) error { err = model.Transaction(func(model *domain.Model) error {
// 更新diamondAccount表 // 更新diamondAccount表
var db *gorm.DB var db *gorm.DB
if diamondOperateSet.AddReduce == mysql.ADD { if diamondOperateSet.AddReduce == mysql.ADD {
...@@ -123,38 +122,16 @@ func TxAddReduceDiamondAccount(model *domain.Model, userId mysql.ID, operateType ...@@ -123,38 +122,16 @@ func TxAddReduceDiamondAccount(model *domain.Model, userId mysql.ID, operateType
return myerr.NewWaring("gorm condition update.RowsAffected = 0") return myerr.NewWaring("gorm condition update.RowsAffected = 0")
} }
// 写后读(写后缓存都会丢失,多读一次不影响) // 写后读(写后缓存都会丢失,多读一次不影响)
newAccount := new(diamond_m.DiamondAccount) //newAccount := new(diamond_m.DiamondAccount)
if err := model.DB().Model(diamond_m.DiamondAccount{}).Where("id = ?", diamondAccount.ID).First(newAccount).Error; err != nil { //if err := model.DB().Model(diamond_m.DiamondAccount{}).Where("id = ?", diamondAccount.ID).First(newAccount).Error; err != nil {
model.Log.Errorf("newAccount err:%v", err) // model.Log.Errorf("newAccount err:%v", err)
return err // return err
} //}
if newAccount.DiamondNum < 0 { //if newAccount.DiamondNum < 0 {
model.Log.Errorf("newAccount 0") // model.Log.Errorf("newAccount 0")
return myerr.NewSysError("newAccount 0") // return myerr.NewSysError("newAccount 0")
} //}
// 更新明细
befNum := mysql.Num(0)
if diamondOperateSet.AddReduce == mysql.ADD {
befNum = newAccount.DiamondNum - diamondNum
}
if diamondOperateSet.AddReduce == mysql.REDUCE {
befNum = newAccount.DiamondNum + diamondNum
}
if err := model.DB().Table(diamond_m.DiamondAccountDetail{}.TableName()).Create(&diamond_m.DiamondAccountDetail{
UserId: userId,
DiamondAccountId: newAccount.ID,
OperateId: diamondOperateSet.ID,
OperateType: operateType,
OriginId: originId,
AddReduce: diamondOperateSet.AddReduce,
Num: diamondNum,
Remark: diamondOperateSet.Name,
BefNum: befNum,
AftNum: newAccount.DiamondNum,
}).Error; err != nil {
model.Log.Errorf("add detail fail:%v", err)
return err
}
for i, f := range extraTxFunc { for i, f := range extraTxFunc {
if err := f(); err != nil { if err := f(); err != nil {
model.Log.Errorf("extraFunc i:%v fail:%v", i, err) model.Log.Errorf("extraFunc i:%v fail:%v", i, err)
...@@ -163,4 +140,32 @@ func TxAddReduceDiamondAccount(model *domain.Model, userId mysql.ID, operateType ...@@ -163,4 +140,32 @@ func TxAddReduceDiamondAccount(model *domain.Model, userId mysql.ID, operateType
} }
return nil return nil
}) })
if err != nil {
model.Log.Errorf("transaction fail:%v", err)
return err
}
// 更新明细
//befNum := mysql.Num(0)
//if diamondOperateSet.AddReduce == mysql.ADD {
// befNum = newAccount.DiamondNum - diamondNum
//}
//if diamondOperateSet.AddReduce == mysql.REDUCE {
// befNum = newAccount.DiamondNum + diamondNum
//}
if err := model.DB().Table(diamond_m.DiamondAccountDetail{}.TableName()).Create(&diamond_m.DiamondAccountDetail{
UserId: userId,
DiamondAccountId: diamondAccount.ID,
OperateId: diamondOperateSet.ID,
OperateType: operateType,
OriginId: originId,
AddReduce: diamondOperateSet.AddReduce,
Num: diamondNum,
Remark: diamondOperateSet.Name,
BefNum: 0, // 去掉
AftNum: 0,
}).Error; err != nil {
model.Log.Errorf("add detail fail:%v", err)
//return err
}
return nil
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment