infish2018 2 months ago
parent
commit
9561aa4aba
2 changed files with 32 additions and 20 deletions
  1. 30 17
      src/api/case.go
  2. 2 3
      src/api/controller.go

+ 30 - 17
src/api/case.go

@@ -23,11 +23,11 @@ func MyCaseRoute(r *GinRouter) {
 }
 
 func MyMatLib(r *GinRouter) {
-	r.POST("/mymat/create", CreateMyMat)
-	r.POST("/mymat/delete/:id", DeleteMyMat)
-	r.GET("/mymat/list", MatMyList)
-	r.GET("/mymat/detail/:id", MatMyDetail)
-	r.POST("/mymat/update", UpdateMyMat)
+	r.POSTJWT("/mymat/create", CreateMyMat)
+	r.POSTJWT("/mymat/delete/:id", DeleteMyMat)
+	r.GETJWT("/mymat/list", MatMyList)
+	r.GETJWT("/mymat/detail/:id", MatMyDetail)
+	r.POSTJWT("/mymat/update", UpdateMyMat)
 }
 
 func CreateMyMat(c *gin.Context, apictx *ApiSession) (interface{}, error) {
@@ -82,14 +82,25 @@ func DeleteMyCase(c *gin.Context, apictx *ApiSession) (interface{}, error) {
 func MatMyList(c *gin.Context, apictx *ApiSession) (interface{}, error) {
 
 	page, size, query := UtilQueryPageSize(c)
-	query["userId"] = apictx.User.Id
+	if apictx.User != nil {
+		query["userId"] = apictx.User.Id
+	}
+
+	catsConf, err := GetMatLibCategory(apictx)
+	if err != nil {
+		return nil, err
+	}
+	err = ParseCategories(query, apictx.CreateRepoCtx(), catsConf)
+	if err != nil {
+		return nil, err
+	}
 
 	return repo.RepoPageSearch(apictx.CreateRepoCtx(), &repo.PageSearchOptions{
 		CollectName: repo.CollectionMyMat,
 		Page:        page,
 		Size:        size,
 		Query:       query,
-		Project:     []string{"_id", "name", "cover", "createTime", "updateTime", "userName"},
+		Project:     []string{"_id", "name", "cover", "categories", "createTime", "updateTime", "userName"},
 		Sort:        bson.M{"createTime": -1},
 	})
 }
@@ -97,22 +108,24 @@ func MatMyList(c *gin.Context, apictx *ApiSession) (interface{}, error) {
 func MyCaseList(c *gin.Context, apictx *ApiSession) (interface{}, error) {
 
 	page, size, query := UtilQueryPageSize(c)
-	// catsConf, err := GetModelLibCategory(apictx)
-	// if err != nil {
-	// 	return nil, err
-	// }
-	// err = ParseCategories(query, apictx.CreateRepoCtx(), catsConf)
-	// if err != nil {
-	// 	return nil, err
-	// }
-	query["userId"] = apictx.User.Id
+	catsConf, err := GetModelLibCategory(apictx)
+	if err != nil {
+		return nil, err
+	}
+	err = ParseCategories(query, apictx.CreateRepoCtx(), catsConf)
+	if err != nil {
+		return nil, err
+	}
+	if apictx.User != nil {
+		query["userId"] = apictx.User.Id
+	}
 
 	return repo.RepoPageSearch(apictx.CreateRepoCtx(), &repo.PageSearchOptions{
 		CollectName: repo.CollectionMyCase,
 		Page:        page,
 		Size:        size,
 		Query:       query,
-		Project:     []string{"_id", "name", "cover", "createTime", "updateTime", "userName"},
+		Project:     []string{"_id", "name", "cover", "categories", "createTime", "updateTime", "userName"},
 		Sort:        bson.M{"createTime": -1},
 	})
 }

+ 2 - 3
src/api/controller.go

@@ -142,11 +142,10 @@ func UtilQueryPageSize(c *gin.Context) (page int64, size int64, query map[string
 		_size, _ = strconv.Atoi(s)
 	}
 	size = int64(_size)
+	query = make(map[string]interface{})
 
-	if len(q) > 0 {
+	if len(q) > 0 && q != "{}" {
 		json.Unmarshal([]byte(q), &query)
-	} else {
-		query = map[string]interface{}{}
 	}
 	return
 }