May1145 vor 1 Jahr
Ursprung
Commit
804ce38d2c

+ 23 - 0
trading-go/controller/usercontroller.go

@@ -4,6 +4,7 @@ import (
 	"github.com/gin-gonic/gin"
 	"trading-go/model"
 	"trading-go/response"
+	"trading-go/util"
 )
 
 func Register(c *gin.Context) {
@@ -20,3 +21,25 @@ func Register(c *gin.Context) {
 		response.Success(c.Writer, msg, nil)
 	}
 }
+
+func Login(c *gin.Context) {
+	var user model.User
+	user.Uid = c.PostForm("uid")
+	err, nu := user.Login()
+	if err != nil && err.Error() == "sql: no rows in result set" {
+		err = util.NoSuchUserError
+		msg := err.Error()
+		response.Fail(c.Writer, msg, 403)
+		return
+	}
+	if err != nil {
+		msg := err.Error()
+		response.Fail(c.Writer, msg, 500)
+		return
+	}
+	data := gin.H{
+		"token":     "test",
+		"user_info": nu,
+	}
+	response.Success(c.Writer, "success", data)
+}

+ 7 - 0
trading-go/model/user.go

@@ -29,3 +29,10 @@ func (u User) Register() error {
 	}
 	return nil
 }
+
+func (u User) Login() (err error, nu User) {
+	db := common.DB
+	sqlStr := "SELECT * FROM users WHERE uid = ?"
+	err = db.Get(&nu, sqlStr, u.Uid)
+	return
+}

+ 1 - 0
trading-go/routine/routine.go

@@ -11,6 +11,7 @@ func GetRoutine() *gin.Engine {
 
 	user := r.Group("user")
 	{
+		user.POST("login", controller.Login)
 		user.POST("register", controller.Register)
 	}
 

+ 1 - 0
trading-go/util/error.go

@@ -4,4 +4,5 @@ import "errors"
 
 var (
 	InsertFailError = errors.New("insert failed")
+	NoSuchUserError = errors.New("no such user")
 )