|
|
@ -34,7 +34,7 @@ import java.util.stream.Collectors; |
|
|
|
@Slf4j |
|
|
|
@Service |
|
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) |
|
|
|
public class ProjectService implements IProjectService{ |
|
|
|
public class ProjectService implements IProjectService { |
|
|
|
@Resource |
|
|
|
private ProjectDao projectDao; |
|
|
|
@Resource |
|
|
@ -67,7 +67,7 @@ public class ProjectService implements IProjectService{ |
|
|
|
for (ProjectVo.QueryProject queryProject : projectList) { |
|
|
|
List<ProjectVo.QueryProject> sonList = new ArrayList<>(); |
|
|
|
for (ProjectVo.QueryProject sonProject : sonProjectList) { |
|
|
|
if (queryProject.getId().equals(sonProject.getParentId())){ |
|
|
|
if (queryProject.getId().equals(sonProject.getParentId())) { |
|
|
|
sonList.add(sonProject); |
|
|
|
} |
|
|
|
} |
|
|
@ -83,7 +83,7 @@ public class ProjectService implements IProjectService{ |
|
|
|
SysProjectListExample projectListExample = new SysProjectListExample(); |
|
|
|
projectListExample.createCriteria().andProjectIdEqualTo(projectDto.getId()); |
|
|
|
List<SysProjectList> sysProjectLists = projectListMapper.selectByExample(projectListExample); |
|
|
|
if(CollectionUtil.isNotEmpty(sysProjectLists)){ |
|
|
|
if (CollectionUtil.isNotEmpty(sysProjectLists)) { |
|
|
|
//存在则修改
|
|
|
|
SysProjectList project = sysProjectLists.get(0); |
|
|
|
project.setName(projectDto.getName()); |
|
|
@ -93,12 +93,12 @@ public class ProjectService implements IProjectService{ |
|
|
|
// project.setUrl(projectDto.getUrl());
|
|
|
|
projectListMapper.updateByPrimaryKeySelective(project); |
|
|
|
//修改用户项目关联表,
|
|
|
|
if(CollectionUtil.isNotEmpty(projectDto.getUserIdList())){ |
|
|
|
if (CollectionUtil.isNotEmpty(projectDto.getUserIdList())) { |
|
|
|
//如果用户列表不为空,删除旧数据重新关联项目
|
|
|
|
SysUserProjectExample userProjectExample = new SysUserProjectExample(); |
|
|
|
userProjectExample.createCriteria().andProjectIdEqualTo(projectDto.getId()); |
|
|
|
List<SysUserProject> sysUserProjects = userProjectMapper.selectByExample(userProjectExample); |
|
|
|
if(CollectionUtil.isNotEmpty(sysUserProjects)){ |
|
|
|
if (CollectionUtil.isNotEmpty(sysUserProjects)) { |
|
|
|
sysUserProjects.forEach(userProject -> { |
|
|
|
userProject.setRecStatus((byte) 2); |
|
|
|
userProjectMapper.updateByPrimaryKeySelective(userProject); |
|
|
@ -113,17 +113,17 @@ public class ProjectService implements IProjectService{ |
|
|
|
userProjectMapper.insertSelective(userProject); |
|
|
|
}); |
|
|
|
} |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
//根据code找到模板信息
|
|
|
|
SysTemplate template; |
|
|
|
SysTemplateExample sysTemplateExample = new SysTemplateExample(); |
|
|
|
if(projectDto.getCode() == null){ |
|
|
|
if (projectDto.getCode() == null) { |
|
|
|
sysTemplateExample.createCriteria().andUrlEqualTo(projectDto.getUrl()); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
sysTemplateExample.createCriteria().andTemplateCodeEqualTo(projectDto.getCode()); |
|
|
|
} |
|
|
|
List<SysTemplate> sysTemplates = sysTemplateMapper.selectByExample(sysTemplateExample); |
|
|
|
if(CollectionUtil.isEmpty(sysTemplates)){ |
|
|
|
if (CollectionUtil.isEmpty(sysTemplates)) { |
|
|
|
throw new BaseException(CodeEnum.NOT_TEMPLATE); |
|
|
|
} |
|
|
|
template = sysTemplates.get(0); |
|
|
@ -139,7 +139,7 @@ public class ProjectService implements IProjectService{ |
|
|
|
project.setTemplateId(template.getId()); |
|
|
|
projectListMapper.insertSelective(project); |
|
|
|
//添加项目用户关联信息
|
|
|
|
if(CollectionUtil.isNotEmpty(projectDto.getUserIdList())){ |
|
|
|
if (CollectionUtil.isNotEmpty(projectDto.getUserIdList())) { |
|
|
|
projectDto.getUserIdList().forEach(userId -> { |
|
|
|
SysUserProject userProject = new SysUserProject(); |
|
|
|
userProject.setId(snowflake.nextId()); |
|
|
@ -160,7 +160,7 @@ public class ProjectService implements IProjectService{ |
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
Date startTimeParam = new Date(param.getStartTime()); |
|
|
|
Date endTimeParam = new Date(param.getEndTime()); |
|
|
|
long dayDifference = DateUtil.betweenDay(startTimeParam, endTimeParam, false)+1; |
|
|
|
long dayDifference = DateUtil.betweenDay(startTimeParam, endTimeParam, false) + 1; |
|
|
|
|
|
|
|
Long realStartTime = null; |
|
|
|
Long realEndTime = null; |
|
|
@ -177,12 +177,12 @@ public class ProjectService implements IProjectService{ |
|
|
|
|
|
|
|
realStartTime = maxStartTime >= param.getStartTime() ? maxStartTime : param.getStartTime(); |
|
|
|
realEndTime = maxEndTime >= param.getEndTime() ? param.getEndTime() : maxEndTime; |
|
|
|
realDifference = DateUtil.betweenDay(new Date(realStartTime),new Date(realEndTime),false)+1; |
|
|
|
realDifference = DateUtil.betweenDay(new Date(realStartTime), new Date(realEndTime), false) + 1; |
|
|
|
GregorianCalendar calendar = new GregorianCalendar(); |
|
|
|
calendar.setTime(new Date(realStartTime)); |
|
|
|
realDateList.add(format.format(new Date(realStartTime))); |
|
|
|
for (int i = 1; i < realDifference; i++) { |
|
|
|
calendar.add(Calendar.DATE,1); |
|
|
|
calendar.add(Calendar.DATE, 1); |
|
|
|
Date time = calendar.getTime(); |
|
|
|
realDateList.add(format.format(time)); |
|
|
|
} |
|
|
@ -193,7 +193,7 @@ public class ProjectService implements IProjectService{ |
|
|
|
List<String> dateList = new ArrayList<>(); |
|
|
|
dateList.add(format.format(startTimeParam)); |
|
|
|
for (int i = 1; i < dayDifference; i++) { |
|
|
|
calendar.add(Calendar.DATE,1); |
|
|
|
calendar.add(Calendar.DATE, 1); |
|
|
|
Date time = calendar.getTime(); |
|
|
|
dateList.add(format.format(time)); |
|
|
|
} |
|
|
@ -217,7 +217,7 @@ public class ProjectService implements IProjectService{ |
|
|
|
@Override |
|
|
|
public void setProjectRelation(ProjectDto.SetProjectRelation param, Long userId) { |
|
|
|
SysProjectList sonProject = projectDao.selectByProjectId(param.getId()); |
|
|
|
if (ObjectUtil.isNull(sonProject)){ |
|
|
|
if (ObjectUtil.isNull(sonProject)) { |
|
|
|
throw new BaseException(CodeEnum.NOT_PROJECT); |
|
|
|
} |
|
|
|
SysProjectList parentProject = projectDao.selectByProjectId(param.getParentId()); |
|
|
@ -226,14 +226,14 @@ public class ProjectService implements IProjectService{ |
|
|
|
} |
|
|
|
String sonUrl = sonProject.getUrl().substring(sonProject.getUrl().lastIndexOf(TallConstant.GATEWAY) + 7); |
|
|
|
String parentUrl = parentProject.getUrl().substring(parentProject.getUrl().lastIndexOf(TallConstant.GATEWAY) + 7); |
|
|
|
if (!sonUrl.equals(parentUrl)){ |
|
|
|
if (!sonUrl.equals(parentUrl)) { |
|
|
|
throw new BaseException(CodeEnum.PROJECT_REGION_NO_SAME); |
|
|
|
} |
|
|
|
String httpUrl = sonProject.getUrl()+PropUtil.queryPowerAddress; |
|
|
|
String httpUrl = sonProject.getUrl() + PropUtil.queryPowerAddress; |
|
|
|
ProjectDto.QueryPower queryPower = new ProjectDto.QueryPower(); |
|
|
|
queryPower.setProjectId(param.getId()); |
|
|
|
queryPower.setUserId(userId); |
|
|
|
log.info("httpURl:{}----{}",httpUrl,queryPower); |
|
|
|
log.info("httpURl:{}----{}", httpUrl, queryPower); |
|
|
|
String postBody = RestTemplateUtil.postBody(httpUrl, queryPower); |
|
|
|
JSONObject jsonObject = JSONObject.parseObject(postBody); |
|
|
|
Integer power = jsonObject.getInteger("data"); |
|
|
@ -246,7 +246,7 @@ public class ProjectService implements IProjectService{ |
|
|
|
projectListExample.createCriteria().andProjectIdEqualTo(param.getId()); |
|
|
|
SysProjectList sysProjectList = new SysProjectList(); |
|
|
|
sysProjectList.setParentProjectId(param.getParentId()); |
|
|
|
projectListMapper.updateByExampleSelective(sysProjectList,projectListExample); |
|
|
|
projectListMapper.updateByExampleSelective(sysProjectList, projectListExample); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -265,20 +265,20 @@ public class ProjectService implements IProjectService{ |
|
|
|
userProjectExample.createCriteria().andProjectIdEqualTo(projectAndSort.getProjectId()).andUserIdEqualTo(userId); |
|
|
|
SysUserProject userProject = new SysUserProject(); |
|
|
|
userProject.setSort(projectAndSort.getSort()); |
|
|
|
userProjectMapper.updateByExampleSelective(userProject,userProjectExample); |
|
|
|
userProjectMapper.updateByExampleSelective(userProject, userProjectExample); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void saveUserProject(ProjectDto.SaveUserProject saveUserProject) { |
|
|
|
if(CollectionUtil.isNotEmpty(saveUserProject.getProjectId())){ |
|
|
|
saveUserProject.getProjectId().forEach(pId ->{ |
|
|
|
if(CollectionUtil.isNotEmpty(saveUserProject.getUserId())){ |
|
|
|
if (CollectionUtil.isNotEmpty(saveUserProject.getProjectId())) { |
|
|
|
saveUserProject.getProjectId().forEach(pId -> { |
|
|
|
if (CollectionUtil.isNotEmpty(saveUserProject.getUserId())) { |
|
|
|
saveUserProject.getUserId().forEach(userId -> { |
|
|
|
SysUserProjectExample userProjectExample = new SysUserProjectExample(); |
|
|
|
userProjectExample.createCriteria().andUserIdEqualTo(userId).andProjectIdEqualTo(pId); |
|
|
|
List<SysUserProject> sysUserProjects = userProjectMapper.selectByExample(userProjectExample); |
|
|
|
if (CollectionUtil.isNotEmpty(sysUserProjects)){ |
|
|
|
if (CollectionUtil.isNotEmpty(sysUserProjects)) { |
|
|
|
return; |
|
|
|
} |
|
|
|
SysUserProject userProject = new SysUserProject(); |
|
|
@ -296,27 +296,23 @@ public class ProjectService implements IProjectService{ |
|
|
|
public void deleteProject(ProjectDto.ProjectId param, Long userId) { |
|
|
|
//查找项目
|
|
|
|
SysProjectList projectList = projectDao.selectByProjectId(param.getProjectId()); |
|
|
|
if(ObjectUtil.isNotNull(projectList)){ |
|
|
|
projectList.setRecStatus((byte)2); |
|
|
|
if (ObjectUtil.isNotNull(projectList)) { |
|
|
|
projectList.setRecStatus((byte) 2); |
|
|
|
projectListMapper.updateByPrimaryKeySelective(projectList); |
|
|
|
//TODO 删除成员项目关联表
|
|
|
|
projectDao.delUserProjectByProjectId(param.getProjectId()); |
|
|
|
//调用业务系统删除项目
|
|
|
|
param.setUserId(userId); |
|
|
|
String url = projectList.getUrl() + "/project/tallDelProject"; |
|
|
|
try { |
|
|
|
log.info("调用业务系统的接口合并用户:{}--{}",url,param); |
|
|
|
String postBody = RestTemplateUtil.postBody(url, param); |
|
|
|
System.out.println(postBody); |
|
|
|
JSONObject jsonObject = JSONObject.parseObject(postBody); |
|
|
|
|
|
|
|
Integer code = jsonObject.getInteger("code"); |
|
|
|
if(code == null || code != 200){ |
|
|
|
throw new BaseException(jsonObject.getString("date")); |
|
|
|
} |
|
|
|
}catch (Exception e){ |
|
|
|
log.error("接口调用异常",e); |
|
|
|
throw new BaseException(CodeEnum.DELETE_PROJECT_ERROR); |
|
|
|
log.info("调用业务系统的接口合并用户:{}--{}", url, param); |
|
|
|
String postBody = RestTemplateUtil.postBody(url, param); |
|
|
|
System.out.println(postBody); |
|
|
|
JSONObject jsonObject = JSONObject.parseObject(postBody); |
|
|
|
|
|
|
|
Integer code = jsonObject.getInteger("code"); |
|
|
|
if (code == null || code != 200) { |
|
|
|
throw new BaseException(jsonObject.getString("msg")); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|