ソースを参照

Merge remote-tracking branch 'origin/dev' into dev

zhoudw 7 年 前
コミット
ecb2721780
39 ファイル変更479 行追加57 行削除
  1. 12 0
      applications/commons/commons-server/src/main/resources/config/application-docker-test.yml
  2. 9 0
      applications/commons/commons-server/src/main/resources/logback-spring.xml
  3. 12 0
      applications/document/document-server/src/main/resources/config/application-docker-test.yml
  4. 9 0
      applications/document/document-server/src/main/resources/logback-spring.xml
  5. 12 0
      applications/money/money-server/src/main/resources/config/application-docker-test.yml
  6. 9 0
      applications/money/money-server/src/main/resources/logback-spring.xml
  7. 12 0
      applications/purchase/purchase-server/src/main/resources/config/application-docker-test.yml
  8. 9 0
      applications/purchase/purchase-server/src/main/resources/logback-spring.xml
  9. 12 0
      applications/sale/sale-server/src/main/resources/config/application-docker-test.yml
  10. 9 0
      applications/sale/sale-server/src/main/resources/logback-spring.xml
  11. 12 0
      applications/storage/storage-server/src/main/resources/config/application-docker-test.yml
  12. 9 0
      applications/storage/storage-server/src/main/resources/logback-spring.xml
  13. 12 0
      base-servers/account/account-server/src/main/resources/config/application-docker-test.yml
  14. 9 0
      base-servers/account/account-server/src/main/resources/logback-spring.xml
  15. 5 3
      base-servers/account/account-server/src/test/java/com/usoftchina/saas/account/api/AccountCacheTest.java
  16. 12 0
      base-servers/admin-server/src/main/resources/config/application-docker-test.yml
  17. 9 0
      base-servers/admin-server/src/main/resources/logback-spring.xml
  18. 12 0
      base-servers/auth/auth-server/src/main/resources/config/application-docker-test.yml
  19. 9 0
      base-servers/auth/auth-server/src/main/resources/logback-spring.xml
  20. 20 0
      base-servers/auth/auth-server/src/test/java/com/usoftchina/saas/auth/controller/JwtTest.java
  21. 5 0
      base-servers/eureka-server/src/main/resources/config/application-docker-test.yml
  22. 9 0
      base-servers/eureka-server/src/main/resources/logback-spring.xml
  23. 12 0
      base-servers/file/file-server/src/main/resources/config/application-docker-test.yml
  24. 9 0
      base-servers/file/file-server/src/main/resources/logback-spring.xml
  25. 12 0
      base-servers/gateway-server/src/main/resources/config/application-docker-test.yml
  26. 9 0
      base-servers/gateway-server/src/main/resources/logback-spring.xml
  27. 12 0
      base-servers/mail/mail-server/src/main/resources/config/application-docker-test.yml
  28. 9 0
      base-servers/mail/mail-server/src/main/resources/logback-spring.xml
  29. 12 0
      base-servers/socket/socket-server/src/main/resources/config/application-docker-test.yml
  30. 9 0
      base-servers/socket/socket-server/src/main/resources/logback-spring.xml
  31. 12 0
      base-servers/ui-server/src/main/resources/config/application-docker-test.yml
  32. 9 0
      base-servers/ui-server/src/main/resources/logback-spring.xml
  33. 56 0
      base-servers/ui-server/src/test/java/com/usoftchina/saas/ui/controller/co/CoViewControllerTest.java
  34. 13 0
      base-servers/zipkin-server/src/main/resources/config/application-docker-test.yml
  35. 9 0
      base-servers/zipkin-server/src/main/resources/logback-spring.xml
  36. 15 46
      frontend/saas-web/app/view/core/query/QueryGridPanel.js
  37. 0 8
      frontend/saas-web/app/view/core/query/QueryPanel.js
  38. 5 0
      frontend/saas-web/ext/packages/ux/src/plugin/MenuClipboard.js
  39. 48 0
      pom.xml

