feat(park):完成获取园区详细信息的功能。
This commit is contained in:
parent
ddda0ac196
commit
2efbae6200
|
@ -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})
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user