Pārlūkot izejas kodu

部门分组同步

hsun 1 gadu atpakaļ
vecāks
revīzija
98133fea28

+ 20 - 5
controllers/sys_admin.go

@@ -491,7 +491,10 @@ func (this *SysAdminController) Add() {
 	}
 
 	// 同步用户缓存
-	_ = utils.Rc.LPush(utils.CACHE_SYNC_SYS_USER_FROM_ETA, admin.AdminName)
+	var syncData system.SyncAdminData
+	syncData.Source = utils.SOURCE_ETA_FLAG
+	syncData.AdminName = admin.AdminName
+	_ = utils.Rc.LPush(utils.CACHE_SYNC_ADMIN, syncData)
 
 	err = services.UpdateResearcherTagGroup(admin.AdminId, req.ResearchGroupIds)
 	if err != nil {
@@ -690,7 +693,10 @@ func (this *SysAdminController) Edit() {
 	}
 
 	// 同步用户缓存
-	_ = utils.Rc.LPush(utils.CACHE_SYNC_SYS_USER_FROM_ETA, adminInfo.AdminName)
+	var syncData system.SyncAdminData
+	syncData.Source = utils.SOURCE_ETA_FLAG
+	syncData.AdminName = adminInfo.AdminName
+	_ = utils.Rc.LPush(utils.CACHE_SYNC_ADMIN, syncData)
 
 	// 用户登出
 	logOutSystemUser(adminInfo.AdminId)
@@ -759,7 +765,10 @@ func (this *SysAdminController) EditEnabled() {
 	}
 
 	// 同步用户缓存
-	_ = utils.Rc.LPush(utils.CACHE_SYNC_SYS_USER_FROM_ETA, adminItem.AdminName)
+	var syncData system.SyncAdminData
+	syncData.Source = utils.SOURCE_ETA_FLAG
+	syncData.AdminName = adminItem.AdminName
+	_ = utils.Rc.LPush(utils.CACHE_SYNC_ADMIN, syncData)
 
 	//用户被禁用的情况下,需要将他对应的token给过期
 	if adminItem.Enabled == 1 && req.Enabled == 0 {
@@ -818,7 +827,10 @@ func (this *SysAdminController) Delete() {
 	}
 
 	// 同步用户缓存
-	_ = utils.Rc.LPush(utils.CACHE_SYNC_SYS_USER_FROM_ETA, adminInfo.AdminName)
+	var syncData system.SyncAdminData
+	syncData.Source = utils.SOURCE_ETA_FLAG
+	syncData.AdminName = adminInfo.AdminName
+	_ = utils.Rc.LPush(utils.CACHE_SYNC_ADMIN, syncData)
 
 	// 删除手工数据关联用户
 	{
@@ -1056,7 +1068,10 @@ func (this *SysAdminController) Move() {
 	}
 
 	// 同步用户缓存
-	_ = utils.Rc.LPush(utils.CACHE_SYNC_SYS_USER_FROM_ETA, adminInfo.AdminName)
+	var syncData system.SyncAdminData
+	syncData.Source = utils.SOURCE_ETA_FLAG
+	syncData.AdminName = adminInfo.AdminName
+	_ = utils.Rc.LPush(utils.CACHE_SYNC_ADMIN, syncData)
 
 	// 清除系统用户列表缓存key
 	_ = utils.Rc.Delete(utils.CACHE_KEY_ADMIN)

+ 22 - 1
controllers/sys_department.go

@@ -48,12 +48,19 @@ func (this *SysDepartmentController) Add() {
 	item := new(system.SysDepartment)
 	item.DepartmentName = req.DepartmentName
 	item.CreateTime = time.Now()
-	_, err = system.AddSysDepartment(item)
+	departmentId, err := system.AddSysDepartment(item)
 	if err != nil {
 		br.Msg = "新增失败"
 		br.ErrMsg = "新增失败,Err:" + err.Error()
 		return
 	}
+
+	// 同步部门缓存
+	var syncData system.SyncDepartmentData
+	syncData.Source = utils.SOURCE_ETA_FLAG
+	syncData.DepartmentId = int(departmentId)
+	_ = utils.Rc.LPush(utils.CACHE_SYNC_DEPARTMENT, syncData)
+
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "新增成功"
@@ -104,6 +111,13 @@ func (this *SysDepartmentController) Edit() {
 		br.ErrMsg = "修改失败,Err:" + err.Error()
 		return
 	}
+
+	// 同步部门缓存
+	var syncData system.SyncDepartmentData
+	syncData.Source = utils.SOURCE_ETA_FLAG
+	syncData.DepartmentId = item.DepartmentId
+	_ = utils.Rc.LPush(utils.CACHE_SYNC_DEPARTMENT, syncData)
+
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "修改成功"
@@ -138,6 +152,13 @@ func (this *SysDepartmentController) Delete() {
 		br.ErrMsg = "删除失败,Err:" + err.Error()
 		return
 	}
+
+	// 同步部门缓存
+	var syncData system.SyncDepartmentData
+	syncData.Source = utils.SOURCE_ETA_FLAG
+	syncData.DepartmentId = req.DepartmentId
+	_ = utils.Rc.LPush(utils.CACHE_SYNC_DEPARTMENT, syncData)
+
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "删除成功"

+ 38 - 7
controllers/sys_group.go

@@ -54,12 +54,18 @@ func (this *SysGroupController) Add() {
 			item.GroupName = v
 			item.DepartmentId = req.DepartmentId
 			item.CreateTime = time.Now()
-			_, err = system.AddSysGroup(item)
-			if err != nil {
+			groupId, e := system.AddSysGroup(item)
+			if e != nil {
 				br.Msg = "新增失败"
-				br.ErrMsg = "新增失败,Err:" + err.Error()
+				br.ErrMsg = "新增失败,Err:" + e.Error()
 				return
 			}
+
+			// 同步分组缓存
+			var syncData system.SyncGroupData
+			syncData.Source = utils.SOURCE_ETA_FLAG
+			syncData.GroupId = int(groupId)
+			_ = utils.Rc.LPush(utils.CACHE_SYNC_GROUP, syncData)
 		}
 	}
 	br.Ret = 200
@@ -112,6 +118,13 @@ func (this *SysGroupController) Edit() {
 		br.ErrMsg = "修改失败,Err:" + err.Error()
 		return
 	}
+
+	// 同步分组缓存
+	var syncData system.SyncGroupData
+	syncData.Source = utils.SOURCE_ETA_FLAG
+	syncData.GroupId = item.GroupId
+	_ = utils.Rc.LPush(utils.CACHE_SYNC_GROUP, syncData)
+
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "修改成功"
@@ -152,6 +165,13 @@ func (this *SysGroupController) Delete() {
 		br.ErrMsg = "删除失败,情况分组失败,Err:" + err.Error()
 		return
 	}
+
+	// 同步分组缓存
+	var syncData system.SyncGroupData
+	syncData.Source = utils.SOURCE_ETA_FLAG
+	syncData.GroupId = req.GroupId
+	_ = utils.Rc.LPush(utils.CACHE_SYNC_GROUP, syncData)
+
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "删除成功"
@@ -215,10 +235,21 @@ func (this *SysGroupController) SetSort() {
 				})
 			}
 		}
-		if e := system.MultiUpdateGroupSort(updateArr); e != nil {
-			br.Msg = "操作失败"
-			br.ErrMsg = "批量更新分组排序失败, Err: " + e.Error()
-			return
+
+		if len(updateArr) > 0 {
+			if e := system.MultiUpdateGroupSort(updateArr); e != nil {
+				br.Msg = "操作失败"
+				br.ErrMsg = "批量更新分组排序失败, Err: " + e.Error()
+				return
+			}
+
+			// 同步分组缓存
+			for _, g := range updateArr {
+				var syncData system.SyncGroupData
+				syncData.Source = utils.SOURCE_ETA_FLAG
+				syncData.GroupId = g.GroupId
+				_ = utils.Rc.LPush(utils.CACHE_SYNC_GROUP, syncData)
+			}
 		}
 	}
 

+ 13 - 4
controllers/sys_role.go

@@ -55,7 +55,7 @@ func (this *SysRoleController) Add() {
 	item.RoleTypeCode = services.GetRoleTypeCode(req.RoleType)
 	item.CreateTime = time.Now()
 	item.ModifyTime = time.Now()
-	_, err = system.AddSysRole(item)
+	roleId, err := system.AddSysRole(item)
 	if err != nil {
 		br.Msg = "新增失败"
 		br.ErrMsg = "新增失败,Err:" + err.Error()
@@ -63,7 +63,10 @@ func (this *SysRoleController) Add() {
 	}
 
 	// 同步角色缓存
-	_ = utils.Rc.LPush(utils.CACHE_SYNC_SYS_ROLE_FROM_ETA, item.RoleName)
+	var syncData system.SyncRoleData
+	syncData.Source = utils.SOURCE_ETA_FLAG
+	syncData.RoleId = int(roleId)
+	_ = utils.Rc.LPush(utils.CACHE_SYNC_ROLE, syncData)
 
 	br.Ret = 200
 	br.Success = true
@@ -118,7 +121,10 @@ func (this *SysRoleController) Edit() {
 	}
 
 	// 同步角色缓存
-	_ = utils.Rc.LPush(utils.CACHE_SYNC_SYS_ROLE_FROM_ETA, item.RoleName)
+	var syncData system.SyncRoleData
+	syncData.Source = utils.SOURCE_ETA_FLAG
+	syncData.RoleId = item.RoleId
+	_ = utils.Rc.LPush(utils.CACHE_SYNC_ROLE, syncData)
 
 	br.Ret = 200
 	br.Success = true
@@ -169,7 +175,10 @@ func (this *SysRoleController) Delete() {
 	}
 
 	// 同步角色缓存
-	_ = utils.Rc.LPush(utils.CACHE_SYNC_SYS_ROLE_FROM_ETA, role.RoleName)
+	var syncData system.SyncRoleData
+	syncData.Source = utils.SOURCE_ETA_FLAG
+	syncData.RoleId = role.RoleId
+	_ = utils.Rc.LPush(utils.CACHE_SYNC_ROLE, syncData)
 
 	br.Ret = 200
 	br.Success = true

+ 23 - 3
controllers/sys_team.go

@@ -55,12 +55,18 @@ func (this *SysTeamController) Add() {
 			item.DepartmentId = req.DepartmentId
 			item.ParentId = req.GroupId
 			item.CreateTime = time.Now()
-			_, err = system.AddSysGroup(item)
-			if err != nil {
+			groupId, e := system.AddSysGroup(item)
+			if e != nil {
 				br.Msg = "新增失败"
-				br.ErrMsg = "新增失败,Err:" + err.Error()
+				br.ErrMsg = "新增失败,Err:" + e.Error()
 				return
 			}
+
+			// 同步分组缓存
+			var syncData system.SyncGroupData
+			syncData.Source = utils.SOURCE_ETA_FLAG
+			syncData.GroupId = int(groupId)
+			_ = utils.Rc.LPush(utils.CACHE_SYNC_GROUP, syncData)
 		}
 	}
 	br.Ret = 200
@@ -113,6 +119,13 @@ func (this *SysTeamController) Edit() {
 		br.ErrMsg = "修改失败,Err:" + err.Error()
 		return
 	}
+
+	// 同步分组缓存
+	var syncData system.SyncGroupData
+	syncData.Source = utils.SOURCE_ETA_FLAG
+	syncData.GroupId = item.GroupId
+	_ = utils.Rc.LPush(utils.CACHE_SYNC_GROUP, syncData)
+
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "修改成功"
@@ -153,6 +166,13 @@ func (this *SysTeamController) Delete() {
 		br.ErrMsg = "删除失败,情况分组失败,Err:" + err.Error()
 		return
 	}
+
+	// 同步分组缓存
+	var syncData system.SyncGroupData
+	syncData.Source = utils.SOURCE_ETA_FLAG
+	syncData.GroupId = req.TeamId
+	_ = utils.Rc.LPush(utils.CACHE_SYNC_GROUP, syncData)
+
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "删除成功"

+ 24 - 0
models/system/sys_admin.go

@@ -505,3 +505,27 @@ func GetRaiAdmin() (items []*AdminItem, err error) {
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
+
+// SyncRoleData 同步角色数据
+type SyncRoleData struct {
+	Source int `description:"来源: 1-CRM; 2-ETA"`
+	RoleId int `description:"角色ID"`
+}
+
+// SyncAdminData 同步用户数据
+type SyncAdminData struct {
+	Source    int    `description:"来源: 1-CRM; 2-ETA"`
+	AdminName string `description:"用户名"`
+}
+
+// SyncDepartmentData 同步部门数据
+type SyncDepartmentData struct {
+	Source       int `description:"来源: 1-CRM; 2-ETA"`
+	DepartmentId int `description:"部门ID"`
+}
+
+// SyncGroupData 同步分组数据
+type SyncGroupData struct {
+	Source  int `description:"来源: 1-CRM; 2-ETA"`
+	GroupId int `description:"分组ID"`
+}

+ 11 - 2
utils/constants.go

@@ -199,8 +199,11 @@ const (
 	CACHE_KEY_DAYNEW_REFRESH          = "admin:day_new:refresh"               //每日资讯拉取企业微信聊天记录
 	CACHE_KEY_DAYNEW_TRANSLATE        = "admin:day_new:translate"             //每日资讯中翻英
 	CACHE_KEY_ADMIN_OPERATE_RECORD    = "HZ_ADMIN_CACHE_ADMIN_OPERATE_RECORD" //系统用户操作日志队列
-	CACHE_SYNC_SYS_USER_FROM_ETA      = "hz_crm_eta:eta_admin_sync"           // 同步用户的缓存队列key
-	CACHE_SYNC_SYS_ROLE_FROM_ETA      = "hz_crm_eta:eta_role_sync"            // 同步角色的缓存队列key
+
+	CACHE_SYNC_ADMIN      = "hz_crm_eta:sync_admin"      // 同步用户的缓存队列key
+	CACHE_SYNC_ROLE       = "hz_crm_eta:sync_role"       // 同步角色的缓存队列key
+	CACHE_SYNC_DEPARTMENT = "hz_crm_eta:sync_department" // 同步部门的缓存队列key
+	CACHE_SYNC_GROUP      = "hz_crm_eta:sync_group"      // 同步分组的缓存队列key
 )
 
 // 模板消息推送类型
@@ -287,3 +290,9 @@ var FrequencyDaysMap = map[string]int{
 const (
 	AiChatLimit = 50
 )
+
+// 系统来源
+const (
+	SOURCE_CRM_FLAG = 1
+	SOURCE_ETA_FLAG = 2
+)