项目管理接口拓扑图接口
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
package com.njcn.advance.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.advance.pojo.po.AppLineTopologyDiagramPO;
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/3/27 10:18【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface AppLineTopologyDiagramService extends IMppService<AppLineTopologyDiagramPO> {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.njcn.advance.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.advance.pojo.param.AppProjectAddParm;
|
||||
import com.njcn.advance.pojo.param.AppProjectAuditParm;
|
||||
import com.njcn.advance.pojo.param.AppProjectQueryParm;
|
||||
import com.njcn.advance.pojo.po.AppProjectPO;
|
||||
import com.njcn.advance.pojo.vo.AppProjectVO;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/3/27 10:24【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface AppProjectService extends IMppService<AppProjectPO> {
|
||||
|
||||
/**
|
||||
* @Description: addOrAuditPlan
|
||||
* @Param: [appProjectAddOrAuditParm]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/3/27
|
||||
*/
|
||||
Boolean addAppProject(AppProjectAddParm appProjectAddOrAuditParm);
|
||||
/**
|
||||
* @Description: AuditAppProject
|
||||
* @Param: [appProjectAuditParm]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/3/27
|
||||
*/
|
||||
Boolean AuditAppProject(AppProjectAuditParm appProjectAuditParm);
|
||||
/**
|
||||
* @Description: queryProject
|
||||
* @Param: [appProjectQueryParm]
|
||||
* @return: com.baomidou.mybatisplus.core.metadata.IPage<com.njcn.advance.pojo.vo.AppProjectVO>
|
||||
* @Author: clam
|
||||
* @Date: 2023/3/28
|
||||
*/
|
||||
IPage<AppProjectVO> queryProject(AppProjectQueryParm appProjectQueryParm);
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.njcn.advance.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.advance.pojo.param.AppTopologyDiagramAddParm;
|
||||
import com.njcn.advance.pojo.param.AppTopologyDiagramAuditParm;
|
||||
import com.njcn.advance.pojo.param.AppTopologyDiagramQueryParm;
|
||||
import com.njcn.advance.pojo.po.AppTopologyDiagramPO;
|
||||
import com.njcn.advance.pojo.vo.AppTopologyDiagramVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/3/27 10:24【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface AppTopologyDiagramService extends IMppService<AppTopologyDiagramPO> {
|
||||
|
||||
/**
|
||||
* @Description: addAppTopologyDiagram
|
||||
* @Param: [appTopologyDiagramAddParm]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/3/27
|
||||
*/
|
||||
Boolean addAppTopologyDiagram(AppTopologyDiagramAddParm appTopologyDiagramAddParm);
|
||||
/**
|
||||
* @Description: AuditAppTopologyDiagram
|
||||
* @Param: [appTopologyDiagramAuditParm]
|
||||
* @return: java.lang.Boolean
|
||||
* @Author: clam
|
||||
* @Date: 2023/3/27
|
||||
*/
|
||||
Boolean AuditAppTopologyDiagram(AppTopologyDiagramAuditParm appTopologyDiagramAuditParm);
|
||||
/**
|
||||
* @Description: queryAppTopologyDiagram
|
||||
* @Param: [appTopologyDiagramAuditParm]
|
||||
* @return: java.util.List<com.njcn.advance.pojo.vo.AppTopologyDiagramVO>
|
||||
* @Author: clam
|
||||
* @Date: 2023/3/29
|
||||
*/
|
||||
List<AppTopologyDiagramVO> queryAppTopologyDiagram(AppTopologyDiagramQueryParm appTopologyDiagramAuditParm);
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.njcn.advance.service.impl;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.advance.mapper.AppLineTopologyDiagramMapper;
|
||||
import com.njcn.advance.pojo.po.AppLineTopologyDiagramPO;
|
||||
import com.njcn.advance.service.AppLineTopologyDiagramService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/3/27 10:18【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
public class AppLineTopologyDiagramServiceImpl extends MppServiceImpl<AppLineTopologyDiagramMapper, AppLineTopologyDiagramPO> implements AppLineTopologyDiagramService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
package com.njcn.advance.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.advance.enums.AdvanceResponseEnum;
|
||||
import com.njcn.advance.mapper.AppProjectMapper;
|
||||
import com.njcn.advance.pojo.param.*;
|
||||
import com.njcn.advance.pojo.po.AppProjectPO;
|
||||
import com.njcn.advance.pojo.vo.AppProjectVO;
|
||||
import com.njcn.advance.pojo.vo.AppTopologyDiagramVO;
|
||||
import com.njcn.advance.service.AppProjectService;
|
||||
import com.njcn.advance.service.AppTopologyDiagramService;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.oss.utils.FileStorageUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/3/27 10:24【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class AppProjectServiceImpl extends MppServiceImpl<AppProjectMapper, AppProjectPO> implements AppProjectService {
|
||||
|
||||
private final AppProjectMapper appProjectMapper;
|
||||
private final AppTopologyDiagramService appTopologyDiagramService;
|
||||
private final FileStorageUtil fileStorageUtil;
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean addAppProject(AppProjectAddParm appProjectAddOrAuditParm) {
|
||||
AppProjectPO appProjectPO = new AppProjectPO ( );
|
||||
Boolean result = checkName (appProjectAddOrAuditParm.getUserId ( ), appProjectAddOrAuditParm.getName ( ));
|
||||
if (result) {
|
||||
throw new BusinessException (AdvanceResponseEnum.PROJECT_COMMON_ERROR);
|
||||
}
|
||||
BeanUtils.copyProperties (appProjectAddOrAuditParm, appProjectPO);
|
||||
appProjectPO.setStatus ("1");
|
||||
boolean save = this.save (appProjectPO);
|
||||
for (int i = 0; i < appProjectAddOrAuditParm.getFiles ( ).length; i++) {
|
||||
|
||||
AppTopologyDiagramAddParm appTopologyDiagramAddParm = new AppTopologyDiagramAddParm ( );
|
||||
appTopologyDiagramAddParm.setProjectId (appProjectPO.getId ( ));
|
||||
appTopologyDiagramAddParm.setTopologyDiagramName (appProjectAddOrAuditParm.getFiles ( )[i].getOriginalFilename ( ));
|
||||
appTopologyDiagramAddParm.setFile (appProjectAddOrAuditParm.getFiles ( )[i]);
|
||||
appTopologyDiagramService.addAppTopologyDiagram (appTopologyDiagramAddParm);
|
||||
}
|
||||
return save;
|
||||
}
|
||||
|
||||
private Boolean checkName(String userId, String name) {
|
||||
QueryWrapper<AppProjectPO> queryWrapper = new QueryWrapper ( );
|
||||
queryWrapper.select ("1").
|
||||
eq ("status", "1").
|
||||
eq ("user_id", userId).
|
||||
eq ("name", name);
|
||||
Integer integer = appProjectMapper.selectCount (queryWrapper);
|
||||
return integer > 0 ? true : false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean AuditAppProject(AppProjectAuditParm appProjectAuditParm) {
|
||||
AppProjectPO appProjectPO = new AppProjectPO ( );
|
||||
|
||||
QueryWrapper<AppProjectPO> queryWrapper = new QueryWrapper ( );
|
||||
queryWrapper.eq ("id", appProjectAuditParm.getId ( ));
|
||||
AppProjectPO appProjectPO1 = appProjectMapper.selectOne (queryWrapper);
|
||||
if (appProjectAuditParm.getUserId ( ) != null || appProjectAuditParm.getName ( ) != null) {
|
||||
Boolean result = checkName (appProjectAuditParm.getUserId ( ) != null ? appProjectAuditParm.getUserId ( ) : appProjectPO1.getUserId ( ),
|
||||
appProjectAuditParm.getName ( ) != null ? appProjectAuditParm.getName ( ) : appProjectPO1.getName ( ));
|
||||
if (result) {
|
||||
throw new BusinessException (AdvanceResponseEnum.PROJECT_COMMON_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
BeanUtils.copyProperties (appProjectAuditParm, appProjectPO);
|
||||
UpdateWrapper<AppProjectPO> updateWrapper = new UpdateWrapper ( );
|
||||
updateWrapper.eq ("id", appProjectAuditParm.getId ( ));
|
||||
|
||||
int i = appProjectMapper.update (appProjectPO, updateWrapper);
|
||||
Boolean result = checkName (appProjectPO.getUserId ( ), appProjectPO.getName ( ));
|
||||
if (result) {
|
||||
throw new BusinessException (AdvanceResponseEnum.PROJECT_COMMON_ERROR);
|
||||
}
|
||||
return i == 1 ? true : false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<AppProjectVO> queryProject(AppProjectQueryParm appProjectQueryParm) {
|
||||
|
||||
Page<AppProjectVO> returnpage = new Page<> (appProjectQueryParm.getCurrentPage ( ), appProjectQueryParm.getPageSize ( ));
|
||||
returnpage = appProjectMapper.getPageVo (returnpage, appProjectQueryParm);
|
||||
Page<AppProjectPO> appProjectPOPage = new Page<> (appProjectQueryParm.getCurrentPage ( ), appProjectQueryParm.getPageSize ( ));
|
||||
QueryWrapper<AppProjectPO> queryWrapper = new QueryWrapper ( );
|
||||
queryWrapper.eq ("status", "1").
|
||||
eq (StringUtils.isNotBlank (appProjectQueryParm.getProjectId ( )), "id", appProjectQueryParm.getProjectId ( )).
|
||||
le (StringUtils.isNotBlank (appProjectQueryParm.getEndTime ( )), "create_time", appProjectQueryParm.getEndTime ( )).
|
||||
ge (StringUtils.isNotBlank (appProjectQueryParm.getStartTime ( )), "create_time", appProjectQueryParm.getStartTime ( )).
|
||||
like (StringUtils.isNotBlank (appProjectQueryParm.getSearchValue ( )), "name", appProjectQueryParm.getSearchValue ( ));
|
||||
Page<AppProjectPO> appProjectPOPage1 = appProjectMapper.selectPage (appProjectPOPage, queryWrapper);
|
||||
List<AppProjectVO> collect = appProjectPOPage1.getRecords ( ).stream ( ).map (temp -> {
|
||||
AppProjectVO vo = new AppProjectVO ( );
|
||||
BeanUtils.copyProperties (temp, vo);
|
||||
AppTopologyDiagramQueryParm appTopologyDiagramQueryParm = new AppTopologyDiagramQueryParm ( );
|
||||
appTopologyDiagramQueryParm.setProjectId (vo.getId ( ));
|
||||
List<AppTopologyDiagramVO> appTopologyDiagramVOList = appTopologyDiagramService.queryAppTopologyDiagram (appTopologyDiagramQueryParm);
|
||||
List<String> collect1 = appTopologyDiagramVOList.stream ( ).map (AppTopologyDiagramVO::getFilePath).collect (Collectors.toList ( ));
|
||||
vo.setTopologyDiagramPaths (collect1);
|
||||
return vo;
|
||||
}
|
||||
|
||||
).collect (Collectors.toList ( ));
|
||||
return returnpage;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.njcn.advance.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.google.common.base.Objects;
|
||||
import com.njcn.advance.mapper.AppTopologyDiagramMapper;
|
||||
import com.njcn.advance.pojo.param.AppTopologyDiagramAddParm;
|
||||
import com.njcn.advance.pojo.param.AppTopologyDiagramAuditParm;
|
||||
import com.njcn.advance.pojo.param.AppTopologyDiagramQueryParm;
|
||||
import com.njcn.advance.pojo.po.AppTopologyDiagramPO;
|
||||
import com.njcn.advance.pojo.vo.AppTopologyDiagramVO;
|
||||
import com.njcn.advance.service.AppTopologyDiagramService;
|
||||
import com.njcn.oss.constant.OssPath;
|
||||
import com.njcn.oss.utils.FileStorageUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2023/3/27 10:24【需求编号】d
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class AppTopologyDiagramServiceImpl extends MppServiceImpl<AppTopologyDiagramMapper, AppTopologyDiagramPO> implements AppTopologyDiagramService {
|
||||
|
||||
|
||||
private final FileStorageUtil fileStorageUtil;
|
||||
@Override
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
public Boolean addAppTopologyDiagram(AppTopologyDiagramAddParm appTopologyDiagramAddParm) {
|
||||
AppTopologyDiagramPO appTopologyDiagramPO = new AppTopologyDiagramPO();
|
||||
|
||||
MultipartFile file = appTopologyDiagramAddParm.getFile ( );
|
||||
long size = file.getSize ( );
|
||||
String filePath = fileStorageUtil.uploadMultipart (file, OssPath.TOPOLOGY);
|
||||
appTopologyDiagramPO.setFilePath (filePath);
|
||||
appTopologyDiagramPO.setProjectId (appTopologyDiagramAddParm.getProjectId ());
|
||||
appTopologyDiagramPO.setName (appTopologyDiagramAddParm.getTopologyDiagramName ());
|
||||
appTopologyDiagramPO.setFileSize (Integer.valueOf (size+""));
|
||||
appTopologyDiagramPO.setStatus ("1");
|
||||
boolean save = this.save (appTopologyDiagramPO);
|
||||
return save;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean AuditAppTopologyDiagram(AppTopologyDiagramAuditParm appTopologyDiagramAuditParm) {
|
||||
AppTopologyDiagramPO appTopologyDiagramPO = new AppTopologyDiagramPO();
|
||||
if(!Objects.equal (appTopologyDiagramAuditParm.getFile (),null )){
|
||||
MultipartFile file = appTopologyDiagramAuditParm.getFile ( );
|
||||
long size = file.getSize ( );
|
||||
String filePath = fileStorageUtil.uploadMultipart (file, OssPath.TOPOLOGY);
|
||||
appTopologyDiagramPO.setFilePath (filePath);
|
||||
appTopologyDiagramPO.setFileSize (Integer.valueOf (size+""));
|
||||
}
|
||||
if(appTopologyDiagramAuditParm.getProjectId ()!=null&&appTopologyDiagramAuditParm.getProjectId ()!=""){
|
||||
appTopologyDiagramPO.setProjectId (appTopologyDiagramAuditParm.getProjectId ());
|
||||
}
|
||||
if(appTopologyDiagramAuditParm.getTopologyDiagramName ()!=null&&appTopologyDiagramAuditParm.getTopologyDiagramName ()!=""){
|
||||
appTopologyDiagramPO.setName (appTopologyDiagramAuditParm.getTopologyDiagramName ());
|
||||
}
|
||||
if(appTopologyDiagramAuditParm.getStatus ()!=null&&appTopologyDiagramAuditParm.getTopologyDiagramName ()!=""){
|
||||
appTopologyDiagramPO.setStatus (appTopologyDiagramAuditParm.getStatus ());
|
||||
}
|
||||
UpdateWrapper<AppTopologyDiagramPO> updateWrapper = new UpdateWrapper ();
|
||||
updateWrapper.eq ("id",appTopologyDiagramAuditParm.getId ());
|
||||
boolean update = this.update (appTopologyDiagramPO, updateWrapper);
|
||||
return update;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AppTopologyDiagramVO> queryAppTopologyDiagram(AppTopologyDiagramQueryParm appTopologyDiagramAuditParm) {
|
||||
QueryWrapper<AppTopologyDiagramPO> queryWrapper = new QueryWrapper ();
|
||||
queryWrapper.eq ("status","1").
|
||||
eq (StringUtils.isNotBlank (appTopologyDiagramAuditParm.getId ()),"id",appTopologyDiagramAuditParm.getId ()).
|
||||
eq (StringUtils.isNotBlank (appTopologyDiagramAuditParm.getProjectId ()),"project_id",appTopologyDiagramAuditParm.getProjectId ()).
|
||||
like (StringUtils.isNotBlank (appTopologyDiagramAuditParm.getName ()),"name", appTopologyDiagramAuditParm.getName ());
|
||||
List<AppTopologyDiagramPO> list = this.list (queryWrapper);
|
||||
List<AppTopologyDiagramVO> collect = list.stream ( ).map (temp -> {
|
||||
AppTopologyDiagramVO vo = new AppTopologyDiagramVO ( );
|
||||
BeanUtils.copyProperties (temp, vo);
|
||||
vo.setFilePath (fileStorageUtil.getFileUrl (vo.getFilePath ()));
|
||||
return vo;
|
||||
}).collect (Collectors.toList ( ));
|
||||
return collect;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user