陈裕财 2 years ago
parent
commit
872224d439
  1. 47
      xm-core/src/main/java/com/xm/core/ctrl/XmGroupController.java
  2. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmGroupStateController.java
  3. 40
      xm-core/src/main/java/com/xm/core/ctrl/XmGroupUserController.java
  4. 6
      xm-core/src/main/java/com/xm/core/service/XmGroupService.java
  5. 3
      xm-core/src/main/java/com/xm/core/service/XmGroupStateService.java
  6. 10
      xm-core/src/main/java/com/xm/core/service/XmGroupUserService.java

47
xm-core/src/main/java/com/xm/core/ctrl/XmGroupController.java

@ -10,7 +10,6 @@ import com.mdp.msg.client.PushNotifyMsgService;
import com.mdp.safe.client.entity.User; import com.mdp.safe.client.entity.User;
import com.mdp.safe.client.utils.LoginUtils; import com.mdp.safe.client.utils.LoginUtils;
import com.mdp.swagger.ApiEntityParams; import com.mdp.swagger.ApiEntityParams;
import com.xm.core.entity.XmBranchStateHis;
import com.xm.core.entity.XmGroup; import com.xm.core.entity.XmGroup;
import com.xm.core.entity.XmProduct; import com.xm.core.entity.XmProduct;
import com.xm.core.entity.XmProject; import com.xm.core.entity.XmProject;
@ -172,7 +171,6 @@ public class XmGroupController {
public Result getGroup(@ApiIgnore @RequestParam Map<String,Object> params) { public Result getGroup(@ApiIgnore @RequestParam Map<String,Object> params) {
RequestUtils.transformArray(params, "ids"); RequestUtils.transformArray(params, "ids");
IPage page=QueryTools.initPage(params);
List<XmGroupVo> datas=new ArrayList<>(); List<XmGroupVo> datas=new ArrayList<>();
String iterationId= (String) params.get("iterationId"); String iterationId= (String) params.get("iterationId");
String projectId= (String) params.get("projectId"); String projectId= (String) params.get("projectId");
@ -217,7 +215,7 @@ public class XmGroupController {
params.put("branchId",user.getBranchId()); params.put("branchId",user.getBranchId());
params.put("orCrowBranchId",user.getBranchId()); params.put("orCrowBranchId",user.getBranchId());
} }
QueryWrapper<XmBranchStateHis> qw = QueryTools.initQueryWrapper(XmBranchStateHis.class , params);
QueryWrapper<XmGroup> qw = QueryTools.initQueryWrapper(XmGroup.class , params);
List<Map<String,Object>> datas = xmGroupService.selectListMapByWhere(page,qw,params); List<Map<String,Object>> datas = xmGroupService.selectListMapByWhere(page,qw,params);
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal()); //列出XmProjectGroup列表 return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal()); //列出XmProjectGroup列表
@ -246,13 +244,10 @@ public class XmGroupController {
return Result.error("project-0","项目已不存在"); return Result.error("project-0","项目已不存在");
} }
Tips tips =this.xmGroupService.checkProjectStatus(project); Tips tips =this.xmGroupService.checkProjectStatus(project);
if(!tips.isOk()){
return Result.error(tips);
}
Tips tips =checkProjectGroupQxForAdd(project,u,xmGroup);
if(!tips.isOk()){
return Result.error(tips);
}
Result.assertIsFalse(tips);
Tips tips2 =checkProjectGroupQxForAdd(project,u,xmGroup);
Result.assertIsFalse(tips2);
xmGroup.setProductId(null); xmGroup.setProductId(null);
xmGroup.setBranchId(project.getBranchId()); xmGroup.setBranchId(project.getBranchId());
@ -265,13 +260,9 @@ public class XmGroupController {
return Result.error("product-0","产品已不存在"); return Result.error("product-0","产品已不存在");
} }
Tips tips =this.xmGroupService.checkProductStatus(xmProduct); Tips tips =this.xmGroupService.checkProductStatus(xmProduct);
if(!tips.isOk()){
return Result.error(tips);
}
Tips tips =checkProductGroupQxForAdd(xmProduct,u,xmGroup);
if(!tips.isOk()){
return Result.error(tips);
}
Result.assertIsFalse(tips);
tips =checkProductGroupQxForAdd(xmProduct,u,xmGroup);
Result.assertIsFalse(tips);
xmGroup.setBranchId(xmProduct.getBranchId()); xmGroup.setBranchId(xmProduct.getBranchId());
}else{ }else{
return Result.error("pgClass-err","小组类型数值不正确"); return Result.error("pgClass-err","小组类型数值不正确");
@ -310,18 +301,18 @@ public class XmGroupController {
public Tips checkProductGroupQxForAdd(XmProduct xmProduct,User u,XmGroup xmGroup){ public Tips checkProductGroupQxForAdd(XmProduct xmProduct,User u,XmGroup xmGroup){
tips=productQxService.checkProductQx(xmProduct,0,u);
Tips tips=productQxService.checkProductQx(xmProduct,0,u);
if(!tips.isOk()){ if(!tips.isOk()){
return tips; return tips;
} }
if(StringUtils.hasText(xmGroup.getLeaderUserid()) && !xmGroup.getLeaderUserid().equals(u.getUserid())){ if(StringUtils.hasText(xmGroup.getLeaderUserid()) && !xmGroup.getLeaderUserid().equals(u.getUserid())){
Tips tips=productQxService.checkProductScopeQx(xmProduct,0,xmGroup.getLeaderUserid(),xmGroup.getLeaderUsername(),null);
tips=productQxService.checkProductScopeQx(xmProduct,0,xmGroup.getLeaderUserid(),xmGroup.getLeaderUsername(),null);
} }
if(!tips.isOk()){ if(!tips.isOk()){
return tips; return tips;
} }
if(StringUtils.hasText(xmGroup.getAssUserid()) && !xmGroup.getAssUserid().equals(u.getUserid())){ if(StringUtils.hasText(xmGroup.getAssUserid()) && !xmGroup.getAssUserid().equals(u.getUserid())){
Tips tips=productQxService.checkProductScopeQx(xmProduct,0,xmGroup.getAssUserid(),xmGroup.getAssUsername(),null);
tips=productQxService.checkProductScopeQx(xmProduct,0,xmGroup.getAssUserid(),xmGroup.getAssUsername(),null);
} }
return tips; return tips;
} }
@ -330,18 +321,18 @@ public class XmGroupController {
public Tips checkProjectGroupQxForAdd(XmProject project,User u,XmGroup xmGroup){ public Tips checkProjectGroupQxForAdd(XmProject project,User u,XmGroup xmGroup){
tips=projectQxService.checkProjectQx(project,0,u);
Tips tips=projectQxService.checkProjectQx(project,0,u);
if(!tips.isOk()){ if(!tips.isOk()){
return tips; return tips;
} }
if(StringUtils.hasText(xmGroup.getLeaderUserid()) && !xmGroup.getLeaderUserid().equals(u.getUserid())){ if(StringUtils.hasText(xmGroup.getLeaderUserid()) && !xmGroup.getLeaderUserid().equals(u.getUserid())){
Tips tips=projectQxService.checkProjectScopeQx(project,0,xmGroup.getLeaderUserid(),xmGroup.getLeaderUsername(),null);
tips=projectQxService.checkProjectScopeQx(project,0,xmGroup.getLeaderUserid(),xmGroup.getLeaderUsername(),null);
} }
if(!tips.isOk()){ if(!tips.isOk()){
return tips; return tips;
} }
if(StringUtils.hasText(xmGroup.getAssUserid()) && !xmGroup.getAssUserid().equals(u.getUserid())){ if(StringUtils.hasText(xmGroup.getAssUserid()) && !xmGroup.getAssUserid().equals(u.getUserid())){
Tips tips=projectQxService.checkProjectScopeQx(project,0,xmGroup.getAssUserid(),xmGroup.getAssUsername(),null);
tips=projectQxService.checkProjectScopeQx(project,0,xmGroup.getAssUserid(),xmGroup.getAssUsername(),null);
} }
return tips; return tips;
} }
@ -369,9 +360,7 @@ public class XmGroupController {
boolean isPm=xmGroupService.checkUserIsProjectAdm(project,u.getUserid()); boolean isPm=xmGroupService.checkUserIsProjectAdm(project,u.getUserid());
if(!isPm) { if(!isPm) {
Tips tips =projectQxService.checkProjectQx(project,0,u,groupDb.getLeaderUserid(),groupDb.getLeaderUsername(), null); Tips tips =projectQxService.checkProjectQx(project,0,u,groupDb.getLeaderUserid(),groupDb.getLeaderUsername(), null);
if(!tips.isOk()){
return Result.error(tips);
}
Result.assertIsFalse(tips);
} }
} else if("1".equals(groupDb.getPgClass()) && StringUtils.hasText(groupDb.getProductId())){ } else if("1".equals(groupDb.getPgClass()) && StringUtils.hasText(groupDb.getProductId())){
XmProduct product = xmProductService.getProductFromCache(groupDb.getProductId()); XmProduct product = xmProductService.getProductFromCache(groupDb.getProductId());
@ -381,9 +370,7 @@ public class XmGroupController {
boolean isPm=xmGroupService.checkUserIsProductAdm(product,u.getUserid()); boolean isPm=xmGroupService.checkUserIsProductAdm(product,u.getUserid());
if(!isPm) { if(!isPm) {
Tips tips =productQxService.checkProductQx(product,0,u,groupDb.getLeaderUserid(),groupDb.getLeaderUsername(), null); Tips tips =productQxService.checkProductQx(product,0,u,groupDb.getLeaderUserid(),groupDb.getLeaderUsername(), null);
if(!tips.isOk()){
return Result.error(tips);
}
Result.assertIsFalse(tips);
} }
} }
XmGroup childrenGroupQuery=new XmGroup(); XmGroup childrenGroupQuery=new XmGroup();
@ -404,7 +391,7 @@ public class XmGroupController {
} }
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal());
return Result.ok("delete-ok","删除成功");
} }

