|
|
@@ -150,41 +150,43 @@ func handleZhiosOrderTotalSecond(msg []byte) error { |
|
|
|
sess.Rollback() |
|
|
|
return errors.New("失败") |
|
|
|
} |
|
|
|
var userStatistics1 model.UserDayAmount |
|
|
|
sess.Where("uid=? and date=?", v.Uid, nowDay).Get(&userStatistics1) |
|
|
|
if userStatistics1.Id == 0 { |
|
|
|
userStatistics1 = model.UserDayAmount{ |
|
|
|
Date: utils.StrToInt(nowDay), |
|
|
|
Uid: v.Uid, |
|
|
|
if v.CreateAt > 1711084223 { |
|
|
|
var userStatistics1 model.UserDayAmount |
|
|
|
sess.Where("uid=? and date=?", v.Uid, nowDay).Get(&userStatistics1) |
|
|
|
if userStatistics1.Id == 0 { |
|
|
|
userStatistics1 = model.UserDayAmount{ |
|
|
|
Date: utils.StrToInt(nowDay), |
|
|
|
Uid: v.Uid, |
|
|
|
} |
|
|
|
has, err := sess.Insert(&userStatistics1) |
|
|
|
if err != nil { |
|
|
|
sess.Rollback() |
|
|
|
return err |
|
|
|
} |
|
|
|
if has == 0 { |
|
|
|
sess.Rollback() |
|
|
|
return errors.New("失败") |
|
|
|
} |
|
|
|
} |
|
|
|
has, err := sess.Insert(&userStatistics1) |
|
|
|
if err != nil { |
|
|
|
isupdate1 := 0 |
|
|
|
if ordData.State == 4 && ordData.IsTotal == 1 { |
|
|
|
isupdate1 = 1 |
|
|
|
userStatistics1.Amount = utils.Float64ToStrByPrec(utils.StrToFloat64(userStatistics1.Amount)-v.Amount-utils.StrToFloat64(v.AdditionalSubsidy), 4) |
|
|
|
} |
|
|
|
if ordData.State != 4 && ordData.IsTotal == 0 { |
|
|
|
isupdate1 = 1 |
|
|
|
userStatistics1.Amount = utils.Float64ToStrByPrec(utils.StrToFloat64(userStatistics1.Amount)+v.Amount+utils.StrToFloat64(v.AdditionalSubsidy), 4) |
|
|
|
} |
|
|
|
update1, err1 := sess.Where("id=?", userStatistics1.Id).Cols("amount").Update(&userStatistics1) |
|
|
|
if err1 != nil { |
|
|
|
sess.Rollback() |
|
|
|
return err |
|
|
|
} |
|
|
|
if has == 0 { |
|
|
|
if update1 == 0 && isupdate1 == 1 { |
|
|
|
sess.Rollback() |
|
|
|
return errors.New("失败") |
|
|
|
} |
|
|
|
} |
|
|
|
isupdate1 := 0 |
|
|
|
if ordData.State == 4 && ordData.IsTotal == 1 { |
|
|
|
isupdate1 = 1 |
|
|
|
userStatistics1.Amount = utils.Float64ToStrByPrec(utils.StrToFloat64(userStatistics1.Amount)-v.Amount-utils.StrToFloat64(v.AdditionalSubsidy), 4) |
|
|
|
} |
|
|
|
if ordData.State != 4 && ordData.IsTotal == 0 { |
|
|
|
isupdate1 = 1 |
|
|
|
userStatistics1.Amount = utils.Float64ToStrByPrec(utils.StrToFloat64(userStatistics1.Amount)+v.Amount+utils.StrToFloat64(v.AdditionalSubsidy), 4) |
|
|
|
} |
|
|
|
update1, err1 := sess.Where("id=?", userStatistics1.Id).Cols("amount").Update(&userStatistics1) |
|
|
|
if err1 != nil { |
|
|
|
sess.Rollback() |
|
|
|
return err |
|
|
|
} |
|
|
|
if update1 == 0 && isupdate1 == 1 { |
|
|
|
sess.Rollback() |
|
|
|
return errors.New("失败") |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|