+ 12 - 0
applications/commons/commons-server/src/main/resources/config/application-docker-test.yml

@@ -0,0 +1,12 @@
+eureka:
+  instance:
+    hostname: saas-commons-server-test
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server-test:8515/eureka/
+spring:
+  rabbitmq:
+    virtual-host: test
+server:
+  port: 8915

+ 9 - 0
applications/commons/commons-server/src/main/resources/logback-spring.xml

@@ -110,6 +110,15 @@
         </root>
     </springProfile>
 
+    <springProfile name="docker-test">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
     <springProfile name="docker-prod">
         <logger name="org.springframework" level="WARN"/>
         <logger name="com.usoftchina.saas" level="WARN"/>

+ 12 - 0
applications/document/document-server/src/main/resources/config/application-docker-test.yml

@@ -0,0 +1,12 @@
+eureka:
+  instance:
+    hostname: saas-document-server-test
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server-test:8515/eureka/
+spring:
+  rabbitmq:
+    virtual-host: test
+server:
+  port: 9495

+ 9 - 0
applications/document/document-server/src/main/resources/logback-spring.xml

@@ -104,6 +104,15 @@
         </root>
     </springProfile>
 
+    <springProfile name="docker-test">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
     <springProfile name="docker-prod">
         <logger name="org.springframework" level="WARN"/>
         <logger name="com.usoftchina.saas" level="WARN"/>

+ 12 - 0
applications/money/money-server/src/main/resources/config/application-docker-test.yml

@@ -0,0 +1,12 @@
+eureka:
+  instance:
+    hostname: saas-money-server-test
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server-test:8515/eureka/
+spring:
+  rabbitmq:
+    virtual-host: test
+server:
+  port: 8895

+ 9 - 0
applications/money/money-server/src/main/resources/logback-spring.xml

@@ -104,6 +104,15 @@
         </root>
     </springProfile>
 
+    <springProfile name="docker-test">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
     <springProfile name="docker-prod">
         <logger name="org.springframework" level="WARN"/>
         <logger name="com.usoftchina.saas" level="WARN"/>

+ 12 - 0
applications/purchase/purchase-server/src/main/resources/config/application-docker-test.yml

@@ -0,0 +1,12 @@
+eureka:
+  instance:
+    hostname: saas-purchase-server-test
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server-test:8515/eureka/
+spring:
+  rabbitmq:
+    virtual-host: test
+server:
+  port: 8815

+ 9 - 0
applications/purchase/purchase-server/src/main/resources/logback-spring.xml

@@ -104,6 +104,15 @@
         </root>
     </springProfile>
 
+    <springProfile name="docker-test">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
     <springProfile name="docker-prod">
         <logger name="org.springframework" level="WARN"/>
         <logger name="com.usoftchina.saas" level="WARN"/>

+ 12 - 0
applications/sale/sale-server/src/main/resources/config/application-docker-test.yml

@@ -0,0 +1,12 @@
+eureka:
+  instance:
+    hostname: saas-sale-server-test
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server-dev:8515/eureka/
+spring:
+  rabbitmq:
+    virtual-host: test
+server:
+  port: 8835

+ 9 - 0
applications/sale/sale-server/src/main/resources/logback-spring.xml

@@ -104,6 +104,15 @@
         </root>
     </springProfile>
 
+    <springProfile name="docker-test">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
     <springProfile name="docker-prod">
         <logger name="org.springframework" level="WARN"/>
         <logger name="com.usoftchina.saas" level="WARN"/>

+ 12 - 0
applications/storage/storage-server/src/main/resources/config/application-docker-test.yml

@@ -0,0 +1,12 @@
+eureka:
+  instance:
+    hostname: saas-storage-server-test
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server-test:8515/eureka/
+spring:
+  rabbitmq:
+    virtual-host: test
+server:
+  port: 9015

