package shanghu import ( "duoduo/apis/common" "duoduo/apis/pdd" "duoduo/apis/shanghu/models" "duoduo/models/shanghu" "duoduo/tools" "duoduo/tools/app" "fmt" "github.com/gin-gonic/gin" "time" ) // 注册用户 func OpenIdSet(c *gin.Context) { var inData models.OpenIdSetRequest var outData models.OpenIdSetResponse var sqlData shanghu.MerchantUser //var sql1 bizhi.User err := c.ShouldBindJSON(&inData) if err != nil { app.Error(c, 400, err, err.Error()) return } url := fmt.Sprintf("https://api.weixin.qq.com/sns/jscode2session?appid=wxef36f8713d6469b5&secret=43ddd9b4d34c40e2cc4f15d531e28d8e&js_code=%s&grant_type=authorization_code", inData.Code) val, err := pdd.DuoDuoGet(url) if err != nil { app.Error(c, 500, err, err.Error()) return } err = tools.JsonUnmarshal(val, &outData) if err != nil { app.Error(c, 500, err, err.Error()) return } if outData.Errcode != 0 { app.Error(c, outData.Errcode, err, outData.Errmsg) return } //查询数据 sqlData.OpenID = outData.OpenId num := sqlData.GetNum() if num == 0 { //创建用户 sqlData.CreatedAt = time.Now() sqlData.UpdatedAt = time.Now() //校验唯一性 for _, v := range common.Example(5, 10) { sqlData.Code = v if sqlData.GetCodeNum() <= 0 { break } } _, err = sqlData.Create() if err != nil { app.Error(c, 500, err, err.Error()) return } } app.OK(c, outData, app.Success) } // 注册用户 func ClientOpenIdSet(c *gin.Context) { var inData models.OpenIdSetRequest var outData models.OpenIdSetResponse var sqlData shanghu.MerchantClientUser err := c.ShouldBindJSON(&inData) if err != nil { app.Error(c, 400, err, err.Error()) return } fmt.Println(inData) url := fmt.Sprintf("https://api.weixin.qq.com/sns/jscode2session?appid=wx25357518f710b8ce&secret=83c7dca801a6c93fbfac3c91f57a4eb2&js_code=%s&grant_type=authorization_code", inData.Code) val, err := pdd.DuoDuoGet(url) if err != nil { app.Error(c, 500, err, err.Error()) return } err = tools.JsonUnmarshal(val, &outData) if err != nil { app.Error(c, 500, err, err.Error()) return } if outData.Errcode != 0 { app.Error(c, outData.Errcode, err, outData.Errmsg) return } //查询数据 sqlData.ClientOpenID = outData.OpenId num := sqlData.GetNum() if num == 0 { //创建用户 sqlData.CreatedAt = time.Now() sqlData.UpdatedAt = time.Now() //校验唯一性 for _, v := range common.Example(5, 10) { sqlData.Code = v if sqlData.GetCodeNum() <= 0 { break } } _, err = sqlData.Create() if err != nil { app.Error(c, 500, err, err.Error()) return } } app.OK(c, outData, app.Success) } func GetUserInfo(c *gin.Context) { var inData models.GetUserInfoRequest var sqlData shanghu.MerchantUser err := c.ShouldBindJSON(&inData) if err != nil { app.Error(c, 400, err, err.Error()) return } //查询数据 sqlData.OpenID = inData.OpenId userInfo, err := sqlData.GetUserInfo() if err != nil { app.Error(c, 500, err, err.Error()) return } app.OK(c, userInfo, app.Success) } func ClientGetUserInfo(c *gin.Context) { var inData models.GetUserInfoRequest var sqlData shanghu.MerchantClientUser err := c.ShouldBindJSON(&inData) if err != nil { app.Error(c, 400, err, err.Error()) return } //查询数据 sqlData.ClientOpenID = inData.OpenId userInfo, err := sqlData.GetUserInfo() if err != nil { app.Error(c, 500, err, err.Error()) return } app.OK(c, userInfo, app.Success) }