Browse Source

Merge branch 'dev' of ssh://10.10.100.21/source/saas-platform into dev

hy 7 years ago
parent
commit
73d62bcf0f
30 changed files with 163 additions and 24 deletions
  1. 5 1
      applications/commons/commons-server/pom.xml
  2. 2 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/CommonsApplication.java
  3. 4 0
      applications/document/document-server/pom.xml
  4. 2 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/DocumentApplication.java
  5. 4 0
      applications/money/money-server/pom.xml
  6. 2 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/MoneyApplicatiion.java
  7. 4 0
      applications/sale/sale-server/pom.xml
  8. 2 0
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/SaleApplication.java
  9. 4 0
      applications/storage/storage-server/pom.xml
  10. 2 0
      applications/storage/storage-server/src/main/java/com/usoftchina/saas/storage/StorageApplication.java
  11. 3 2
      base-servers/auth/auth-server/src/main/java/com/usoftchina/saas/auth/controller/AuthController.java
  12. 4 9
      base-servers/socket/socket-api/src/main/java/com/usoftchina/saas/socket/api/SocketMessageApi.java
  13. 60 0
      base-servers/socket/socket-api/src/main/java/com/usoftchina/saas/socket/dto/ClientMessage.java
  14. 4 0
      base-servers/socket/socket-server/pom.xml
  15. 14 8
      base-servers/socket/socket-server/src/main/java/com/usoftchina/saas/socket/controller/MessageController.java
  16. 1 0
      framework/core/src/main/java/com/usoftchina/saas/exception/ExceptionCode.java
  17. 5 2
      frontend/saas-web/app/view/core/dbfind/types/AccountDbfindTrigger.js
  18. 3 0
      frontend/saas-web/app/view/core/dbfind/types/BankInfoDbfindTrigger.js
  19. 3 0
      frontend/saas-web/app/view/core/dbfind/types/BomDbfindTrigger.js
  20. 3 0
      frontend/saas-web/app/view/core/dbfind/types/CustomerDbfindTrigger.js
  21. 3 0
      frontend/saas-web/app/view/core/dbfind/types/EmployeeDbfindTrigger.js
  22. 3 0
      frontend/saas-web/app/view/core/dbfind/types/OriOrderMutiDbfindTrigger.js
  23. 3 0
      frontend/saas-web/app/view/core/dbfind/types/ProductAddMultiDbfindTrigger.js
  24. 3 0
      frontend/saas-web/app/view/core/dbfind/types/ProductDbfindTrigger.js
  25. 3 0
      frontend/saas-web/app/view/core/dbfind/types/ProductMultiDbfindTrigger.js
  26. 3 0
      frontend/saas-web/app/view/core/dbfind/types/VendorDbfindTrigger.js
  27. 3 0
      frontend/saas-web/app/view/core/dbfind/types/WarehouseDbfindTrigger.js
  28. 2 1
      frontend/saas-web/app/view/money/report/PayDetail.js
  29. 2 1
      frontend/saas-web/app/view/money/report/RecDetail.js
  30. 7 0
      pom.xml

+ 5 - 1
applications/commons/commons-server/pom.xml

@@ -66,10 +66,14 @@
             <scope>test</scope>
         </dependency>
 
+        <dependency>
+            <groupId>com.usoftchina.saas</groupId>
+            <artifactId>datacenter-client</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>org.apache.poi</groupId>
             <artifactId>poi-ooxml</artifactId>
-            <version>3.17</version>
         </dependency>
     </dependencies>
 

+ 2 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/CommonsApplication.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.commons;
 
 import com.usoftchina.saas.auth.client.EnableAuthClient;
+import com.usoftchina.saas.server.jdbc.EnableDynamicDataSource;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -15,6 +16,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
 @SpringBootApplication
 @EnableEurekaClient
 @EnableTransactionManagement
+@EnableDynamicDataSource
 @EnableFeignClients("com.usoftchina.saas")
 @MapperScan("com.usoftchina.saas.commons.mapper")
 @EnableAuthClient

+ 4 - 0
applications/document/document-server/pom.xml

@@ -79,6 +79,10 @@
             <groupId>com.usoftchina.saas</groupId>
             <artifactId>account-dto</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.usoftchina.saas</groupId>
+            <artifactId>datacenter-client</artifactId>
+        </dependency>
     </dependencies>
 
     <build>