+ 9 - 0
applications/storage/storage-server/src/main/resources/logback-spring.xml

@@ -104,6 +104,15 @@
         </root>
     </springProfile>
 
+    <springProfile name="docker-test">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
     <springProfile name="docker-prod">
         <logger name="org.springframework" level="WARN"/>
         <logger name="com.usoftchina.saas" level="WARN"/>

+ 12 - 0
base-servers/account/account-server/src/main/resources/config/application-docker-test.yml

@@ -0,0 +1,12 @@
+eureka:
+  instance:
+    hostname: saas-account-server-test
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server-test:8515/eureka/
+spring:
+  rabbitmq:
+    virtual-host: test
+server:
+  port: 8595

+ 9 - 0
base-servers/account/account-server/src/main/resources/logback-spring.xml

@@ -110,6 +110,15 @@
         </root>
     </springProfile>
 
+    <springProfile name="docker-test">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
     <springProfile name="docker-prod">
         <logger name="org.springframework" level="WARN"/>
         <logger name="com.usoftchina.saas" level="WARN"/>

+ 5 - 3
base-servers/account/account-server/src/test/java/com/usoftchina/saas/account/api/AccountCacheTest.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.account.api;
 
 import com.usoftchina.saas.account.cache.AccountCache;
+import com.usoftchina.saas.account.cache.ResourceCache;
 import com.usoftchina.saas.context.BaseContextHolder;
 import org.junit.Assert;
 import org.junit.Test;
@@ -18,8 +19,9 @@ public class AccountCacheTest {
 
     @Test
     public void hdel() {
-//        AccountCache.of(43).hdel();
-        BaseContextHolder.setToken("eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJzdWx5IiwiYXBwSWQiOiJ0cmFkZS1hcHAiLCJ1c2VySWQiOjQzLCJjb21wYW55SWQiOjEsInVzZXJOYW1lIjoic3VseSIsInJlYWxOYW1lIjoi6IuP54G16LCjIiwiZXhwIjoxNTQzNDg5NjM0fQ.oqOIqO97zAH2W1RZsofmCstKHNYsQlnMr_UkOw69zw175fhAefysux2njV1FEbldTQA62RiQ7JrnntWPqOmsNmrBsD0cwvy9xkUma3CNjIuZirbg09CYjUVIFnDpwz-WpmZMQFDIBVQYchCDRzDUgPYPB4phptCGNpTG6VpztPo");
-        System.out.println(AccountCache.of(43).getAccount());
+        ResourceCache.of("trade-app").hdel();
+        AccountCache.of(55).hdel();
+//        BaseContextHolder.setToken("eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxMzc5ODQ5MDU2NSIsImFwcElkIjoidHJhZGUtYXBwIiwidXNlcklkIjo2MSwiY29tcGFueUlkIjoyMSwidXNlck5hbWUiOiIxMzc5ODQ5MDU2NSIsInJlYWxOYW1lIjoi5bqU6bmPIiwiZXhwIjoxNTQzODIxMjkxfQ.DF5RT-g1Fi1czCb1-0EqI_Q9VTrwKskdzQtrpsdlcw-WyuN2xx2nqQqahLQIu836apeD3kptXxEtS2j3ArJKRzqrw4z6SFo-kFOl5cQpFLJxpVyrLl6i8ON33VO05uDRORWieNiWqSTDHFqqfOE5PaoocnCugOvweZaev7BmedQ");
+//        System.out.println(AccountCache.of(55).getAccount());
     }
 }

+ 12 - 0
base-servers/admin-server/src/main/resources/config/application-docker-test.yml

@@ -0,0 +1,12 @@
+eureka:
+  instance:
+    hostname: saas-admin-server-test
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server-test:8515/eureka/
+spring:
+  rabbitmq:
+    virtual-host: test
+server:
+  port: 8535

+ 9 - 0
base-servers/admin-server/src/main/resources/logback-spring.xml

