123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- 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)
- }
- func MerchantUserCode(c *gin.Context) {
- var inData models.MerchantUserCodeRequest
- var sqlData shanghu.MerchantUser
- var outData models.MerchantUserCodeResponse
- err := c.ShouldBindJSON(&inData)
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- //查询数据
- sqlData.Code = inData.Code
- userInfo, err := sqlData.GetUserInfoByCode()
- if err != nil {
- app.Error(c, 500, err, err.Error())
- return
- }
- outData.OpenId = userInfo.OpenID
- app.OK(c, outData, app.Success)
- }
|