|
@@ -1,6 +1,7 @@
|
|
|
package cn.com.ty.lift.business.project.service;
|
|
|
|
|
|
import cn.com.ty.lift.business.framework.util.MessageUtils;
|
|
|
+import cn.com.ty.lift.business.project.dao.entity.ProjectLiftRelevance;
|
|
|
import cn.com.ty.lift.business.project.dao.entity.ProjectUser;
|
|
|
import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectRequest;
|
|
|
import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectRelevanceResponse;
|
|
@@ -8,6 +9,7 @@ import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectUserResp
|
|
|
import cn.com.ty.lift.business.project.dao.mapper.ProjectUserMapper;
|
|
|
import cn.com.ty.lift.common.constants.CommonEnum;
|
|
|
import cn.com.xwy.boot.web.dto.RestResponse;
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
@@ -16,6 +18,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -27,6 +30,9 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
public class ProjectUserService extends ServiceImpl<ProjectUserMapper, ProjectUser> {
|
|
|
|
|
|
+ @Resource
|
|
|
+ private ProjectLiftRelevanceService projectLiftRelevanceService;
|
|
|
+
|
|
|
public List<ProjectUserResponse> getUserList(Long projectId, Long mtCompanyId) {
|
|
|
return baseMapper.findUserListById(projectId, mtCompanyId);
|
|
|
}
|
|
@@ -142,14 +148,33 @@ public class ProjectUserService extends ServiceImpl<ProjectUserMapper, ProjectUs
|
|
|
* @description 批量删除项目组成员
|
|
|
* @date 2020/1/11 10:43 上午
|
|
|
*/
|
|
|
- public int remove(ProjectRequest request) {
|
|
|
+ public RestResponse remove(ProjectRequest request) {
|
|
|
List<ProjectUser> userList = request.getUserList();
|
|
|
- userList.forEach(entry -> {
|
|
|
- entry.setProjectId(request.getProjectId());
|
|
|
- entry.setMtCompanyId(request.getMtCompanyId());
|
|
|
- entry.setUserRole(CommonEnum.DefaultRole.MTWORK.getCode());
|
|
|
- });
|
|
|
- return baseMapper.batchRemoveWithParams(request);
|
|
|
+ Long projectId = request.getProjectId();
|
|
|
+ Long mtCompanyId = request.getMtCompanyId();
|
|
|
+ List<ProjectLiftRelevance> list = projectLiftRelevanceService.queryLiftRelevanceByProjectId(projectId, mtCompanyId, userList);
|
|
|
+ if (CollUtil.isNotEmpty(list)) {
|
|
|
+ for (ProjectUser user : userList) {
|
|
|
+ for (ProjectLiftRelevance relevance : list) {
|
|
|
+ Long userId = user.getUserId();
|
|
|
+ if (userId.equals(relevance.getWorkerId())) {
|
|
|
+ String name = baseMapper.queryNameById(userId);
|
|
|
+ return RestResponse.success(null, name + MessageUtils.get("msg.list.relevance.exist"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ userList.forEach(entry -> {
|
|
|
+ entry.setProjectId(projectId);
|
|
|
+ entry.setMtCompanyId(mtCompanyId);
|
|
|
+ entry.setUserRole(CommonEnum.DefaultRole.MTWORK.getCode());
|
|
|
+ });
|
|
|
+ int result = baseMapper.batchRemoveWithParams(request);
|
|
|
+ if (result > 0) {
|
|
|
+ return RestResponse.success(null, MessageUtils.get("msg.delete.success"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return RestResponse.fail(MessageUtils.get("msg.delete.fail"));
|
|
|
}
|
|
|
|
|
|
public RestResponse relevanceProject(ProjectRequest request) {
|