@@ -103,6 +103,15 @@
         </root>
     </springProfile>
 
+    <springProfile name="docker-test">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
     <springProfile name="docker-prod">
         <logger name="org.springframework" level="WARN"/>
         <logger name="com.usoftchina.saas" level="WARN"/>

+ 12 - 0
base-servers/auth/auth-server/src/main/resources/config/application-docker-test.yml

@@ -0,0 +1,12 @@
+eureka:
+  instance:
+    hostname: saas-auth-server-test
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server-test:8515/eureka/
+spring:
+  rabbitmq:
+    virtual-host: test
+server:
+  port: 8615

+ 9 - 0
base-servers/auth/auth-server/src/main/resources/logback-spring.xml

@@ -110,6 +110,15 @@
         </root>
     </springProfile>
 
+    <springProfile name="docker-test">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
     <springProfile name="docker-prod">
         <logger name="org.springframework" level="WARN"/>
         <logger name="com.usoftchina.saas" level="WARN"/>

+ 20 - 0
base-servers/auth/auth-server/src/test/java/com/usoftchina/saas/auth/controller/JwtTest.java

@@ -0,0 +1,20 @@
+package com.usoftchina.saas.auth.controller;
+
+import com.usoftchina.saas.auth.common.jwt.JwtHelper;
+import com.usoftchina.saas.auth.common.jwt.JwtInfo;
+import com.usoftchina.saas.auth.common.jwt.JwtToken;
+import org.junit.Test;
+
+/**
+ * @author yingp
+ * @date 2018/12/3
+ */
+public class JwtTest {
+
+    @Test
+    public void generateToken() {
+        JwtInfo info = new JwtInfo("trade-app", 1L, 55L, "13907997999", "hey");
+        JwtToken jwtToken = JwtHelper.generateToken(info, "auth/pri.key", 18000);
+        System.out.println(jwtToken.getToken());
+    }
+}

+ 5 - 0
base-servers/eureka-server/src/main/resources/config/application-docker-test.yml

@@ -0,0 +1,5 @@
+eureka:
+  instance:
+    hostname: saas-eureka-server-test
+server:
+  port: 8515

+ 9 - 0
base-servers/eureka-server/src/main/resources/logback-spring.xml

@@ -109,6 +109,15 @@
         </root>
     </springProfile>
 
+    <springProfile name="docker-test">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
     <springProfile name="docker-prod">
         <logger name="org.springframework" level="WARN"/>
         <logger name="com.usoftchina.saas" level="WARN"/>

+ 12 - 0
base-servers/file/file-server/src/main/resources/config/application-docker-test.yml

@@ -0,0 +1,12 @@
+eureka:
+  instance:
+    hostname: saas-file-server-test
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server-test:8515/eureka/
+spring:
+  rabbitmq:
+    virtual-host: test
+server:
+  port: 8655

+ 9 - 0
base-servers/file/file-server/src/main/resources/logback-spring.xml

@@ -110,6 +110,15 @@
         </root>
     </springProfile>
 
+    <springProfile name="docker-test">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
     <springProfile name="docker-prod">
         <logger name="org.springframework" level="WARN"/>
         <logger name="com.usoftchina.saas" level="WARN"/>

+ 12 - 0
base-servers/gateway-server/src/main/resources/config/application-docker-test.yml

@@ -0,0 +1,12 @@
+eureka:
+  instance:
+    hostname: saas-gateway-server-test
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server-test:8515/eureka/
+spring:
+  rabbitmq:
+    virtual-host: test
+server:
+  port: 8575

+ 9 - 0
base-servers/gateway-server/src/main/resources/logback-spring.xml

@@ -110,6 +110,15 @@
         </root>
     </springProfile>
 
+    <springProfile name="docker-test">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
     <springProfile name="docker-prod">
         <logger name="org.springframework" level="WARN"/>
         <logger name="com.usoftchina.saas" level="WARN"/>

