作者 王勇

init commit

@@ -27,6 +27,7 @@ public class BusExchangeController { @@ -27,6 +27,7 @@ public class BusExchangeController {
27 /** 27 /**
28 * 分页查询,交换机列表 28 * 分页查询,交换机列表
29 * 29 *
  30 + * @param virtualHostId 所属虚拟主机ID
30 * @param exchangeName 交换机名称 31 * @param exchangeName 交换机名称
31 * @param pageNum 当前页数 32 * @param pageNum 当前页数
32 * @param pageSize 每页数量 33 * @param pageSize 每页数量
@@ -34,13 +35,17 @@ public class BusExchangeController { @@ -34,13 +35,17 @@ public class BusExchangeController {
34 */ 35 */
35 @GetMapping("/list") 36 @GetMapping("/list")
36 public ResultJson<PageInfo> selectBusExchangeList( 37 public ResultJson<PageInfo> selectBusExchangeList(
  38 + @RequestParam(value = "virtualHostId", required = false) String virtualHostId,
37 @RequestParam(value = "exchangeName", required = false) String exchangeName, 39 @RequestParam(value = "exchangeName", required = false) String exchangeName,
38 @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, 40 @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
39 @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { 41 @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
40 ResultJson<PageInfo> result = new ResultJson<>(); 42 ResultJson<PageInfo> result = new ResultJson<>();
41 BusExchange busExchange = new BusExchange(); 43 BusExchange busExchange = new BusExchange();
  44 + // 获取参数,所属虚拟主机ID
  45 + busExchange.setVirtualHostId(virtualHostId);
42 // 获取参数,交换机名称 46 // 获取参数,交换机名称
43 busExchange.setExchangeName(exchangeName); 47 busExchange.setExchangeName(exchangeName);
  48 +
44 // 分页查询 49 // 分页查询
45 PageInfo pageInfo = busExchangeService.selectBusExchangeList(busExchange, pageNum, pageSize); 50 PageInfo pageInfo = busExchangeService.selectBusExchangeList(busExchange, pageNum, pageSize);
46 if (pageInfo.getTotal() > 0) { 51 if (pageInfo.getTotal() > 0) {
1 package com.sunyo.wlpt.message.bus.service.controller; 1 package com.sunyo.wlpt.message.bus.service.controller;
2 2
3 -import com.github.pagehelper.PageInfo; 3 +
4 import com.sunyo.wlpt.message.bus.service.domain.BusServer; 4 import com.sunyo.wlpt.message.bus.service.domain.BusServer;
  5 +import com.sunyo.wlpt.message.bus.service.domain.VirtualHost;
5 import com.sunyo.wlpt.message.bus.service.response.ResultJson; 6 import com.sunyo.wlpt.message.bus.service.response.ResultJson;
6 import com.sunyo.wlpt.message.bus.service.service.BusServerService; 7 import com.sunyo.wlpt.message.bus.service.service.BusServerService;
  8 +import com.sunyo.wlpt.message.bus.service.service.VirtualHostService;
7 import org.springframework.web.bind.annotation.*; 9 import org.springframework.web.bind.annotation.*;
8 10
9 import javax.annotation.Resource; 11 import javax.annotation.Resource;
@@ -11,7 +13,7 @@ import java.util.List; @@ -11,7 +13,7 @@ import java.util.List;
11 13
12 /** 14 /**
13 * @author 子诚 15 * @author 子诚
14 - * Description: 16 + * Description:主要是 服务器、虚拟主机、交换机的联查
15 * 时间:2020/7/6 14:28 17 * 时间:2020/7/6 14:28
16 */ 18 */
17 @CrossOrigin 19 @CrossOrigin
@@ -21,11 +23,16 @@ public class CascadeController { @@ -21,11 +23,16 @@ public class CascadeController {
21 @Resource 23 @Resource
22 private BusServerService busServerService; 24 private BusServerService busServerService;
23 25
  26 + @Resource
  27 + private VirtualHostService virtualHostService;
  28 +
24 /** 29 /**
25 - * @return 查询服务器列表 30 + * 仅,查询服务器列表
  31 + *
  32 + * @return {@link ResultJson}
26 */ 33 */
27 @GetMapping("/server") 34 @GetMapping("/server")
28 - public ResultJson selectList() { 35 + public ResultJson selectServerList() {
29 36
30 ResultJson result = new ResultJson(); 37 ResultJson result = new ResultJson();
31 List<BusServer> busServers = busServerService.selectAll(); 38 List<BusServer> busServers = busServerService.selectAll();
@@ -40,4 +47,43 @@ public class CascadeController { @@ -40,4 +47,43 @@ public class CascadeController {
40 } 47 }
41 return result; 48 return result;
42 } 49 }
  50 +
  51 + /**
  52 + * 仅,查询虚拟主机列表
  53 + *
  54 + * @return {@link ResultJson}
  55 + */
  56 + @GetMapping("/host")
  57 + public ResultJson selectVirtualHostList() {
  58 + ResultJson result = new ResultJson();
  59 + List<VirtualHost> virtualHosts = virtualHostService.selectAll();
  60 + int num = virtualHosts.size();
  61 + if (num > 0) {
  62 + result.setCode("200");
  63 + result.setData(virtualHosts);
  64 + result.setMsg("查询虚拟主机,成功");
  65 + } else {
  66 + result.setCode("500");
  67 + result.setMsg("查询虚拟主机,失败");
  68 + }
  69 + return result;
  70 + }
  71 +
  72 + /**
  73 + * 服务器与虚拟主机是1:n的关系
  74 + * 查询,服务器列表(包含虚拟机)
  75 + *
  76 + * @return {@link ResultJson}
  77 + */
  78 + @GetMapping("/server_host")
  79 + public ResultJson selectServerAndHostList(){
  80 + ResultJson result = new ResultJson();
  81 + List<BusServer> servers = busServerService.selectServerAndHostList();
  82 + int num = servers.size();
  83 + if (num > 0) {
  84 + return new ResultJson("200","查询服务器列表,成功",servers);
  85 + } else {
  86 + return new ResultJson("500","查询服务器列表,失败");
  87 + }
  88 + }
43 } 89 }
@@ -78,4 +78,5 @@ public class BusExchange implements Serializable { @@ -78,4 +78,5 @@ public class BusExchange implements Serializable {
78 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") 78 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
79 private Date gmtModified; 79 private Date gmtModified;
80 80
  81 + private VirtualHost virtualHost;
81 } 82 }
@@ -2,6 +2,7 @@ package com.sunyo.wlpt.message.bus.service.domain; @@ -2,6 +2,7 @@ package com.sunyo.wlpt.message.bus.service.domain;
2 2
3 import java.io.Serializable; 3 import java.io.Serializable;
4 import java.util.Date; 4 import java.util.Date;
  5 +import java.util.List;
5 6
6 import com.fasterxml.jackson.annotation.JsonFormat; 7 import com.fasterxml.jackson.annotation.JsonFormat;
7 import lombok.AllArgsConstructor; 8 import lombok.AllArgsConstructor;
@@ -57,4 +58,13 @@ public class BusServer implements Serializable { @@ -57,4 +58,13 @@ public class BusServer implements Serializable {
57 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") 58 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
58 private Date gmtModified; 59 private Date gmtModified;
59 60
  61 + /**
  62 + * 一个服务器对应多个虚拟主机
  63 + */
  64 + private List<VirtualHost> virtualHosts;
  65 +
  66 + /**
  67 + * 服务器名称的别名
  68 + */
  69 + private String aliasName;
60 } 70 }
@@ -52,5 +52,13 @@ public class VirtualHost implements Serializable { @@ -52,5 +52,13 @@ public class VirtualHost implements Serializable {
52 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") 52 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
53 private Date gmtModified; 53 private Date gmtModified;
54 54
  55 + /**
  56 + * 一个虚拟主机对应一个服务器
  57 + */
55 private BusServer busServer; 58 private BusServer busServer;
  59 +
  60 + /**
  61 + * 虚拟主机名称的别名
  62 + */
  63 + private String aliasName;
56 } 64 }
@@ -83,4 +83,11 @@ public interface BusServerMapper { @@ -83,4 +83,11 @@ public interface BusServerMapper {
83 * @return 服务器列表 83 * @return 服务器列表
84 */ 84 */
85 List<BusServer> selectAll(); 85 List<BusServer> selectAll();
  86 +
  87 + /**
  88 + * 查询,服务器(1:n虚拟主机)的基本信息
  89 + *
  90 + * @return List<BusServer>
  91 + */
  92 + List<BusServer> selectServerAndHostList();
86 } 93 }
@@ -76,4 +76,11 @@ public interface VirtualHostMapper { @@ -76,4 +76,11 @@ public interface VirtualHostMapper {
76 * @return List<VirtualHost> 76 * @return List<VirtualHost>
77 */ 77 */
78 List<VirtualHost> validateVirtualHost(VirtualHost virtualHost); 78 List<VirtualHost> validateVirtualHost(VirtualHost virtualHost);
  79 +
  80 + /**
  81 + * 查询虚拟主机列表
  82 + *
  83 + * @return 虚拟主机列表
  84 + */
  85 + List<VirtualHost> selectAll();
79 } 86 }
@@ -84,4 +84,11 @@ public interface BusServerService { @@ -84,4 +84,11 @@ public interface BusServerService {
84 * @return 服务器列表 84 * @return 服务器列表
85 */ 85 */
86 List<BusServer> selectAll(); 86 List<BusServer> selectAll();
  87 +
  88 + /**
  89 + * 查询,服务器(1:n虚拟主机)的基本信息
  90 + *
  91 + * @return List<BusServer>
  92 + */
  93 + List<BusServer> selectServerAndHostList();
87 } 94 }
@@ -78,4 +78,11 @@ public interface VirtualHostService { @@ -78,4 +78,11 @@ public interface VirtualHostService {
78 * @return List<VirtualHost> 78 * @return List<VirtualHost>
79 */ 79 */
80 List<VirtualHost> validateVirtualHost(VirtualHost virtualHost); 80 List<VirtualHost> validateVirtualHost(VirtualHost virtualHost);
  81 +
  82 + /**
  83 + * 查询虚拟主机列表
  84 + *
  85 + * @return 虚拟主机列表
  86 + */
  87 + List<VirtualHost> selectAll();
81 } 88 }
@@ -98,4 +98,9 @@ public class BusServerServiceImpl implements BusServerService { @@ -98,4 +98,9 @@ public class BusServerServiceImpl implements BusServerService {
98 public List<BusServer> selectAll() { 98 public List<BusServer> selectAll() {
99 return busServerMapper.selectAll(); 99 return busServerMapper.selectAll();
100 } 100 }
  101 +
  102 + @Override
  103 + public List<BusServer> selectServerAndHostList() {
  104 + return busServerMapper.selectServerAndHostList();
  105 + }
101 } 106 }
@@ -95,4 +95,9 @@ public class VirtualHostServiceImpl implements VirtualHostService { @@ -95,4 +95,9 @@ public class VirtualHostServiceImpl implements VirtualHostService {
95 return virtualHostMapper.validateVirtualHost(virtualHost); 95 return virtualHostMapper.validateVirtualHost(virtualHost);
96 } 96 }
97 97
  98 + @Override
  99 + public List<VirtualHost> selectAll() {
  100 + return virtualHostMapper.selectAll();
  101 + }
  102 +
98 } 103 }
@@ -16,11 +16,22 @@ @@ -16,11 +16,22 @@
16 <result column="gmt_create" jdbcType="TIMESTAMP" property="gmtCreate"/> 16 <result column="gmt_create" jdbcType="TIMESTAMP" property="gmtCreate"/>
17 <result column="gmt_modified" jdbcType="TIMESTAMP" property="gmtModified"/> 17 <result column="gmt_modified" jdbcType="TIMESTAMP" property="gmtModified"/>
18 </resultMap> 18 </resultMap>
  19 +
  20 + <!-- 该Mapper映射关系的作用,是交换机与虚拟主机的1:1的关系映射 -->
  21 + <resultMap id="ExchangeAndHostMap" extends="BaseResultMap"
  22 + type="com.sunyo.wlpt.message.bus.service.domain.BusExchange">
  23 + <association property="virtualHost" javaType="com.sunyo.wlpt.message.bus.service.domain.VirtualHost">
  24 + <id column="id" property="id"></id>
  25 + <result column="virtual_host_name" property="virtualHostName"/>
  26 + </association>
  27 + </resultMap>
  28 +
19 <sql id="Base_Column_List"> 29 <sql id="Base_Column_List">
20 <!--@mbg.generated--> 30 <!--@mbg.generated-->
21 id, exchange_name, virtual_host_id, exchange_type, durability, auto_delete, internal, 31 id, exchange_name, virtual_host_id, exchange_type, durability, auto_delete, internal,
22 arguments, description, gmt_create, gmt_modified 32 arguments, description, gmt_create, gmt_modified
23 </sql> 33 </sql>
  34 +
24 <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap"> 35 <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
25 <!--@mbg.generated--> 36 <!--@mbg.generated-->
26 select 37 select
@@ -30,15 +41,21 @@ @@ -30,15 +41,21 @@
30 </select> 41 </select>
31 <!-- 获取交换机列表 --> 42 <!-- 获取交换机列表 -->
32 <select id="selectBusExchangeList" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusExchange" 43 <select id="selectBusExchangeList" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusExchange"
33 - resultMap="BaseResultMap"> 44 + resultMap="ExchangeAndHostMap">
34 select 45 select
35 - <include refid="Base_Column_List"/>  
36 - from bus_exchange 46 + e.id, e.exchange_name, e.virtual_host_id, e.exchange_type, e.durability, e.auto_delete, e.internal,
  47 + e.arguments, e.description, e.gmt_create, e.gmt_modified,v.virtual_host_name
  48 + from bus_exchange as e,virtual_host as v
37 <where> 49 <where>
  50 + <!-- 所属虚拟主机ID -->
  51 + <if test="virtualHostId != null and virtualHostId !=''">
  52 + e.virtual_host_id = #{virtualHostId,jdbcType=VARCHAR}
  53 + </if>
38 <!-- 交换机名称 --> 54 <!-- 交换机名称 -->
39 <if test="exchangeName != null and exchangeName !=''"> 55 <if test="exchangeName != null and exchangeName !=''">
40 - exchange_name = #{exchangeName,jdbcType=VARCHAR} 56 + and e.exchange_name = #{exchangeName,jdbcType=VARCHAR}
41 </if> 57 </if>
  58 + and e.virtual_host_id = v.id
42 </where> 59 </where>
43 </select> 60 </select>
44 <!-- 校验交换机是否已存在 --> 61 <!-- 校验交换机是否已存在 -->
@@ -6,12 +6,25 @@ @@ -6,12 +6,25 @@
6 <!--@Table bus_server--> 6 <!--@Table bus_server-->
7 <id column="id" jdbcType="VARCHAR" property="id"/> 7 <id column="id" jdbcType="VARCHAR" property="id"/>
8 <result column="server_name" jdbcType="VARCHAR" property="serverName"/> 8 <result column="server_name" jdbcType="VARCHAR" property="serverName"/>
  9 + <result column="server_name" jdbcType="VARCHAR" property="aliasName"/>
9 <result column="server_ip" jdbcType="VARCHAR" property="serverIp"/> 10 <result column="server_ip" jdbcType="VARCHAR" property="serverIp"/>
10 <result column="server_port" jdbcType="VARCHAR" property="serverPort"/> 11 <result column="server_port" jdbcType="VARCHAR" property="serverPort"/>
11 <result column="description" jdbcType="VARCHAR" property="description"/> 12 <result column="description" jdbcType="VARCHAR" property="description"/>
12 <result column="gmt_create" jdbcType="TIMESTAMP" property="gmtCreate"/> 13 <result column="gmt_create" jdbcType="TIMESTAMP" property="gmtCreate"/>
13 <result column="gmt_modified" jdbcType="TIMESTAMP" property="gmtModified"/> 14 <result column="gmt_modified" jdbcType="TIMESTAMP" property="gmtModified"/>
14 </resultMap> 15 </resultMap>
  16 + <!-- 该Mapper映射关系的作用,是服务器与虚拟主机的1:n的关系映射 -->
  17 + <resultMap id="ServerAndVirtualHostMap" type="com.sunyo.wlpt.message.bus.service.domain.BusServer"
  18 + extends="BaseResultMap">
  19 +
  20 + <collection property="virtualHosts" ofType="com.sunyo.wlpt.message.bus.service.domain.VirtualHost">
  21 + <id column="vid" jdbcType="VARCHAR" property="id"/>
  22 + <result column="virtual_host_name" jdbcType="VARCHAR" property="virtualHostName"/>
  23 + <result column="virtual_host_name" jdbcType="VARCHAR" property="aliasName"/>
  24 + </collection>
  25 + </resultMap>
  26 +
  27 +
15 <sql id="Base_Column_List"> 28 <sql id="Base_Column_List">
16 <!--@mbg.generated--> 29 <!--@mbg.generated-->
17 id, `server_name`, server_ip, server_port, description, gmt_create, gmt_modified 30 id, `server_name`, server_ip, server_port, description, gmt_create, gmt_modified
@@ -26,14 +39,19 @@ @@ -26,14 +39,19 @@
26 </select> 39 </select>
27 40
28 <!-- 获取服务器列表,可能要级联或者懒加载 --> 41 <!-- 获取服务器列表,可能要级联或者懒加载 -->
29 - <select id="selectAll" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusServer"  
30 - resultMap="BaseResultMap"> 42 + <select id="selectAll" resultMap="BaseResultMap">
31 select 43 select
32 <include refid="Base_Column_List"/> 44 <include refid="Base_Column_List"/>
33 from bus_server 45 from bus_server
34 </select> 46 </select>
35 47
36 - 48 + <!-- 查询服务器和虚拟主机基本信息(id,名称) -->
  49 + <select id="selectServerAndHostList" resultMap="ServerAndVirtualHostMap">
  50 + select
  51 + s.id,s.server_name,v.id as vid,v.virtual_host_name
  52 + from bus_server as s, virtual_host as v
  53 + where s.id = v.server_id
  54 + </select>
37 <!-- 获取服务器列表,分页 --> 55 <!-- 获取服务器列表,分页 -->
38 <select id="selectBusServerList" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusServer" 56 <select id="selectBusServerList" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusServer"
39 resultMap="BaseResultMap"> 57 resultMap="BaseResultMap">
@@ -11,8 +11,8 @@ @@ -11,8 +11,8 @@
11 <result column="gmt_create" jdbcType="TIMESTAMP" property="gmtCreate"/> 11 <result column="gmt_create" jdbcType="TIMESTAMP" property="gmtCreate"/>
12 <result column="gmt_modified" jdbcType="TIMESTAMP" property="gmtModified"/> 12 <result column="gmt_modified" jdbcType="TIMESTAMP" property="gmtModified"/>
13 </resultMap> 13 </resultMap>
14 - <!-- 该Mapper映射关系的作用,是虚拟主机与 -->  
15 - <resultMap id="ServerAndHostMap" extends="BaseResultMap" 14 + <!-- 该Mapper映射关系的作用,是虚拟主机与服务器的1:1的关系映射 -->
  15 + <resultMap id="HostAndServerMap" extends="BaseResultMap"
16 type="com.sunyo.wlpt.message.bus.service.domain.VirtualHost"> 16 type="com.sunyo.wlpt.message.bus.service.domain.VirtualHost">
17 <association property="busServer" javaType="com.sunyo.wlpt.message.bus.service.domain.BusServer"> 17 <association property="busServer" javaType="com.sunyo.wlpt.message.bus.service.domain.BusServer">
18 <id column="id" property="id"></id> 18 <id column="id" property="id"></id>
@@ -32,9 +32,9 @@ @@ -32,9 +32,9 @@
32 from virtual_host 32 from virtual_host
33 where id = #{id,jdbcType=VARCHAR} 33 where id = #{id,jdbcType=VARCHAR}
34 </select> 34 </select>
35 - 35 + <!-- 查询虚拟主机列表,选择性 -->
36 <select id="selectVirtualHostList" parameterType="com.sunyo.wlpt.message.bus.service.domain.VirtualHost" 36 <select id="selectVirtualHostList" parameterType="com.sunyo.wlpt.message.bus.service.domain.VirtualHost"
37 - resultMap="ServerAndHostMap"> 37 + resultMap="HostAndServerMap">
38 select 38 select
39 v.id, v.virtual_host_name, v.server_id, v.description, v.gmt_create, v.gmt_modified, s.server_name 39 v.id, v.virtual_host_name, v.server_id, v.description, v.gmt_create, v.gmt_modified, s.server_name
40 from virtual_host as v,bus_server as s 40 from virtual_host as v,bus_server as s
@@ -83,6 +83,12 @@ @@ -83,6 +83,12 @@
83 </if> 83 </if>
84 </where> 84 </where>
85 </select> 85 </select>
  86 + <!-- 查询全部虚拟主机列表 -->
  87 + <select id="selectAll" resultMap="BaseResultMap">
  88 + select
  89 + <include refid="Base_Column_List"/>
  90 + from virtual_host
  91 + </select>
86 92
87 <delete id="deleteByPrimaryKey" parameterType="java.lang.String"> 93 <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
88 <!--@mbg.generated--> 94 <!--@mbg.generated-->