From 2efbae62006fc4dfa01d48c74eda53fe83acad75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Mon, 15 Aug 2022 21:06:41 +0800 Subject: [PATCH] =?UTF-8?q?feat(park):=E5=AE=8C=E6=88=90=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=9B=AD=E5=8C=BA=E8=AF=A6=E7=BB=86=E4=BF=A1=E6=81=AF=E7=9A=84?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/park.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/controller/park.go b/controller/park.go index dace3eb..607292e 100644 --- a/controller/park.go +++ b/controller/park.go @@ -29,6 +29,7 @@ func InitializeParkController(router *gin.Engine) { ParkController.Router.GET("/parks/:uid", security.ManagementAuthorize, listAllParksUnderSpecificUser) ParkController.Router.POST("/park", security.EnterpriseAuthorize, createNewPark) ParkController.Router.PUT("/park/:pid", security.EnterpriseAuthorize, modifyPark) + ParkController.Router.GET("/park/:pid", security.EnterpriseAuthorize, fetchParkDetail) } func listAllParksUnderSessionUser(c *gin.Context) { @@ -138,3 +139,28 @@ func modifyPark(c *gin.Context) { } result.Updated("指定园区资料已更新。") } + +func fetchParkDetail(c *gin.Context) { + result := response.NewResult(c) + session, exists := c.Get("session") + if !exists { + result.Error(http.StatusUnauthorized, "用户会话无效。") + return + } + userSession, ok := session.(*model.Session) + if !ok { + result.Failure(http.StatusInternalServerError, "内部缓存错误,需要重新登录。") + return + } + requestParkId := c.Param("pid") + park, err := repository.ParkRepo.FetchParkDetail(requestParkId) + if err != nil { + result.Error(http.StatusInternalServerError, err.Error()) + return + } + if userSession.Uid != park.UserId { + result.NotAccept("不能访问不属于自己的园区。") + return + } + result.Json(http.StatusOK, "已经获取到指定园区的信息。", gin.H{"park": park}) +}