feat(park):完成获取园区详细信息的功能。

This commit is contained in:
徐涛 2022-08-15 21:06:41 +08:00
parent ddda0ac196
commit 2efbae6200

View File

@ -29,6 +29,7 @@ func InitializeParkController(router *gin.Engine) {
ParkController.Router.GET("/parks/:uid", security.ManagementAuthorize, listAllParksUnderSpecificUser) ParkController.Router.GET("/parks/:uid", security.ManagementAuthorize, listAllParksUnderSpecificUser)
ParkController.Router.POST("/park", security.EnterpriseAuthorize, createNewPark) ParkController.Router.POST("/park", security.EnterpriseAuthorize, createNewPark)
ParkController.Router.PUT("/park/:pid", security.EnterpriseAuthorize, modifyPark) ParkController.Router.PUT("/park/:pid", security.EnterpriseAuthorize, modifyPark)
ParkController.Router.GET("/park/:pid", security.EnterpriseAuthorize, fetchParkDetail)
} }
func listAllParksUnderSessionUser(c *gin.Context) { func listAllParksUnderSessionUser(c *gin.Context) {
@ -138,3 +139,28 @@ func modifyPark(c *gin.Context) {
} }
result.Updated("指定园区资料已更新。") 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})
}