+ 12 - 0
base-servers/mail/mail-server/src/main/resources/config/application-docker-test.yml

@@ -0,0 +1,12 @@
+eureka:
+  instance:
+    hostname: saas-mail-server-test
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server-test:8515/eureka/
+spring:
+  rabbitmq:
+    virtual-host: test
+server:
+  port: 8675

+ 9 - 0
base-servers/mail/mail-server/src/main/resources/logback-spring.xml

@@ -110,6 +110,15 @@
         </root>
     </springProfile>
 
+    <springProfile name="docker-test">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
     <springProfile name="docker-prod">
         <logger name="org.springframework" level="WARN"/>
         <logger name="com.usoftchina.saas" level="WARN"/>

+ 12 - 0
base-servers/socket/socket-server/src/main/resources/config/application-docker-test.yml

@@ -0,0 +1,12 @@
+eureka:
+  instance:
+    hostname: saas-socket-server-test
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server-test:8515/eureka/
+spring:
+  rabbitmq:
+    virtual-host: test
+server:
+  port: 8695

+ 9 - 0
base-servers/socket/socket-server/src/main/resources/logback-spring.xml

@@ -110,6 +110,15 @@
         </root>
     </springProfile>
 
+    <springProfile name="docker-test">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
     <springProfile name="docker-prod">
         <logger name="org.springframework" level="WARN"/>
         <logger name="com.usoftchina.saas" level="WARN"/>

+ 12 - 0
base-servers/ui-server/src/main/resources/config/application-docker-test.yml

@@ -0,0 +1,12 @@
+eureka:
+  instance:
+    hostname: saas-ui-server-test
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server-test:8515/eureka/
+spring:
+  rabbitmq:
+    virtual-host: test
+server:
+  port: 8635

+ 9 - 0
base-servers/ui-server/src/main/resources/logback-spring.xml

@@ -110,6 +110,15 @@
         </root>
     </springProfile>
 
+    <springProfile name="docker-test">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
     <springProfile name="docker-prod">
         <logger name="org.springframework" level="WARN"/>
         <logger name="com.usoftchina.saas" level="WARN"/>

+ 56 - 0
base-servers/ui-server/src/test/java/com/usoftchina/saas/ui/controller/co/CoViewControllerTest.java

@@ -0,0 +1,56 @@
+package com.usoftchina.saas.ui.controller.co;
+
+import org.apache.http.config.Registry;
+import org.apache.http.config.RegistryBuilder;
+import org.apache.http.conn.socket.ConnectionSocketFactory;
+import org.apache.http.conn.socket.PlainConnectionSocketFactory;
+import org.apache.http.conn.ssl.NoopHostnameVerifier;
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
+import org.apache.http.ssl.SSLContextBuilder;
+import org.junit.Test;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.client.RestTemplate;
+
+import java.security.cert.X509Certificate;
+
+public class CoViewControllerTest {
+
+    public static RestTemplate buildRestTemplate() throws Exception {
+        HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
+        // https
+        SSLContextBuilder builder = new SSLContextBuilder();
+        builder.loadTrustMaterial(null, (X509Certificate[] x509Certificates, String s) -> true);
+        SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(builder.build(), new String[]{"SSLv2Hello", "SSLv3", "TLSv1", "TLSv1.2"}, null, NoopHostnameVerifier.INSTANCE);
+        Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create()
+                .register("http", new PlainConnectionSocketFactory())
+                .register("https", socketFactory).build();
+        PoolingHttpClientConnectionManager phccm = new PoolingHttpClientConnectionManager(registry);
+        phccm.setMaxTotal(200);
+        CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(socketFactory).setConnectionManager(phccm).setConnectionManagerShared(true).build();
+        factory.setHttpClient(httpClient);
+
+        return new RestTemplate(factory);
+    }
+
+    @Test
+    public void getViewConfig() throws Exception {
+        RestTemplate restTemplate = buildRestTemplate();
+        MultiValueMap headers = new LinkedMultiValueMap();
+        headers.add("Authorization", "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxMzkwNzk5Nzk5OSIsImFwcElkIjoidHJhZGUtYXBwIiwidXNlcklkIjo1NSwiY29tcGFueUlkIjoxLCJ1c2VyTmFtZSI6IjEzOTA3OTk3OTk5IiwicmVhbE5hbWUiOiJoZXkiLCJleHAiOjE1NDM4NDUyMDB9.eKN7UZTdFfAQLj_FB80ifxYu8nF_j-UQtKXSxPGA706iaJyIjR_LM_vbp-ZXx2GLBvZaH89o1qTUxleCCCepl27lvJPgyMqoZWW1YXDfO3hT25DEQoe8zzLH2Dd4GIj8jZ8zEMOhaFsvwMKWNqfCS6ML7pqfhoeoDihyZcv165s");
+        HttpEntity entity = new HttpEntity(headers);
+        ResponseEntity<String> result = restTemplate.exchange("http://192.168.0.174:8560/api/purchase/purchase/list",
+                HttpMethod.GET, entity, String.class);
+        if (result.getStatusCodeValue() == 200) {
+            System.out.println(result.getBody());
+        }
+    }
+
+}

