|
@@ -209,3 +209,129 @@ func BatchAddOrUpdateAdmin(reqAdmin *system.AdminBatchAddReq) (err error, isSend
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// 同步分组数据
|
|
|
+func SyncSysGroup(req *system.SysGroupAddReq) (err error, isSendEmail bool) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("新增或者更新分组, SyncSysGroup Err: " + err.Error())
|
|
|
+ go alarm_msg.SendAlarmMsg("新增或者更新分组, SyncSysGroup Err: "+err.Error(), 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ isSendEmail = true
|
|
|
+ if len(req.List) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ groupList, err := system.GetAllSysGroup()
|
|
|
+ if err != nil {
|
|
|
+ err = fmt.Errorf("获取账号数据失败,%v", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 查询所有的账号,如果不在同步的列表里,则删除
|
|
|
+ deleteGroupList := make(map[int]int)
|
|
|
+ for _, v := range groupList {
|
|
|
+ deleteGroupList[v.GroupId] = v.GroupId
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range req.List {
|
|
|
+ if v.GroupId > 0 {
|
|
|
+ delete(deleteGroupList, v.GroupId)
|
|
|
+ }
|
|
|
+ err = v.AddOrUpdate()
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for _, v := range deleteGroupList {
|
|
|
+ err = system.DeleteSysGroup(v)
|
|
|
+ if err != nil {
|
|
|
+ err = fmt.Errorf("删除失败,Err:%s", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// 同步部门数据
|
|
|
+func SyncSysDepartment(req *system.SysDepartmentSyncReq) (err error, isSendEmail bool) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("新增或者更新部门, SyncSysDepartment Err: " + err.Error())
|
|
|
+ go alarm_msg.SendAlarmMsg("新增或者更新部门, SyncSysDepartment Err: "+err.Error(), 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ isSendEmail = true
|
|
|
+ if len(req.List) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ list, err := system.GetAllSysDepartment()
|
|
|
+ if err != nil {
|
|
|
+ err = fmt.Errorf("获取账号数据失败,%v", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 查询所有的账号,如果不在同步的列表里,则删除
|
|
|
+ deleteList := make(map[int]int)
|
|
|
+ for _, v := range list {
|
|
|
+ deleteList[v.DepartmentId] = v.DepartmentId
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range req.List {
|
|
|
+ if v.DepartmentId > 0 {
|
|
|
+ delete(deleteList, v.DepartmentId)
|
|
|
+ }
|
|
|
+ err = v.AddOrUpdate()
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for _, v := range deleteList {
|
|
|
+ err = system.DeleteSysDepartment(v)
|
|
|
+ if err != nil {
|
|
|
+ err = fmt.Errorf("删除失败,Err:%s", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// 同步角色数据
|
|
|
+func SyncSysRole(req *system.SysRoleSyncReq) (err error, isSendEmail bool) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("同步角色数据, SyncSysRole Err: " + err.Error())
|
|
|
+ go alarm_msg.SendAlarmMsg("同步角色数据, SyncSysRole Err: "+err.Error(), 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ isSendEmail = true
|
|
|
+ if len(req.List) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ list, err := system.GetSysRoleList()
|
|
|
+ if err != nil {
|
|
|
+ err = fmt.Errorf("获取账号数据失败,%v", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 查询所有的账号,如果不在同步的列表里,则删除
|
|
|
+ deleteList := make(map[int]int)
|
|
|
+ for _, v := range list {
|
|
|
+ deleteList[v.RoleId] = v.RoleId
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range req.List {
|
|
|
+ if v.RoleId > 0 {
|
|
|
+ delete(deleteList, v.RoleId)
|
|
|
+ }
|
|
|
+ err = v.AddOrUpdate()
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for _, v := range deleteList {
|
|
|
+ err = system.DeleteSysRole(v)
|
|
|
+ if err != nil {
|
|
|
+ err = fmt.Errorf("删除失败,Err:%s", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|