+ 2 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/DocumentApplication.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.document;
 
 import com.usoftchina.saas.auth.client.EnableAuthClient;
+import com.usoftchina.saas.server.jdbc.EnableDynamicDataSource;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -14,6 +15,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
 @EnableTransactionManagement
 @EnableFeignClients("com.usoftchina.saas")
 @MapperScan("com.usoftchina.saas.document.mapper")
+@EnableDynamicDataSource
 public class DocumentApplication {
     public static void main(String[] args) {
         SpringApplication.run(DocumentApplication.class, args);

+ 4 - 0
applications/money/money-server/pom.xml

@@ -11,6 +11,10 @@
 
     <artifactId>money-server</artifactId>
     <dependencies>
+        <dependency>
+            <groupId>com.usoftchina.saas</groupId>
+            <artifactId>datacenter-client</artifactId>
+        </dependency>
         <dependency>
             <groupId>com.usoftchina.saas</groupId>
             <artifactId>server-starter</artifactId>

+ 2 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/MoneyApplicatiion.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.money;
 
 import com.usoftchina.saas.auth.client.EnableAuthClient;
+import com.usoftchina.saas.server.jdbc.EnableDynamicDataSource;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -19,6 +20,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
 @EnableFeignClients("com.usoftchina.saas")
 @EnableAuthClient
 @MapperScan("com.usoftchina.saas.money.mapper")
+@EnableDynamicDataSource
 public class MoneyApplicatiion {
     public static void main(String[] args) {
         SpringApplication.run(MoneyApplicatiion.class, args);

+ 4 - 0
applications/sale/sale-server/pom.xml

@@ -12,6 +12,10 @@
     <artifactId>sale-server</artifactId>
     
     <dependencies>
+        <dependency>
+            <groupId>com.usoftchina.saas</groupId>
+            <artifactId>datacenter-client</artifactId>
+        </dependency>
         <dependency>
             <groupId>com.usoftchina.saas</groupId>
             <artifactId>sale-dto</artifactId>

+ 2 - 0
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/SaleApplication.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.sale;
 
 import com.usoftchina.saas.auth.client.EnableAuthClient;
+import com.usoftchina.saas.server.jdbc.EnableDynamicDataSource;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -17,6 +18,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
 @EnableEurekaClient
 @EnableFeignClients("com.usoftchina.saas")
 @EnableAuthClient
+@EnableDynamicDataSource
 public class SaleApplication  {
     public static void main(String[] args) {
         SpringApplication.run(SaleApplication.class, args);

+ 4 - 0
applications/storage/storage-server/pom.xml

@@ -12,6 +12,10 @@
     <artifactId>storage-server</artifactId>
 
     <dependencies>
+        <dependency>
+            <groupId>com.usoftchina.saas</groupId>
+            <artifactId>datacenter-client</artifactId>
+        </dependency>
         <dependency>
             <groupId>com.usoftchina.saas</groupId>
             <artifactId>document-api</artifactId>

+ 2 - 0
applications/storage/storage-server/src/main/java/com/usoftchina/saas/storage/StorageApplication.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.storage;
 
 import com.usoftchina.saas.auth.client.EnableAuthClient;
+import com.usoftchina.saas.server.jdbc.EnableDynamicDataSource;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -14,6 +15,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
 @EnableTransactionManagement
 @EnableFeignClients("com.usoftchina.saas")
 @MapperScan("com.usoftchina.saas.storage.mapper")
+@EnableDynamicDataSource
 public class StorageApplication {
 
     public static void main(String[] args) {

+ 3 - 2
base-servers/auth/auth-server/src/main/java/com/usoftchina/saas/auth/controller/AuthController.java

@@ -25,6 +25,7 @@ import com.usoftchina.saas.page.PageDefault;
 import com.usoftchina.saas.page.PageRequest;
 import com.usoftchina.saas.server.web.ServletUtils;
 import com.usoftchina.saas.socket.api.SocketMessageApi;
+import com.usoftchina.saas.socket.dto.ClientMessage;
 import com.usoftchina.saas.utils.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -261,8 +262,8 @@ public class AuthController {
                 JwtInfo jwtInfo = new JwtInfo(appId, companyId, accountDTO.getId(), accountDTO.getUsername(), accountDTO.getRealname());
                 JwtToken jwtToken = JwtHelper.generateToken(jwtInfo, privateKeyPath, expire);
                 TokenDTO tokenDTO = BeanMapper.map(jwtToken, TokenDTO.class);
-                socketMessageApi.sendToClient(clientId, "/sso/callback",
-                        JsonUtils.toJsonString(new AuthDTO(tokenDTO, accountDTO)));
+                socketMessageApi.sendToClient(new ClientMessage(clientId, "/sso/callback",
+                        JsonUtils.toJsonString(new AuthDTO(tokenDTO, accountDTO))));
             }
             ServletUtils.writeJsonPMessage(response, callback, true);
         }

+ 4 - 9
base-servers/socket/socket-api/src/main/java/com/usoftchina/saas/socket/api/SocketMessageApi.java

@@ -1,9 +1,10 @@
 package com.usoftchina.saas.socket.api;
 
 import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.socket.dto.ClientMessage;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RequestBody;
 
 /**
  * @author yingp
@@ -14,24 +15,18 @@ public interface SocketMessageApi {
     /**
      * 发送信息给指定用户
      *
-     * @param clientId
-     * @param dest
      * @param message
      * @return
      */
     @PostMapping("/message/clients")
-    Result sendToClient(@RequestParam("clientId") String clientId,
-                        @RequestParam(value = "dest", required = false) String dest,
-                        @RequestParam("message") String message);
+    Result sendToClient(@RequestBody ClientMessage message);
 
     /**
      * 广播信息
      *
-     * @param dest
      * @param message
      * @return
      */
     @PostMapping("/message/clients/all")
-    Result sendToAllClients(@RequestParam(value = "dest", required = false) String dest,
-                            @RequestParam("message") String message);
+    Result sendToAllClients(@RequestBody ClientMessage message);
 }

+ 60 - 0
base-servers/socket/socket-api/src/main/java/com/usoftchina/saas/socket/dto/ClientMessage.java

@@ -0,0 +1,60 @@
+package com.usoftchina.saas.socket.dto;
+
+import java.io.Serializable;
+
+/**
+ * @author yingp
+ * @date 2018/12/12
+ */
+public class ClientMessage implements Serializable{
+    /**
+     * 客户端ID
+     */
+    private String clientId;
+    /**
+     * destination
+     */
+    private String dest;
+    /**
+     * 消息内容
+     */
+    private String message;
+
+    public ClientMessage() {
+    }
+
+    public ClientMessage(String dest, String message) {
+        this.dest = dest;
+        this.message = message;
+    }
+
+    public ClientMessage(String clientId, String dest, String message) {
+        this.clientId = clientId;
+        this.dest = dest;
+        this.message = message;
+    }
+
+    public String getClientId() {
+        return clientId;
+    }
+
+    public void setClientId(String clientId) {
+        this.clientId = clientId;
+    }
+
+    public String getDest() {
+        return dest;
+    }
+
+    public void setDest(String dest) {
+        this.dest = dest;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+}

+ 4 - 0
base-servers/socket/socket-server/pom.xml

@@ -35,6 +35,10 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-websocket</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.usoftchina.saas</groupId>
+            <artifactId>socket-api</artifactId>
+        </dependency>
     </dependencies>
     <build>
         <plugins>

+ 14 - 8
base-servers/socket/socket-server/src/main/java/com/usoftchina/saas/socket/controller/MessageController.java

@@ -1,6 +1,10 @@
 package com.usoftchina.saas.socket.controller;
 
 import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.exception.ExceptionCode;
+import com.usoftchina.saas.socket.api.SocketMessageApi;
+import com.usoftchina.saas.socket.dto.ClientMessage;
+import com.usoftchina.saas.utils.BizAssert;
 import org.springframework.messaging.simp.SimpMessagingTemplate;
 import org.springframework.web.bind.annotation.*;
 
@@ -12,7 +16,7 @@ import javax.annotation.Resource;
  */
 @RestController
 @RequestMapping("/message")
-public class MessageController {
+public class MessageController implements SocketMessageApi{
 
     @Resource
     private SimpMessagingTemplate simpMessagingTemplate;
@@ -20,39 +24,41 @@ public class MessageController {
     /**
      * 发送信息给指定用户
      *
-     * @param clientId
-     * @param dest
      * @param message
      * @return
      */
+    @Override
     @PostMapping("/clients")
-    public Result sendToClient(@RequestParam String clientId, String dest, @RequestParam String message) {
+    public Result sendToClient(@RequestBody ClientMessage message) {
+        BizAssert.hasText(message.getClientId(), ExceptionCode.ILLEGAL_ARGUMENTS);
+        BizAssert.hasText(message.getDest(), ExceptionCode.ILLEGAL_ARGUMENTS);
         /**
          * 前端使用
          * <pre>
          *     stomp.subscribe('/clients/{clientId}/{dest}', function(message){});
          * </pre>
          */
-        simpMessagingTemplate.convertAndSendToUser(clientId, dest, message);
+        simpMessagingTemplate.convertAndSendToUser(message.getClientId(), message.getDest(), message.getMessage());
         return Result.success();
     }
 
     /**
      * 广播信息
      *
-     * @param dest
      * @param message
      * @return
      */
+    @Override
     @PostMapping("/clients/all")
-    public Result sendToAllClients(String dest, @RequestParam String message) {
+    public Result sendToAllClients(@RequestBody ClientMessage message) {
+        BizAssert.hasText(message.getDest(), ExceptionCode.ILLEGAL_ARGUMENTS);
         /**
          * 前端使用
          * <pre>
          *     stomp.subscribe('/clients/{dest}', function(message){});
          * </pre>
          */
-        simpMessagingTemplate.convertAndSend(dest, message);
+        simpMessagingTemplate.convertAndSend(message.getDest(), message.getMessage());
         return Result.success();
     }
 }

+ 1 - 0
framework/core/src/main/java/com/usoftchina/saas/exception/ExceptionCode.java

@@ -10,6 +10,7 @@ public enum ExceptionCode implements BaseExceptionCode {
     SYSTEM_TIMEOUT(-2, "系统超时,请稍候再试"),
 
     INVALID_DEFAULT_PAGE(10001, "无效默认分页参数"),
+    ILLEGAL_ARGUMENTS(20001, "参数错误"),
     // jwt token 相关 start
     // 过期
     JWT_TOKEN_EXPIRED(40001, "token超时,请检查 token 的有效期"),

+ 5 - 2
frontend/saas-web/app/view/core/dbfind/types/AccountDbfindTrigger.js

@@ -15,7 +15,7 @@ Ext.define('saas.view.core.dbfind.types.AccountDbfindTrigger', {
     }],
     defaultCondition: "d.status=1",
     dbSearchFields:[{
-        emptyText:'输入账户名称或真实姓名',
+        emptyText:'输入账户名称或姓名',
         xtype : "textfield", 
         name : "search", 
         getCondition: function(v) {
@@ -34,7 +34,7 @@ Ext.define('saas.view.core.dbfind.types.AccountDbfindTrigger', {
     },{
         text: "账号名称",
         dataIndex: "username",
-        hidden:true
+        // hidden:true
     }, {
         text: "姓名",
         dataIndex: "realname",
@@ -51,6 +51,9 @@ Ext.define('saas.view.core.dbfind.types.AccountDbfindTrigger', {
         text: "岗位角色",
         dataIndex: "roleNames",
         width: 200
+    }, {
+        dataIndex: "",
+        flex: 1
     }]
 
 });

+ 3 - 0
frontend/saas-web/app/view/core/dbfind/types/BankInfoDbfindTrigger.js

@@ -56,5 +56,8 @@ Ext.define('saas.view.core.dbfind.types.BankInfoDbfindTrigger', {
         xtype: "datecolumn",
         dataIndex: "bk_date",
         width: 110
+    }, {
+        dataIndex: '',
+        flex: 1
     }]
 });

+ 3 - 0
frontend/saas-web/app/view/core/dbfind/types/BomDbfindTrigger.js

@@ -52,6 +52,9 @@ Ext.define('saas.view.core.dbfind.types.BomDbfindTrigger', {
         text: "版本",
         width: 80,
         dataIndex: "bo_version"
+    }, {
+        dataIndex: '',
+        flex: 1
     }]
 
 });

+ 3 - 0
frontend/saas-web/app/view/core/dbfind/types/CustomerDbfindTrigger.js

@@ -68,6 +68,9 @@ Ext.define('saas.view.core.dbfind.types.CustomerDbfindTrigger', {
         text: "备注",
         dataIndex: "cu_remark",
         width: 250
+    }, {
+        dataIndex: '',
+        flex: 1
     }]
 
 });

+ 3 - 0
frontend/saas-web/app/view/core/dbfind/types/EmployeeDbfindTrigger.js

@@ -53,6 +53,9 @@ Ext.define('saas.view.core.dbfind.types.EmployeeDbfindTrigger', {
         text: "邮箱",
         dataIndex: "em_email",
         width: 180
+    }, {
+        dataIndex: '',
+        flex: 1
     }]
 
 });

+ 3 - 0
frontend/saas-web/app/view/core/dbfind/types/OriOrderMutiDbfindTrigger.js

@@ -56,5 +56,8 @@ Ext.define('saas.view.core.dbfind.types.OriOrderMutiDbfindTrigger', {
         "dataIndex": "sl_date",
         "width": 110,
         xtype: 'datecolumn'
+    }, {
+        dataIndex: '',
+        flex: 1
     }]
 });

+ 3 - 0
frontend/saas-web/app/view/core/dbfind/types/ProductAddMultiDbfindTrigger.js

@@ -100,6 +100,9 @@ Ext.define('saas.view.core.dbfind.types.ProductAddMultiDbfindTrigger', {
         dataIndex: "pr_saleprice",
         xtype: 'numbercolumn',
         hidden:true
+    }, {
+        dataIndex: '',
+        flex: 1
     }]
 
 });

+ 3 - 0
frontend/saas-web/app/view/core/dbfind/types/ProductDbfindTrigger.js

@@ -100,5 +100,8 @@ Ext.define('saas.view.core.dbfind.types.ProductDbfindTrigger', {
         dataIndex: "po_avprice",
         xtype: 'numbercolumn',
         hidden:true
+    }, {
+        dataIndex: '',
+        flex: 1
     }]
 });

+ 3 - 0
frontend/saas-web/app/view/core/dbfind/types/ProductMultiDbfindTrigger.js

@@ -107,6 +107,9 @@ Ext.define('saas.view.core.dbfind.types.ProductMultiDbfindTrigger', {
         dataIndex: "po_avprice",
         xtype: 'numbercolumn',
         hidden:true
+    }, {
+        dataIndex: '',
+        flex: 1
     }]
 
 });

