From d6f57ec44ddc06acea239b4d1c7fd6f6868b3839 Mon Sep 17 00:00:00 2001 From: huangzj <826100833@qq.com> Date: Wed, 29 Mar 2023 14:48:22 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AE=A1=E7=90=86=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=8B=93=E6=89=91=E5=9B=BE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../advance/enums/AdvanceResponseEnum.java | 29 ++++ .../advance/pojo/param/AppProjectAddParm.java | 61 ++++++++ .../pojo/param/AppProjectAuditParm.java | 55 ++++++++ .../pojo/param/AppProjectQueryParm.java | 44 ++++++ .../pojo/param/AppTopologyDiagramAddParm.java | 51 +++++++ .../param/AppTopologyDiagramAuditParm.java | 51 +++++++ .../param/AppTopologyDiagramQueryParm.java | 29 ++++ .../pojo/po/AppLineTopologyDiagramPO.java | 43 ++++++ .../njcn/advance/pojo/po/AppProjectPO.java | 77 ++++++++++ .../advance/pojo/po/AppTopologyDiagramPO.java | 61 ++++++++ .../njcn/advance/pojo/vo/AppProjectVO.java | 87 ++++++++++++ .../advance/pojo/vo/AppTopologyDiagramVO.java | 59 ++++++++ pqs-advance/advance-api/pom.xml | 29 ++++ pqs-advance/advance-boot/pom.xml | 13 +- .../project/AppProjectController.java | 74 ++++++++++ .../project/AppTopologyController.java | 75 ++++++++++ .../mapper/AppLineTopologyDiagramMapper.java | 16 +++ .../njcn/advance/mapper/AppProjectMapper.java | 57 ++++++++ .../mapper/AppTopologyDiagramMapper.java | 16 +++ .../mapping/AppLineTopologyDiagramMapper.xml | 19 +++ .../mapper/mapping/AppProjectMapper.xml | 24 ++++ .../mapping/AppTopologyDiagramMapper.xml | 23 +++ .../AppLineTopologyDiagramService.java | 17 +++ .../advance/service/AppProjectService.java | 46 ++++++ .../service/AppTopologyDiagramService.java | 47 +++++++ .../AppLineTopologyDiagramServiceImpl.java | 21 +++ .../service/impl/AppProjectServiceImpl.java | 131 ++++++++++++++++++ .../impl/AppTopologyDiagramServiceImpl.java | 99 +++++++++++++ .../java/com/njcn/oss/constant/OssPath.java | 5 + .../swagger/config/Knife4jSwaggerConfig.java | 3 +- 30 files changed, 1360 insertions(+), 2 deletions(-) create mode 100644 pqs-advance/advance-api/main/java/com/njcn/advance/enums/AdvanceResponseEnum.java create mode 100644 pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppProjectAddParm.java create mode 100644 pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppProjectAuditParm.java create mode 100644 pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppProjectQueryParm.java create mode 100644 pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppTopologyDiagramAddParm.java create mode 100644 pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppTopologyDiagramAuditParm.java create mode 100644 pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppTopologyDiagramQueryParm.java create mode 100644 pqs-advance/advance-api/main/java/com/njcn/advance/pojo/po/AppLineTopologyDiagramPO.java create mode 100644 pqs-advance/advance-api/main/java/com/njcn/advance/pojo/po/AppProjectPO.java create mode 100644 pqs-advance/advance-api/main/java/com/njcn/advance/pojo/po/AppTopologyDiagramPO.java create mode 100644 pqs-advance/advance-api/main/java/com/njcn/advance/pojo/vo/AppProjectVO.java create mode 100644 pqs-advance/advance-api/main/java/com/njcn/advance/pojo/vo/AppTopologyDiagramVO.java create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/project/AppProjectController.java create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/project/AppTopologyController.java create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/AppLineTopologyDiagramMapper.java create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/AppProjectMapper.java create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/AppTopologyDiagramMapper.java create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/mapping/AppLineTopologyDiagramMapper.xml create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/mapping/AppProjectMapper.xml create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/mapping/AppTopologyDiagramMapper.xml create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/AppLineTopologyDiagramService.java create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/AppProjectService.java create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/AppTopologyDiagramService.java create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/AppLineTopologyDiagramServiceImpl.java create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/AppProjectServiceImpl.java create mode 100644 pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/AppTopologyDiagramServiceImpl.java diff --git a/pqs-advance/advance-api/main/java/com/njcn/advance/enums/AdvanceResponseEnum.java b/pqs-advance/advance-api/main/java/com/njcn/advance/enums/AdvanceResponseEnum.java new file mode 100644 index 000000000..6967791b6 --- /dev/null +++ b/pqs-advance/advance-api/main/java/com/njcn/advance/enums/AdvanceResponseEnum.java @@ -0,0 +1,29 @@ +package com.njcn.advance.enums; + +import lombok.Getter; + +/** + * pqs + * Advacne枚举 + * @author cdf + * @date 2021/6/21 + */ +@Getter +public enum AdvanceResponseEnum { + + /** + * A00500 ~ A01550 用于终端模块的枚举 + */ + PROJECT_COMMON_ERROR("A00500","同一用户下项目名不能相同"), + ; + + + private final String code; + + private final String message; + + AdvanceResponseEnum(String code, String message) { + this.code = code; + this.message = message; + } +} diff --git a/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppProjectAddParm.java b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppProjectAddParm.java new file mode 100644 index 000000000..256011c42 --- /dev/null +++ b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppProjectAddParm.java @@ -0,0 +1,61 @@ +package com.njcn.advance.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; + +/** + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2022/11/11 15:20【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class AppProjectAddParm { + + + private String description; + + @ApiModelProperty(value="项目名称") + @NotBlank(message="项目名称不能为空!") + private String name; + + @NotBlank(message="项目类型不能为空!") + private String projectType; + /** + * 关联用户Id + */ + @ApiModelProperty(value="关联用户Id") + @NotBlank(message="关联用户Id不能为空!") + private String userId; + + /** + * 地市Id + */ + @ApiModelProperty(value="地市") + @NotBlank(message="地市不能为空!") + private String area; + + /** + * 中心点经度 + */ + @ApiModelProperty(value="中心点经度") + private BigDecimal lng; + + /** + * 中心点纬度 + */ + @ApiModelProperty(value="中心点纬度") + private BigDecimal lat; + + @ApiModelProperty(value = "拓扑图文件") + @NotNull(message="拓扑图文件不能为空!") + private MultipartFile[] files; + +} diff --git a/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppProjectAuditParm.java b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppProjectAuditParm.java new file mode 100644 index 000000000..391014461 --- /dev/null +++ b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppProjectAuditParm.java @@ -0,0 +1,55 @@ +package com.njcn.advance.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; + +/** + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2022/11/11 15:20【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class AppProjectAuditParm { + + @NotNull(message="项目id不能为空!") + private String id; + + @ApiModelProperty(value="项目名称") + private String name; + + /** + * 关联用户Id + */ + @ApiModelProperty(value="关联用户Id") + private String userId; + + /** + * 地市Id + */ + @ApiModelProperty(value="地市") + private String area; + + /** + * 中心点经度 + */ + @ApiModelProperty(value="中心点经度") + private BigDecimal lng; + + /** + * 中心点纬度 + */ + @ApiModelProperty(value="中心点纬度") + private BigDecimal lat; + + @ApiModelProperty(value="0:删除 1:正常") + private String status; + + private String description; + +} diff --git a/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppProjectQueryParm.java b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppProjectQueryParm.java new file mode 100644 index 000000000..dadb886e8 --- /dev/null +++ b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppProjectQueryParm.java @@ -0,0 +1,44 @@ +package com.njcn.advance.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; + +/** + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2022/11/11 15:20【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class AppProjectQueryParm { + + @NotNull(message="当前页不能为空!") + @Min(value = 1, message = "当前页不能为0") + @ApiModelProperty(value = "当前页",name = "currentPage",dataType ="Integer",required = true) + private Integer currentPage; + /**显示条数*/ + @NotNull(message="显示条数不能为空!") + @ApiModelProperty(value = "显示条数",name = "pageSize",dataType ="Integer",required = true) + private Integer pageSize; + + @ApiModelProperty(value="项目Id") + private String projectId; + + @ApiModelProperty(value="起始时间") +// @NotNull(message="起始时间不能为空!") + private String startTime; + + @ApiModelProperty(value="结束时间") +// @NotNull(message="结束时间不能为空!") + private String endTime; + + @ApiModelProperty(value="模糊查询条件") + private String searchValue; + + +} diff --git a/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppTopologyDiagramAddParm.java b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppTopologyDiagramAddParm.java new file mode 100644 index 000000000..ba0448738 --- /dev/null +++ b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppTopologyDiagramAddParm.java @@ -0,0 +1,51 @@ +package com.njcn.advance.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2023/3/27 10:24【需求编号】 + * + * @author clam + * @version V1.0.0 + */ + +/** + * 项目拓扑图关系表 + */ +@Data +public class AppTopologyDiagramAddParm { + + + /** + * 拓扑图名称 + */ + @ApiModelProperty(value = "拓扑图名称") + @NotBlank(message="拓扑图名称不能为空!") + private String topologyDiagramName; + + /** + * 项目Id + */ + @ApiModelProperty(value = "项目Id") + @NotBlank(message="项目Id不能为空!") + private String projectId; + + /** + * 拓扑图文件 + */ + @ApiModelProperty(value = "拓扑图文件") + @NotNull(message="拓扑图文件不能为空!") + private MultipartFile file; + + + + +} \ No newline at end of file diff --git a/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppTopologyDiagramAuditParm.java b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppTopologyDiagramAuditParm.java new file mode 100644 index 000000000..bed15da71 --- /dev/null +++ b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppTopologyDiagramAuditParm.java @@ -0,0 +1,51 @@ +package com.njcn.advance.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.constraints.NotBlank; + +/** + * + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2023/3/27 10:24【需求编号】 + * + * @author clam + * @version V1.0.0 + */ + +/** + * 项目拓扑图关系表 + */ +@Data +public class AppTopologyDiagramAuditParm { + @ApiModelProperty(value = "拓扑图id") + @NotBlank(message="拓扑图id不能为空!") + private String id; + /** + * 拓扑图名称 + */ + @ApiModelProperty(value = "拓扑图名称") + private String topologyDiagramName; + + /** + * 项目Id + */ + @ApiModelProperty(value = "项目Id") + private String projectId; + + /** + * 拓扑图文件 + */ + @ApiModelProperty(value = "拓扑图文件") + private MultipartFile file; + + @ApiModelProperty(value="0:删除 1:正常") + private String status; + + + + +} \ No newline at end of file diff --git a/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppTopologyDiagramQueryParm.java b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppTopologyDiagramQueryParm.java new file mode 100644 index 000000000..77783eb8b --- /dev/null +++ b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/param/AppTopologyDiagramQueryParm.java @@ -0,0 +1,29 @@ +package com.njcn.advance.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2022/11/11 15:20【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class AppTopologyDiagramQueryParm { + + + + @ApiModelProperty(value="拓扑图Id") + private String id; + + @ApiModelProperty(value="拓扑图名称") + private String name; + + + @ApiModelProperty(value="项目Id") + private String projectId; + +} diff --git a/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/po/AppLineTopologyDiagramPO.java b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/po/AppLineTopologyDiagramPO.java new file mode 100644 index 000000000..f7b132599 --- /dev/null +++ b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/po/AppLineTopologyDiagramPO.java @@ -0,0 +1,43 @@ +package com.njcn.advance.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.njcn.db.bo.BaseEntity; +import lombok.Data; + +/** + * + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2023/3/27 10:18【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +/** + * 项目拓扑图关系表 + */ +@Data +@TableName(value = "cs_line_topology_diagram") +public class AppLineTopologyDiagramPO extends BaseEntity { + /** + * 拓扑图Id + */ + @MppMultiId(value = "id") + private String id; + + /** + * 拓扑图名称 + */ + @TableField(value = "line_id") + private String lineId; + + /** + * 0:删除 1:正常 + */ + @TableField(value = "status") + private String status; + + +} \ No newline at end of file diff --git a/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/po/AppProjectPO.java b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/po/AppProjectPO.java new file mode 100644 index 000000000..909a2f27e --- /dev/null +++ b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/po/AppProjectPO.java @@ -0,0 +1,77 @@ +package com.njcn.advance.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.njcn.db.bo.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2023/3/27 10:24【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +/** + * 项目表 + */ +@Data +@TableName(value = "cs_project") +public class AppProjectPO extends BaseEntity { + /** + * 项目Id + */ + @MppMultiId(value = "id") + private String id; + /** + * 项目类型 + */ + @TableField(value = "project_type") + private String projectType; + + /** + * 项目名称 + */ + @TableField(value = "name") + private String name; + + /** + * 关联用户Id + */ + @TableField(value = "user_id") + private String userId; + + /** + * 地市Id + */ + @TableField(value = "area") + private String area; + + /** + * 中心点经度 + */ + @TableField(value = "lng") + private BigDecimal lng; + + /** + * 中心点纬度 + */ + @TableField(value = "lat") + private BigDecimal lat; + + /** + * 0:删除 1:正常 + */ + @TableField(value = "status") + private String status; + + @TableField(value = "description") + private String description; + + +} \ No newline at end of file diff --git a/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/po/AppTopologyDiagramPO.java b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/po/AppTopologyDiagramPO.java new file mode 100644 index 000000000..c5c649928 --- /dev/null +++ b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/po/AppTopologyDiagramPO.java @@ -0,0 +1,61 @@ +package com.njcn.advance.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import com.njcn.db.bo.BaseEntity; +import lombok.Data; + +/** + * + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2023/3/27 10:24【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +/** + * 项目拓扑图关系表 + */ +@Data +@TableName(value = "cs_topology_diagram") +public class AppTopologyDiagramPO extends BaseEntity { + /** + * 拓扑图Id + */ + @MppMultiId(value = "id") + private String id; + + /** + * 拓扑图名称 + */ + @TableField(value = "name") + private String name; + + /** + * 文件大小(kb) + */ + @TableField(value = "file_size") + private Integer fileSize; + + /** + * 项目Id + */ + @TableField(value = "project_id") + private String projectId; + + /** + * 拓扑图文件路径 + */ + @TableField(value = "file_path") + private String filePath; + + /** + * 0:删除 1:正常 + */ + @TableField(value = "status") + private String status; + + +} \ No newline at end of file diff --git a/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/vo/AppProjectVO.java b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/vo/AppProjectVO.java new file mode 100644 index 000000000..67b87e3e6 --- /dev/null +++ b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/vo/AppProjectVO.java @@ -0,0 +1,87 @@ +package com.njcn.advance.pojo.vo; + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2023/3/27 10:24【需求编号】 + * + * @author clam + * @version V1.0.0 + */ + + +@Data +public class AppProjectVO { + /** + * 项目Id + */ + private String id; + private String projectType; + /** + * 项目名称 + */ + private String name; + + /** + * 关联用户Id + */ + private String userId; + /** + * 用户名称 + */ + private String userName; + + + /** + * 区域名称 + */ + private String area; + /** + * 拓扑图路径 + */ + private List topologyDiagramPaths; + + /** + * 中心点经度 + */ + private BigDecimal lng; + + /** + * 中心点纬度 + */ + private BigDecimal lat; + + /** + * 0:删除 1:正常 + */ + private String status; + + /** + * 创建用户 + */ + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新用户 + */ + private String updateBy; + + /** + * 更新时间 + */ + private Date updateTime; + + private String description; +} \ No newline at end of file diff --git a/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/vo/AppTopologyDiagramVO.java b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/vo/AppTopologyDiagramVO.java new file mode 100644 index 000000000..4d4aed41e --- /dev/null +++ b/pqs-advance/advance-api/main/java/com/njcn/advance/pojo/vo/AppTopologyDiagramVO.java @@ -0,0 +1,59 @@ +package com.njcn.advance.pojo.vo; + +import com.njcn.db.bo.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * + * Description: + * 接口文档访问地址:http://serverIP:port/swagger-ui.html + * Date: 2023/3/27 10:24【需求编号】 + * + * @author clam + * @version V1.0.0 + */ + +/** + * 项目拓扑图关系表 + */ +@Data +public class AppTopologyDiagramVO extends BaseEntity { + /** + * 拓扑图Id + */ + @ApiModelProperty(value = "拓扑图Id") + private String id; + + /** + * 拓扑图名称 + */ + @ApiModelProperty(value = "拓扑图名称") + private String name; + + /** + * 文件大小(kb) + */ + @ApiModelProperty(value = "文件大小") + private Integer fileSize; + + /** + * 项目Id + */ + @ApiModelProperty(value = "项目Id") + private String projectId; + + /** + * 拓扑图文件路径 + */ + @ApiModelProperty(value = "拓扑图文件路径") + private String filePath; + + /** + * 0:删除 1:正常 + */ + @ApiModelProperty(value = "status") + private String status; + + +} \ No newline at end of file diff --git a/pqs-advance/advance-api/pom.xml b/pqs-advance/advance-api/pom.xml index 5c1eb04b4..959bb63cf 100644 --- a/pqs-advance/advance-api/pom.xml +++ b/pqs-advance/advance-api/pom.xml @@ -10,6 +10,35 @@ 4.0.0 advance-api + + + com.njcn + common-core + ${project.version} + + + com.njcn + common-db + ${project.version} + + + + com.njcn + common-poi + ${project.version} + + + + com.github.jeffreyning + mybatisplus-plus + 1.5.1-RELEASE + compile + + + org.projectlombok + lombok + + 8 diff --git a/pqs-advance/advance-boot/pom.xml b/pqs-advance/advance-boot/pom.xml index 65c9b603b..9c6f5d867 100644 --- a/pqs-advance/advance-boot/pom.xml +++ b/pqs-advance/advance-boot/pom.xml @@ -15,6 +15,11 @@ common-web ${project.version} + + com.njcn + common-db + ${project.version} + com.njcn common-swagger @@ -43,7 +48,13 @@ com.njcn - common-influxDB + advance-api + 1.0.0 + compile + + + com.njcn + common-oss 1.0.0 compile diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/project/AppProjectController.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/project/AppProjectController.java new file mode 100644 index 000000000..aed525617 --- /dev/null +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/project/AppProjectController.java @@ -0,0 +1,74 @@ +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> queryProject(@Validated @RequestBody AppProjectQueryParm appProjectQueryParm){ + String methodDescribe = getMethodDescribe("queryProject"); + + IPage appProjectVOIPage = appProjectService.queryProject (appProjectQueryParm); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, appProjectVOIPage, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/addAppProject") + @ApiOperation("新增项目") + public HttpResult 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 auditAppProject(@Validated @RequestBody AppProjectAuditParm appProjectAuditParm){ + String methodDescribe = getMethodDescribe("auditAppProject"); + + Boolean flag = appProjectService.AuditAppProject(appProjectAuditParm); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe); + } +} diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/project/AppTopologyController.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/project/AppTopologyController.java new file mode 100644 index 000000000..a4adae33b --- /dev/null +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/controller/project/AppTopologyController.java @@ -0,0 +1,75 @@ +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 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 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> queryAppTopologyDiagram(@Validated @RequestBody AppTopologyDiagramQueryParm appTopologyDiagramAuditParm){ + String methodDescribe = getMethodDescribe("queryAppTopologyDiagram"); + + List appTopologyDiagramVOList = appTopologyDiagramService.queryAppTopologyDiagram(appTopologyDiagramAuditParm); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, appTopologyDiagramVOList, methodDescribe); + } + +} diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/AppLineTopologyDiagramMapper.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/AppLineTopologyDiagramMapper.java new file mode 100644 index 000000000..74da788c9 --- /dev/null +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/AppLineTopologyDiagramMapper.java @@ -0,0 +1,16 @@ +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 { +} \ No newline at end of file diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/AppProjectMapper.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/AppProjectMapper.java new file mode 100644 index 000000000..4a9d25ca1 --- /dev/null +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/AppProjectMapper.java @@ -0,0 +1,57 @@ +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 { + @Select ( + {""} + ) + Page getPageVo(Page returnpage, @Param("temp")AppProjectQueryParm appProjectQueryParm); +} \ No newline at end of file diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/AppTopologyDiagramMapper.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/AppTopologyDiagramMapper.java new file mode 100644 index 000000000..37bbea397 --- /dev/null +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/AppTopologyDiagramMapper.java @@ -0,0 +1,16 @@ +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 { +} \ No newline at end of file diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/mapping/AppLineTopologyDiagramMapper.xml b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/mapping/AppLineTopologyDiagramMapper.xml new file mode 100644 index 000000000..0ce444a3d --- /dev/null +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/mapping/AppLineTopologyDiagramMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + id, line_id, `status`, create_by, create_time, update_by, update_time + + \ No newline at end of file diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/mapping/AppProjectMapper.xml b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/mapping/AppProjectMapper.xml new file mode 100644 index 000000000..e668a176f --- /dev/null +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/mapping/AppProjectMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, `name`, user_id, area_id, lng, lat, `status`, create_by, create_time, update_by, + update_time + + \ No newline at end of file diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/mapping/AppTopologyDiagramMapper.xml b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/mapping/AppTopologyDiagramMapper.xml new file mode 100644 index 000000000..8e0d3bdbc --- /dev/null +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/mapper/mapping/AppTopologyDiagramMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + id, `name`, file_size, project_id, file_path, `status`, create_by, create_time, update_by, + update_time + + \ No newline at end of file diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/AppLineTopologyDiagramService.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/AppLineTopologyDiagramService.java new file mode 100644 index 000000000..4755e3a3a --- /dev/null +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/AppLineTopologyDiagramService.java @@ -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 { + + +} diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/AppProjectService.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/AppProjectService.java new file mode 100644 index 000000000..5a40d0cb5 --- /dev/null +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/AppProjectService.java @@ -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 { + + /** + * @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 + * @Author: clam + * @Date: 2023/3/28 + */ + IPage queryProject(AppProjectQueryParm appProjectQueryParm); + } diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/AppTopologyDiagramService.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/AppTopologyDiagramService.java new file mode 100644 index 000000000..452f26150 --- /dev/null +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/AppTopologyDiagramService.java @@ -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 { + + /** + * @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 + * @Author: clam + * @Date: 2023/3/29 + */ + List queryAppTopologyDiagram(AppTopologyDiagramQueryParm appTopologyDiagramAuditParm); + } diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/AppLineTopologyDiagramServiceImpl.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/AppLineTopologyDiagramServiceImpl.java new file mode 100644 index 000000000..4798a4e60 --- /dev/null +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/AppLineTopologyDiagramServiceImpl.java @@ -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 implements AppLineTopologyDiagramService { + +} diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/AppProjectServiceImpl.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/AppProjectServiceImpl.java new file mode 100644 index 000000000..cd6aa71b8 --- /dev/null +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/AppProjectServiceImpl.java @@ -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 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 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 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 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 queryProject(AppProjectQueryParm appProjectQueryParm) { + + Page returnpage = new Page<> (appProjectQueryParm.getCurrentPage ( ), appProjectQueryParm.getPageSize ( )); + returnpage = appProjectMapper.getPageVo (returnpage, appProjectQueryParm); + Page appProjectPOPage = new Page<> (appProjectQueryParm.getCurrentPage ( ), appProjectQueryParm.getPageSize ( )); + QueryWrapper 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 appProjectPOPage1 = appProjectMapper.selectPage (appProjectPOPage, queryWrapper); + List collect = appProjectPOPage1.getRecords ( ).stream ( ).map (temp -> { + AppProjectVO vo = new AppProjectVO ( ); + BeanUtils.copyProperties (temp, vo); + AppTopologyDiagramQueryParm appTopologyDiagramQueryParm = new AppTopologyDiagramQueryParm ( ); + appTopologyDiagramQueryParm.setProjectId (vo.getId ( )); + List appTopologyDiagramVOList = appTopologyDiagramService.queryAppTopologyDiagram (appTopologyDiagramQueryParm); + List collect1 = appTopologyDiagramVOList.stream ( ).map (AppTopologyDiagramVO::getFilePath).collect (Collectors.toList ( )); + vo.setTopologyDiagramPaths (collect1); + return vo; + } + + ).collect (Collectors.toList ( )); + return returnpage; + } +} diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/AppTopologyDiagramServiceImpl.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/AppTopologyDiagramServiceImpl.java new file mode 100644 index 000000000..a0d0f5714 --- /dev/null +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/impl/AppTopologyDiagramServiceImpl.java @@ -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 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 updateWrapper = new UpdateWrapper (); + updateWrapper.eq ("id",appTopologyDiagramAuditParm.getId ()); + boolean update = this.update (appTopologyDiagramPO, updateWrapper); + return update; + } + + @Override + public List queryAppTopologyDiagram(AppTopologyDiagramQueryParm appTopologyDiagramAuditParm) { + QueryWrapper 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 list = this.list (queryWrapper); + List 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; + } +} diff --git a/pqs-common/common-oss/src/main/java/com/njcn/oss/constant/OssPath.java b/pqs-common/common-oss/src/main/java/com/njcn/oss/constant/OssPath.java index 38ba3e7ef..9d88a0f61 100644 --- a/pqs-common/common-oss/src/main/java/com/njcn/oss/constant/OssPath.java +++ b/pqs-common/common-oss/src/main/java/com/njcn/oss/constant/OssPath.java @@ -47,4 +47,9 @@ public interface OssPath { * 终端检测监督管理 检测报告 */ String TEST_REPORT = "testReport/"; + + /*** + * app拓扑图文件 + */ + String TOPOLOGY = "topology/"; } diff --git a/pqs-common/common-swagger/src/main/java/com/njcn/swagger/config/Knife4jSwaggerConfig.java b/pqs-common/common-swagger/src/main/java/com/njcn/swagger/config/Knife4jSwaggerConfig.java index 547d96516..74382c846 100644 --- a/pqs-common/common-swagger/src/main/java/com/njcn/swagger/config/Knife4jSwaggerConfig.java +++ b/pqs-common/common-swagger/src/main/java/com/njcn/swagger/config/Knife4jSwaggerConfig.java @@ -63,7 +63,8 @@ public class Knife4jSwaggerConfig { "com.njcn.event.controller", "com.njcn.energy.controller", "com.njcn.quality.controller", - "com.njcn.process.controller" + "com.njcn.process.controller", + "com.njcn.advance.controller" ) .collect(Collectors.toList()); List grantTypes = new ArrayList<>();