|
|
|
@ -1,7 +1,6 @@
|
|
|
|
|
package jyy
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"errors"
|
|
|
|
|
"fmt"
|
|
|
|
|
"recook/internal/libs/bean"
|
|
|
|
|
"recook/internal/v2/model/company"
|
|
|
|
@ -64,6 +63,13 @@ func (o logic) WithdrawalApply(args ArgsWithdrawalApply) error {
|
|
|
|
|
if e := tx.First(&a, "id = ?", args.ID).Error; e != nil {
|
|
|
|
|
return e
|
|
|
|
|
}
|
|
|
|
|
if a.State != 1 {
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
var wallet user.RecookUserWalletModel
|
|
|
|
|
if e := mysql.Db.First(&wallet, "user_id = ?", a.UserID).Error; e != nil {
|
|
|
|
|
return e
|
|
|
|
|
}
|
|
|
|
|
if e := tx.Table((&company.Apply{}).TableName()).
|
|
|
|
|
Where("state=1").Where("id = ?", args.ID).Updates(company.Apply{
|
|
|
|
|
State: args.Apply,
|
|
|
|
@ -76,7 +82,10 @@ func (o logic) WithdrawalApply(args ArgsWithdrawalApply) error {
|
|
|
|
|
// 拒绝
|
|
|
|
|
if args.Apply == 99 {
|
|
|
|
|
if e := tx.Table((&user.RecookUserWalletBalanceListModel{}).TableName()).
|
|
|
|
|
Where("user_id = ?", a.UserID).Where("statsu = 1").Update("status", 0).Error; e != nil {
|
|
|
|
|
Where("user_id = ?", a.UserID).Where("apply_id = ?", a.ID).Update("status", 0).Error; e != nil {
|
|
|
|
|
return e
|
|
|
|
|
}
|
|
|
|
|
if e := tx.Model(&wallet).Update("balance", gorm.Expr("balance + ?", a.Balance)).Error; e != nil {
|
|
|
|
|
return e
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -112,12 +121,12 @@ func (o logic) WithdrawPass(args ArgsWithdrawalPass) error {
|
|
|
|
|
if e := tx.First(&w, "user_id = ?", record.UserID).Error; e != nil {
|
|
|
|
|
return e
|
|
|
|
|
}
|
|
|
|
|
if row := tx.Model(&w).Where("version = ?", w.Version).Updates(map[string]interface{}{
|
|
|
|
|
"balance": gorm.Expr("balance - ?", record.Balance),
|
|
|
|
|
"version": gorm.Expr("version + 1"),
|
|
|
|
|
}).RowsAffected; row != 1 {
|
|
|
|
|
return errors.New("更新失败")
|
|
|
|
|
}
|
|
|
|
|
// if row := tx.Model(&w).Where("version = ?", w.Version).Updates(map[string]interface{}{
|
|
|
|
|
// "balance": gorm.Expr("balance - ?", record.Balance),
|
|
|
|
|
// "version": gorm.Expr("version + 1"),
|
|
|
|
|
// }).RowsAffected; row != 1 {
|
|
|
|
|
// return errors.New("更新失败")
|
|
|
|
|
// }
|
|
|
|
|
if e := tx.Create(&user.RecookUserWalletBalanceListModel{
|
|
|
|
|
UserId: uint(record.UserID),
|
|
|
|
|
IncomeType: user.RecookUserWalletBalanceListIncomeTypeWithdraw,
|
|
|
|
@ -129,17 +138,10 @@ func (o logic) WithdrawPass(args ArgsWithdrawalPass) error {
|
|
|
|
|
OrderTime: formatime.Second{},
|
|
|
|
|
CreatedAt: formatime.NewSecondNow(),
|
|
|
|
|
ProfitID: 0,
|
|
|
|
|
Status: 2,
|
|
|
|
|
ApplyID: record.ID,
|
|
|
|
|
}).Error; e != nil {
|
|
|
|
|
return e
|
|
|
|
|
}
|
|
|
|
|
// 通过
|
|
|
|
|
if e := tx.Table((&user.RecookUserWalletBalanceListModel{}).TableName()).
|
|
|
|
|
Where("user_id = ?", record.UserID).
|
|
|
|
|
Where("statsu = 1").
|
|
|
|
|
Update("status", 2).Error; e != nil {
|
|
|
|
|
return e
|
|
|
|
|
}
|
|
|
|
|
return nil
|
|
|
|
|
}); err != nil {
|
|
|
|
|
return err
|
|
|
|
|