项目移动

This commit is contained in:
huangzj
2023-03-30 10:01:57 +08:00
parent 346530b0a0
commit d6489cc376
39 changed files with 270 additions and 126 deletions

View File

@@ -1,22 +0,0 @@
package com.njcn.advance;
/**
* @author denghuajun
* @version 1.0.0
* @date 2022年08月18日 09:33
*/
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
@Slf4j
@MapperScan("com.njcn.**.mapper")
@EnableFeignClients(basePackages = "com.njcn")
@SpringBootApplication(scanBasePackages = "com.njcn")
public class
AdvanceBootApplication {
public static void main(String[] args) {
SpringApplication.run(AdvanceBootApplication.class, args);
}
}

View File

@@ -1,74 +0,0 @@
package com.njcn.advance.controller.project;
import com.baomidou.mybatisplus.core.metadata.IPage;
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.vo.AppProjectVO;
import com.njcn.advance.service.AppProjectService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/3/27 10:54【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Slf4j
@RestController
@RequestMapping("/project")
@Api(tags = " 项目管理")
@AllArgsConstructor
public class AppProjectController extends BaseController {
private final AppProjectService appProjectService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryProject")
@ApiOperation("项目查询")
@ApiImplicitParam(name = "appProjectQueryParm", value = "项目查询参数", required = true)
public HttpResult<IPage<AppProjectVO>> queryProject(@Validated @RequestBody AppProjectQueryParm appProjectQueryParm){
String methodDescribe = getMethodDescribe("queryProject");
IPage<AppProjectVO> appProjectVOIPage = appProjectService.queryProject (appProjectQueryParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, appProjectVOIPage, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/addAppProject")
@ApiOperation("新增项目")
public HttpResult<Boolean> addAppProject(@Validated AppProjectAddParm appProjectAddParm){
String methodDescribe = getMethodDescribe("addAppProject");
Boolean flag = appProjectService.addAppProject(appProjectAddParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/auditAppProject")
@ApiOperation("修改/删除项目")
@ApiImplicitParam(name = "appProjectAuditParm", value = "修改项目参数", required = true)
public HttpResult<Boolean> auditAppProject(@Validated @RequestBody AppProjectAuditParm appProjectAuditParm){
String methodDescribe = getMethodDescribe("auditAppProject");
Boolean flag = appProjectService.AuditAppProject(appProjectAuditParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
}

View File

@@ -1,75 +0,0 @@
package com.njcn.advance.controller.project;
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.vo.AppTopologyDiagramVO;
import com.njcn.advance.service.AppTopologyDiagramService;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/3/27 15:31【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Slf4j
@RestController
@RequestMapping("/topologyDiagram")
@Api(tags = " 项目拓扑图")
@AllArgsConstructor
public class AppTopologyController extends BaseController {
private final AppTopologyDiagramService appTopologyDiagramService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/addAppTopologyDiagram")
@ApiOperation("新增拓扑图")
// @ApiImplicitParam(name = "appTopologyDiagramAddParm", value = "新增项目参数", required = true)
public HttpResult<Boolean> addAppTopologyDiagram(@Validated AppTopologyDiagramAddParm appTopologyDiagramAddParm){
String methodDescribe = getMethodDescribe("addAppTopologyDiagram");
Boolean flag = appTopologyDiagramService.addAppTopologyDiagram(appTopologyDiagramAddParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/AuditAppTopologyDiagram")
@ApiOperation("修改拓扑图")
public HttpResult<Boolean> AuditAppTopologyDiagram(@Validated AppTopologyDiagramAuditParm appTopologyDiagramAuditParm){
String methodDescribe = getMethodDescribe("addAppProject");
Boolean flag = appTopologyDiagramService.AuditAppTopologyDiagram(appTopologyDiagramAuditParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryAppTopologyDiagram")
@ApiOperation("查询拓扑图")
public HttpResult<List<AppTopologyDiagramVO>> queryAppTopologyDiagram(@Validated @RequestBody AppTopologyDiagramQueryParm appTopologyDiagramAuditParm){
String methodDescribe = getMethodDescribe("queryAppTopologyDiagram");
List<AppTopologyDiagramVO> appTopologyDiagramVOList = appTopologyDiagramService.queryAppTopologyDiagram(appTopologyDiagramAuditParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, appTopologyDiagramVOList, methodDescribe);
}
}

View File

@@ -1,16 +0,0 @@
package com.njcn.advance.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
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 AppLineTopologyDiagramMapper extends MppBaseMapper<AppLineTopologyDiagramPO> {
}

View File

@@ -1,57 +0,0 @@
package com.njcn.advance.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.advance.pojo.param.AppProjectQueryParm;
import com.njcn.advance.pojo.po.AppProjectPO;
import com.njcn.advance.pojo.vo.AppProjectVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/3/27 10:24【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface AppProjectMapper extends MppBaseMapper<AppProjectPO> {
@Select (
{"<script>",
"SELECT\n" +
"\ta.id id,\n" +
"\ta.`name` name,\n" +
"\ta.user_id user_id,\n" +
"\t\"username\" user_name,\n" +
"\ta.area area,\n" +
// "\tb.file_path topologyDiagramPath,\n" +
"\ta.lng lng,\n" +
"\ta.lat lat,\n" +
"\ta.`status` STATUS,\n" +
"\ta.create_by create_by,\n" +
"\ta.create_time create_time,\n" +
"\ta.update_by update_by,\n" +
"\ta.update_time update_time\n" +
"FROM\n" +
"\tcs_project a\n" +
"LEFT JOIN cs_topology_diagram b ON a.id = b.project_id\n" +
"WHERE\n" +
"\t1 = 1 AND a.status=\"1\"\n" ,
"<when test='temp.projectId!=null and temp.projectId!=\"\"'>",
"AND a.id = #{temp.projectId} "+
"</when>",
"<when test='temp.endTime!=null and temp.endTime!=\"\"'>",
"AND a.create_time &lt;= #{temp.endTime}" +
"</when>",
"<when test='temp.startTime!=null and temp.startTime!=\"\"'>",
"AND a.create_time &gt;= #{temp.startTime}" +
"</when>",
"<when test='temp.searchValue!=null and temp.searchValue!=\"\"'>",
"AND a.`name` like concat('%',#{temp.searchValue},'%')",
"</when>",
"</script>"}
)
Page<AppProjectVO> getPageVo(Page<AppProjectVO> returnpage, @Param("temp")AppProjectQueryParm appProjectQueryParm);
}

View File

@@ -1,16 +0,0 @@
package com.njcn.advance.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.advance.pojo.po.AppTopologyDiagramPO;
/**
*
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/3/27 10:24【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface AppTopologyDiagramMapper extends MppBaseMapper<AppTopologyDiagramPO> {
}

View File

@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.advance.mapper.AppLineTopologyDiagramMapper">
<resultMap id="BaseResultMap" type="com.njcn.advance.pojo.po.AppLineTopologyDiagramPO">
<!--@mbg.generated-->
<!--@Table app_line_topology_diagram-->
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="line_id" jdbcType="VARCHAR" property="lineId" />
<result column="status" jdbcType="TINYINT" property="status" />
<result column="create_by" jdbcType="CHAR" property="createBy" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_by" jdbcType="CHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, line_id, `status`, create_by, create_time, update_by, update_time
</sql>
</mapper>

View File

@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.advance.mapper.AppProjectMapper">
<resultMap id="BaseResultMap" type="com.njcn.advance.pojo.po.AppProjectPO">
<!--@mbg.generated-->
<!--@Table app_project-->
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="user_id" jdbcType="VARCHAR" property="userId" />
<result column="area_id" jdbcType="VARCHAR" property="areaId" />
<result column="lng" jdbcType="DECIMAL" property="lng" />
<result column="lat" jdbcType="DECIMAL" property="lat" />
<result column="status" jdbcType="TINYINT" property="status" />
<result column="create_by" jdbcType="CHAR" property="createBy" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_by" jdbcType="CHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, `name`, user_id, area_id, lng, lat, `status`, create_by, create_time, update_by,
update_time
</sql>
</mapper>

View File

@@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.advance.mapper.AppTopologyDiagramMapper">
<resultMap id="BaseResultMap" type="com.njcn.advance.pojo.po.AppTopologyDiagramPO">
<!--@mbg.generated-->
<!--@Table app_topology_diagram-->
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="file_size" jdbcType="INTEGER" property="fileSize" />
<result column="project_id" jdbcType="VARCHAR" property="projectId" />
<result column="file_path" jdbcType="VARCHAR" property="filePath" />
<result column="status" jdbcType="TINYINT" property="status" />
<result column="create_by" jdbcType="CHAR" property="createBy" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_by" jdbcType="CHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, `name`, file_size, project_id, file_path, `status`, create_by, create_time, update_by,
update_time
</sql>
</mapper>

View File

@@ -1,17 +0,0 @@
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> {
}

View File

@@ -1,46 +0,0 @@
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);
}

View File

@@ -1,47 +0,0 @@
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);
}

View File

@@ -1,21 +0,0 @@
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 {
}

View File

@@ -1,131 +0,0 @@
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;
}
}

View File

@@ -1,99 +0,0 @@
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;
}
}

View File

@@ -1,53 +0,0 @@
#当前服务的基本信息
microservice:
ename: @artifactId@
name: '@name@'
version: @version@
sentinel:
url: @sentinel.url@
gateway:
url: @gateway.url@
server:
port: 10210
#feign接口开启服务熔断降级处理
feign:
sentinel:
enabled: true
spring:
application:
name: @artifactId@
#nacos注册中心以及配置中心的指定
cloud:
nacos:
discovery:
ip: @service.server.url@
server-addr: @nacos.url@
namespace: @nacos.namespace@
config:
server-addr: @nacos.url@
namespace: @nacos.namespace@
file-extension: yaml
shared-configs:
- data-id: share-config.yaml
refresh: true
- data-Id: share-config-datasource-db.yaml
refresh: true
main:
allow-bean-definition-overriding: true
#项目日志的配置
logging:
config: http://@nacos.url@/nacos/v1/cs/configs?tenant=@nacos.namespace@&group=DEFAULT_GROUP&dataId=logback.xml
level:
root: info
#mybatis配置信息
mybatis-plus:
#别名扫描
type-aliases-package: com.njcn.advance.pojo
mqtt:
client-id: @artifactId@${random.value}