From 1e5aa4ec67827ce19bfe976f3f6e37a70c52f8b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Sat, 26 Feb 2022 02:49:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8A=82=E7=82=B9=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E3=80=81=E6=A0=87=E7=AD=BE=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/ctrl/XmProjectGroupUserController.java | 16 +++++++++++++++- .../xm/core/service/XmProjectGroupService.java | 6 ++++++ .../com/xm/core/service/XmRecordService.java | 2 ++ .../cache/XmProjectGroupCacheService.java | 2 +- 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupUserController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupUserController.java index bb1f0926..bed6d5c4 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupUserController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupUserController.java @@ -175,8 +175,10 @@ public class XmProjectGroupUserController { users.add(usermap); pushMsgService.pushJoinChannelGroupMsg(user.getBranchId(), gu.getGroupId(), users); if("1".equals(pgClass)){ + xmProjectGroupService.clearProductGroup(gu.getProductId()); xmRecordService.addXmGroupRecord(gu.getProductId(),gu.getGroupId(), "产品-团队-新增小组成员", "增加组员["+gu.getUsername()+"]",gu.getUserid(),null); }else{ + xmProjectGroupService.clearProjectGroup(gu.getProjectId()); xmRecordService.addXmGroupRecord(gu.getProjectId(),gu.getGroupId(), "项目-团队-新增小组成员", "增加组员["+gu.getUsername()+"]",gu.getUserid(),null); } @@ -206,7 +208,7 @@ public class XmProjectGroupUserController { } gu=this.xmProjectGroupUserService.selectOneObject(gu); if(gu==null){ - return ResponseHelper.failed("data-0","小组已不存在"); + return ResponseHelper.failed("data-0","小组组员已不存在"); } String pgClass=gu.getPgClass(); User user=LoginUtils.getCurrentUserInfo(); @@ -257,8 +259,11 @@ public class XmProjectGroupUserController { users.add(usermap); pushMsgService.pushLeaveChannelGroupMsg(user.getBranchId(), gu.getGroupId(), users); if("1".equals(pgClass)){ + + xmProjectGroupService.clearProductGroup(gu.getProductId()); xmRecordService.addXmGroupRecord(gu.getProductId(),gu.getGroupId(), "项目-团队-删除小组成员", "删除组员["+gu.getUsername()+"]",gu.getUserid(),null); }else{ + xmProjectGroupService.clearProjectGroup(gu.getProjectId()); xmRecordService.addXmGroupRecord(gu.getProjectId(),gu.getGroupId(), "项目-团队-删除小组成员", "删除组员["+gu.getUsername()+"]",gu.getUserid(),null); } @@ -332,9 +337,14 @@ public class XmProjectGroupUserController { } } xmProjectGroupUserService.updateSomeFieldByPk(gu0); + if("0".equals(pgClass)){ + + xmProjectGroupService.clearProjectGroup(gu.getProjectId()); xmRecordService.addXmGroupRecord(gu.getProjectId(), gu.getGroupId(),"项目-团队-修改小组成员信息", "变更["+gu.getUsername()+"]"); }else { + + xmProjectGroupService.clearProductGroup(gu.getProductId()); xmRecordService.addXmGroupRecord(gu.getProductId(), gu.getGroupId(),"项目-团队-修改小组成员信息", "变更["+gu.getUsername()+"]"); } @@ -450,11 +460,15 @@ public class XmProjectGroupUserController { tips.setFailureMsg(msg.stream().collect(Collectors.joining(";"))); } groupUsersMap.forEach((groupId,groupUsers)->{ + List> users=groupUsers.stream().map(i->map("userid",i.getUserid(),"username",i.getUsername())).collect(Collectors.toList()); pushMsgService.pushLeaveChannelGroupMsg(user.getBranchId(),groupId, users); if("0".equals(pgClass)){ + + xmProjectGroupService.clearProjectGroup(projectId); xmRecordService.addXmGroupRecord(projectId,groupId, "项目-团队-删除小组成员", "删除组员["+groupUsers.stream().map(i->i.getUsername()).collect(Collectors.joining(","))+"]",user.getUserid(),null); }else{ + xmProjectGroupService.clearProductGroup(productId); xmRecordService.addXmGroupRecord(productId,groupId, "产品-团队-删除小组成员", "删除组员["+groupUsers.stream().map(i->i.getUsername()).collect(Collectors.joining(","))+"]",user.getUserid(),null); } }); diff --git a/xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java b/xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java index 74483e48..8a78df2b 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java @@ -55,6 +55,12 @@ public class XmProjectGroupService extends BaseService { @Autowired XmPushMsgService pushMsgService; + public void clearProjectGroup(String projectId){ + groupCacheService.clearProjectGroups(projectId); + } + public void clearProductGroup(String productId){ + groupCacheService.clearProductGroups(productId); + } public boolean calcCanOpMenus(XmMenu menus){ List menuList=new ArrayList<>(); diff --git a/xm-core/src/main/java/com/xm/core/service/XmRecordService.java b/xm-core/src/main/java/com/xm/core/service/XmRecordService.java index 8d918361..7858cffb 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmRecordService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmRecordService.java @@ -374,6 +374,7 @@ public class XmRecordService extends BaseService { public void addXmGroupRecord(String projectId,String groupId,String action,String remarks) { XmRecord record=this.initXmRecord(); record.setProjectId(projectId); + record.setProductId(projectId); record.setBizId(groupId); record.setAction(action); record.setRemarks(remarks); @@ -394,6 +395,7 @@ public class XmRecordService extends BaseService { XmRecord record=this.initXmRecord(); record.setProjectId(projectId); record.setBizId(groupId); + record.setProductId(projectId); record.setAction(action); record.setRemarks(remarks); record.setObjType("group"); diff --git a/xm-core/src/main/java/com/xm/core/service/cache/XmProjectGroupCacheService.java b/xm-core/src/main/java/com/xm/core/service/cache/XmProjectGroupCacheService.java index cf07d6fd..99ac73ab 100644 --- a/xm-core/src/main/java/com/xm/core/service/cache/XmProjectGroupCacheService.java +++ b/xm-core/src/main/java/com/xm/core/service/cache/XmProjectGroupCacheService.java @@ -101,7 +101,7 @@ public class XmProjectGroupCacheService { String key=this.getProductKey(group.getProductId()); redisTemplate.opsForHash().put(key, group.getId(), group); } - public void clearProductGroup(String productId,String groupId){ + public void clearProductGroup(String productId){ String key=this.getProductKey(productId); this.clearProductGroups(productId); }