Browse Source

解决java错误

yucheng 3 years ago
parent
commit
cad36cce8c

+ 4 - 0
message-center/build.gradle

@@ -103,6 +103,10 @@ dependencies {
     compile group: "com.persagy", name: "persagy-service-base", version: PERSAGY_SERVICE_VERSION
     compile group: "com.persagy", name: "persagy-service-mybatis", version: PERSAGY_SERVICE_VERSION
     compile group: "com.persagy", name: "persagy-service-mysql", version: PERSAGY_SERVICE_VERSION
+    compile group: "com.persagy", name: "dmp-digital-starter", version: DIGITAL_START_VERSION
+
+    // spring cloud 依赖
+    compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-netflix-eureka-client', version:  SPRING_CLOUD_CONFIG_VERSION
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     // 数据中心依赖

+ 48 - 12
message-center/src/main/kotlin/com/persagy/server/messagecenter/controllers/MessageController.kt

@@ -26,11 +26,18 @@
 
 package com.persagy.server.messagecenter.controllers
 
+import cn.hutool.core.collection.CollUtil
+import com.fasterxml.jackson.databind.node.JsonNodeFactory
+import com.fasterxml.jackson.databind.node.ObjectNode
 import com.persagy.base.extensions.toJson
+import com.persagy.dmp.basic.model.QueryCriteria
+import com.persagy.dmp.basic.utils.JsonNodeUtils
+import com.persagy.dmp.digital.client.DigitalObjectFacade
 import com.persagy.server.messagecenter.models.entities.Message
+import com.persagy.server.messagecenter.models.entities.Project
 import com.persagy.server.messagecenter.models.request.MessageRequest
 import com.persagy.server.messagecenter.services.MessageService
-import com.persagy.server.messagecenter.services.activemq.JMSProducer
+import com.persagy.service.SPageContext
 import com.persagy.service.models.requests.SCountRequest
 import com.persagy.service.models.requests.SQueryRequest
 import com.persagy.service.models.requests.SUpdateRequest
@@ -40,9 +47,7 @@ import com.persagy.service.models.responses.SCreateResponse
 import com.persagy.service.models.responses.SQueryResponse
 import io.swagger.v3.oas.annotations.Operation
 import io.swagger.v3.oas.annotations.tags.Tag
-import org.apache.activemq.command.ActiveMQTopic
 import org.slf4j.LoggerFactory
-import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.web.bind.annotation.PostMapping
 import org.springframework.web.bind.annotation.RequestBody
 import org.springframework.web.bind.annotation.RequestMapping
@@ -75,15 +80,46 @@ open class MessageController {
     @PostMapping(value = ["/page-query"])
     fun pageQuery(@RequestBody request: SQueryRequest): SQueryResponse<Message> {
         logger.debug("MessageQuery =${request.toJson()}")
-//        val projectId = SPageContext.getHeader("projectId");
-//
-//        if(projectId != null){
-//            val withFilterList = ArrayList<SFilter>()
-//            withFilterList.add(SFilter.eq("projectId",projectId ))
-//
-//            return MessageService.pageQuery(request,withFilterList)
-//        }
-        return MessageService.pageQuery(request)
+        val response = MessageService.pageQuery(request)
+        if(response == null || response!!.content.isNullOrEmpty()) {
+            return response
+        }
+        val content = response.content
+        val ids = content!!.mapNotNull { it.projectId }
+//        val ids = CollUtil.getFieldValues(response.content, "projectId", String.Companion.javaClass)
+        if(ids == null || ids!!.isNullOrEmpty()) {
+            return response
+        }
+        val idSet = HashSet<String>()
+        idSet.addAll(ids)
+        val cond = QueryCriteria();
+        cond.criteria = JsonNodeFactory.instance.objectNode()
+        val arrayNode = cond.criteria.putArray("id")
+        for(id in idSet) {
+            arrayNode.add(id)
+        }
+        cond.criteria.put("classCode", "project")
+        val projects = DigitalObjectFacade.query(SPageContext.getHeader("groupCode"), null,
+                SPageContext.getHeader("appId"), SPageContext.getHeader("userId"), cond)
+        if(projects == null || projects!!.isNullOrEmpty()) {
+            return response
+        }
+        val projectMap = HashMap<String, ObjectNode>()
+        for(project in projects) {
+            projectMap[project.get("id").textValue()] = project
+        }
+        for(message in content!!) {
+            val project = projectMap[message.projectId]
+            if(project == null) {
+                continue;
+            }
+            val pro = Project();
+            pro.id = project.get("id")!!.textValue()
+            pro.groupCode = project.get("groupCode")!!.textValue();
+            pro.name = project.get("name")!!.textValue();
+            message.project = arrayListOf(pro)
+        }
+        return response
 
     }
 

+ 3 - 2
message-center/src/main/resources/application-dev.yml

@@ -4,7 +4,7 @@ eureka:
   client:                                   #客户端注册进eureka服务列表内
     service-url:
       #       defaultZone:                          http://192.168.20.235:8080/cloud-center/eureka
-      defaultZone:                          http://127.0.0.1:8761/eureka
+      defaultZone:                          http://frame:123456@39.105.112.36/integrated-eureka/eureka/
   instance:
     # 实例ID
     # instance-id:                            ${spring.application.name}:${server.port}:${project.version}
@@ -45,7 +45,8 @@ spring:
     multipart:
       max-request-size:                500MB        # 限制上传的多个文件的总大小
       max-file-size:                   500MB        # 限制单个文件的最大值
-
+  main:
+    allow-bean-definition-overriding: true
   kafka:
     bootstrap-servers:                      192.168.20.236:9092
 #    bootstrap-servers:                      127.0.0.1:9092

+ 31 - 30
message-center/src/main/resources/application.yml

@@ -2,36 +2,37 @@ server:
   port: 8080
 
 spring:
-    application:
-      name:                               message-center
-    mvc:
-      favicon:
-        enabled:                          true
-
-    jmx:
-      default-domain:                     message-center
-
-
-    datasource:
-      name:                               message-center
-      type:                               com.alibaba.druid.pool.DruidDataSource
-      driver-class-name:                  com.mysql.cj.jdbc.Driver
-      url:                                jdbc:mysql://rm-2ze20ntn5y9ljsx147o.mysql.rds.aliyuncs.com:3306/message?allowMultiQueries=true&serverTimezone=UTC&useUnicode=true&useSSL=false&characterEncoding=UTF-8
-      username:                           root
-      password:                           zVmW58LaAtjIKbb
-
-    jackson:
-      date-format:                        yyyy-MM-dd HH:mm:ss
-      time-zone:                          Asia/Shanghai
-      default-property-inclusion:         non_null
-      # 首字母大写
-      property-naming-strategy:           com.fasterxml.jackson.databind.PropertyNamingStrategy.PascalCaseStrategy
-      # 以下划线分隔全小写的单词
-      #property-naming-strategy:           com.fasterxml.jackson.databind.PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy
-      mapper:
-        # 属性按字母顺序输出
-        sort_properties_alphabetically:   true
-
+  application:
+    name:                               message-center
+  mvc:
+    favicon:
+      enabled:                          true
+
+  jmx:
+    default-domain:                     message-center
+
+
+  datasource:
+    name:                               message-center
+    type:                               com.alibaba.druid.pool.DruidDataSource
+    driver-class-name:                  com.mysql.cj.jdbc.Driver
+    url:                                jdbc:mysql://rm-2ze20ntn5y9ljsx147o.mysql.rds.aliyuncs.com:3306/message?allowMultiQueries=true&serverTimezone=UTC&useUnicode=true&useSSL=false&characterEncoding=UTF-8
+    username:                           root
+    password:                           zVmW58LaAtjIKbb
+
+  jackson:
+    date-format:                        yyyy-MM-dd HH:mm:ss
+    time-zone:                          Asia/Shanghai
+    default-property-inclusion:         non_null
+    # 首字母大写
+    #property-naming-strategy:           com.fasterxml.jackson.databind.PropertyNamingStrategy.PascalCaseStrategy
+    # 以下划线分隔全小写的单词
+    #property-naming-strategy:           com.fasterxml.jackson.databind.PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy
+    mapper:
+      # 属性按字母顺序输出
+      sort_properties_alphabetically:   true
+  main:
+    allow-bean-definition-overriding: true
 #    activemq:
 #      broker-url:                         tcp://192.168.64.14:61616
 #      in-memory:                          true