Эх сурвалжийг харах

crm 修改角色类型,同步修改账号表中的角色信息

xyxie 1 долоо хоног өмнө
parent
commit
b2becff9c6

+ 12 - 0
controllers/sys_role.go

@@ -112,6 +112,8 @@ func (this *SysRoleController) Edit() {
 			return
 		}
 	}
+	oldRoleName := item.RoleName
+	oldRoleCodeType := item.RoleTypeCode
 	roleTypeCode := services.GetRoleTypeCode(req.RoleType)
 	err = system.ModifySysRole(req.RoleName, req.RoleType, roleTypeCode, req.RoleId)
 	if err != nil {
@@ -119,6 +121,16 @@ func (this *SysRoleController) Edit() {
 		br.ErrMsg = "修改失败,Err:" + err.Error()
 		return
 	}
+	if oldRoleName != req.RoleName || oldRoleCodeType != roleTypeCode {
+		// 查询所有和角色相关的管理员的信息,并更新成最新的角色
+		err = system.UpdateAdminRoleInfoByRoleId(req.RoleId, req.RoleName, roleTypeCode)
+		if err != nil {
+			br.Msg = "操作失败"
+			br.ErrMsg = "更新管理员角色信息失败, Err: " + err.Error()
+			return
+		}
+	}
+
 
 	// 同步角色缓存
 	var syncData system.SyncRoleData

+ 8 - 0
models/system/sys_admin.go

@@ -550,3 +550,11 @@ type SyncGroupData struct {
 	Source  int `description:"来源: 1-CRM; 2-ETA"`
 	GroupId int `description:"分组ID"`
 }
+
+// UpdateAdminRoleInfoByRoleId 更新管理员角色信息
+func UpdateAdminRoleInfoByRoleId(roleId int, roleName string, roleTypeCode string) (err error) {
+	o := orm.NewOrm()
+	sql := `UPDATE admin SET role_name = ?, role_type_code = ? WHERE role_id = ?`
+	_, err = o.Raw(sql, roleName, roleTypeCode, roleId).Exec()
+	return
+}