package youngee_talent_service import ( "context" "fmt" _ "io/ioutil" _ "net/http" _ "strings" "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" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" ivs "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/ivs/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/ivs/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/ivs/v2/region" ) 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 AddTalentBank(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()} } // 从表单中提取自定义参数并赋值到 tBank 结构体中 tBank.Name = r.FormValue("name") tBank.BankCardId = r.FormValue("bank_card_id") // 生成唯一的UUID字符串 //randomString := utils.GetUuid.GetRandomString(6) //ak := os.Getenv("YJRGTOWEITSYOXN3YPJY") //sk := os.Getenv("Kd7WDeS2CxlLXjMhGpLW0AmdOZHafitQpBy13a0s") auth := basic.NewCredentialsBuilder(). WithAk("YJRGTOWEITSYOXN3YPJY"). WithSk("Kd7WDeS2CxlLXjMhGpLW0AmdOZHafitQpBy13a0s"). Build() client := ivs.NewIvsClient( ivs.IvsClientBuilder(). WithRegion(region.ValueOf("cn-north-4")). WithCredential(auth). Build()) request := &model.DetectExtentionByNameAndIdRequest{} var listReqDataData = []model.ExtentionReqDataByNameAndId{ { VerificationName: tBank.Name, VerificationId: tBank.BankCardId, }, } databody := &model.IvsExtentionByNameAndIdRequestBodyData{ ReqData: &listReqDataData, } uuidMeta := "d41d8cd98f00b204e9800998ecf8427e" metabody := &model.Meta{ Uuid: &uuidMeta, } request.Body = &model.IvsExtentionByNameAndIdRequestBody{ Data: databody, Meta: metabody, } response, err := client.DetectExtentionByNameAndId(request) if err == nil { fmt.Printf("ya") // 更新 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()} } } else { return &TalentHttpResult{Code: -1, Msg: "人证验证失败", Data: response} } return &TalentHttpResult{Code: 0, Msg: "success", Data: response} } 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"} }