作者 tangxvhui

手机端获取用户信息

  1 +package service
  2 +
  3 +import (
  4 + "github.com/linmadan/egglib-go/core/application"
  5 + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/auth/command"
  6 + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory"
  7 + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/constant"
  8 + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain"
  9 +)
  10 +
  11 +// 员工绩效 手机端登录,来源于能力展示app
  12 +func (service *AuthService) MobileLogin(param *command.MobileLoginCommand) (map[string]interface{}, error) {
  13 + transactionContext, err := factory.CreateTransactionContext(nil)
  14 + if err != nil {
  15 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  16 + }
  17 + if errStart := transactionContext.StartTransaction(); errStart != nil {
  18 + return nil, application.ThrowError(application.TRANSACTION_ERROR, errStart.Error())
  19 + }
  20 + defer func() {
  21 + _ = transactionContext.RollbackTransaction()
  22 + }()
  23 + // 统一用户中心登录
  24 + authCodeReply, err := factory.UCenterApi().AppAuthCode(param.Credentials, param.Cuid, param.Cid)
  25 + if err != nil || !authCodeReply.IsOk() {
  26 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "统一用户中心认证失败")
  27 + }
  28 + // 用户权限校验
  29 + // 登录平台ID,28-绩效管理后台 29-员工绩效
  30 + userAuthReply, err := factory.BusinessAdminApi().GetUserAuth(int64(param.Muid), constant.PLATFORM_FONT_ID)
  31 + if err != nil {
  32 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "用户鉴权失败")
  33 + }
  34 + if !userAuthReply.IsOk() {
  35 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, userAuthReply.Message())
  36 + }
  37 + //获取公司数据
  38 + companyRepository := factory.CreateCompanyRepository(map[string]interface{}{
  39 + "transactionContext": transactionContext,
  40 + })
  41 + company, err := companyRepository.FindOne(map[string]interface{}{
  42 + "id": param.Cid,
  43 + })
  44 + if err != nil {
  45 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取公司数据失败")
  46 + }
  47 + userRepository := factory.CreateUserRepository(map[string]interface{}{
  48 + "transactionContext": transactionContext,
  49 + })
  50 + user, err := userRepository.FindOne(map[string]interface{}{
  51 + "id": param.Muid,
  52 + "companyId": company.Id,
  53 + })
  54 + if err != nil {
  55 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取用户数据失败")
  56 + }
  57 + if user.Status != domain.UserStatusEnable {
  58 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "用户被禁用")
  59 + }
  60 + userAuth := &domain.UserAuth{
  61 + UserId: user.Id,
  62 + CompanyId: user.CompanyId,
  63 + CompanyName: company.Name,
  64 + Phone: user.Account,
  65 + PlatformId: constant.PLATFORM_FONT_ID,
  66 + Name: user.Name,
  67 + AdminType: user.AdminType,
  68 + }
  69 + accessToken, err := userAuth.CreateAccessToken()
  70 + if err != nil {
  71 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  72 + }
  73 + if err := transactionContext.CommitTransaction(); err != nil {
  74 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  75 + }
  76 + result := map[string]interface{}{
  77 + "access": map[string]interface{}{
  78 + "accessToken": accessToken,
  79 + "expiresIn": domain.JWTExpiresSecond,
  80 + },
  81 + }
  82 + return result, nil
  83 +}
  84 +
  85 +// Authorize 移动端授权登录
  86 +func (srv *AuthService) Authorize(param *command.AuthorizeCommand) (map[string]interface{}, error) {
  87 + transactionContext, err := factory.CreateTransactionContext(nil)
  88 + if err != nil {
  89 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  90 + }
  91 + if errStart := transactionContext.StartTransaction(); errStart != nil {
  92 + return nil, application.ThrowError(application.TRANSACTION_ERROR, errStart.Error())
  93 + }
  94 + defer func() {
  95 + _ = transactionContext.RollbackTransaction()
  96 + }()
  97 + // 统一用户中心登录
  98 + authCodeReply, err := factory.UCenterApi().AppAuthCode(param.Credentials, param.Cuid, param.Cid)
  99 + if err != nil || !authCodeReply.IsOk() {
  100 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "统一用户中心认证失败")
  101 + }
  102 + // 用户权限校验
  103 + // 登录平台ID, 29-员工绩效
  104 + userAuthReply, err := factory.BusinessAdminApi().GetUserAuth(int64(param.Muid), constant.PLATFORM_FONT_ID)
  105 + if err != nil {
  106 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "用户鉴权失败")
  107 + }
  108 + if !userAuthReply.IsOk() {
  109 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, userAuthReply.Message())
  110 + }
  111 + //获取公司数据
  112 + companyRepository := factory.CreateCompanyRepository(map[string]interface{}{
  113 + "transactionContext": transactionContext,
  114 + })
  115 + company, err := companyRepository.FindOne(map[string]interface{}{
  116 + "id": param.Cid,
  117 + })
  118 + if err != nil {
  119 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取公司数据失败")
  120 + }
  121 + userRepository := factory.CreateUserRepository(map[string]interface{}{
  122 + "transactionContext": transactionContext,
  123 + })
  124 + user, err := userRepository.FindOne(map[string]interface{}{
  125 + "id": param.Muid,
  126 + "companyId": company.Id,
  127 + })
  128 + if err != nil {
  129 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取用户数据失败")
  130 + }
  131 + if user.Status != domain.UserStatusEnable {
  132 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "用户被禁用")
  133 + }
  134 + if err := transactionContext.CommitTransaction(); err != nil {
  135 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  136 + }
  137 + userAuth := &domain.UserAuth{
  138 + UserId: user.Id,
  139 + CompanyId: user.CompanyId,
  140 + CompanyName: company.Name,
  141 + Phone: user.Account,
  142 + PlatformId: constant.PLATFORM_FONT_ID,
  143 + Name: user.Name,
  144 + AdminType: user.AdminType,
  145 + }
  146 + accessToken, err := userAuth.CreateAccessToken()
  147 + if err != nil {
  148 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  149 + }
  150 + respData := map[string]interface{}{
  151 + "authCode": accessToken,
  152 + }
  153 + return respData, nil
  154 +}
  155 +
  156 +func (srv *AuthService) AccessToken(param *command.AccessTokenCommand) (map[string]interface{}, error) {
  157 + userAuth := domain.UserAuth{}
  158 + _, err := userAuth.ParseAccessToken(param.AuthCode)
  159 + if err != nil {
  160 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "authcode 失效")
  161 + }
  162 +
  163 + accessToken, err := userAuth.CreateAccessToken()
  164 + if err != nil {
  165 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "生成 accessToken 失败")
  166 + }
  167 + refreshToken, err := userAuth.CreateRefreshToken()
  168 + if err != nil {
  169 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "生成 refreshToken 解析失败")
  170 + }
  171 + respData := map[string]interface{}{
  172 + "refreshToken": refreshToken,
  173 + "accessToken": accessToken,
  174 + "expiresIn": domain.JWTExpiresSecond,
  175 + }
  176 + return respData, nil
  177 +}
  178 +
  179 +// 刷新token
  180 +func (srv *AuthService) RefreshToken(param *command.RefreshTokenCommand) (map[string]interface{}, error) {
  181 + userAuth := domain.UserAuth{}
  182 + _, err := userAuth.ParseAccessToken(param.RefreshToken)
  183 + if err != nil {
  184 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "refresh_token 失效")
  185 + }
  186 + accessToken, err := userAuth.CreateAccessToken()
  187 + if err != nil {
  188 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "生成 accessToken 失败")
  189 + }
  190 + refreshToken, err := userAuth.CreateRefreshToken()
  191 + if err != nil {
  192 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "生成 refreshToken 解析失败")
  193 + }
  194 + respData := map[string]interface{}{
  195 + "refreshToken": refreshToken,
  196 + "accessToken": accessToken,
  197 + "expiresIn": domain.JWTExpiresSecond,
  198 + }
  199 + return respData, nil
  200 +}
  201 +
  202 +func (srv *AuthService) UserInfo(param *command.GetMeInfo) (map[string]interface{}, error) {
  203 + transactionContext, err := factory.CreateTransactionContext(nil)
  204 + if err != nil {
  205 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  206 + }
  207 + if errStart := transactionContext.StartTransaction(); errStart != nil {
  208 + return nil, application.ThrowError(application.TRANSACTION_ERROR, errStart.Error())
  209 + }
  210 + defer func() {
  211 + _ = transactionContext.RollbackTransaction()
  212 + }()
  213 +
  214 + userRepository := factory.CreateUserRepository(map[string]interface{}{"transactionContext": transactionContext})
  215 + companyRepository := factory.CreateCompanyRepository(map[string]interface{}{"transactionContext": transactionContext})
  216 + depRepository := factory.CreateDepartmentRepository(map[string]interface{}{"transactionContext": transactionContext})
  217 + userData, err := userRepository.FindOne(map[string]interface{}{
  218 + "id": param.UserId,
  219 + })
  220 + if err != nil {
  221 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取员工数据"+err.Error())
  222 + }
  223 + companyData, err := companyRepository.FindOne(map[string]interface{}{
  224 + "id": param.CompanyId,
  225 + })
  226 + if err != nil {
  227 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取公司数据"+err.Error())
  228 + }
  229 + var departmentList []*domain.Department
  230 + if len(userData.DepartmentId) > 0 {
  231 + _, departmentList, err = depRepository.Find(map[string]interface{}{"ids": userData.DepartmentId})
  232 + if err != nil {
  233 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取部门数据"+err.Error())
  234 + }
  235 + }
  236 +
  237 + if err := transactionContext.CommitTransaction(); err != nil {
  238 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  239 + }
  240 + respData := map[string]interface{}{
  241 + "user": map[string]interface{}{
  242 + "uid": userData.Id,
  243 + "muid": userData.Id,
  244 + "uname": userData.Name,
  245 + "phone": userData.Account,
  246 + "image": map[string]interface{}{
  247 + "path": userData.AvatarUrl,
  248 + "w": 0,
  249 + "h": 0,
  250 + },
  251 + "company": map[string]interface{}{
  252 + "id": companyData.Id,
  253 + "name": companyData.Name,
  254 + },
  255 + "dep": map[string]interface{}{
  256 + "id": 0,
  257 + "name": "",
  258 + },
  259 + },
  260 + }
  261 + if len(departmentList) > 0 {
  262 + respData["dep"] = map[string]interface{}{
  263 + "id": departmentList[0].Id,
  264 + "name": departmentList[0].Name,
  265 + }
  266 + }
  267 +
  268 + return respData, nil
  269 +}
