package hdl import ( "applet/app/admin/lib/validate" svc2 "applet/app/admin/svc/enterprise_manage" "applet/app/customer/md" "applet/app/customer/svc" "applet/app/db" "applet/app/db/model" "applet/app/e" "applet/app/enum" svc3 "applet/app/svc" "applet/app/utils" "context" "fmt" "github.com/chromedp/chromedp" "github.com/chromedp/chromedp/device" "github.com/gin-gonic/gin" "github.com/wechatpay-apiv3/wechatpay-go/core" "github.com/wechatpay-apiv3/wechatpay-go/services/certificates" "github.com/wechatpay-apiv3/wechatpay-go/services/partnerpayments/jsapi" "io/ioutil" "strconv" "time" ) func CurlAlipayPlanetEcocampusApiRosterSignUpInfo(c *gin.Context) { //查询出所有的用户身份 selfSupportForUserFaceInfoDb := db.SelfSupportForUserFaceInfoDb{} selfSupportForUserFaceInfoDb.Set(0) list, err2 := selfSupportForUserFaceInfoDb.FindSchoolFacePaymentStatus(18, "OPEN") if err2 != nil { e.OutErr(c, e.ERR, err2.Error()) return } userIdentityDb := db.UserIdentityDb{} userIdentityDb.Set(0) for _, v := range *list { identity, err := userIdentityDb.GetUserIdentity(v.UserIdentityId) if err != nil { e.OutErr(c, e.ERR, err.Error()) return } var req = md.CurlAlipayPlanetEcocampusApiRosterSignUpInfoReq{ FaceUid: v.UserId, ParentUid: v.ParentUserId, ParentLogonId: v.ParentLogonId, RosterName: identity.Name, OutRosterCode: utils.IntToStr(identity.Id), SchoolCode: v.SchoolCode, SchoolName: "珠海市斗门区第二实验小学", ScanFacePayStatus: "ON", FaceOpenStatus: "ON", } err, resp := svc.CurlAlipayPlanetEcocampusApiRosterSignUpInfo(req) if err != nil { e.OutErr(c, e.ERR, err.Error()) return } if err != nil { e.OutErr(c, e.ERR, err.Error()) return } fmt.Println(">>>>>>>>>>>>>>>>>>>>>>>>>", utils.SerializeStr(resp)) } e.OutSuc(c, "success", nil) return var req md.CurlAlipayPlanetEcocampusApiRosterSignUpInfoReq err := c.ShouldBindJSON(&req) if err != nil { err = validate.HandleValidateErr(err) err1 := err.(e.E) e.OutErr(c, err1.Code, err1.Error()) return } err, resp := svc.CurlAlipayPlanetEcocampusApiRosterSignUpInfo(req) if err != nil { e.OutErr(c, e.ERR, err.Error()) return } e.OutSuc(c, resp, nil) return } func DownloadCertificates(c *gin.Context) { client, err := svc3.NewWxPayClient(c) if err != nil { e.OutErr(c, e.ERR, err.Error()) return } // 发送请求,以下载微信支付平台证书为例 apiSvc := certificates.CertificatesApiService{Client: client} resp, result, err := apiSvc.DownloadCertificates(c) if err != nil { e.OutErr(c, e.ERR, err.Error()) return } println("status=%d resp=%s", result.Response.StatusCode, resp) e.OutSuc(c, map[string]interface{}{ "resp": resp, }, nil) return } func WxPay(c *gin.Context) { client, err := svc3.NewWxPayClient(c) if err != nil { e.OutErr(c, e.ERR, err.Error()) return } wxSvc := jsapi.JsapiApiService{Client: client} sysCfgDb := db.SysCfgDb{} sysCfgDb.Set() sysCfg := sysCfgDb.SysCfgFindWithDb(enum.WxSpAppId, enum.WxSpMchId, enum.WxAppletAppId, enum.WxMchId) resp, result, err := wxSvc.Prepay(c, jsapi.PrepayRequest{ SpAppid: core.String(sysCfg[enum.WxSpAppId]), SpMchid: core.String(sysCfg[enum.WxSpMchId]), SubAppid: core.String(sysCfg[enum.WxAppletAppId]), SubMchid: core.String(sysCfg[enum.WxMchId]), Description: core.String("Image形象店-深圳腾大-QQ公仔"), OutTradeNo: core.String(strconv.FormatInt(time.Now().Unix(), 10)), TimeExpire: core.Time(time.Now()), Attach: core.String("自定义数据说明"), NotifyUrl: core.String("https://www.weixin.qq.com/wxpay/pay.php"), Amount: &jsapi.Amount{ Currency: core.String("CNY"), Total: core.Int64(100), }, Payer: &jsapi.Payer{ //SpOpenid: core.String("oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"), SubOpenid: core.String("o0mnM4nlX9W5HXbagffM9eTDHaPo"), }, }, ) if err != nil { // 处理错误 e.OutErr(c, e.ERR, err.Error()) return } else { // 处理返回结果 println("status=%d resp=%s", result.Response.StatusCode, resp) } return } func Demo(c *gin.Context) { sysCfgDb := db.SysCfgDb{} sysCfgDb.Set() sysCfg := sysCfgDb.SysCfgFindWithDb(enum.OpenAppletAppid, enum.OpenAppletAppPrivateKey, enum.OpenAppletPublicKey) err, info := svc.CurlEducateSceneTokenQueryV2(md.CurlEducateSceneTokenReq{ Config: struct { AliAppId string `json:"ali_app_id" label:"支付宝开放平台-小程序-appid"` AliPrivateKey string `json:"ali_private_key" label:"支付宝开放平台-小程序-应用私钥"` AliPublicKey string `json:"ali_public_key" label:"支付宝开放平台-小程序-支付宝公钥"` }{ AliAppId: sysCfg[enum.OpenAppletAppid], AliPrivateKey: sysCfg[enum.OpenAppletAppPrivateKey], AliPublicKey: sysCfg[enum.OpenAppletPublicKey], }, CertType: "A", CertNo: "440881201010205523", StudentName: "龙佩滢", OutUserId: "1001", SchoolStdCode: "12440403MB2D752515", }, &model.UserIdentity{}, "", "") if err != nil { e.OutErr(c, e.ERR, err.Error()) return } e.OutSuc(c, info, nil) return ordNo := c.DefaultQuery("ord_no", "") svc2.JudgePackageOrdOrdState(ordNo) e.OutSuc(c, nil, nil) return } func SanHu(c *gin.Context) { //实现网页截图 url := c.DefaultQuery("url", "") if url == "" { e.OutErr(c, e.ERR_NO_DATA, "网址不能为空") return } ctx, cancel := chromedp.NewContext(context.Background()) defer cancel() var b1, b2 []byte if err := chromedp.Run(ctx, // emulate iPhone 7 landscape chromedp.Emulate(device.IPhone8Plus), chromedp.Navigate(url), chromedp.CaptureScreenshot(&b1), // reset chromedp.Emulate(device.Reset), // set really large viewport chromedp.EmulateViewport(1920, 2000), chromedp.Navigate(url), chromedp.CaptureScreenshot(&b2), ); err != nil { e.OutErr(c, e.ERR, err.Error()) return } if err := ioutil.WriteFile("./static/template/sanHu/IPhone8Plus.png", b1, 0777); err != nil { e.OutErr(c, e.ERR, err.Error()) return } if err := ioutil.WriteFile("./static/template/sanHu/Pc.png", b2, 0777); err != nil { e.OutErr(c, e.ERR, err.Error()) return } e.OutSuc(c, map[string]interface{}{ "iphone8_plus": "https://zs.zehaochi.net/template/sanHu/IPhone8Plus.png", "Pc": "https://zs.zehaochi.net/template/sanHu/Pc.png", }, nil) return }