2
xm-core/src/main/java/com/xm/core/ctrl/XmGroupStateController.java

@ -60,7 +60,7 @@ public class XmGroupStateController {
RequestUtils.transformArray(params, "ids"); RequestUtils.transformArray(params, "ids");
IPage page= QueryTools.initPage(params); IPage page= QueryTools.initPage(params);
QueryWrapper<XmBranchStateHis> qw = QueryTools.initQueryWrapper(XmBranchStateHis.class , params);
QueryWrapper<XmGroupState> qw = QueryTools.initQueryWrapper(XmGroupState.class , params);
List<Map<String,Object>> datas = xmGroupStateService.selectListMapByWhere(page,qw,params); List<Map<String,Object>> datas = xmGroupStateService.selectListMapByWhere(page,qw,params);
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal()); //列出XmProjectGroupState列表 return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal()); //列出XmProjectGroupState列表

40
xm-core/src/main/java/com/xm/core/ctrl/XmGroupUserController.java

@ -9,7 +9,6 @@ import com.mdp.msg.client.PushNotifyMsgService;
import com.mdp.safe.client.entity.User; import com.mdp.safe.client.entity.User;
import com.mdp.safe.client.utils.LoginUtils; import com.mdp.safe.client.utils.LoginUtils;
import com.mdp.swagger.ApiEntityParams; import com.mdp.swagger.ApiEntityParams;
import com.xm.core.entity.XmBranchStateHis;
import com.xm.core.entity.XmGroupUser; import com.xm.core.entity.XmGroupUser;
import com.xm.core.entity.XmProduct; import com.xm.core.entity.XmProduct;
import com.xm.core.entity.XmProject; import com.xm.core.entity.XmProject;
@ -93,8 +92,8 @@ public class XmGroupUserController {
IPage page= QueryTools.initPage(params); IPage page= QueryTools.initPage(params);
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
params.put("branchId",user.getBranchId()); params.put("branchId",user.getBranchId());
QueryWrapper<XmBranchStateHis> qw = QueryTools.initQueryWrapper(XmBranchStateHis.class , params);
List<Map<String,Object>> datas = sssssssssssssssService.selectListMapByWhere(page,qw,params);
QueryWrapper<XmGroupUser> qw = QueryTools.initQueryWrapper(XmGroupUser.class , params);
List<Map<String,Object>> datas = xmGroupUserService.selectListMapByWhere(page,qw,params);
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal()); //列出XmProjectGroupUser列表 return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal()); //列出XmProjectGroupUser列表
} }
@ -171,7 +170,7 @@ public class XmGroupUserController {
List<Map<String,Object>> users=new ArrayList<>(); List<Map<String,Object>> users=new ArrayList<>();
users.add(usermap); users.add(usermap);
pushMsgService.pushJoinChannelGroupMsg(user.getBranchId(), gu.getGroupId(), users); pushMsgService.pushJoinChannelGroupMsg(user.getBranchId(), gu.getGroupId(), users);
notifyMsgService.pushMsg(user,gu.getUserid(),gu.getUsername(),"7",gu.getProjectId(),gu.getGroupId(),"恭喜您加入"+("0".equals(pgClass)?"项目":"产品")+"【"+name+"】");
notifyMsgService.pushMsg(user.getBranchId(),user.getUserid(),user.getUsername(),gu.getUserid(),gu.getUsername(),"恭喜您加入"+("0".equals(pgClass)?"项目":"产品")+"【"+name+"】",null);
if("1".equals(pgClass)){ if("1".equals(pgClass)){
xmGroupService.clearProductGroup(gu.getProductId()); xmGroupService.clearProductGroup(gu.getProductId());
xmRecordService.addXmGroupRecord(gu.getProductId(),gu.getGroupId(), "产品-团队-新增小组成员", "增加组员["+gu.getUsername()+"]",gu.getUserid(),null); xmRecordService.addXmGroupRecord(gu.getProductId(),gu.getGroupId(), "产品-团队-新增小组成员", "增加组员["+gu.getUsername()+"]",gu.getUserid(),null);
@ -250,7 +249,7 @@ public class XmGroupUserController {
List<Map<String,Object>> users=new ArrayList<>(); List<Map<String,Object>> users=new ArrayList<>();
users.add(usermap); users.add(usermap);
notifyMsgService.pushMsg(user,gu.getUserid(),gu.getUsername(),"7",gu.getProjectId(),gu.getGroupId(),"您离开"+("0".equals(pgClass)?"项目":"产品")+"【"+name+"】中的小组【"+gu.getGroupId()+"】");
notifyMsgService.pushMsg(user.getBranchId(),user.getUserid(),user.getUsername(),gu.getUserid(),gu.getUsername(),"您离开"+("0".equals(pgClass)?"项目":"产品")+"【"+name+"】中的小组【"+gu.getGroupId()+"】",null);
pushMsgService.pushLeaveChannelGroupMsg(user.getBranchId(), gu.getGroupId(), users); pushMsgService.pushLeaveChannelGroupMsg(user.getBranchId(), gu.getGroupId(), users);
@ -265,7 +264,7 @@ public class XmGroupUserController {
} }
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal());
return Result.ok("delete-ok","删除成功");
} }
@ -335,7 +334,7 @@ public class XmGroupUserController {
xmGroupService.clearProductGroup(gu.getProductId()); xmGroupService.clearProductGroup(gu.getProductId());
xmRecordService.addXmGroupRecord(gu.getProductId(), gu.getGroupId(),"项目-团队-修改小组成员信息", "变更["+gu.getUsername()+"]"); xmRecordService.addXmGroupRecord(gu.getProductId(), gu.getGroupId(),"项目-团队-修改小组成员信息", "变更["+gu.getUsername()+"]");
} }
return Result.ok();
} }
@ -455,11 +454,6 @@ public class XmGroupUserController {
if(gusDb.size()>0){ if(gusDb.size()>0){
msg.add("以下"+gusDb.size()+"个小组用户已在组里,无需再添加。【"+gusDb.stream().map(i->i.getUsername()).collect(Collectors.joining(","))+"】"); msg.add("以下"+gusDb.size()+"个小组用户已在组里,无需再添加。【"+gusDb.stream().map(i->i.getUsername()).collect(Collectors.joining(","))+"】");
} }
if(canAddUsers.size()!=0){
return Result.ok(msg.stream().collect(Collectors.joining(" ")));
}else{
return Result.error(msg.stream().collect(Collectors.joining(" ")));
}
groupUsersMap.forEach((groupId,groupUsers)->{ groupUsersMap.forEach((groupId,groupUsers)->{
List<Map<String,Object>> users=groupUsers.stream().map(i->map("userid",i.getUserid(),"username",i.getUsername())).collect(Collectors.toList()); List<Map<String,Object>> users=groupUsers.stream().map(i->map("userid",i.getUserid(),"username",i.getUsername())).collect(Collectors.toList());
@ -473,9 +467,11 @@ public class XmGroupUserController {
xmRecordService.addXmGroupRecord(productId,groupId, "产品-团队-新增小组成员", "新增组员["+groupUsers.stream().map(i->i.getUsername()).collect(Collectors.joining(","))+"]",user.getUserid(),null); xmRecordService.addXmGroupRecord(productId,groupId, "产品-团队-新增小组成员", "新增组员["+groupUsers.stream().map(i->i.getUsername()).collect(Collectors.joining(","))+"]",user.getUserid(),null);
} }
}); });
return Result.ok();
if(canAddUsers.size()!=0){
return Result.ok(msg.stream().collect(Collectors.joining(" ")));
}else{
return Result.error(msg.stream().collect(Collectors.joining(" ")));
}
} }
@ -572,11 +568,7 @@ public class XmGroupUserController {
} }
msg.add("以下"+noDelUsers.size()+"个小组用户无权限删除。【"+noDelUsers.stream().collect(Collectors.toSet()).stream().collect(Collectors.joining(","))+"】"); msg.add("以下"+noDelUsers.size()+"个小组用户无权限删除。【"+noDelUsers.stream().collect(Collectors.toSet()).stream().collect(Collectors.joining(","))+"】");
} }
if(canDelUsers.size()!=0){
return Result.ok(msg.stream().collect(Collectors.joining(" ")));
}else{
return Result.error(msg.stream().collect(Collectors.joining(" ")));
}
groupUsersMap.forEach((groupId,groupUsers)->{ groupUsersMap.forEach((groupId,groupUsers)->{
List<Map<String,Object>> users=groupUsers.stream().map(i->map("userid",i.getUserid(),"username",i.getUsername())).collect(Collectors.toList()); List<Map<String,Object>> users=groupUsers.stream().map(i->map("userid",i.getUserid(),"username",i.getUsername())).collect(Collectors.toList());
@ -590,9 +582,11 @@ public class XmGroupUserController {
xmRecordService.addXmGroupRecord(productId,groupId, "产品-团队-删除小组成员", "删除组员["+groupUsers.stream().map(i->i.getUsername()).collect(Collectors.joining(","))+"]",user.getUserid(),null); xmRecordService.addXmGroupRecord(productId,groupId, "产品-团队-删除小组成员", "删除组员["+groupUsers.stream().map(i->i.getUsername()).collect(Collectors.joining(","))+"]",user.getUserid(),null);
} }
}); });
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal());
if(canDelUsers.size()!=0){
return Result.ok(msg.stream().collect(Collectors.joining(" ")));
}else{
return Result.error(msg.stream().collect(Collectors.joining(" ")));
}
} }
} }

