Przeglądaj źródła

流程图状态优化

ZhuDeKang 4 miesięcy temu
rodzic
commit
94dc865c37

+ 13 - 0
ruoyi-admin/pom.xml

@@ -43,11 +43,24 @@
             <artifactId>mysql-connector-java</artifactId>
         </dependency>
 
+        <!--oracle-->
         <dependency>
             <groupId>com.oracle</groupId>
             <artifactId>ojdbc6</artifactId>
             <version>11.2.0.3</version>
         </dependency>
+        <!--sqlserver-->
+        <dependency>
+            <groupId>com.microsoft.sqlserver</groupId>
+            <artifactId>mssql-jdbc</artifactId>
+            <version>9.4.0.jre8</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.dameng</groupId>
+            <artifactId>DmJdbcDriver18</artifactId>
+            <version>8.1.1.193</version>
+        </dependency>
 
         <!-- 核心模块 -->
         <dependency>

+ 14 - 1
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/controller/PtServiceController.java

@@ -208,18 +208,31 @@ public class PtServiceController extends BaseController {
     @Autowired
     private IMdAuditService mdAuditService;
 
+    /**
+     * 服务审核接口
+     * @param service
+     * @return
+     */
     @GetMapping("/audit")
     public AjaxResult audit(PtService service) {
         Date nowDate = DateUtils.getNowDate();
-        MdAudit srv = new MdAudit(null, service.getSrvId(), "SRV", service.getAudit(), getUsername(), nowDate, service.getAuditRemark());
+        MdAudit srv = new MdAudit(null, service.getSrvId(), "AUDIT", service.getAudit(), getUsername(), nowDate, service.getAuditRemark());
         int i = mdAuditService.insertMdAudit(srv);
         service.setAuditBy(getUsername());
         service.setAuditTime(nowDate);
         return success(ptServiceService.audit(service));
     }
 
+    /**
+     * 服务发布接口
+     * @param service
+     * @return
+     */
     @GetMapping("/publish")
     public AjaxResult publish(PtService service) {
+        Date nowDate = DateUtils.getNowDate();
+        MdAudit srv = new MdAudit(null, service.getSrvId(), "PUBLISH", service.getAudit(), getUsername(), nowDate, service.getAuditRemark());
+        int i = mdAuditService.insertMdAudit(srv);
         service.setPublishBy(getUsername());
         service.setPublishTime(DateUtils.getNowDate());
         return success(ptServiceService.publish(service));

+ 8 - 0
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/database/DynamicDataSourceManager.java

@@ -24,6 +24,14 @@ public class DynamicDataSourceManager {
     public HashMap<String,String> className = new HashMap<String,String>(){
         {
             put("mysql","com.mysql.cj.jdbc.Driver");
+            put("oracle", "oracle.jdbc.OracleDriver");
+            put("sqlserver", "com.microsoft.sqlserver.jdbc.SQLServerDriver");
+            put("postgresql", "org.postgresql.Driver");
+            put("db2", "com.ibm.db2.jcc.DB2Driver");
+            put("sqlite", "org.sqlite.JDBC");
+            put("h2", "org.h2.Driver");
+            put("mariadb", "org.mariadb.jdbc.Driver");
+            put("dm", "dm.jdbc.driver.DmDriver");
         }
     };
 

+ 5 - 1
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/domain/PtService.java

@@ -111,7 +111,6 @@ public class PtService implements Serializable {
     @ApiModelProperty("请求参数列表")
     private List<PtServiceParam> params;
 
-
     public PtService(String mdid) {
         this.mdid = mdid;
     }
@@ -133,5 +132,10 @@ public class PtService implements Serializable {
     private String publish;
     private String publishBy;
     private Date publishTime;
+    /**
+     * 测试数量
+     */
+    private int testRunNum;
+
 
 }

+ 8 - 1
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/domain/vo/MdAppFlowVo.java

@@ -8,10 +8,17 @@ public class MdAppFlowVo extends MdAppFlow {
     public MdAppFlowVo() {
     }
 
+
+    public MdAppFlowVo(String webSocketId) {
+        this.webSocketId = webSocketId;
+    }
+
+
     public String getWebSocketId() {
-        return webSocketId;
+        return this.webSocketId;
     }
 
     public void setWebSocketId(String webSocketId) {
+        this.webSocketId = webSocketId;
     }
 }

+ 13 - 1
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/service/impl/MdAppFlowServiceImpl.java

@@ -9,6 +9,7 @@ import com.agentsflex.core.chain.Chain;
 import com.agentsflex.core.chain.ChainEvent;
 import com.agentsflex.core.chain.ChainNode;
 import com.agentsflex.core.chain.event.NodeEndEvent;
+import com.agentsflex.core.chain.event.NodeStartEvent;
 import com.agentsflex.core.chain.listener.ChainEventListener;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.JsonUtils;
@@ -121,6 +122,17 @@ public class MdAppFlowServiceImpl implements IMdAppFlowService {
         chain.addEventListener(new ChainEventListener() {
             @Override
             public void onEvent(ChainEvent event, Chain chain) {
+                if (event instanceof NodeStartEvent) {
+                    if (StringUtils.isNotNull(session)) {
+                        NodeStartEvent nodeEndEvent = (NodeStartEvent) event;
+                        ChainNode completedNode = nodeEndEvent.getNode();
+                        HashMap<String, Object> nodeMap = new HashMap<>();
+                        nodeMap.put("id", completedNode.getId());
+                        nodeMap.put("name", completedNode.getName());
+                        nodeMap.put("nodeState", "START");
+                        WebSocketUsers.sendMessageToUserByText(session, JsonUtils.objectToJson(nodeMap));
+                    }
+                }
                 if (event instanceof NodeEndEvent) {
                     if (StringUtils.isNotNull(session)) {
                         NodeEndEvent nodeEndEvent = (NodeEndEvent) event;
@@ -130,7 +142,7 @@ public class MdAppFlowServiceImpl implements IMdAppFlowService {
                         nodeMap.put("id", completedNode.getId());
                         nodeMap.put("name", completedNode.getName());
                         nodeMap.put("result", executeResult);
-                        nodeMap.put("nodeState", true);
+                        nodeMap.put("nodeState", "END");
                         WebSocketUsers.sendMessageToUserByText(session, JsonUtils.objectToJson(nodeMap));
                     }
                 }

+ 5 - 19
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/service/impl/PtServiceServiceImpl.java

@@ -2,6 +2,7 @@ package com.ruoyi.interfaces.service.impl;
 
 import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.config.RuoYiConfig;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.JsonUtils;
@@ -130,25 +131,10 @@ public class PtServiceServiceImpl extends ServiceImpl<PtServiceMapper, PtService
     @Override
     public String testRun(PtService ptService) throws IOException {
 
-    /*    String tokenUrl = "http://localhost:9002/sh-api/login";
-        String bodyPar = "{\n" +
-                "  \"username\": \"admin\",\n" +
-                "  \"password\": \"Gw#$1601\"\n" +
-                "}";
-        String token = "";
-
-        try {
-            token =  HttpUtils.sendBodyPostTest(tokenUrl,bodyPar,null);
-            System.out.println(token);
-        } catch (IOException e) {
-            throw new RuntimeException(e);
-        }
-        HashMap hashMap = JsonUtils.jsonToPojo(token, HashMap.class);
-        String token1 = hashMap.get("token").toString();*/
+        String url = RuoYiConfig.getGatewayUrl() + ptService.getProxyPath() + ptService.getUrl();
         HashMap<String, String> headers = new HashMap<>();
-        //List<PtServiceParam> ptServiceParams = ptServiceParamMapper.selectAll(ptService.getSrvId());
-        //String paramString = ptServiceParams.stream().map(p -> p.getParamCode() + "=" + p.getParamValue()).collect(Collectors.joining());
         List<PtServiceParam> params = ptService.getParams();
+        HttpUtils.setGatewayHeaders(headers);
         String paramString = "";
         switch (ptService.getRqtype()) {
             case "POST":
@@ -156,13 +142,13 @@ public class PtServiceServiceImpl extends ServiceImpl<PtServiceMapper, PtService
                 for (PtServiceParam param : params) {
                     parMap.put(param.getParamCode(),param.getParamObject());
                 }
-               return HttpUtils.sendBodyPost(ptService.getUrl(),parMap,headers);
+               return HttpUtils.sendBodyPost(url,parMap,headers);
             case "GET":
 
                 for (PtServiceParam param : params) {
                     paramString+=(param.getParamCode()+"="+param.getParamValue())+"&";
                 }
-                return HttpUtils.sendGet(ptService.getUrl(),paramString,headers);
+                return HttpUtils.sendGet(url,paramString,headers);
         }
         return null;
     }

+ 1 - 1
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/tinyflow/node/ServiceNode.java

@@ -41,7 +41,7 @@ public class ServiceNode extends BaseNode {
         if (StringUtils.isNotNull(parameterValues.get("headers")))
             headers = (HashMap<String, String>) parameterValues.get("headers");
         if (StringUtils.isNull(headers)) headers = new HashMap<>();
-        headers.put("Authorization", "1478702065085063169");
+        HttpUtils.setGatewayHeaders(headers);
         switch (ptService.getRqtype()) {
             case "POST":
                 HashMap<String, Object> paramMap = new HashMap<>();

+ 12 - 8
ruoyi-api-patform/src/main/resources/mapper/interfaces/PtServiceMapper.xml

@@ -45,7 +45,7 @@
         <result column="AUDIT_REMARK" property="auditRemark" jdbcType="VARCHAR"/>
         <result column="PUBLISH" property="publish" jdbcType="VARCHAR"/>
         <result column="PUBLISH_BY" property="publishBy" jdbcType="VARCHAR"/>
-        <result column="PUBLISH_TIME" property="publishTime" />
+        <result column="PUBLISH_TIME" property="publishTime"/>
     </resultMap>
     <resultMap id="AuthVoResultMap" type="com.ruoyi.interfaces.domain.vo.PtServiceVo">
         <result property="id" jdbcType="VARCHAR" column="ID"/>
@@ -89,11 +89,11 @@
         <result column="DATA_NUM" property="dataNum" jdbcType="INTEGER"/>
         <result column="AUDIT" property="audit" jdbcType="VARCHAR"/>
         <result column="AUDIT_BY" property="auditBy" jdbcType="VARCHAR"/>
-        <result column="AUDIT_TIME" property="auditTime" />
+        <result column="AUDIT_TIME" property="auditTime"/>
         <result column="AUDIT_REMARK" property="auditRemark" jdbcType="VARCHAR"/>
         <result column="PUBLISH" property="publish" jdbcType="VARCHAR"/>
         <result column="PUBLISH_BY" property="publishBy" jdbcType="VARCHAR"/>
-        <result column="PUBLISH_TIME" property="publishTime" />
+        <result column="PUBLISH_TIME" property="publishTime"/>
     </resultMap>
 
     <sql id="Base_Column_List">
@@ -375,7 +375,7 @@ PUBLISH_TIME
                 </foreach>
             </if>
         </where>
-order by SORT
+        order by SORT
     </select>
 
     <!--根据主键获取数据-->
@@ -443,9 +443,9 @@ order by SORT
     </update>
     <update id="audit">
         update PT_SERVICE
-        set AUDIT      = #{audit},
-            AUDIT_BY   = #{auditBy},
-            AUDIT_TIME = #{auditTime},
+        set AUDIT        = #{audit},
+            AUDIT_BY     = #{auditBy},
+            AUDIT_TIME   = #{auditTime},
             AUDIT_REMARK = #{auditRemark}
         where SRV_ID = #{srvId}
     </update>
@@ -625,6 +625,7 @@ order by SORT
         <result column="DATA_RANGE" property="dataRange" jdbcType="VARCHAR"/>
         <result column="APPLY_NUM" property="applyNum" jdbcType="INTEGER"/>
         <result column="DATA_NUM" property="dataNum" jdbcType="INTEGER"/>
+        <result column="TEST_RUN_NUM" property="testRunNum" jdbcType="INTEGER"/>
     </resultMap>
 
 
@@ -725,8 +726,11 @@ order by SORT
         s.DEVELOP_CONTACTER,
         s.MAINTAIN_UNIT,
         s.MAINTAIN_CONTACER,
-        s.VIEW_NUM
+        s.VIEW_NUM,
+        r.TEST_RUN_NUM
         from md_model_info m left join pt_service s on m.mdid = s.MDID
+        LEFT JOIN ( select ser_id,count(1) as TEST_RUN_NUM from pt_service_run_log group by ser_id ) r ON s.SRV_ID =
+        r.ser_id
         <where>
             <if test="mdid != null ">and m.mdid = #{mdid}</if>
         </where>

+ 3 - 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java

@@ -584,4 +584,7 @@ public class HttpUtils {
 
         return URLEncodedUtils.format(params, StandardCharsets.UTF_8);
     }
+    public static void setGatewayHeaders(HashMap<String, String> hashMap){
+        hashMap.put("Authorization", "1478702065085063169");
+    }
 }