...
|
...
|
@@ -118,6 +118,7 @@ func UpdateCompanyData(data ModuleCompanytData) error { |
|
|
companyData *models.Company
|
|
|
err error
|
|
|
topDepartment *models.Department
|
|
|
defaultRole *models.Role
|
|
|
)
|
|
|
newCompanyData := data.Company
|
|
|
companyData, err = models.GetCompanyByUCenter(newCompanyData.AdminCompanyId)
|
...
|
...
|
@@ -142,11 +143,17 @@ func UpdateCompanyData(data ModuleCompanytData) error { |
|
|
log.Error("获取公司一级数据失败,company_id=%d,err:%s", companyData.Id, err)
|
|
|
return errors.New("获取公司一级数据失败")
|
|
|
}
|
|
|
defaultRole, err = models.GetCompanyDefaultRole(companyData.Id)
|
|
|
if err != nil {
|
|
|
e := fmt.Errorf("变更主管理员角色失败:err:%s", err)
|
|
|
log.Error(e.Error())
|
|
|
return errors.New("变更主管理员角色失败")
|
|
|
}
|
|
|
o := orm.NewOrm()
|
|
|
o.Begin()
|
|
|
if data.User.Id != oldAdminData.Id {
|
|
|
//更新公司主管理员
|
|
|
oldAdminData.ChargeStatus = models.USERCOMPANY_CHARGE_NO
|
|
|
oldAdminData.AdminType = models.USERCOMPANY_ADMIN_SUBSET
|
|
|
err = models.UpdateUserCompanyById(oldAdminData, []string{"ChargeStatus"}, o)
|
|
|
if err != nil {
|
|
|
o.Rollback()
|
...
|
...
|
@@ -160,7 +167,7 @@ func UpdateCompanyData(data ModuleCompanytData) error { |
|
|
log.Error("获取新的主管理员失败,user_company_id=%d,err:%s", data.User.Id, err)
|
|
|
return errors.New("获取新的主管理员")
|
|
|
}
|
|
|
newAdminData.ChargeStatus = models.USERCOMPANY_CHARGE_YES
|
|
|
newAdminData.AdminType = models.USERCOMPANY_ADMIN_MAIN
|
|
|
err = models.UpdateUserCompanyById(newAdminData, []string{"ChargeStatus"}, o)
|
|
|
if err != nil {
|
|
|
o.Rollback()
|
...
|
...
|
@@ -168,6 +175,20 @@ func UpdateCompanyData(data ModuleCompanytData) error { |
|
|
return errors.New("变更主管理员失败")
|
|
|
}
|
|
|
companyData.AdminId = newAdminData.UserId
|
|
|
//更新主管理员角色
|
|
|
_, err = o.QueryTable(&models.UserRole{}).
|
|
|
Filter("role_id", defaultRole.Id).
|
|
|
Filter("company_id", companyData.Id).
|
|
|
Filter("user_company_id", oldAdminData.Id).
|
|
|
Filter("enable_status", models.USER_ROLE_ENABLE_YES).
|
|
|
Update(orm.Params{
|
|
|
"user_company_id": newAdminData.Id,
|
|
|
})
|
|
|
if err != nil {
|
|
|
e := fmt.Errorf("变更主管理员角色失败:%s", err)
|
|
|
log.Error(e.Error())
|
|
|
return errors.New("变更主管理员角色失败")
|
|
|
}
|
|
|
}
|
|
|
companyData.Logo = newCompanyData.Logo
|
|
|
companyData.Name = newCompanyData.Name
|
...
|
...
|
@@ -185,6 +206,7 @@ func UpdateCompanyData(data ModuleCompanytData) error { |
|
|
log.Error("更新公司一级部门数据失败:%s", err)
|
|
|
return errors.New("更新公司一级部门数据失败")
|
|
|
}
|
|
|
|
|
|
o.Commit()
|
|
|
return nil
|
|
|
}
|
...
|
...
|
|