6
xm-core/src/main/java/com/xm/core/service/XmGroupService.java

@ -1,6 +1,8 @@
package com.xm.core.service; package com.xm.core.service;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mdp.core.entity.Tips; import com.mdp.core.entity.Tips;
import com.mdp.core.service.BaseService; import com.mdp.core.service.BaseService;
import com.mdp.safe.client.entity.User; import com.mdp.safe.client.entity.User;
@ -975,5 +977,9 @@ public class XmGroupService extends BaseService<XmGroupMapper,XmGroup> {
return groupVo; return groupVo;
} }
} }
public List<Map<String, Object>> selectListMapByWhere(IPage page, QueryWrapper<XmGroup> qw, Map<String, Object> ext) {
return baseMapper.selectListMapByWhere(page,qw,ext);
}
} }

3
xm-core/src/main/java/com/xm/core/service/XmGroupStateService.java

@ -3,7 +3,6 @@ package com.xm.core.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mdp.core.service.BaseService; import com.mdp.core.service.BaseService;
import com.xm.core.entity.XmBranchStateHis;
import com.xm.core.entity.XmGroupState; import com.xm.core.entity.XmGroupState;
import com.xm.core.mapper.XmGroupStateMapper; import com.xm.core.mapper.XmGroupStateMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -29,7 +28,7 @@ public class XmGroupStateService extends BaseService<XmGroupStateMapper, XmGroup
return baseMapper.loadTasksToXmProjectGroupState( projectId); return baseMapper.loadTasksToXmProjectGroupState( projectId);
} }
public List<Map<String, Object>> selectListMapByWhere(IPage page, QueryWrapper<XmBranchStateHis> qw, Map<String, Object> ext) {
public List<Map<String, Object>> selectListMapByWhere(IPage page, QueryWrapper<XmGroupState> qw, Map<String, Object> ext) {
return baseMapper.selectListMapByWhere(page,qw,ext); return baseMapper.selectListMapByWhere(page,qw,ext);
} }
} }

10
xm-core/src/main/java/com/xm/core/service/XmGroupUserService.java

@ -1,5 +1,7 @@
package com.xm.core.service; package com.xm.core.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mdp.core.service.BaseService; import com.mdp.core.service.BaseService;
import com.xm.core.entity.XmGroupUser; import com.xm.core.entity.XmGroupUser;
import com.xm.core.mapper.XmGroupUserMapper; import com.xm.core.mapper.XmGroupUserMapper;
@ -7,6 +9,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.<br> * 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.<br>
* 组织 com.qqkj 顶级模块 oa 大模块 xm 小模块 <br> * 组织 com.qqkj 顶级模块 oa 大模块 xm 小模块 <br>
@ -32,7 +36,11 @@ public class XmGroupUserService extends BaseService<XmGroupUserMapper,XmGroupUse
super.batchDelete(canDelUsers); super.batchDelete(canDelUsers);
} }
/** 请在此类添加自定义函数 */
public List<Map<String, Object>> selectListMapByWhere(IPage page, QueryWrapper<XmGroupUser> qw, Map<String, Object> params) {
return baseMapper.selectListMapByWhere(page,qw,params);
}
/** 请在此类添加自定义函数 */
} }
Loading…
Cancel
Save