package middlewares import ( "github.com/gin-gonic/gin" "hepa-calc-admin-api/api/dao" "hepa-calc-admin-api/api/responses" ) // Auth Auth认证 func Auth() gin.HandlerFunc { return func(c *gin.Context) { // 获取用户id adminUserId := c.GetInt64("AdminUserId") if adminUserId == 0 { responses.Fail(c) c.Abort() return } // 获取用户数据 adminUserDao := dao.AdminUserDao{} adminUser, err := adminUserDao.GetAdminUserById(adminUserId) if err != nil || adminUser == nil { responses.FailWithMessage("用户数据错误", c) c.Abort() return } if adminUser.Status == 2 { responses.FailWithMessage("用户审核中", c) c.Abort() return } if adminUser.Status == 3 { responses.FailWithMessage("用户状态异常", c) c.Abort() return } if adminUser.IsDisabled == 1 { responses.FailWithMessage("用户已被禁用", c) c.Abort() return } if adminUser.IsDeleted == 1 { responses.FailWithMessage("用户状态异常", c) c.Abort() return } c.Set("AdminUserId", adminUserId) // 用户id c.Next() } }