作者 唐旭辉

修复:数据同步更换主管理员时, 当出现复数管理员不进行更新数据

@@ -6,6 +6,8 @@ import ( @@ -6,6 +6,8 @@ import (
6 "fmt" 6 "fmt"
7 "time" 7 "time"
8 8
  9 + "github.com/astaxie/beego/logs"
  10 +
9 "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/factory" 11 "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/factory"
10 "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/unifiedUserCenter/command" 12 "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/unifiedUserCenter/command"
11 "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/domain" 13 "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/domain"
@@ -340,16 +342,13 @@ func (service SyncEmployeeService) ChangeSuperAdmin(cmd command.ChanceSuperAdmin @@ -340,16 +342,13 @@ func (service SyncEmployeeService) ChangeSuperAdmin(cmd command.ChanceSuperAdmin
340 return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) 342 return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e)
341 } 343 }
342 if len(userList) == 0 { 344 if len(userList) == 0 {
343 - e := fmt.Sprintf("没有获得公司主管数据(admin_type=%d;company_id=%d)",  
344 - domain.UserIsAdmin, cmd.CompanyId)  
345 - return lib.ThrowError(lib.BUSINESS_ERROR, e) 345 + logs.Error(fmt.Sprintf("没有获得公司主管数据(admin_type=%d;company_id=%d)",
  346 + domain.UserIsAdmin, cmd.CompanyId))
346 } 347 }
347 if len(userList) > 1 { 348 if len(userList) > 1 {
348 - e := fmt.Sprintf("存在复数公司主管数据(admin_type=%d;company_id=%d)",  
349 - domain.UserIsAdmin, cmd.CompanyId)  
350 - return lib.ThrowError(lib.BUSINESS_ERROR, e) 349 + logs.Error(fmt.Sprintf("存在复数公司主管数据(admin_type=%d;company_id=%d)",
  350 + domain.UserIsAdmin, cmd.CompanyId))
351 } 351 }
352 - oldSuperUser = userList[0]  
353 newSuperUser, err = usersRepository.FindOne(domain.UsersFindOneQuery{ 352 newSuperUser, err = usersRepository.FindOne(domain.UsersFindOneQuery{
354 CompanyId: cmd.CompanyId, 353 CompanyId: cmd.CompanyId,
355 Phone: cmd.Phone, 354 Phone: cmd.Phone,
@@ -359,24 +358,26 @@ func (service SyncEmployeeService) ChangeSuperAdmin(cmd command.ChanceSuperAdmin @@ -359,24 +358,26 @@ func (service SyncEmployeeService) ChangeSuperAdmin(cmd command.ChanceSuperAdmin
359 cmd.Phone, cmd.CompanyId) 358 cmd.Phone, cmd.CompanyId)
360 return lib.ThrowError(lib.BUSINESS_ERROR, e) 359 return lib.ThrowError(lib.BUSINESS_ERROR, e)
361 } 360 }
362 - err = oldSuperUser.Update(map[string]interface{}{ 361 + for i := range userList {
  362 + err = userList[i].Update(map[string]interface{}{
363 "AdminType": domain.UserIsNotAdmin, 363 "AdminType": domain.UserIsNotAdmin,
364 }) 364 })
365 if err != nil { 365 if err != nil {
366 return lib.ThrowError(lib.BUSINESS_ERROR, err.Error()) 366 return lib.ThrowError(lib.BUSINESS_ERROR, err.Error())
367 } 367 }
  368 + err = usersRepository.Edit(&userList[i])
  369 + if err != nil {
  370 + e := fmt.Sprintf("更新公司主管user数据(id=%d)失败:%s",
  371 + oldSuperUser.Id, err)
  372 + return lib.ThrowError(lib.BUSINESS_ERROR, e)
  373 + }
  374 + }
368 err = newSuperUser.Update(map[string]interface{}{ 375 err = newSuperUser.Update(map[string]interface{}{
369 "AdminType": domain.UserIsAdmin, 376 "AdminType": domain.UserIsAdmin,
370 }) 377 })
371 if err != nil { 378 if err != nil {
372 return lib.ThrowError(lib.BUSINESS_ERROR, err.Error()) 379 return lib.ThrowError(lib.BUSINESS_ERROR, err.Error())
373 } 380 }
374 - err = usersRepository.Edit(&oldSuperUser)  
375 - if err != nil {  
376 - e := fmt.Sprintf("更新公司主管user数据(id=%d)失败:%s",  
377 - oldSuperUser.Id, err)  
378 - return lib.ThrowError(lib.BUSINESS_ERROR, e)  
379 - }  
380 err = usersRepository.Edit(&newSuperUser) 381 err = usersRepository.Edit(&newSuperUser)
381 if err != nil { 382 if err != nil {
382 e := fmt.Sprintf("更新公司主管user数据(id=%d)失败:%s", 383 e := fmt.Sprintf("更新公司主管user数据(id=%d)失败:%s",
@@ -54,7 +54,7 @@ func (c *SyncDataController) CompanyAdminChance() { @@ -54,7 +54,7 @@ func (c *SyncDataController) CompanyAdminChance() {
54 return 54 return
55 } 55 }
56 syncEmployeeSrv := syncService.NewSyncEmployeeService(nil) 56 syncEmployeeSrv := syncService.NewSyncEmployeeService(nil)
57 - syncEmployeeSrv.ChangeSuperAdmin(param) 57 + err = syncEmployeeSrv.ChangeSuperAdmin(param)
58 if err != nil { 58 if err != nil {
59 logs.Error("变更公司的主管失败;%s", err) 59 logs.Error("变更公司的主管失败;%s", err)
60 } 60 }