+ 3 - 0
frontend/saas-web/app/view/core/dbfind/types/VendorDbfindTrigger.js

@@ -68,6 +68,9 @@ Ext.define('saas.view.core.dbfind.types.VendorDbfindTrigger', {
         text: "备注",
         dataIndex: "ve_remark",
         width: 250
+    }, {
+        dataIndex: '',
+        flex: 1
     }]
 
 });

+ 3 - 0
frontend/saas-web/app/view/core/dbfind/types/WarehouseDbfindTrigger.js

@@ -44,6 +44,9 @@ Ext.define('saas.view.core.dbfind.types.WarehouseDbfindTrigger', {
         text: "仓库类型",
         dataIndex: "wh_type",
         width: 110
+    }, {
+        dataIndex: '',
+        flex: 1
     }],
 
     onAddClick: function() {

+ 2 - 1
frontend/saas-web/app/view/money/report/PayDetail.js

@@ -129,8 +129,9 @@ Ext.define('saas.view.money.report.PayDetail', {
                 var d = data[i];
                 var n = Number(d[dataIndex]);
                 var v = isNaN(n) ? 0 : n;
+                var gv = d[groupField];
 
-                lasts[groupField] = v;
+                lasts[gv] = v;
             }
 
             keys = Ext.Object.getAllKeys(lasts);

+ 2 - 1
frontend/saas-web/app/view/money/report/RecDetail.js

@@ -137,8 +137,9 @@ Ext.define('saas.view.money.report.RecDetail', {
                 var d = data[i];
                 var n = Number(d[dataIndex]);
                 var v = isNaN(n) ? 0 : n;
+                var gv = d[groupField];
 
-                lasts[groupField] = v;
+                lasts[gv] = v;
             }
 
             keys = Ext.Object.getAllKeys(lasts);

+ 7 - 0
pom.xml

@@ -43,6 +43,7 @@
         <docker.registry.name>saas</docker.registry.name>
         <guava.version>18.0</guava.version>
         <fastdfs.client.version>1.26.3</fastdfs.client.version>
+        <poi.version>3.17</poi.version>
     </properties>
 
     <repositories>
@@ -371,6 +372,12 @@
                 <artifactId>commons-compress</artifactId>
                 <version>${commons.compress.version}</version>
             </dependency>
+            <!--excel-->
+            <dependency>
+                <groupId>org.apache.poi</groupId>
+                <artifactId>poi-ooxml</artifactId>
+                <version>${poi.version}</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>