| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- package partial
- import (
- "encoding/json"
- "fmt"
- "git.qianqiusoft.com/qianqiusoft/light-apiengine/entitys"
- "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
- "git.qianqiusoft.com/qianqiusoft/light-apiengine/third/alipay"
- "git.qianqiusoft.com/qianqiusoft/light-apiengine/third/ureport"
- "git.qianqiusoft.com/qianqiusoft/light-apiengine/third/wx"
- "github.com/silenceper/wechat/pay"
- "io/ioutil"
- //sysmodel "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
- //sysutils "git.qianqiusoft.com/qianqiusoft/light-apiengine/utils"
- //"git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
- //__import_packages__
- )
- // _WxEcho
- // @Title _WxEcho
- // @Description 微信echo
- // @Success 200 {object} Account
- // @Failure 403 :id is empty
- func SysPublic_WxEcho(c *entitys.CtrlContext) {
- echostr := c.Ctx.DefaultQuery("echostr","")
- fmt.Println("echostr:"+echostr)
- c.Ctx.String(200, echostr)
- }
- // _WxpayCallback
- // @Title _WxpayCallback
- // @Description 微信支付回调
- // @Success 200 {object} Account
- // @Failure 403 :id is empty
- func SysPublic_WxpayCallback(c *entitys.CtrlContext) {
- r := wx.CallWxPayCallbackHandler(c)
- if r.Code != 200{
- c.Ctx.JSON(500, r)
- }else{
- res := pay.NotifyResponse{}
- res.ReturnCode = "SUCCESS"
- res.ReturnMsg = "OK"
- c.Ctx.XML(200,&res)
- }
- }
- // _WxoauthParams
- // @Title _WxoauthParams
- // @Description 获取微信oauth配置
- // @Success 200 {object} Account
- // @Failure 403 :id is empty
- func SysPublic_WxoauthParams(c *entitys.CtrlContext) {
- contentBody, err := ioutil.ReadAll(c.Ctx.Request.Body)
- if err != nil{
- fmt.Println("读取body错误", err.Error())
- c.Ctx.JSON(500, models.SysReturn{500, err.Error(), ""})
- return
- }
- bmap := make(map[string]string)
- err = json.Unmarshal(contentBody, &bmap)
- if err != nil{
- fmt.Println("Unmarshal错误", err.Error())
- c.Ctx.JSON(500, models.SysReturn{500, err.Error(), ""})
- return
- }
- param, err := wx.GetOAuthParams(bmap)
- if err != nil{
- c.Ctx.JSON(500, models.SysReturn{500, "", ""})
- }else{
- c.Ctx.JSON(200, models.SysReturn{200, "", param})
- }
- }
- // _WxLogin
- // @Title _WxLogin
- // @Description 获取微信oauth配置
- // @Param body false "微信登录参数,必须包含code字段(微信临时令牌)"
- // @Success 200 {object} Account
- // @Failure 403 :id is empty
- func SysPublic_WxLogin(c *entitys.CtrlContext) {
- body, err := ioutil.ReadAll(c.Ctx.Request.Body)
- if err != nil{
- fmt.Println("SysPublic_WxLogin 读取请求数据错误", err.Error())
- c.Ctx.JSON(200, models.SysReturn{500, err.Error(), ""})
- return
- }
- params := make(map[string]interface{})
- err = json.Unmarshal(body, ¶ms)
- if err != nil{
- fmt.Println("SysPublic_WxLogin unmarshal err", err.Error())
- c.Ctx.JSON(200, models.SysReturn{500, err.Error(), ""})
- return
- }
- code := ""
- var v interface{} = nil
- ok := false
- if v, ok = params["code"]; !ok{
- fmt.Println("SysPublic_WxLogin 不存在临时令牌code字段")
- c.Ctx.JSON(200, models.SysReturn{500, "不存在临时令牌code字段", ""})
- return
- }
- if code, ok = v.(string); !ok{
- fmt.Println("临时令牌code字段不能转换为string")
- c.Ctx.JSON(200, models.SysReturn{500, "临时令牌code字段不能转换为string", ""})
- return
- }
- if code == ""{
- fmt.Println("临时令牌code为空")
- c.Ctx.JSON(200, models.SysReturn{500, "临时令牌code为空", ""})
- return
- }
- // 获取微信信息
- userInfo, err := wx.GetUserInfoByCode(code)
- if err != nil {
- fmt.Println("wx.GetUserInfoByCode 错误", err.Error())
- c.Ctx.JSON(200, models.SysReturn{500, err.Error(), nil})
- return
- }
- ret := wx.CallWxLoginCallbackHandler(c, body, userInfo)
- c.Ctx.JSON(200, ret)
- }
- // _WxjssdkParams
- // @Title _WxjssdkParams
- // @Description 获取微信jssdk配置
- // @Success 200 {object} Account
- // @Failure 403 :id is empty
- func SysPublic_WxjssdkParams(c *entitys.CtrlContext) {
- url := c.Ctx.DefaultQuery("url", "")
- if url == ""{
- c.Ctx.JSON(200, models.SysReturn{500, "参数rul为空", ""})
- return
- }
- config, err := wx.GetJSSDKRarams(url)
- if err != nil{
- c.Ctx.JSON(200, models.SysReturn{500, err.Error(), ""})
- }else{
- c.Ctx.JSON(200, models.SysReturn{200, "", config})
- }
- }
- // _AlipayCallback
- // @Title _AlipayCallback
- // @Description 支付宝支付回调
- // @Success 200 {object} Account
- // @Failure 403 :id is empty
- func SysPublic_AlipayCallback(c *entitys.CtrlContext) {
- alipay.CallWxPayCallbackHandler(c)
- }
- // _Ureport
- // @Title _Ureport
- // @Description 报表统一接口
- // @Success 200 {object} Account
- // @Failure 403 :id is empty
- func SysPublic_Ureport(c *entitys.CtrlContext) {
- ureport.CallUreportHanlder(c)
- }
- // _UreportFields
- // @Title _UreportFields
- // @Description 报表bean字段列表
- // @Success 200 {object} Account
- // @Failure 403 :id is empty
- func SysPublic_UreportFields(c *entitys.CtrlContext) {
- ureport.CallUreportBeanFieldsHandler(c)
- }
- func __none_func_sys_public__(params ... interface{}) bool{
- return true
- }
|