diff --git a/controller/park.go b/controller/park.go index ed7a1e0..13c00da 100644 --- a/controller/park.go +++ b/controller/park.go @@ -35,14 +35,9 @@ func InitializeParkController(router *gin.Engine) { func listAllParksUnderSessionUser(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, "内部缓存错误,需要重新登录。") + userSession, err := _retreiveSession(c) + if err != nil { + result.Failure(http.StatusInternalServerError, err.Error()) return } parks, err := service.ParkService.ListAllParkBelongsTo(userSession.Uid) @@ -79,14 +74,9 @@ type _ParkInfoFormData struct { func createNewPark(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, "内部缓存错误,需要重新登录。") + userSession, err := _retreiveSession(c) + if err != nil { + result.Failure(http.StatusInternalServerError, err.Error()) return } formData := new(_ParkInfoFormData) @@ -98,7 +88,7 @@ func createNewPark(c *gin.Context) { nameAbbr := utils.PinyinAbbr(newPark.Name) newPark.Abbr = &nameAbbr newPark.Enabled = true - err := service.ParkService.SaveNewPark(*newPark) + err = service.ParkService.SaveNewPark(*newPark) if err != nil { result.Error(http.StatusInternalServerError, err.Error()) return @@ -108,14 +98,9 @@ func createNewPark(c *gin.Context) { func modifyPark(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, "内部缓存错误,需要重新登录。") + userSession, err := _retreiveSession(c) + if err != nil { + result.Failure(http.StatusInternalServerError, err.Error()) return } requestParkId := c.Param("pid") @@ -143,14 +128,9 @@ func modifyPark(c *gin.Context) { 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, "内部缓存错误,需要重新登录。") + userSession, err := _retreiveSession(c) + if err != nil { + result.Failure(http.StatusInternalServerError, err.Error()) return } requestParkId := c.Param("pid") @@ -172,20 +152,15 @@ type _ParkStateFormData struct { func changeParkEnableState(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, "内部缓存错误,需要重新登录。") + userSession, err := _retreiveSession(c) + if err != nil { + result.Failure(http.StatusInternalServerError, err.Error()) return } requestParkId := c.Param("pid") formData := new(_ParkStateFormData) c.BindJSON(formData) - err := service.ParkService.ChangeParkState(userSession.Uid, requestParkId, formData.Enabled) + err = service.ParkService.ChangeParkState(userSession.Uid, requestParkId, formData.Enabled) if err != nil { result.Error(http.StatusInternalServerError, err.Error()) return @@ -195,18 +170,13 @@ func changeParkEnableState(c *gin.Context) { func deleteSpecificPark(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, "内部缓存错误,需要重新登录。") + userSession, err := _retreiveSession(c) + if err != nil { + result.Failure(http.StatusInternalServerError, err.Error()) return } requestParkId := c.Param("pid") - err := service.ParkService.DeletePark(userSession.Uid, requestParkId) + err = service.ParkService.DeletePark(userSession.Uid, requestParkId) if err != nil { result.Error(http.StatusInternalServerError, err.Error()) }