From 9846d05690d2b90cd4cdbae917ca79976f77085d Mon Sep 17 00:00:00 2001 From: LEI-DESKTOP <2523208472@qq.com> Date: Fri, 8 Nov 2024 17:27:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8F=AF=E4=BB=A5=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E6=B7=BB=E5=8A=A0=E9=A1=B9=E7=9B=AEV1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/config/WebServiceConfig.java | 37 +++++++++++++++++++ .../ui/controller/MainController.java | 8 +++- .../webservice/ui/entity/tree/Operation.java | 6 +-- .../webservice/ui/entity/tree/TreeItem.java | 9 ++--- .../webservice/ui/entity/tree/Webservice.java | 6 +-- .../ui/entity/vo/OperationQueryVO.java | 6 +-- .../org/lsh/webservice/ui/entity/vo/Wsdl.java | 6 +-- .../webservice/ui/mapper/OperationMapper.java | 2 +- .../webservice/ui/mapper/ProjectMapper.java | 9 +++-- .../ui/mapper/ServerInfoMapper.java | 2 +- .../ui/mapper/WebserviceMapper.java | 4 +- .../ui/webservice/TestWebservice.java | 18 +++++++++ .../webservice/ui/webservice/dto/Request.java | 4 ++ .../ui/webservice/dto/Response.java | 34 +++++++++++++++++ .../webservice/impl/TestWebserviceImpl.java | 26 +++++++++++++ src/main/resources/application.yml | 2 +- src/main/resources/db/schema.sql | 28 +++++++------- src/main/resources/static/vue/addwsdl.js | 4 +- 18 files changed, 169 insertions(+), 42 deletions(-) create mode 100644 src/main/java/org/lsh/webservice/ui/config/WebServiceConfig.java create mode 100644 src/main/java/org/lsh/webservice/ui/webservice/TestWebservice.java create mode 100644 src/main/java/org/lsh/webservice/ui/webservice/dto/Request.java create mode 100644 src/main/java/org/lsh/webservice/ui/webservice/dto/Response.java create mode 100644 src/main/java/org/lsh/webservice/ui/webservice/impl/TestWebserviceImpl.java diff --git a/src/main/java/org/lsh/webservice/ui/config/WebServiceConfig.java b/src/main/java/org/lsh/webservice/ui/config/WebServiceConfig.java new file mode 100644 index 0000000..9868f83 --- /dev/null +++ b/src/main/java/org/lsh/webservice/ui/config/WebServiceConfig.java @@ -0,0 +1,37 @@ +package org.lsh.webservice.ui.config; + +import org.apache.cxf.Bus; +import org.apache.cxf.bus.spring.SpringBus; +import org.apache.cxf.jaxws.EndpointImpl; +import org.apache.cxf.transport.servlet.CXFServlet; +import org.lsh.webservice.ui.webservice.TestWebservice; +import org.springframework.boot.web.servlet.ServletRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import javax.annotation.Resource; +import javax.xml.ws.Endpoint; + +@Configuration +public class WebServiceConfig { + + @Resource + TestWebservice testWebservice; + + @Bean + public ServletRegistrationBean destoryServlet(){ + return new ServletRegistrationBean(new CXFServlet(),"/services/*"); + } + + @Bean(name = Bus.DEFAULT_BUS_ID) + public SpringBus springBus(){ + return new SpringBus(); + } + + @Bean + public Endpoint endpoint(){ + EndpointImpl endpoint = new EndpointImpl(springBus(),testWebservice); + endpoint.publish("/TestWebservice"); + return endpoint; + } +} \ No newline at end of file diff --git a/src/main/java/org/lsh/webservice/ui/controller/MainController.java b/src/main/java/org/lsh/webservice/ui/controller/MainController.java index b16eadf..a8ef0b7 100644 --- a/src/main/java/org/lsh/webservice/ui/controller/MainController.java +++ b/src/main/java/org/lsh/webservice/ui/controller/MainController.java @@ -1,6 +1,7 @@ package org.lsh.webservice.ui.controller; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.lsh.webservice.ui.common.Result; @@ -46,7 +47,12 @@ public class MainController { ){ Project project = projectMapper.findById(wsdl.getProjectId()); if(project == null){ - return Result.failed("所选项目ID不存在!"); + project = new Project(); + project.setName(wsdl.getProjectId()); + projectMapper.insert(project); + } + if(StrUtil.isBlank(project.getId())){ + return Result.failed("项目创建失败:" + wsdl.getProjectId()); } FormV2 formV2 = null; try { diff --git a/src/main/java/org/lsh/webservice/ui/entity/tree/Operation.java b/src/main/java/org/lsh/webservice/ui/entity/tree/Operation.java index 5c4652c..95f69d1 100644 --- a/src/main/java/org/lsh/webservice/ui/entity/tree/Operation.java +++ b/src/main/java/org/lsh/webservice/ui/entity/tree/Operation.java @@ -1,7 +1,7 @@ package org.lsh.webservice.ui.entity.tree; public class Operation extends TreeItem{ - private int webserviceId; + private String webserviceId; /** JSON序列化的 入参表单信息 * */ @@ -11,11 +11,11 @@ public class Operation extends TreeItem{ */ private String output; - public int getWebserviceId() { + public String getWebserviceId() { return webserviceId; } - public void setWebserviceId(int webserviceId) { + public void setWebserviceId(String webserviceId) { this.webserviceId = webserviceId; } diff --git a/src/main/java/org/lsh/webservice/ui/entity/tree/TreeItem.java b/src/main/java/org/lsh/webservice/ui/entity/tree/TreeItem.java index 2e4a286..2f85d7d 100644 --- a/src/main/java/org/lsh/webservice/ui/entity/tree/TreeItem.java +++ b/src/main/java/org/lsh/webservice/ui/entity/tree/TreeItem.java @@ -1,19 +1,18 @@ package org.lsh.webservice.ui.entity.tree; -import org.lsh.webservice.ui.entity.FormItemV2; - import java.util.List; public class TreeItem { - private Integer id; + + private String id; private String name; private List children; - public Integer getId() { + public String getId() { return id; } - public void setId(Integer id) { + public void setId(String id) { this.id = id; } diff --git a/src/main/java/org/lsh/webservice/ui/entity/tree/Webservice.java b/src/main/java/org/lsh/webservice/ui/entity/tree/Webservice.java index b1118aa..88f3ef8 100644 --- a/src/main/java/org/lsh/webservice/ui/entity/tree/Webservice.java +++ b/src/main/java/org/lsh/webservice/ui/entity/tree/Webservice.java @@ -5,7 +5,7 @@ import java.util.List; public class Webservice extends TreeItem { private String wsdl; - private int projectId; + private String projectId; private List operationList; public String getWsdl() { @@ -24,11 +24,11 @@ public class Webservice extends TreeItem { this.operationList = operationList; } - public int getProjectId() { + public String getProjectId() { return projectId; } - public void setProjectId(int projectId) { + public void setProjectId(String projectId) { this.projectId = projectId; } } diff --git a/src/main/java/org/lsh/webservice/ui/entity/vo/OperationQueryVO.java b/src/main/java/org/lsh/webservice/ui/entity/vo/OperationQueryVO.java index b648e0c..355cba2 100644 --- a/src/main/java/org/lsh/webservice/ui/entity/vo/OperationQueryVO.java +++ b/src/main/java/org/lsh/webservice/ui/entity/vo/OperationQueryVO.java @@ -6,18 +6,18 @@ import java.io.Serializable; public class OperationQueryVO implements Serializable { - private Integer id; + private String id; private String operation; private FormField input; private FormField output; private String wsdl; private String webserviceName; - public Integer getId() { + public String getId() { return id; } - public void setId(Integer id) { + public void setId(String id) { this.id = id; } diff --git a/src/main/java/org/lsh/webservice/ui/entity/vo/Wsdl.java b/src/main/java/org/lsh/webservice/ui/entity/vo/Wsdl.java index c3a476a..3063c06 100644 --- a/src/main/java/org/lsh/webservice/ui/entity/vo/Wsdl.java +++ b/src/main/java/org/lsh/webservice/ui/entity/vo/Wsdl.java @@ -2,7 +2,7 @@ package org.lsh.webservice.ui.entity.vo; public class Wsdl { private String wsdl; - private int projectId; + private String projectId; public String getWsdl() { return wsdl; @@ -12,11 +12,11 @@ public class Wsdl { this.wsdl = wsdl; } - public int getProjectId() { + public String getProjectId() { return projectId; } - public void setProjectId(int projectId) { + public void setProjectId(String projectId) { this.projectId = projectId; } } diff --git a/src/main/java/org/lsh/webservice/ui/mapper/OperationMapper.java b/src/main/java/org/lsh/webservice/ui/mapper/OperationMapper.java index c466d80..da05c12 100644 --- a/src/main/java/org/lsh/webservice/ui/mapper/OperationMapper.java +++ b/src/main/java/org/lsh/webservice/ui/mapper/OperationMapper.java @@ -16,7 +16,7 @@ public interface OperationMapper { @Result(property = "name", column = "name"), // 指定属性名和列名的映射关系 @Result(property = "webserviceId", column = "webservice_id"), // 指定属性名和列名的映射关系 }) - List findByWebserviceId(Integer webserviceId); + List findByWebserviceId(String webserviceId); @Select("select * from operation where id=#{id}") @Results({ diff --git a/src/main/java/org/lsh/webservice/ui/mapper/ProjectMapper.java b/src/main/java/org/lsh/webservice/ui/mapper/ProjectMapper.java index 2eeab15..6fca7bf 100644 --- a/src/main/java/org/lsh/webservice/ui/mapper/ProjectMapper.java +++ b/src/main/java/org/lsh/webservice/ui/mapper/ProjectMapper.java @@ -9,16 +9,17 @@ import java.util.List; public interface ProjectMapper { @Insert("INSERT INTO PROJECT (NAME) VALUES (#{project.name})") + @Options(useGeneratedKeys = true, keyProperty = "id") int insert(@Param("project") Project project); - void deleteById(Integer id); + void deleteById(String id); void update(Project user); - @Select("select * from project where id=#{id}") - Project findById(Integer id); + @Select("select * from PROJECT where id=#{id}") + Project findById(String id); - @Select("select * from project") + @Select("select * from PROJECT") @Results({ @Result(property = "name", column = "name"), // 指定属性名和列名的映射关系 }) diff --git a/src/main/java/org/lsh/webservice/ui/mapper/ServerInfoMapper.java b/src/main/java/org/lsh/webservice/ui/mapper/ServerInfoMapper.java index e06ab8a..f4a5f57 100644 --- a/src/main/java/org/lsh/webservice/ui/mapper/ServerInfoMapper.java +++ b/src/main/java/org/lsh/webservice/ui/mapper/ServerInfoMapper.java @@ -17,5 +17,5 @@ public interface ServerInfoMapper { @Results({ @Result(property = "name", column = "name"), // 指定属性名和列名的映射关系 }) - ServerInfo findByWebserviceId(Integer webserviceId); + ServerInfo findByWebserviceId(String webserviceId); } diff --git a/src/main/java/org/lsh/webservice/ui/mapper/WebserviceMapper.java b/src/main/java/org/lsh/webservice/ui/mapper/WebserviceMapper.java index fc19cc0..ed3e984 100644 --- a/src/main/java/org/lsh/webservice/ui/mapper/WebserviceMapper.java +++ b/src/main/java/org/lsh/webservice/ui/mapper/WebserviceMapper.java @@ -19,13 +19,13 @@ public interface WebserviceMapper { @Result(property = "name", column = "name"), // 指定属性名和列名的映射关系 @Result(property = "projectId", column = "PROJECT_ID"), // 指定属性名和列名的映射关系 }) - List findByProjectId(Integer projectId); + List findByProjectId(String projectId); @Select("select * from webservice where id=#{id}") @Results({ @Result(property = "name", column = "name"), // 指定属性名和列名的映射关系 @Result(property = "projectId", column = "PROJECT_ID"), // 指定属性名和列名的映射关系 }) - Webservice findById(Integer id); + Webservice findById(String id); } diff --git a/src/main/java/org/lsh/webservice/ui/webservice/TestWebservice.java b/src/main/java/org/lsh/webservice/ui/webservice/TestWebservice.java new file mode 100644 index 0000000..5172d31 --- /dev/null +++ b/src/main/java/org/lsh/webservice/ui/webservice/TestWebservice.java @@ -0,0 +1,18 @@ +package org.lsh.webservice.ui.webservice; + +import org.lsh.webservice.ui.webservice.dto.Request; +import org.lsh.webservice.ui.webservice.dto.Response; + +import javax.jws.WebMethod; +import javax.jws.WebParam; +import javax.jws.WebService; +import javax.xml.ws.soap.SOAPBinding; +import javax.xml.ws.BindingType; + +@WebService(name = "TestWebservice",targetNamespace = "org.lsh.webservice.ui") +@BindingType(SOAPBinding.SOAP12HTTP_BINDING) +public interface TestWebservice { + + @WebMethod + Response sayHello(@WebParam(name = "request") Request request); +} diff --git a/src/main/java/org/lsh/webservice/ui/webservice/dto/Request.java b/src/main/java/org/lsh/webservice/ui/webservice/dto/Request.java new file mode 100644 index 0000000..7ac5b00 --- /dev/null +++ b/src/main/java/org/lsh/webservice/ui/webservice/dto/Request.java @@ -0,0 +1,4 @@ +package org.lsh.webservice.ui.webservice.dto; + +public class Request { +} diff --git a/src/main/java/org/lsh/webservice/ui/webservice/dto/Response.java b/src/main/java/org/lsh/webservice/ui/webservice/dto/Response.java new file mode 100644 index 0000000..9fb4a79 --- /dev/null +++ b/src/main/java/org/lsh/webservice/ui/webservice/dto/Response.java @@ -0,0 +1,34 @@ +package org.lsh.webservice.ui.webservice.dto; + +/** 返回参数 + * + */ +public class Response { + private boolean status; + private int code; + private String message; + + public boolean isStatus() { + return status; + } + + public void setStatus(boolean status) { + this.status = status; + } + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/src/main/java/org/lsh/webservice/ui/webservice/impl/TestWebserviceImpl.java b/src/main/java/org/lsh/webservice/ui/webservice/impl/TestWebserviceImpl.java new file mode 100644 index 0000000..e52d86b --- /dev/null +++ b/src/main/java/org/lsh/webservice/ui/webservice/impl/TestWebserviceImpl.java @@ -0,0 +1,26 @@ +package org.lsh.webservice.ui.webservice.impl; + +import org.lsh.webservice.ui.webservice.TestWebservice; +import org.lsh.webservice.ui.webservice.dto.Request; +import org.lsh.webservice.ui.webservice.dto.Response; +import org.springframework.stereotype.Component; + +import javax.jws.WebService; + +@Component +@WebService( + name = "TestWebservice", + targetNamespace = "org.lsh.webservice.ui", + endpointInterface = "org.lsh.webservice.ui.webservice.TestWebservice") +public class TestWebserviceImpl implements TestWebservice { + + @Override + public Response sayHello(Request request) { + Response response = new Response(); + response.setStatus(true); + response.setCode(1); + response.setMessage("Hello ,this is message !"); + return response; + } + +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index ae78d88..2a799a0 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -10,7 +10,7 @@ spring: content-type: text/html cache: false datasource: - url: jdbc:h2:file:./data/xxx-demo;MODE=MySQL;AUTO_SERVER=TRUE; + url: jdbc:h2:file:./data/xxx-demo;MODE=MySQL;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE; driverClassName: org.h2.Driver username: sa password: password diff --git a/src/main/resources/db/schema.sql b/src/main/resources/db/schema.sql index cc95239..1b2008f 100644 --- a/src/main/resources/db/schema.sql +++ b/src/main/resources/db/schema.sql @@ -1,23 +1,25 @@ CREATE TABLE IF NOT EXISTS Project ( - id INT PRIMARY KEY AUTO_INCREMENT, - name VARCHAR(255) + id UUID DEFAULT RANDOM_UUID(), + name VARCHAR(255) ); CREATE TABLE IF NOT EXISTS `WebService` ( - `id` INT PRIMARY KEY AUTO_INCREMENT, - `name` varchar(255) NULL, - `wsdl` varchar(255) NULL, - `project_id` int(255) NULL + `id` UUID DEFAULT RANDOM_UUID(), + `name` varchar(255) NULL, + `wsdl` varchar(255) NULL, + `project_id` varchar(255) NOT NULL ); -CREATE TABLE IF NOT EXISTS `operation` ( - `id` INT PRIMARY KEY AUTO_INCREMENT, - `name` varchar(255) NOT NULL, - `webservice_id` int(255) NOT NULL +CREATE TABLE IF NOT EXISTS `OPERATION` ( + `id` UUID DEFAULT RANDOM_UUID(), + `name` varchar(255) NOT NULL, + `webservice_id` varchar(255) NOT NULL, + `input` varchar(255) NOT NULL, + `output` varchar(255) NOT NULL ); CREATE TABLE IF NOT EXISTS `server_info` ( - `id` UUID DEFAULT RANDOM_UUID(), - `webservice_id` int(255) NOT NULL, - `form_json` TEXT NOT NULL + `id` UUID DEFAULT RANDOM_UUID(), + `webservice_id` varchar(255) NOT NULL, + `form_json` TEXT NOT NULL ); diff --git a/src/main/resources/static/vue/addwsdl.js b/src/main/resources/static/vue/addwsdl.js index 63c61f4..a9d6c4c 100644 --- a/src/main/resources/static/vue/addwsdl.js +++ b/src/main/resources/static/vue/addwsdl.js @@ -3,7 +3,7 @@ Vue.component('add-wsdl', { template: ` - + @@ -23,7 +23,7 @@ Vue.component('add-wsdl', { projectList: [], form: { wsdl: '', - projectId: 1 + projectId: '' } } },