qyweixin2

This commit is contained in:
jiangyong27 2024-01-22 22:47:35 +08:00
parent 10b4ed02e1
commit aed2f871f0
5 changed files with 28 additions and 32 deletions

View File

@ -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

View File

@ -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),
}
}

View File

@ -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),
}
}

View File

@ -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),
}
}

View File

@ -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