+ 13 - 0
base-servers/zipkin-server/src/main/resources/config/application-docker-test.yml

@@ -0,0 +1,13 @@
+eureka:
+  instance:
+    hostname: saas-zipkin-server-test
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server-test:8515/eureka/
+zipkin:
+  collector:
+    rabbitmq:
+      uri: amqp://saas:select123***@192.168.0.176:5672/test
+server:
+  port: 8555

+ 9 - 0
base-servers/zipkin-server/src/main/resources/logback-spring.xml

@@ -103,6 +103,15 @@
         </root>
     </springProfile>
 
+    <springProfile name="docker-test">
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="com.usoftchina.saas" level="WARN"/>
+        <root level="WARN">
+            <appender-ref ref="CONSOLE_APPENDER"/>
+            <appender-ref ref="JSON_APPENDER"/>
+        </root>
+    </springProfile>
+
     <springProfile name="docker-prod">
         <logger name="org.springframework" level="WARN"/>
         <logger name="com.usoftchina.saas" level="WARN"/>

+ 15 - 46
frontend/saas-web/app/view/core/query/QueryGridPanel.js

@@ -9,9 +9,12 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
     requires: [
         'Ext.grid.plugin.Exporter'
     ],
-    plugins: {
-        gridexporter: true
-    },
+
+    plugins: [{
+        ptype: 'gridexporter',
+    }, {
+        ptype: 'menuclipboard'
+    }],
 
     idField:'',
     codeField:'',
@@ -58,26 +61,9 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
         }
 
         Ext.apply(me, {
-            actions: {
-                copy: {
-                    iconCls: 'x-fa fa-copy',
-                    text: '复制单元格',
-                    handler: function() {
-                        me.onCopy(me.selectedData);
-                    }
-                }
-            },
             viewConfig: {
                 deferEmptyText: false,
-                emptyText: '无数据',
-                listeners: {
-                    itemcontextmenu: function(view, rec, node, index, e) {
-                        e.stopEvent();
-                        me.getContextMenu().show().setLocalXY(e.getXY());
-                        me.selectedData = e.target.innerText;
-                        return false;
-                    }
-                }
+                emptyText: '无数据'
             },
             columns: me.initColumns(),
             store: Ext.create('Ext.data.Store', {
@@ -287,11 +273,19 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
                     // exportStyle: {
                     //     format: 'Medium Date'
                     // },
+                    copyRender: function(value) {
+                        return Ext.Date.format(new Date(value), 'Y-m-d');
+                    },
                     exportRenderer: function (value) {
                         return Ext.Date.format(new Date(value), 'Y-m-d');
                     }
                 })
             }
+            if(c.xtype == 'numbercolumn') {
+                Ext.applyIf(c, {
+                    align: 'end'
+                });
+            }
         });
 
         return columns;
