From 272847446d3453312a5381f05da9eba7ba7aa5de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Tue, 16 Aug 2022 06:11:25 +0800 Subject: [PATCH] =?UTF-8?q?refactor(session):=E4=BD=BF=E7=94=A8=E7=BB=9F?= =?UTF-8?q?=E4=B8=80=E7=9A=84=E7=94=A8=E6=88=B7=E4=BC=9A=E8=AF=9D=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=96=B9=E6=B3=95=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/park.go | 72 ++++++++++++++-------------------------------- 1 file changed, 21 insertions(+), 51 deletions(-) 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()) }