qyweixin2
This commit is contained in:
parent
10b4ed02e1
commit
aed2f871f0
|
@ -40,13 +40,9 @@ type UserInfo struct {
|
|||
RealName string
|
||||
}
|
||||
|
||||
func NewApp(corpId, secret, agent string) *App {
|
||||
func NewApp(cfg *AppConfig) *App {
|
||||
return &App{
|
||||
config: &AppConfig{
|
||||
Corpid: corpId,
|
||||
Secret: secret,
|
||||
Agent: agent,
|
||||
},
|
||||
config: cfg,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -71,24 +67,6 @@ func (q *App) GetResult(rspBody []byte) (map[string]interface{}, error) {
|
|||
return result, nil
|
||||
}
|
||||
|
||||
func (q *App) GetOpenid(userid string) (string, error) {
|
||||
if err := q.refreshToken(); err != nil {
|
||||
return "", err
|
||||
}
|
||||
reqUrl := fmt.Sprintf("https://qyapi.weixin.qq.com/cgi-bin/user/convert_to_openid?access_token=%s", q.GetToken())
|
||||
rspBody, err := util.HttpPostJson(reqUrl, nil, []byte(fmt.Sprintf(`{"userid" : "%s"}`, userid)))
|
||||
if err != nil {
|
||||
log.Errorf("httpPost url[%s] error :%s", reqUrl, err.Error())
|
||||
return "", err
|
||||
}
|
||||
result, err := q.GetResult(rspBody)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return cast.ToString(result["openid"]), nil
|
||||
}
|
||||
|
||||
func (q *App) GetUserInfo(userid string) (*UserInfo, error) {
|
||||
if err := q.refreshToken(); err != nil {
|
||||
return nil, err
|
||||
|
|
|
@ -132,9 +132,9 @@ func (d *ApproveDetail) GetUserid() string {
|
|||
return d.Applyer.Userid
|
||||
}
|
||||
|
||||
func NewAppApprove(corpId, secret, agent string) *AppApprove {
|
||||
func NewAppApprove(cfg *AppConfig) *AppApprove {
|
||||
return &AppApprove{
|
||||
App: *NewApp(corpId, secret, agent),
|
||||
App: *NewApp(cfg),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -31,9 +31,9 @@ type AppCheckin struct {
|
|||
App
|
||||
}
|
||||
|
||||
func NewAppCheckin(corpId, secret, agent string) *AppCheckin {
|
||||
func NewAppCheckin(cfg *AppConfig) *AppCheckin {
|
||||
return &AppCheckin{
|
||||
App: *NewApp(corpId, secret, agent),
|
||||
App: *NewApp(cfg),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -34,9 +34,9 @@ type StaffInfo struct {
|
|||
BankCard string
|
||||
}
|
||||
|
||||
func NewAppHr(corpId, secret, agent string) *AppHr {
|
||||
func NewAppHr(cfg *AppConfig) *AppHr {
|
||||
return &AppHr{
|
||||
App: *NewApp(corpId, secret, secret),
|
||||
App: *NewApp(cfg),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@ func NewAppPay(cfg *PayConfig) *AppPay {
|
|||
}
|
||||
pay.tlsClient = client
|
||||
|
||||
pay.App = *NewApp(cfg.Corpid, cfg.Secret, cfg.Agent)
|
||||
pay.App = *NewApp(&AppConfig{Corpid: cfg.Corpid, Secret: cfg.Secret, Agent: cfg.Agent})
|
||||
pay.config = cfg
|
||||
return pay
|
||||
}
|
||||
|
@ -125,6 +125,24 @@ func (w *AppPay) initPay() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (q *App) getOpenid(userid string) (string, error) {
|
||||
if err := q.refreshToken(); err != nil {
|
||||
return "", err
|
||||
}
|
||||
reqUrl := fmt.Sprintf("https://qyapi.weixin.qq.com/cgi-bin/user/convert_to_openid?access_token=%s", q.GetToken())
|
||||
rspBody, err := butil.HttpPostJson(reqUrl, nil, []byte(fmt.Sprintf(`{"userid" : "%s"}`, userid)))
|
||||
if err != nil {
|
||||
log.Errorf("httpPost url[%s] error :%s", reqUrl, err.Error())
|
||||
return "", err
|
||||
}
|
||||
result, err := q.GetResult(rspBody)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return cast.ToString(result["openid"]), nil
|
||||
}
|
||||
|
||||
func (p *AppPay) PayMoney(req *PayReq) error {
|
||||
if p.cli == nil {
|
||||
if err := p.initPay(); err != nil {
|
||||
|
@ -133,7 +151,7 @@ func (p *AppPay) PayMoney(req *PayReq) error {
|
|||
}
|
||||
|
||||
param := butil.NewParams()
|
||||
userOpenid, err := p.GetOpenid(req.Userid)
|
||||
userOpenid, err := p.getOpenid(req.Userid)
|
||||
if err != nil {
|
||||
log.Errorf("get openid error :%s", err.Error())
|
||||
return err
|
||||
|
|
Loading…
Reference in New Issue