@@ -422,29 +416,4 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
             });
 		return data;
     },
-
-    getContextMenu: function() {
-        var me = this;
-
-        return me.contextMenu || (me.contextMenu = me.add({
-            xtype: 'menu',
-            items: [
-                // Actions can be converted into MenuItems
-                '@copy',
-            ]
-        }));
-    },
-
-    onCopy: function(text) {
-		var target = Ext.DomHelper.append(document.body, {
-			tag: 'textarea',
-			style: 'opacity: 0;position: absolute;top: -10000px;right: 0;',
-			html: text
-		});
-		target.focus();
-		target.select();
-	    document.execCommand('Copy');
-	    target.blur();
-	    document.body.removeChild(target);
-	},
 });

+ 0 - 8
frontend/saas-web/app/view/core/query/QueryPanel.js

@@ -102,14 +102,6 @@ Ext.define('saas.view.core.query.QueryPanel', {
         
         var columns = queryGridConfig.baseColumn || [];
 
-        Ext.Array.each(columns, function(c) {
-            if(c.xtype == 'numbercolumn') {
-                Ext.applyIf(c, {
-                    align: 'end'
-                });
-            }
-        });
-
         if(columns[columns.length - 1].flex != 1) {
             columns.push({
                 flex: 1,

+ 5 - 0
frontend/saas-web/ext/packages/ux/src/plugin/MenuClipboard.js

@@ -133,6 +133,11 @@ Ext.define('Ext.ux.plugin.MenuClipboard', {
     getCellText : function(grid, td, record, column, dataIndex, cell) {
 		var v = record.get(dataIndex), cv;
 		v = v || cell.textContent;
+
+		if(typeof column.copyRender == 'function') {
+			return column.copyRender(v);
+		}
+
         if(Ext.isDate(v)) {
             cv = Ext.Date.format(v, column.format || Ext.Date.defaultFormat);
         }else if(Ext.isNumber(v)) {

+ 48 - 0
pom.xml

@@ -446,6 +446,54 @@
                 </pluginManagement>
             </build>
         </profile>
+        <profile>
+            <!-- mvn deploy -P docker-test -->
+            <id>docker-test</id>
+            <properties>
+                <docker.registry.name>saas/test</docker.registry.name>
+            </properties>
+            <build>
+                <pluginManagement>
+                    <plugins>
+                        <!-- Docker maven plugin -->
+                        <plugin>
+                            <groupId>com.spotify</groupId>
+                            <artifactId>docker-maven-plugin</artifactId>
+                            <version>1.0.0</version>
+                            <configuration>
+                                <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
+                                <registryUrl>${docker.repository}</registryUrl>
+                                <pushImage>true</pushImage>
+                                <forceTags>true</forceTags>
+                                <imageName>
+                                    ${docker.repository}/${docker.registry.name}/${project.artifactId}:${project.version}
+                                </imageName>
+                                <imageTags>
+                                    <imageTag>latest</imageTag>
+                                </imageTags>
+                                <resources>
+                                    <resource>
+                                        <targetPath>/</targetPath>
+                                        <directory>${project.build.directory}</directory>
+                                        <include>${project.build.finalName}.jar</include>
+                                    </resource>
+                                </resources>
+                            </configuration>
+                            <executions>
+                                <execution>
+                                    <id>build-image</id>
+                                    <phase>package</phase>
+                                    <goals>
+                                        <goal>build</goal>
+                                    </goals>
+                                </execution>
+                            </executions>
+                        </plugin>
+                        <!-- Docker maven plugin -->
+                    </plugins>
+                </pluginManagement>
+            </build>
+        </profile>
         <profile>
             <!-- mvn deploy -P docker-prod -->
             <id>docker-prod</id>