@@ -6,7 +6,6 @@ import ( @@ -6,7 +6,6 @@ import (
6 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/auth/command" 6 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/auth/command"
7 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory" 7 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory"
8 roleService "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/role" 8 roleService "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/role"
9 - "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/constant"  
10 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" 9 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain"
11 ) 10 )
12 11
@@ -85,80 +84,6 @@ func (service *AuthService) Login(loginCommand *command.LoginCommand) (interface @@ -85,80 +84,6 @@ func (service *AuthService) Login(loginCommand *command.LoginCommand) (interface
85 }, nil 84 }, nil
86 } 85 }
87 86
88 -// 员工绩效 手机端登录,来源于能力展示app  
89 -func (service *AuthService) MobileLogin(param *command.MobileLoginCommand) (map[string]interface{}, error) {  
90 - transactionContext, err := factory.CreateTransactionContext(nil)  
91 - if err != nil {  
92 - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())  
93 - }  
94 - if errStart := transactionContext.StartTransaction(); errStart != nil {  
95 - return nil, application.ThrowError(application.TRANSACTION_ERROR, errStart.Error())  
96 - }  
97 - defer func() {  
98 - _ = transactionContext.RollbackTransaction()  
99 - }()  
100 - // 统一用户中心登录  
101 - authCodeReply, err := factory.UCenterApi().AppAuthCode(param.Credentials, param.Cuid, param.Cid)  
102 - if err != nil || !authCodeReply.IsOk() {  
103 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "统一用户中心认证失败")  
104 - }  
105 - // 用户权限校验  
106 - // 登录平台ID,28-绩效管理后台 29-员工绩效  
107 - userAuthReply, err := factory.BusinessAdminApi().GetUserAuth(int64(param.Muid), constant.PLATFORM_FONT_ID)  
108 - if err != nil {  
109 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "用户鉴权失败")  
110 - }  
111 - if !userAuthReply.IsOk() {  
112 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, userAuthReply.Message())  
113 - }  
114 - //获取公司数据  
115 - companyRepository := factory.CreateCompanyRepository(map[string]interface{}{  
116 - "transactionContext": transactionContext,  
117 - })  
118 - company, err := companyRepository.FindOne(map[string]interface{}{  
119 - "id": param.Cid,  
120 - })  
121 - if err != nil {  
122 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取公司数据失败")  
123 - }  
124 - userRepository := factory.CreateUserRepository(map[string]interface{}{  
125 - "transactionContext": transactionContext,  
126 - })  
127 - user, err := userRepository.FindOne(map[string]interface{}{  
128 - "id": param.Muid,  
129 - "companyId": company.Id,  
130 - })  
131 - if err != nil {  
132 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取用户数据失败")  
133 - }  
134 - if user.Status != domain.UserStatusEnable {  
135 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "用户被禁用")  
136 - }  
137 - userAuth := &domain.UserAuth{  
138 - UserId: user.Id,  
139 - CompanyId: user.CompanyId,  
140 - CompanyName: company.Name,  
141 - Phone: user.Account,  
142 - PlatformId: constant.PLATFORM_FONT_ID,  
143 - Name: user.Name,  
144 - AdminType: user.AdminType,  
145 - }  
146 - accessToken, err := userAuth.CreateAccessToken()  
147 - if err != nil {  
148 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
149 - }  
150 - if err := transactionContext.CommitTransaction(); err != nil {  
151 - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())  
152 - }  
153 - result := map[string]interface{}{  
154 - "access": map[string]interface{}{  
155 - "accessToken": accessToken,  
156 - "expiresIn": domain.JWTExpiresSecond,  
157 - },  
158 - }  
159 - return result, nil  
160 -}  
161 -  
162 // 获取我的 87 // 获取我的
163 func (service *AuthService) MeInfo(param *command.GetMeInfo) (map[string]interface{}, error) { 88 func (service *AuthService) MeInfo(param *command.GetMeInfo) (map[string]interface{}, error) {
164 89
@@ -229,119 +154,3 @@ func (service *AuthService) MeInfo(param *command.GetMeInfo) (map[string]interfa @@ -229,119 +154,3 @@ func (service *AuthService) MeInfo(param *command.GetMeInfo) (map[string]interfa
229 "user": info, 154 "user": info,
230 }, nil 155 }, nil
231 } 156 }
232 -  
233 -// Authorize 移动端授权登录  
234 -func (srv *AuthService) Authorize(param *command.AuthorizeCommand) (map[string]interface{}, error) {  
235 - transactionContext, err := factory.CreateTransactionContext(nil)  
236 - if err != nil {  
237 - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())  
238 - }  
239 - if errStart := transactionContext.StartTransaction(); errStart != nil {  
240 - return nil, application.ThrowError(application.TRANSACTION_ERROR, errStart.Error())  
241 - }  
242 - defer func() {  
243 - _ = transactionContext.RollbackTransaction()  
244 - }()  
245 - // 统一用户中心登录  
246 - authCodeReply, err := factory.UCenterApi().AppAuthCode(param.Credentials, param.Cuid, param.Cid)  
247 - if err != nil || !authCodeReply.IsOk() {  
248 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "统一用户中心认证失败")  
249 - }  
250 - // 用户权限校验  
251 - // 登录平台ID, 29-员工绩效  
252 - userAuthReply, err := factory.BusinessAdminApi().GetUserAuth(int64(param.Muid), constant.PLATFORM_FONT_ID)  
253 - if err != nil {  
254 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "用户鉴权失败")  
255 - }  
256 - if !userAuthReply.IsOk() {  
257 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, userAuthReply.Message())  
258 - }  
259 - //获取公司数据  
260 - companyRepository := factory.CreateCompanyRepository(map[string]interface{}{  
261 - "transactionContext": transactionContext,  
262 - })  
263 - company, err := companyRepository.FindOne(map[string]interface{}{  
264 - "id": param.Cid,  
265 - })  
266 - if err != nil {  
267 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取公司数据失败")  
268 - }  
269 - userRepository := factory.CreateUserRepository(map[string]interface{}{  
270 - "transactionContext": transactionContext,  
271 - })  
272 - user, err := userRepository.FindOne(map[string]interface{}{  
273 - "id": param.Muid,  
274 - "companyId": company.Id,  
275 - })  
276 - if err != nil {  
277 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取用户数据失败")  
278 - }  
279 - if user.Status != domain.UserStatusEnable {  
280 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "用户被禁用")  
281 - }  
282 - if err := transactionContext.CommitTransaction(); err != nil {  
283 - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())  
284 - }  
285 - userAuth := &domain.UserAuth{  
286 - UserId: user.Id,  
287 - CompanyId: user.CompanyId,  
288 - CompanyName: company.Name,  
289 - Phone: user.Account,  
290 - PlatformId: constant.PLATFORM_FONT_ID,  
291 - Name: user.Name,  
292 - AdminType: user.AdminType,  
293 - }  
294 - accessToken, err := userAuth.CreateAccessToken()  
295 - if err != nil {  
296 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())  
297 - }  
298 - respData := map[string]interface{}{  
299 - "authCode": accessToken,  
300 - }  
301 - return respData, nil  
302 -}  
303 -  
304 -func (srv *AuthService) AccessToken(param *command.AccessTokenCommand) (map[string]interface{}, error) {  
305 - userAuth := domain.UserAuth{}  
306 - _, err := userAuth.ParseAccessToken(param.AuthCode)  
307 - if err != nil {  
308 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "authcode 失效")  
309 - }  
310 -  
311 - accessToken, err := userAuth.CreateAccessToken()  
312 - if err != nil {  
313 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "生成 accessToken 失败")  
314 - }  
315 - refreshToken, err := userAuth.CreateRefreshToken()  
316 - if err != nil {  
317 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "生成 refreshToken 解析失败")  
318 - }  
319 - respData := map[string]interface{}{  
320 - "refreshToken": refreshToken,  
321 - "accessToken": accessToken,  
322 - "expiresIn": domain.JWTExpiresSecond,  
323 - }  
324 - return respData, nil  
325 -}  
326 -  
327 -func (srv *AuthService) RefreshToken(param *command.RefreshTokenCommand) (map[string]interface{}, error) {  
328 - userAuth := domain.UserAuth{}  
329 - _, err := userAuth.ParseAccessToken(param.RefreshToken)  
330 - if err != nil {  
331 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "refresh_token 失效")  
332 - }  
333 - accessToken, err := userAuth.CreateAccessToken()  
334 - if err != nil {  
335 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "生成 accessToken 失败")  
336 - }  
337 - refreshToken, err := userAuth.CreateRefreshToken()  
338 - if err != nil {  
339 - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "生成 refreshToken 解析失败")  
340 - }  
341 - respData := map[string]interface{}{  
342 - "refreshToken": refreshToken,  
343 - "accessToken": accessToken,  
344 - "expiresIn": domain.JWTExpiresSecond,  
345 - }  
346 - return respData, nil  
347 -}  
1 package controllers 1 package controllers
2 2
3 import ( 3 import (
  4 + "errors"
  5 +
4 "github.com/linmadan/egglib-go/web/beego" 6 "github.com/linmadan/egglib-go/web/beego"
5 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/auth/command" 7 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/auth/command"
6 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/auth/service" 8 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/auth/service"
  9 + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/constant"
7 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" 10 "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain"
8 ) 11 )
9 12
@@ -50,7 +53,7 @@ func (controller *AuthController) Authorize() { @@ -50,7 +53,7 @@ func (controller *AuthController) Authorize() {
50 controller.Response(resp, err) 53 controller.Response(resp, err)
51 } 54 }
52 55
53 -// Login 获取token 56 +// AccessToken 手机端 获取token
54 func (controller *AuthController) AccessToken() { 57 func (controller *AuthController) AccessToken() {
55 authService := &service.AuthService{} 58 authService := &service.AuthService{}
56 loginCommand := &command.AccessTokenCommand{} 59 loginCommand := &command.AccessTokenCommand{}
@@ -67,3 +70,28 @@ func (controller *AuthController) RefreshToken() { @@ -67,3 +70,28 @@ func (controller *AuthController) RefreshToken() {
67 resp, err := authService.RefreshToken(loginCommand) 70 resp, err := authService.RefreshToken(loginCommand)
68 controller.Response(resp, err) 71 controller.Response(resp, err)
69 } 72 }
  73 +
  74 +// 手机端 获取个人信息
  75 +func (controller *AuthController) UserInfos() {
  76 + tokenStr := controller.Ctx.Input.Header("x-mmm-accesstoken")
  77 + if tokenStr == "" { //没有带token
  78 + controller.Response(nil, errors.New("token 错误"))
  79 + return
  80 + }
  81 + userAuth, err := (&domain.UserAuth{}).ParseAccessToken(tokenStr)
  82 + if err != nil || userAuth.UserId <= 0 {
  83 + controller.Response(nil, errors.New("token 错误"))
  84 + return
  85 + }
  86 + if userAuth.PlatformId != constant.PLATFORM_FONT_ID {
  87 + controller.Response(nil, errors.New("token 错误"))
  88 + return
  89 + }
  90 + authService := &service.AuthService{}
  91 + param := &command.GetMeInfo{
  92 + UserId: userAuth.UserId,
  93 + CompanyId: userAuth.CompanyId,
  94 + }
  95 + resp, err := authService.UserInfo(param)
  96 + controller.Response(resp, err)
  97 +}
1 package middlewares 1 package middlewares
2 2
3 -//  
4 -//import (  
5 -// "github.com/beego/beego/v2/server/web/context"  
6 -//)  
7 -//  
8 -//func setUserId(userId int64, ctx *context.Context) { 3 +// func setUserId(userId int64, ctx *context.Context) {
9 // ctx.Input.SetData("_UserId", userId) 4 // ctx.Input.SetData("_UserId", userId)
10 -//} 5 +// }
11 // 6 //
12 -//func GetUserId(ctx *context.Context) int64 { 7 +// func GetUserId(ctx *context.Context) int64 {
13 // userId := ctx.Input.GetData("_UserId") 8 // userId := ctx.Input.GetData("_UserId")
14 // return userId.(int64) 9 // return userId.(int64)
15 -//} 10 +// }
16 // 11 //
17 -//func setCompanyId(companyId int64, ctx *context.Context) { 12 +// func setCompanyId(companyId int64, ctx *context.Context) {
18 // ctx.Input.SetData("_CompanyId", companyId) 13 // ctx.Input.SetData("_CompanyId", companyId)
19 -//} 14 +// }
20 // 15 //
21 -//func GetCompanyId(ctx *context.Context) int64 { 16 +// func GetCompanyId(ctx *context.Context) int64 {
22 // companyId := ctx.Input.GetData("_CompanyId") 17 // companyId := ctx.Input.GetData("_CompanyId")
23 // return companyId.(int64) 18 // return companyId.(int64)
24 -//} 19 +// }
25 // 20 //
26 -//func setCompanyType(companyId int, ctx *context.Context) { 21 +// func setCompanyType(companyId int, ctx *context.Context) {
27 // ctx.Input.SetData("_CompanyType", companyId) 22 // ctx.Input.SetData("_CompanyType", companyId)
28 -//} 23 +// }
29 // 24 //
30 -//func GetCompanyType(ctx *context.Context) int { 25 +// func GetCompanyType(ctx *context.Context) int {
31 // companyId := ctx.Input.GetData("_CompanyType") 26 // companyId := ctx.Input.GetData("_CompanyType")
32 // return companyId.(int) 27 // return companyId.(int)
33 -//}  
34 -//  
35 -//func invalidOrExpired(ctx *context.Context) { 28 +// }
  29 +// func invalidOrExpired(ctx *context.Context) {
36 // resp := map[string]interface{}{ 30 // resp := map[string]interface{}{
37 // "code": 902, 31 // "code": 902,
38 // "msg": "Authorization过期或无效,需要进行重新获取令牌", 32 // "msg": "Authorization过期或无效,需要进行重新获取令牌",
39 // } 33 // }
40 // _ = ctx.Output.JSON(resp, false, false) 34 // _ = ctx.Output.JSON(resp, false, false)
41 -//}  
42 -//  
43 -//func CheckToken() func(ctx *context.Context) { 35 +// }
  36 +
  37 +// // 适配手机端的token 处理
  38 +// func CheckTokenForApp() func(ctx *context.Context) {
44 // return func(ctx *context.Context) { 39 // return func(ctx *context.Context) {
45 // tokenStr := ctx.Input.Header("x-mmm-accesstoken") 40 // tokenStr := ctx.Input.Header("x-mmm-accesstoken")
46 // if tokenStr == "" { //没有带token 41 // if tokenStr == "" { //没有带token
47 // invalidOrExpired(ctx) 42 // invalidOrExpired(ctx)
48 // return 43 // return
49 // } 44 // }
50 -//  
51 -// //userServe := service.UserService{}  
52 -// //userTk, err := userServe.ValidLoginToken(tokenStr)  
53 -// //if err != nil {  
54 -// // invalidOrExpired(ctx)  
55 -// // return  
56 -// //}  
57 -// //setUserId(userTk.UserId, ctx)  
58 -// //setCompanyId(userTk.CompanyId, ctx)  
59 -// //setCompanyType(userTk.CompanyType, ctx)  
60 -// }  
61 -//} 45 +// userAuth, err := (&domain.UserAuth{}).ParseAccessToken(tokenStr)
  46 +// if err != nil || userAuth.UserId <= 0 {
  47 +// forbidden(ctx)
  48 +// return
  49 +// }
  50 +// if userAuth.PlatformId != constant.PLATFORM_FONT_ID {
  51 +// forbidden(ctx)
  52 +// return
  53 +// }
  54 +// ctx.Input.SetData(domain.UserAuth{}, userAuth)
  55 +// }
  56 +// }
  1 +package routers
  2 +
  3 +import (
  4 + "github.com/beego/beego/v2/server/web"
  5 + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/port/beego/controllers"
  6 +)
  7 +
  8 +func init() {
  9 + //手机模块登录-旧
  10 + web.Router("/login/mobile", &controllers.AuthController{}, "Post:MobileLogin")
  11 +
  12 + {
  13 + //手机模块登录-新
  14 + web.CtrlPost("/v1/auth/authorize", (*controllers.AuthController).Authorize)
  15 + web.CtrlPost("/v1/auth/accessToken", (*controllers.AuthController).AccessToken)
  16 + web.CtrlPost("/v1/auth/refreshToken", (*controllers.AuthController).RefreshToken)
  17 + }
  18 + // 手机端登录后获取用户信息
  19 + web.CtrlPost("/v2/user/userInfo", (*controllers.AuthController).UserInfos)
  20 +}
@@ -8,8 +8,6 @@ import ( @@ -8,8 +8,6 @@ import (
8 8
9 func init() { 9 func init() {
10 web.Router("/login", &controllers.AuthController{}, "Post:Login") 10 web.Router("/login", &controllers.AuthController{}, "Post:Login")
11 - //手机模块登录-旧  
12 - web.Router("/login/mobile", &controllers.AuthController{}, "Post:MobileLogin")  
13 11
14 web.InsertFilter("/auth/admin/*", web.BeforeExec, middlewares.CheckAdminToken()) 12 web.InsertFilter("/auth/admin/*", web.BeforeExec, middlewares.CheckAdminToken())
15 web.Router("/auth/admin/user", &controllers.AuthController{}, "Get:User") 13 web.Router("/auth/admin/user", &controllers.AuthController{}, "Get:User")
@@ -17,11 +15,4 @@ func init() { @@ -17,11 +15,4 @@ func init() {
17 web.InsertFilter("/auth/font/*", web.BeforeExec, middlewares.CheckFontToken()) 15 web.InsertFilter("/auth/font/*", web.BeforeExec, middlewares.CheckFontToken())
18 web.Router("/auth/font/user", &controllers.AuthController{}, "Get:User") 16 web.Router("/auth/font/user", &controllers.AuthController{}, "Get:User")
19 17
20 - {  
21 - //手机模块登录-新  
22 - web.CtrlPost("/v1/auth/authorize", (*controllers.AuthController).Authorize)  
23 - web.CtrlPost("/v1/auth/accessToken", (*controllers.AuthController).AccessToken)  
24 - web.CtrlPost("/v1/auth/refreshToken", (*controllers.AuthController).RefreshToken)  
25 - }  
26 -  
27 } 18 }
@@ -16,4 +16,5 @@ func init() { @@ -16,4 +16,5 @@ func init() {
16 web.NSRouter("/import-parent", &controllers.UserController{}, "Post:ImportParentUser"), // 直接上级导入 16 web.NSRouter("/import-parent", &controllers.UserController{}, "Post:ImportParentUser"), // 直接上级导入
17 ) 17 )
18 web.AddNamespace(ns) 18 web.AddNamespace(ns)
  19 +
19 } 20 }