package youngee_talent_service import ( "context" "youngmini_server/app/dao" "youngmini_server/app/model/youngee_talent_model" "youngmini_server/app/utils" "github.com/gogf/gf/database/gdb" "github.com/gogf/gf/frame/g" "github.com/gogf/gf/net/ghttp" ) func GetTalentBankInfo(r *ghttp.Request) *TalentHttpResult { tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r) if err != nil { return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"} } res, err := g.DB().Model(dao.YounggeeTalentBank.Table).Where("talent_id = ?", tid).One() if err != nil { return &TalentHttpResult{Code: -2, Msg: err.Error()} } return &TalentHttpResult{Code: 0, Msg: "success", Data: res} } func OnAddTalentBank(r *ghttp.Request) *TalentHttpResult { tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r) if err != nil { return &TalentHttpResult{Code: -1, Msg: "Add talent address failed"} } tBank := youngee_talent_model.TalentBankInfo{} err = r.ParseForm(&tBank) if err != nil { return &TalentHttpResult{Code: -2, Msg: err.Error()} } // 更新 err = g.DB().Transaction(context.TODO(), func(ctx context.Context, tx *gdb.TX) error { var tErr error // 判断是否已经绑定 res, err := g.DB().Model(dao.YoungeeTalentInfo.Table).Fields("is_bind_bank").Where("id = ?", tid).Value() if err != nil { return err } if res.Int64() == 0 { // 新增 // 将达人id存入结构体 tBank.TalentId = tid // 插入提现绑定信息 _, tErr = tx.Ctx(ctx).Model(dao.YounggeeTalentBank.Table).Insert(tBank) if tErr != nil { return tErr } } else { // 更新 // 将达人id存入结构体 tBank.TalentId = tid // 更新提现绑定信息 _, tErr = tx.Ctx(ctx).Model(dao.YounggeeTalentBank.Table).Update(tBank, "talent_id", tid) if tErr != nil { return tErr } } _, tErr = tx.Ctx(ctx).Model(dao.YoungeeTalentInfo.Table).Data("is_bind_bank", 1).Where("id", tid).Update() if tErr != nil { return tErr } return nil }) if err != nil { return &TalentHttpResult{Code: -3, Msg: err.Error()} } return &TalentHttpResult{Code: 0, Msg: "success"} }