fix version 1
This commit is contained in:
@@ -12,6 +12,7 @@ import (
|
||||
"git.apinb.com/bsm-sdk/core/printer"
|
||||
"git.apinb.com/bsm-sdk/core/service"
|
||||
"git.apinb.com/bsm-sdk/core/utils"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
// 新增地址
|
||||
@@ -38,11 +39,15 @@ func Create(ctx context.Context, in *pb.AddressCreateRequest) (reply *pb.StatusR
|
||||
address.OwnerIdentity = auth.Identity
|
||||
address.Status = int8(in.Status)
|
||||
|
||||
if address.Status == 2 {
|
||||
impl.DBService.Model(&models.AddressLibrary{}).Where("owner_id = ? and status=2", auth.ID).UpdateColumn("status", "1")
|
||||
}
|
||||
|
||||
err = impl.DBService.Create(address).Error
|
||||
// 取消旧默认与写入新默认放在同一事务,保证任一时刻只有一个默认地址
|
||||
err = impl.DBService.Transaction(func(tx *gorm.DB) error {
|
||||
if address.Status == 2 {
|
||||
if err := tx.Model(&models.AddressLibrary{}).Where("owner_id = ? and status = 2", auth.ID).UpdateColumn("status", 1).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return tx.Create(address).Error
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
printer.Error(err.Error())
|
||||
|
||||
Reference in New Issue
Block a user