瀏覽代碼

Merge branch 'develop' of k.zhang/duoduo into test

k.zhang 4 年之前
父節點
當前提交
235be61629
共有 6 個文件被更改,包括 107 次插入5 次删除
  1. 6 4
      apis/user/base.go
  2. 34 0
      apis/user/update.name.go
  3. 33 0
      apis/user/user.open.id.get.go
  4. 16 1
      models/mysql/user.go
  5. 11 0
      models/user/user.open.id.get.go
  6. 7 0
      models/user/user.update.name.go

+ 6 - 4
apis/user/base.go

@@ -5,9 +5,11 @@ import "github.com/gin-gonic/gin"
 func InitUserRouter(engine *gin.RouterGroup) {
 	v1 := engine.Group("v1")
 	{
-		v1.POST("/user/open.id/set", OpenIdSet) //设置openId
-		v1.POST("/user/pid/get", PidGet)        //获取pid
-		v1.POST("/user/wallet/get", WalletGet)  //用户钱包信息
-		v1.POST("/user/order/list", OrderGet)   //获取订单列表
+		v1.POST("/user/open.id/set", OpenIdSet)  //设置openId
+		v1.POST("/user/pid/get", PidGet)         //获取pid
+		v1.POST("/user/wallet/get", WalletGet)   //用户钱包信息
+		v1.POST("/user/order/list", OrderGet)    //获取订单列表
+		v1.POST("/user/open.id/get", OpenIdGet)  //根据openId获取信息
+		v1.POST("/user/update/name", UpdateName) //根据openId获取信息
 	}
 }

+ 34 - 0
apis/user/update.name.go

@@ -0,0 +1,34 @@
+package user
+
+import (
+	"duoduo/models/mysql"
+	"duoduo/models/user"
+	"duoduo/tools"
+	"duoduo/tools/app"
+	"github.com/gin-gonic/gin"
+)
+
+func UpdateName(c *gin.Context) {
+	var inData user.UpdateNameRequest
+
+	var sqlData mysql.User
+	//var wallet mysql.Wallet
+	err := c.ShouldBindJSON(&inData)
+	if err != nil {
+		app.Error(c, 400, err, err.Error())
+		return
+	}
+
+	sqlData.OpenID = inData.OpenId
+	sqlData.UpdateTime = tools.GetCurrntTimeStr()
+	sqlData.NickName = inData.NickName
+	sqlData.AvatarUrl = inData.AvatarUrl
+
+	_, err = sqlData.UpdateName()
+	if err != nil {
+		app.Error(c, 500, err, err.Error())
+		return
+	}
+
+	app.OK(c, nil, app.Success)
+}

+ 33 - 0
apis/user/user.open.id.get.go

@@ -0,0 +1,33 @@
+package user
+
+import (
+	"duoduo/models/mysql"
+	"duoduo/models/user"
+	"duoduo/tools/app"
+	"github.com/gin-gonic/gin"
+)
+
+func OpenIdGet(c *gin.Context) {
+	var inData user.OpenIdGetRequest
+	var outData user.OpenIdGetResponse
+	var sqlData mysql.User
+	//var wallet mysql.Wallet
+	err := c.ShouldBindJSON(&inData)
+	if err != nil {
+		app.Error(c, 400, err, err.Error())
+		return
+	}
+
+	sqlData.OpenID = inData.OpenId
+
+	userVal, err := sqlData.Get()
+	if err != nil {
+		app.Error(c, 500, err, err.Error())
+		return
+	}
+
+	outData.User = userVal
+
+	app.OK(c, outData, app.Success)
+
+}

+ 16 - 1
models/mysql/user.go

@@ -11,6 +11,8 @@ type User struct {
 	Phone      string `gorm:"column:phone" json:"phone"`
 	Pid        string `gorm:"column:pid" json:"pid"`
 	UpdateTime string `gorm:"column:update_time" json:"updateTime"`
+	NickName   string `gorm:"column:nick_name" json:"nickName"`
+	AvatarUrl  string `gorm:"column:avatar_url" json:"avatarUrl"`
 }
 
 // TableName sets the insert table name for this struct type
@@ -28,7 +30,7 @@ func (u *User) GetNum() int {
 
 func (u *User) Get() (User, error) {
 	var doc User
-	err := orm.Eloquent.Select("pid").Where("open_id = ? ", u.OpenID).Table(u.TableName()).First(&doc).Error
+	err := orm.Eloquent.Select("pid,nick_name,avatar_url").Where("open_id = ? ", u.OpenID).Table(u.TableName()).First(&doc).Error
 	if err != nil {
 		return doc, err
 	}
@@ -58,3 +60,16 @@ func (u *User) Update() (update User, err error) {
 
 	return update, nil
 }
+
+func (u *User) UpdateName() (update User, err error) {
+
+	if err := orm.Eloquent.Table(u.TableName()).Model(&update).Where("open_id = ? ", u.OpenID).Updates(
+		map[string]interface{}{
+			"nick_name":   u.NickName,
+			"avatar_url":  u.AvatarUrl,
+			"update_time": tools.GetCurrntTimeStr()}).Error; err != nil {
+		return update, err
+	}
+
+	return update, nil
+}

+ 11 - 0
models/user/user.open.id.get.go

@@ -0,0 +1,11 @@
+package user
+
+import "duoduo/models/mysql"
+
+type OpenIdGetRequest struct {
+	OpenId string `json:"openId"`
+}
+
+type OpenIdGetResponse struct {
+	User mysql.User `json:"user"`
+}

+ 7 - 0
models/user/user.update.name.go

@@ -0,0 +1,7 @@
+package user
+
+type UpdateNameRequest struct {
+	OpenId    string `json:"openId"`
+	NickName  string `json:"nickName"`
+	AvatarUrl string `json:"avatarUrl"`
+}