Bläddra i källkod

合并:合并legend服务的代码

lijie 3 år sedan
förälder
incheckning
b0081ffcf6
43 ändrade filer med 1257 tillägg och 79 borttagningar
  1. 7 6
      meiku/build.gradle
  2. 3 3
      meiku/src/main/kotlin/com/persagy/meiku/MeiKuApp.kt
  3. 1 1
      meiku/src/main/kotlin/com/persagy/meiku/Swagger3Config.kt
  4. 3 5
      meiku/src/main/kotlin/com/persagy/meiku/WebMvcConfg.kt
  5. 92 0
      meiku/src/main/kotlin/com/persagy/legend/controller/LegendIconController.kt
  6. 82 0
      meiku/src/main/kotlin/com/persagy/legend/controller/LegendOutlineController.kt
  7. 82 0
      meiku/src/main/kotlin/com/persagy/legend/controller/LegendPipeController.kt
  8. 75 0
      meiku/src/main/kotlin/com/persagy/legend/controller/LegendPipelineController.kt
  9. 24 0
      meiku/src/main/kotlin/com/persagy/legend/models/entities/Anchor.kt
  10. 106 0
      meiku/src/main/kotlin/com/persagy/legend/models/entities/DefClass.kt
  11. 42 0
      meiku/src/main/kotlin/com/persagy/legend/models/entities/InfoPoint.kt
  12. 40 0
      meiku/src/main/kotlin/com/persagy/legend/models/entities/Legend.kt
  13. 71 0
      meiku/src/main/kotlin/com/persagy/legend/models/entities/LegendIcon.kt
  14. 45 0
      meiku/src/main/kotlin/com/persagy/legend/models/entities/LegendOutline.kt
  15. 55 0
      meiku/src/main/kotlin/com/persagy/legend/models/entities/LegendPipe.kt
  16. 41 0
      meiku/src/main/kotlin/com/persagy/legend/models/entities/PipelineCategory.kt
  17. 25 0
      meiku/src/main/kotlin/com/persagy/legend/models/entities/Pos.kt
  18. 46 0
      meiku/src/main/kotlin/com/persagy/legend/models/entities/State.kt
  19. 31 0
      meiku/src/main/kotlin/com/persagy/legend/models/response/SCommonResponse.kt
  20. 98 0
      meiku/src/main/kotlin/com/persagy/legend/services/LegendIconService.kt
  21. 66 0
      meiku/src/main/kotlin/com/persagy/legend/services/LegendOutlineService.kt
  22. 66 0
      meiku/src/main/kotlin/com/persagy/legend/services/LegendPipeService.kt
  23. 28 0
      meiku/src/main/kotlin/com/persagy/legend/services/LegendStateService.kt
  24. 64 0
      meiku/src/main/kotlin/com/persagy/legend/services/PipelineCategoryService.kt
  25. 8 8
      meiku/src/main/kotlin/com/persagy/meiku/controller/MeiKuAnchorController.kt
  26. 6 6
      meiku/src/main/kotlin/com/persagy/meiku/controller/MeiKuController.kt
  27. 8 8
      meiku/src/main/kotlin/com/persagy/meiku/controller/MeiKuStateController.kt
  28. 5 5
      meiku/src/main/kotlin/com/persagy/meiku/controller/PictureController.kt
  29. 5 6
      meiku/src/main/kotlin/com/persagy/meiku/controller/PipelineController.kt
  30. 4 1
      meiku/src/main/kotlin/com/persagy/meiku/controller/UmlController.kt
  31. 2 2
      meiku/src/main/kotlin/com/persagy/meiku/models/entities/MeiKu.kt
  32. 1 1
      meiku/src/main/kotlin/com/persagy/meiku/models/entities/MeiKuAnchor.kt
  33. 1 1
      meiku/src/main/kotlin/com/persagy/meiku/models/entities/MeiKuState.kt
  34. 1 1
      meiku/src/main/kotlin/com/persagy/meiku/models/entities/ObjectCategory.kt
  35. 1 1
      meiku/src/main/kotlin/com/persagy/meiku/models/entities/PipelineCategory.kt
  36. 1 1
      meiku/src/main/kotlin/com/persagy/meiku/models/pic/Picture.kt
  37. 1 1
      meiku/src/main/kotlin/com/persagy/meiku/models/response/SCommonResponse.kt
  38. 2 2
      meiku/src/main/kotlin/com/persagy/meiku/services/MeiKuAnchorService.kt
  39. 6 6
      meiku/src/main/kotlin/com/persagy/meiku/services/MeiKuService.kt
  40. 2 2
      meiku/src/main/kotlin/com/persagy/meiku/services/MeiKuStateService.kt
  41. 6 8
      meiku/src/main/kotlin/com/persagy/meiku/services/PipelineCategoryService.kt
  42. 3 3
      meiku/src/main/kotlin/com/persagy/meiku/services/pic/PictureService.kt
  43. 1 1
      meiku/src/main/resources/application.yml

+ 7 - 6
meiku/build.gradle

@@ -82,12 +82,13 @@ dependencies {
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     // persagy依赖
-    compile group: "com.persagy", name: "persagy-kotlin-base", version: PERSAGY_KOTLIN_VERSION
-    compile group: "com.persagy", name: "persagy-kotlin-database", version: PERSAGY_KOTLIN_VERSION
-    compile group: "com.persagy", name: "persagy-kotlin-mybatis", version: PERSAGY_KOTLIN_VERSION
-    compile group: "com.persagy", name: "persagy-kotlin-mysql", version: PERSAGY_KOTLIN_VERSION
-    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: "cn.sagacloud", name: "saga-kotlin-base", version: SYBOTAN_KOTLIN_VERSION
+    compile group: "cn.sagacloud", name: "saga-kotlin-database", version: SYBOTAN_KOTLIN_VERSION
+    compile group: "cn.sagacloud", name: "saga-kotlin-mybatis", version: SYBOTAN_KOTLIN_VERSION
+    compile group: "cn.sagacloud", name: "saga-kotlin-mysql", version: SYBOTAN_KOTLIN_VERSION
+    compile group: "cn.sagacloud", name: "saga-service-base", version: SYBOTAN_SERVICE_VERSION
+    compile group: "cn.sagacloud", name: "saga-service-mybatis", version: SYBOTAN_SERVICE_VERSION
+    compile group: "cn.sagacloud", name: "saga-service-mysql", version: SYBOTAN_SERVICE_VERSION
 
     // TestNG 测试框架
     compile group: "org.testng", name: "testng", version: TESTNG_VERSION

+ 3 - 3
meiku/src/main/kotlin/com/persagy/meiku/MeiKuApp.kt

@@ -18,7 +18,7 @@
  * ********************************************************************************************************************
  */
 
-package com.persagy.meiku
+package com.persagy
 
 import org.mybatis.spring.annotation.MapperScan
 import org.slf4j.LoggerFactory
@@ -34,8 +34,8 @@ import org.springframework.context.annotation.ComponentScan
  *
  * @author  Andy
  */
-@ComponentScan(basePackages = ["com.persagy", "com.persagy.meiku"])           // 配置组件扫描路径
-@MapperScan("com.persagy", "com.persagy.meiku")                       // Mapper组件扫描路径
+@ComponentScan(basePackages = ["com.persagy", "com.persagy.meiku", "com.persagy.legend", "com.sybotan"])           // 配置组件扫描路径
+@MapperScan("com.persagy", "com.persagy.meiku", "com.persagy.legend", "com.sybotan","cn.sagacloud.server")                       // Mapper组件扫描路径
 @SpringBootApplication
 open class MeiKuApp : SpringBootServletInitializer() {
     companion object {

+ 1 - 1
meiku/src/main/kotlin/com/persagy/meiku/Swagger3Config.kt

@@ -18,7 +18,7 @@
  * ********************************************************************************************************************
  */
 
-package com.persagy.meiku
+package com.persagy
 
 import io.swagger.v3.oas.annotations.enums.ParameterIn
 import io.swagger.v3.oas.models.Components

+ 3 - 5
meiku/src/main/kotlin/com/persagy/meiku/WebMvcConfg.kt

@@ -18,19 +18,17 @@
  * ********************************************************************************************************************
  */
 
-package com.persagy.meiku
+package com.persagy
 
-//import com.persagy.service.interceptors.SPageInterceptor
 import com.alibaba.fastjson.PropertyNamingStrategy
-import com.persagy.service.interceptors.SPageInterceptor
-import com.persagy.service.json.SJsonHttpMessageConverter
+import com.sybotan.service.interceptors.SPageInterceptor
+import com.sybotan.service.json.SJsonHttpMessageConverter
 import org.slf4j.LoggerFactory
 import org.springframework.context.annotation.Configuration
 import org.springframework.http.converter.HttpMessageConverter
 import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
 
 @Configuration
 open class WebMvcConfg: WebMvcConfigurer {

+ 92 - 0
meiku/src/main/kotlin/com/persagy/legend/controller/LegendIconController.kt

@@ -0,0 +1,92 @@
+package com.persagy.legend.controller
+
+import com.persagy.legend.models.entities.LegendIcon
+import com.persagy.legend.services.LegendIconService
+import com.sybotan.service.models.requests.SCountRequest
+import com.sybotan.service.models.requests.SCreateRequest
+import com.sybotan.service.models.requests.SQueryRequest
+import com.sybotan.service.models.requests.SUpdateRequest
+import com.sybotan.service.models.responses.SBaseResponse
+import com.sybotan.service.models.responses.SCountResponse
+import com.sybotan.service.models.responses.SCreateResponse
+import com.sybotan.service.models.responses.SQueryResponse
+import io.swagger.v3.oas.annotations.Operation
+import io.swagger.v3.oas.annotations.tags.Tag
+import org.springframework.web.bind.annotation.PostMapping
+import org.springframework.web.bind.annotation.RequestBody
+import org.springframework.web.bind.annotation.RequestMapping
+import org.springframework.web.bind.annotation.RestController
+
+/**
+ * 图标图例接口类
+ *
+ * @author  zy
+ */
+@Tag(name = "001、图标图例")
+@RestController
+@RequestMapping("/icon")
+class LegendIconController {
+    /**
+     * 创建图标图例
+     */
+    @Operation(summary= "创建图标图例-批量")
+    @PostMapping("/create")
+    fun create(@RequestBody request: SCreateRequest<LegendIcon>): SCreateResponse<LegendIcon> {
+        return LegendIconService.createList(request)
+    }
+
+    /**
+     * 更新图标图例
+     */
+    @Operation(summary = "图标图例修改-批量")
+    @PostMapping(value = ["/update"])
+    fun update(@RequestBody request: SUpdateRequest<LegendIcon>): SBaseResponse {
+        return LegendIconService.updateList(request)
+    }
+
+    /**
+     * 保存图例
+     */
+    @Operation(summary = "图标图例保存")
+    @PostMapping(value = ["/save"])
+    fun save(@RequestBody request: LegendIcon): SBaseResponse {
+        return LegendIconService.save(request)
+    }
+
+    /**
+     * 根据id删除图标图例
+     */
+    @Operation(summary = "图标图例删除", description = "")
+    @PostMapping(value = ["/delete"])
+    fun delete(@RequestBody idList: ArrayList<LegendIcon>): SBaseResponse {
+        return LegendIconService.deleteByKeysList(idList)
+    }
+
+    /**
+     * 查询图标图例信息
+     */
+    @Operation(summary = "查询图标图例-批量", description = " 级联:类型信息(classInfo) 状态信息(stateList)")
+    @PostMapping(value = ["/query"])
+    fun queryState(@RequestBody request: SQueryRequest): SQueryResponse<LegendIcon> {
+        return LegendIconService.pageQuery(request)
+    }
+
+    /**
+     * 查询图标图例信息
+     */
+    @Operation(summary = "查询图标图例-默认状态图例", description = " 级联:类型信息(classInfo)")
+    @PostMapping(value = ["/state/query"])
+    fun query(@RequestBody request: SQueryRequest): SQueryResponse<LegendIcon> {
+        return LegendIconService.statePageQuery(request)
+    }
+
+
+    /**
+     * 统计图标图例
+     */
+    @Operation(summary = "统计图标图例")
+    @PostMapping(value = ["/count"])
+    fun count(@RequestBody request: SCountRequest): SCountResponse {
+        return LegendIconService.count(request)
+    }
+}

+ 82 - 0
meiku/src/main/kotlin/com/persagy/legend/controller/LegendOutlineController.kt

@@ -0,0 +1,82 @@
+package com.persagy.legend.controller
+
+import com.persagy.legend.models.entities.LegendOutline
+import com.persagy.legend.services.LegendOutlineService
+import com.sybotan.service.models.requests.SCountRequest
+import com.sybotan.service.models.requests.SCreateRequest
+import com.sybotan.service.models.requests.SQueryRequest
+import com.sybotan.service.models.requests.SUpdateRequest
+import com.sybotan.service.models.responses.SBaseResponse
+import com.sybotan.service.models.responses.SCountResponse
+import com.sybotan.service.models.responses.SCreateResponse
+import com.sybotan.service.models.responses.SQueryResponse
+import io.swagger.v3.oas.annotations.Operation
+import io.swagger.v3.oas.annotations.tags.Tag
+import org.springframework.web.bind.annotation.PostMapping
+import org.springframework.web.bind.annotation.RequestBody
+import org.springframework.web.bind.annotation.RequestMapping
+import org.springframework.web.bind.annotation.RestController
+
+/**
+ * 轮廓图例接口类
+ *
+ * @author  zy
+ */
+@Tag(name = "003、轮廓图例")
+@RestController
+@RequestMapping("/outline")
+class LegendOutlineController {
+    /**
+     * 创建轮廓图例
+     */
+    @Operation(summary= "创建轮廓图例-批量")
+    @PostMapping("/create")
+    fun create(@RequestBody request: SCreateRequest<LegendOutline>): SCreateResponse<LegendOutline> {
+        return LegendOutlineService.createList(request)
+    }
+
+    /**
+     * 更新轮廓图例
+     */
+    @Operation(summary = "轮廓图例修改-批量")
+    @PostMapping(value = ["/update"])
+    fun update(@RequestBody request: SUpdateRequest<LegendOutline>): SBaseResponse {
+        return LegendOutlineService.updateList(request)
+    }
+
+    /**
+     * 保存图例
+     */
+    @Operation(summary = "轮廓图例保存")
+    @PostMapping(value = ["/save"])
+    fun save(@RequestBody request: LegendOutline): SBaseResponse {
+        return LegendOutlineService.save(request)
+    }
+
+    /**
+     * 根据id删除轮廓图例
+     */
+    @Operation(summary = "轮廓图例删除", description = "")
+    @PostMapping(value = ["/delete"])
+    fun delete(@RequestBody idList: ArrayList<LegendOutline>): SBaseResponse {
+        return LegendOutlineService.deleteByKeysList(idList)
+    }
+
+    /**
+     * 查询轮廓图例信息
+     */
+    @Operation(summary = "查询轮廓图例-批量", description = " 级联:类型信息(classInfo)")
+    @PostMapping(value = ["/query"])
+    fun query(@RequestBody request: SQueryRequest): SQueryResponse<LegendOutline> {
+        return LegendOutlineService.pageQuery(request)
+    }
+
+    /**
+     * 统计轮廓图例
+     */
+    @Operation(summary = "统计轮廓图例")
+    @PostMapping(value = ["/count"])
+    fun count(@RequestBody request: SCountRequest): SCountResponse {
+        return LegendOutlineService.count(request)
+    }
+}

+ 82 - 0
meiku/src/main/kotlin/com/persagy/legend/controller/LegendPipeController.kt

@@ -0,0 +1,82 @@
+package com.persagy.legend.controller
+
+import com.persagy.legend.models.entities.LegendPipe
+import com.persagy.legend.services.LegendPipeService
+import com.sybotan.service.models.requests.SCountRequest
+import com.sybotan.service.models.requests.SCreateRequest
+import com.sybotan.service.models.requests.SQueryRequest
+import com.sybotan.service.models.requests.SUpdateRequest
+import com.sybotan.service.models.responses.SBaseResponse
+import com.sybotan.service.models.responses.SCountResponse
+import com.sybotan.service.models.responses.SCreateResponse
+import com.sybotan.service.models.responses.SQueryResponse
+import io.swagger.v3.oas.annotations.Operation
+import io.swagger.v3.oas.annotations.tags.Tag
+import org.springframework.web.bind.annotation.PostMapping
+import org.springframework.web.bind.annotation.RequestBody
+import org.springframework.web.bind.annotation.RequestMapping
+import org.springframework.web.bind.annotation.RestController
+
+/**
+ * 管线图例接口类
+ *
+ * @author  zy
+ */
+@Tag(name = "002、管线图例")
+@RestController
+@RequestMapping("/pipe")
+class LegendPipeController {
+    /**
+     * 创建管线图例
+     */
+    @Operation(summary= "创建管线图例-批量")
+    @PostMapping("/create")
+    fun create(@RequestBody request: SCreateRequest<LegendPipe>): SCreateResponse<LegendPipe> {
+        return LegendPipeService.createList(request)
+    }
+
+    /**
+     * 更新管线图例
+     */
+    @Operation(summary = "管线图例修改-批量")
+    @PostMapping(value = ["/update"])
+    fun update(@RequestBody request: SUpdateRequest<LegendPipe>): SBaseResponse {
+        return LegendPipeService.updateList(request)
+    }
+
+    /**
+     * 保存图例
+     */
+    @Operation(summary = "管线图例保存")
+    @PostMapping(value = ["/save"])
+    fun save(@RequestBody request: LegendPipe): SBaseResponse {
+        return LegendPipeService.save(request)
+    }
+
+    /**
+     * 根据id删除管线图例
+     */
+    @Operation(summary = "管线图例删除", description = "")
+    @PostMapping(value = ["/delete"])
+    fun delete(@RequestBody idList: ArrayList<LegendPipe>): SBaseResponse {
+        return LegendPipeService.deleteByKeysList(idList)
+    }
+
+    /**
+     * 查询管线图例信息
+     */
+    @Operation(summary = "查询管线图例-批量", description = " 级联:类型信息(classInfo) 状态信息(stateList)")
+    @PostMapping(value = ["/query"])
+    fun query(@RequestBody request: SQueryRequest): SQueryResponse<LegendPipe> {
+        return LegendPipeService.pageQuery(request)
+    }
+
+    /**
+     * 统计管线图例
+     */
+    @Operation(summary = "统计管线图例")
+    @PostMapping(value = ["/count"])
+    fun count(@RequestBody request: SCountRequest): SCountResponse {
+        return LegendPipeService.count(request)
+    }
+}

+ 75 - 0
meiku/src/main/kotlin/com/persagy/legend/controller/LegendPipelineController.kt

@@ -0,0 +1,75 @@
+package com.persagy.legend.controller
+
+import com.persagy.legend.models.entities.PipelineCategory
+import com.persagy.legend.services.PipelineCategoryService
+import com.sybotan.service.models.requests.SCreateRequest
+import com.sybotan.service.models.requests.SUpdateRequest
+import com.sybotan.service.models.responses.SBaseResponse
+import com.sybotan.service.models.responses.SCreateResponse
+import com.sybotan.service.models.responses.SQueryResponse
+import io.swagger.v3.oas.annotations.Operation
+import io.swagger.v3.oas.annotations.tags.Tag
+import org.springframework.web.bind.annotation.PostMapping
+import org.springframework.web.bind.annotation.RequestBody
+import org.springframework.web.bind.annotation.RequestMapping
+import org.springframework.web.bind.annotation.RestController
+
+/**
+ * 管线接口
+ *
+ * @author wx  <zhangweixin@sagacloud.com>
+ * @date  2020/11/5 10:12
+ */
+@Tag(name = "005、管线类型")
+@RestController
+@RequestMapping("/pipeCategory")
+class LegendPipelineController {
+
+    /**
+     * 管线
+     *
+     * @param request   待创建管线
+     * @return  创建完成管线
+     */
+    @Operation(summary="创建管线", description ="id 为 32 位 uuid")
+    @PostMapping("/create")
+    fun create(@RequestBody request: SCreateRequest<PipelineCategory>): SCreateResponse<PipelineCategory> {
+        return PipelineCategoryService.createList(request)
+    }
+
+    /**
+     * 根据id删除管线
+     *
+     * @param idList  id数组
+     * @return 删除的结果信息
+     */
+    @Operation(summary = "根据id删除管线", description = "")
+    @PostMapping(value = ["/delete"])
+    fun delete(@RequestBody idList: ArrayList<PipelineCategory>): SBaseResponse {
+        return PipelineCategoryService.deleteByKeysList(idList)
+    }
+
+    /**
+     * 更新管线
+     *
+     * @param  request   更新的内容对象
+     * @return 更新的结果
+     */
+    @Operation(summary = "更新管线", description = "")
+    @PostMapping(value = ["/update"])
+    fun update(@RequestBody request: SUpdateRequest<PipelineCategory>): SBaseResponse {
+        return PipelineCategoryService.updateList(request)
+    }
+
+    /**
+     * 查询管线
+     *
+     * @return 查询结果
+     */
+    @Operation(summary = "查询管线", description = "")
+    @PostMapping(value = ["/query"])
+    fun query(): SQueryResponse<PipelineCategory> {
+        return PipelineCategoryService.categoryQuery()
+    }
+
+}

+ 24 - 0
meiku/src/main/kotlin/com/persagy/legend/models/entities/Anchor.kt

@@ -0,0 +1,24 @@
+package com.persagy.legend.models.entities
+
+import io.swagger.v3.oas.annotations.media.Schema
+import javax.persistence.Id
+
+/**
+ * 锚点类
+ * @author  zy
+ */
+@Schema(description = "锚点")
+class Anchor {
+    /** 锚点id */
+    @Schema(description = "锚点id")
+    @Id
+    var id: String? = null
+
+    /** 锚点坐标 */
+    @Schema(description = "锚点坐标")
+    var pos: Pos? = null
+
+    /** 图例id */
+    @Schema(description = "图例id")
+    var legendId: String? = null
+} // Class Anchor

+ 106 - 0
meiku/src/main/kotlin/com/persagy/legend/models/entities/DefClass.kt

@@ -0,0 +1,106 @@
+/*
+ * *********************************************************************************************************************
+ *
+ *          !!
+ *        .F88X
+ *        X8888Y
+ *      .}888888N;
+ *        i888888N;        .:!              .I$WI:
+ *          R888888I      .'N88~            i8}+8Y&8"l8i$8>8W~'>W8}8]KW+8IIN"8&
+ *          .R888888I    .;N8888~          .X8'  "8I.!,/8"  !%NY8`"8I8~~8>,88I
+ *            +888888N;  .8888888Y                                  "&&8Y.}8,
+ *            ./888888N;  .R888888Y        .'}~    .>}'.`+>  i}!    "i'  +/'  .'i~  !11,.:">,  .~]!  .i}i
+ *              ~888888%:  .I888888l      .]88~`1/iY88Ii+1'.R$8$8]"888888888>  Y8$  W8E  X8E  W8888'188Il}Y88$*
+ *              18888888    E8888881    .]W%8$`R8X'&8%++N8i,8N%N8+l8%`  .}8N:.R$RE%N88N%N$K$R  188,FE$8%~Y88I
+ *            .E888888I  .i8888888'      .:$8I;88+`E8R:/8N,.>881.`$8E/1/]N8X.Y8N`"KF&&FK!'88*."88K./$88%RN888+~
+ *            8888888I  .,N888888~        ~88i"8W,!N8*.I88.}888%F,i$88"F88"  888:E8X.>88!i88>`888*.}Fl1]*}1YKi'
+ *          i888888N'      I888Y          ]88;/EX*IFKFK88X  K8R  .l8W  88Y  ~88}'88E&%8W.X8N``]88!.$8K  .:W8I
+ *        .i888888N;        I8Y          .&8$  .X88!  i881.:%888>I88  ;88]  +88+.';;;;:.Y88X  18N.,88l  .+88/
+ *      .:R888888I
+ *      .&888888I                                          Copyright (c) 2009-2020.  博锐尚格科技股份有限公司
+ *        ~8888'
+ *        .!88~                                                                     All rights reserved.
+ *
+ * *********************************************************************************************************************
+ */
+
+package com.persagy.legend.models.entities
+
+import com.sybotan.service.models.SBaseEntity
+import io.swagger.v3.oas.annotations.media.Schema
+import javax.persistence.Column
+import javax.persistence.Id
+import javax.persistence.Table
+
+/**
+ * 平台字典对象类型
+ *
+ * @author  wx
+ * @date  2020/9/19 16:37
+ */
+@Schema(description = "平台字典对象类型")
+@Table(name = "dict.def_class")
+class DefClass : SBaseEntity(){
+
+    /** 全局id */
+    @Schema(description = "全局 id")
+    @Column(name = "id")
+    var id: String? = null
+
+    /** 编码 */
+    @Schema(description = "编码")
+    @Id
+    @Column(name = "code")
+    var code: String? = null
+
+    @Schema(description = "名称")
+    @Column(name = "name")
+    var name: String? = null
+
+    @Schema(description = "别编码")
+    @Column(name = "alias_code")
+    var aliasCode: String? = null
+
+    @Schema(description = "别编名")
+    @Column(name = "alias_name")
+    var aliasName: String? = null
+
+    @Schema(description = "分类:common平台级, group集团级, project项目级")
+    @Id
+    @Column(name = "type")
+    var type: String? = null
+
+    @Schema(description = "集团id, 默认为 '0' ")
+    @Id
+    @Column(name = "group_code")
+    var groupCode: String? = ""
+
+    @Schema(description = "项目id, 默认为 '0' ")
+    @Id
+    @Column(name = "project_id")
+    var projectId: String? = ""
+
+    @Schema(description = "上级类型编码")
+    @Column(name = "parent_code")
+    var parentCode: String? = null
+
+    @Schema(description = "专业编码")
+    @Column(name = "major_code")
+    var majorCode: String? = null
+
+    @Schema(description = "系统编码")
+    @Column(name = "system_code")
+    var systemCode: String? = null
+
+    @Schema(description = "部件所属的设备类型")
+    @Column(name = "equipment_code")
+    var equipmentCode: String? = null
+
+    @Schema(description = "对象类型")
+    @Column(name = "obj_type")
+    var objType: String? = null
+
+    @Schema(description = "子列表")
+    var children:ArrayList<DefClass>? = null
+
+} // Class DefClass

+ 42 - 0
meiku/src/main/kotlin/com/persagy/legend/models/entities/InfoPoint.kt

@@ -0,0 +1,42 @@
+package com.persagy.legend.models.entities
+
+import io.swagger.v3.oas.annotations.media.Schema
+import javax.persistence.Column
+import javax.persistence.Id
+
+/**
+ * 信息点类
+ * @author  zy
+ */
+@Schema(description = "信息点")
+class InfoPoint {
+    /** 信息点id */
+    @Schema(description = "信息点id")
+    @Id
+    var id: String? = null
+
+    /** 信息点名称 */
+    @Schema(description = "信息点名称")
+    var name: String? = null
+
+    /** 信息点编码 */
+    @Schema(description = "信息点编码")
+    var code: String? = null
+
+    /** 类型编码 */
+    @Schema(description = "类型编码")
+    var classCode: String? = null
+
+    /** 信息点坐标 */
+    @Schema(description = "信息点坐标")
+    var pos: Pos? = null
+
+    /** 图例id */
+    @Schema(description = "图例id")
+    var legendId: String? = null
+
+    /** 信息点属性 */
+    @Schema(description = "信息点属性")
+    @Column(name = "properties")
+    var properties: Map<String, Any>? = null
+} // Class InfoPoint

+ 40 - 0
meiku/src/main/kotlin/com/persagy/legend/models/entities/Legend.kt

@@ -0,0 +1,40 @@
+package com.persagy.legend.models.entities
+
+import com.sybotan.service.models.SBaseEntity
+import io.swagger.v3.oas.annotations.media.Schema
+import javax.persistence.Column
+import javax.persistence.Id
+
+/**
+ * 图例基类
+ * @author  zy
+ */
+@Schema(description = "图例")
+open class Legend : SBaseEntity() {
+    /** 图例id */
+    @Schema(description = "图例id")
+    @Id
+    @Column(name = "id")
+    var id: String? = null
+
+    /** 图例名称 */
+    @Schema(description = "图例名称")
+    @Column(name = "name")
+    var name: String? = null
+
+    /** 图例类型 */
+    @Schema(description = "图例类型(equipment<设备>;component<部件>;system<系统>;pipe<管道>;line<线路>;space<空间>;build<建筑>)")
+    @Column(name = "type")
+    var type: String? = null
+
+    /** 缩略图 */
+    @Schema(description = "缩略图")
+    @Column(name = "pic")
+    var pic: String? = null
+
+    /** 类型编码 */
+    @Schema(description = "类型编码")
+    @Column(name = "class_code")
+    var classCode: String? = null
+
+} // Class Legend

+ 71 - 0
meiku/src/main/kotlin/com/persagy/legend/models/entities/LegendIcon.kt

@@ -0,0 +1,71 @@
+package com.persagy.legend.models.entities
+
+import com.sybotan.service.models.annotations.SCascade
+import io.swagger.v3.oas.annotations.media.Schema
+import javax.persistence.Column
+import javax.persistence.Table
+
+/**
+ * 图标类图例
+ * @author  zy
+ */
+@Schema(description = "图标图例")
+@Table(name = "labsl_meiku.legend_icon")
+class LegendIcon: Legend() {
+
+    /** 图例宽度 */
+    @Schema(description = "图例宽度")
+    @Column(name = "width")
+    var width: Double? = null
+
+    /** 图例高度 */
+    @Schema(description = "图例高度")
+    @Column(name = "height")
+    var height: Double? = null
+
+    /** 当前状态,默认状态图例 */
+    @Schema(description = "当前状态,默认状态图例")
+    @Column(name = "state")
+    var state: String? = null
+
+    /** 背景图坐标 */
+    @Schema(description = "背景图坐标")
+    @Column(name = "bg_pos")
+    var bgPos: Pos? = null
+
+    /** 背景图宽度 */
+    @Schema(description = "背景图宽度")
+    @Column(name = "bg_width")
+    var bgWidth: Double? = null
+
+    /** 背景图高度 */
+    @Schema(description = "背景图高度")
+    @Column(name = "bg_height")
+    var bgHeight: Double? = null
+
+    /** 原点坐标 */
+    @Schema(description = "原点坐标")
+    @Column(name = "origin_pos")
+    var originPos: Pos? = null
+
+    /** 锚点数据 */
+    @Schema(description = "锚点数据")
+    @Column(name = "anchor_list")
+    var anchorList: ArrayList<Anchor>? = null
+
+    /** 信息点数据 */
+    @Schema(description = "信息点数据")
+    @Column(name = "info_point_list")
+    var infoPointList: ArrayList<InfoPoint>? = null
+
+    /** 状态信息 */
+    @Schema(description = "状态信息")
+    @SCascade(table="legend.state", idColumn="legend_id", childIdColumn="id")
+    var stateList: ArrayList<State>? = null
+
+    /** 类型信息 */
+    @Schema(description = "类型信息")
+    @SCascade(table="legend.legend_icon", idColumn="id", childIdColumn="class_code")
+    var classInfo: DefClass? = null
+
+} // Class LegendIcon

+ 45 - 0
meiku/src/main/kotlin/com/persagy/legend/models/entities/LegendOutline.kt

@@ -0,0 +1,45 @@
+package com.persagy.legend.models.entities
+
+import com.sybotan.service.models.annotations.SCascade
+import io.swagger.v3.oas.annotations.media.Schema
+import javax.persistence.Column
+import javax.persistence.Table
+
+/**
+ * 轮廓类图例
+ * @author  zy
+ */
+@Schema(description = "轮廓图例")
+@Table(name = "labsl_meiku.legend_outline")
+class LegendOutline: Legend() {
+    /** 轮廓线宽度 */
+    @Schema(description = "轮廓线宽度")
+    @Column(name = "width")
+    var width: Int? = null
+
+    /** 轮廓线颜色 */
+    @Schema(description = "轮廓线颜色")
+    @Column(name = "color")
+    var color: String? = null
+
+    /** 轮廓填充色 */
+    @Schema(description = "轮廓填充色")
+    @Column(name = "fill_color")
+    var fillColor: String? = null
+
+    /** 当前状态 */
+    @Schema(description = "当前状态")
+    @Column(name = "state")
+    var state: String? = null
+
+    /** 状态信息 */
+    @Schema(description = "状态信息")
+    @SCascade(table="legend.state", idColumn="legend_id", childIdColumn="id")
+    var stateList: ArrayList<State>? = null
+
+    /** 类型信息 */
+    @Schema(description = "类型信息")
+    @SCascade(table="dict.def_class", idColumn="class_code", childIdColumn="code")
+    var classInfo: DefClass? = null
+
+} // Class LegendPipe

+ 55 - 0
meiku/src/main/kotlin/com/persagy/legend/models/entities/LegendPipe.kt

@@ -0,0 +1,55 @@
+package com.persagy.legend.models.entities
+
+import com.sybotan.service.models.annotations.SCascade
+import io.swagger.v3.oas.annotations.media.Schema
+import javax.persistence.Column
+import javax.persistence.Table
+
+/**
+ * 管线类图例
+ * @author  zy
+ */
+@Schema(description = "管线图例")
+@Table(name = "labsl_meiku.legend_pipe")
+class LegendPipe: Legend() {
+    /** 内管线宽度 */
+    @Schema(description = "内管线宽度")
+    @Column(name = "inner_width")
+    var innerWidth: Int? = null
+
+    /** 内管线线型 */
+    @Schema(description = "内管线线型")
+    @Column(name = "inner_type")
+    var innerType: String? = null
+
+    /** 内管线颜色 */
+    @Schema(description = "内管线颜色")
+    @Column(name = "inner_color")
+    var innerColor: String? = null
+
+    /** 外管线宽度 */
+    @Schema(description = "外管线宽度")
+    @Column(name = "outside_width")
+    var outsideWidth: Int? = null
+
+    /** 外管线颜色 */
+    @Schema(description = "外管线颜色")
+    @Column(name = "outside_color")
+    var outsideColor: String? = null
+
+    /** 当前状态 */
+    @Schema(description = "当前状态")
+    @Column(name = "state")
+    var state: String? = null
+
+    /** 状态信息 */
+    @Schema(description = "状态信息")
+    @SCascade(table="legend.state", idColumn="legend_id", childIdColumn="id")
+    var stateList: ArrayList<State>? = null
+
+    /** 类型信息 */
+    @Schema(description = "类型信息")
+    @SCascade(table="legend.legend_pipe", idColumn="id", childIdColumn="class_code")
+    var classInfo: PipelineCategory? = null
+
+} // Class LegendPipe

+ 41 - 0
meiku/src/main/kotlin/com/persagy/legend/models/entities/PipelineCategory.kt

@@ -0,0 +1,41 @@
+package com.persagy.legend.models.entities
+
+import com.sybotan.service.models.SBaseEntity
+import io.swagger.v3.oas.annotations.media.Schema
+import java.io.Serializable
+import javax.persistence.Column
+import javax.persistence.Id
+import javax.persistence.Table
+
+/**
+ * 管线类型
+ * @author zy
+ */
+@Schema(description = "管线类型")
+@Table(name = "labsl_meiku.pipeline_category_legend")
+class PipelineCategory: SBaseEntity(), Serializable {
+
+    /** 类型 id */
+    @Schema(description = "类型 id")
+    @Id
+    @Column(name = "id")
+    var id: String? = null
+
+    /** 名称 */
+    @Schema(description = "名称")
+    @Column(name = "name")
+    var name: String? = null
+
+    /** 名称 */
+    @Schema(description = "名称")
+    @Column(name = "parent_id")
+    var parentId: String? = null
+
+    /** 颜色 */
+    @Schema(description = "颜色")
+    @Column(name = "color")
+    var color: String? = null
+
+    @Schema(description = "子节点列表")
+    var categoryList: ArrayList<PipelineCategory>? = null
+}

+ 25 - 0
meiku/src/main/kotlin/com/persagy/legend/models/entities/Pos.kt

@@ -0,0 +1,25 @@
+package com.persagy.legend.models.entities
+
+import io.swagger.v3.oas.annotations.media.Schema
+import java.io.Serializable
+
+/**
+ * 位置信息
+ *
+ * @author zy
+ */
+class Pos : Serializable {
+
+    /** X坐标 */
+    @Schema(description = "X坐标")
+    var x: Double? = null
+
+    /** Y坐标 */
+    @Schema(description = "Y坐标")
+    var y: Double? = null
+
+    /** Z坐标 */
+    @Schema(description = "Z坐标")
+    var z: Double? = null
+
+} // Class Pos

+ 46 - 0
meiku/src/main/kotlin/com/persagy/legend/models/entities/State.kt

@@ -0,0 +1,46 @@
+package com.persagy.legend.models.entities
+
+import com.sybotan.service.models.SBaseEntity
+import io.swagger.v3.oas.annotations.media.Schema
+import javax.persistence.Column
+import javax.persistence.Id
+import javax.persistence.Table
+
+/**
+ * 图例状态
+ * @author  zy
+ */
+@Schema(description = "图例状态")
+@Table(name = "labsl_meiku.state")
+class State : SBaseEntity() {
+    /** 状态id */
+    @Schema(description = "状态id")
+    @Id
+    @Column(name = "id")
+    var id: String? = null
+
+    /** 状态名称 */
+    @Schema(description = "状态名称")
+    @Column(name = "name")
+    var name: String? = null
+
+    /** 状态编码 */
+    @Schema(description = "状态编码")
+    @Column(name = "state")
+    var state: String? = null
+
+    /** 状态图 */
+    @Schema(description = "状态图")
+    @Column(name = "pic")
+    var pic: String? = null
+
+    /** 样式信息 */
+    @Schema(description = "样式信息")
+    @Column(name = "style")
+    var style: Map<String, Any>? = null
+
+    /** 图例id */
+    @Schema(description = "图例id")
+    @Column(name = "legend_id")
+    var legendId: String? = null
+} // Class State

+ 31 - 0
meiku/src/main/kotlin/com/persagy/legend/models/response/SCommonResponse.kt

@@ -0,0 +1,31 @@
+package com.persagy.legend.models.response
+
+import com.sybotan.service.models.enums.SResponseType
+import io.swagger.v3.oas.annotations.media.Schema
+
+/**
+ * 返回体
+ * @author  蔡云飞
+ * @date  2020/6/9 14:56
+ */
+open class SCommonResponse<ENTITY: Any>(result: SResponseType? = SResponseType.success, message: String? = null) {
+
+    /** 结果 */
+    @Schema(description = "结果")
+    var result: SResponseType? = SResponseType.failure
+    /** 消息 */
+    @Schema(description = "消息")
+    var message: String? = ""
+
+    /** 结果 */
+    @Schema(description = "结果")
+    var content: ENTITY? = null
+
+    /** 初始化 */
+    init {
+        this.result = result
+        this.message = message
+    } // init()
+
+
+}

+ 98 - 0
meiku/src/main/kotlin/com/persagy/legend/services/LegendIconService.kt

@@ -0,0 +1,98 @@
+package com.persagy.legend.services
+
+import com.persagy.legend.models.entities.LegendIcon
+import com.sybotan.database.SFilter
+import com.sybotan.mybatis.SMybatisDao
+import com.sybotan.service.SObjectService
+import com.sybotan.service.models.enums.SResponseType
+import com.sybotan.service.models.requests.SQueryRequest
+import com.sybotan.service.models.responses.SCreateResponse
+import com.sybotan.service.models.responses.SQueryResponse
+import java.util.*
+
+/**
+ * @author  zy
+ */
+object LegendIconService : SObjectService<LegendIcon>(SMybatisDao(LegendIcon::class.java)) {
+    /**
+     * 保存
+     *
+     * @param legend     图标图例对象
+     * @return 返回结果
+     */
+    fun save(legend: LegendIcon): SCreateResponse<LegendIcon> {
+        /** 返回对象 */
+        val sCreateResponse = SCreateResponse<LegendIcon>()
+        return try {
+            /** id 为空赋值 */
+            if (legend.id.isNullOrEmpty()) {
+                legend.id = UUID.randomUUID().toString().replace("-", "")
+            }
+
+            /** 插入数据 */
+            val insert = LegendIconService.replace(legend)
+            if (!insert){
+                sCreateResponse.result = SResponseType.failure
+                return sCreateResponse
+            }
+
+            /** 状态 */
+            /** 清空图例相关的状态 */
+            LegendStateService.delete(SFilter.eq("legendId", legend.id!!))
+            /** 插入图例相关的状态 */
+            if (!legend.stateList.isNullOrEmpty()) {
+                val stateList = legend.stateList
+                /** 遍历状态 */
+                for (state in stateList!!){
+                    /** 图例 id */
+                    state!!.legendId = legend.id
+                    if (state.id.isNullOrEmpty()) {
+                        state.id = UUID.randomUUID().toString().replace("-", "")
+                    }
+                    /** 插入数据 */
+                    LegendStateService.replace(state)
+                }
+            }
+            /** 对象列表 */
+            sCreateResponse.entityList = arrayListOf(legend)
+            /** 标志 */
+            sCreateResponse.result = SResponseType.success
+            /** 对象 */
+            sCreateResponse
+        } catch (e: Exception) {
+            e.printStackTrace()
+            sCreateResponse.result = SResponseType.failure
+            sCreateResponse
+        }
+    }
+
+    override fun onDeleteSuccess(entityList: ArrayList<LegendIcon>) {
+        super.onDeleteSuccess(entityList)
+        for (entity in entityList) {
+            LegendStateService.delete(SFilter.eq("legendId", entity.id!!))
+        }
+    }
+
+    /**
+     * 查询默认状态的图例
+     *
+     * @param  request  查询条件
+     * @return 返回结果
+     */
+    fun statePageQuery(request: SQueryRequest): SQueryResponse<LegendIcon> {
+        val pageQuery = pageQuery(request)
+        if (pageQuery.result == SResponseType.success) {
+         if (!pageQuery.content.isNullOrEmpty()) {
+          for (content in pageQuery.content!!) {
+              val entity =
+                  LegendStateService.select(SFilter.eq("legendId", content.id!!), SFilter.eq("state", content.state!!))
+                      .entity()
+              if (entity!=null) {
+                  content.stateList = arrayListOf(entity)
+              }
+            }
+          }
+        }
+        return pageQuery
+    }
+}

+ 66 - 0
meiku/src/main/kotlin/com/persagy/legend/services/LegendOutlineService.kt

@@ -0,0 +1,66 @@
+package com.persagy.legend.services
+
+import com.persagy.legend.models.entities.LegendOutline
+import com.sybotan.database.SFilter
+import com.sybotan.mybatis.SMybatisDao
+import com.sybotan.service.SObjectService
+import com.sybotan.service.models.enums.SResponseType
+import com.sybotan.service.models.responses.SCreateResponse
+import java.util.*
+
+/**
+ * @author  zy
+ */
+object LegendOutlineService : SObjectService<LegendOutline>(SMybatisDao(LegendOutline::class.java)) {
+    /**
+     * 保存
+     *
+     * @param legend     图标图例对象
+     * @return 返回结果
+     */
+    fun save(legend: LegendOutline): SCreateResponse<LegendOutline> {
+        /** 返回对象 */
+        val sCreateResponse = SCreateResponse<LegendOutline>()
+        return try {
+            /** id 为空赋值 */
+            if (legend.id.isNullOrEmpty()) {
+                legend.id = UUID.randomUUID().toString().replace("-", "")
+            }
+
+            /** 插入数据 */
+            val insert = LegendOutlineService.replace(legend)
+            if (!insert){
+                sCreateResponse.result = SResponseType.failure
+                return sCreateResponse
+            }
+
+            /** 状态 */
+            /** 清空图例相关的状态 */
+            LegendStateService.delete(SFilter.eq("legendId", legend.id!!))
+            /** 插入图例相关的状态 */
+            if (!legend.stateList.isNullOrEmpty()) {
+                val stateList = legend.stateList
+                /** 遍历状态 */
+                for (state in stateList!!){
+                    /** 图例 id */
+                    state!!.legendId = legend.id
+                    if (state.id.isNullOrEmpty()) {
+                        state.id = UUID.randomUUID().toString().replace("-", "")
+                    }
+                    /** 插入数据 */
+                    LegendStateService.replace(state)
+                }
+            }
+            /** 对象列表 */
+            sCreateResponse.entityList = arrayListOf(legend)
+            /** 标志 */
+            sCreateResponse.result = SResponseType.success
+            /** 对象 */
+            sCreateResponse
+        } catch (e: Exception) {
+            e.printStackTrace()
+            sCreateResponse.result = SResponseType.failure
+            sCreateResponse
+        }
+    }
+}

+ 66 - 0
meiku/src/main/kotlin/com/persagy/legend/services/LegendPipeService.kt

@@ -0,0 +1,66 @@
+package com.persagy.legend.services
+
+import com.persagy.legend.models.entities.LegendPipe
+import com.sybotan.database.SFilter
+import com.sybotan.mybatis.SMybatisDao
+import com.sybotan.service.SObjectService
+import com.sybotan.service.models.enums.SResponseType
+import com.sybotan.service.models.responses.SCreateResponse
+import java.util.*
+
+/**
+ * @author  zy
+ */
+object LegendPipeService : SObjectService<LegendPipe>(SMybatisDao(LegendPipe::class.java)) {
+    /**
+     * 保存
+     *
+     * @param legend     图标图例对象
+     * @return 返回结果
+     */
+    fun save(legend: LegendPipe): SCreateResponse<LegendPipe> {
+        /** 返回对象 */
+        val sCreateResponse = SCreateResponse<LegendPipe>()
+        return try {
+            /** id 为空赋值 */
+            if (legend.id.isNullOrEmpty()) {
+                legend.id = UUID.randomUUID().toString().replace("-", "")
+            }
+
+            /** 插入数据 */
+            val insert = LegendPipeService.replace(legend)
+            if (!insert){
+                sCreateResponse.result = SResponseType.failure
+                return sCreateResponse
+            }
+
+            /** 状态 */
+            /** 清空图例相关的状态 */
+            LegendStateService.delete(SFilter.eq("legendId", legend.id!!))
+            /** 插入图例相关的状态 */
+            if (!legend.stateList.isNullOrEmpty()) {
+                val stateList = legend.stateList
+                /** 遍历状态 */
+                for (state in stateList!!){
+                    /** 图例 id */
+                    state!!.legendId = legend.id
+                    if (state.id.isNullOrEmpty()) {
+                        state.id = UUID.randomUUID().toString().replace("-", "")
+                    }
+                    /** 插入数据 */
+                    LegendStateService.replace(state)
+                }
+            }
+            /** 对象列表 */
+            sCreateResponse.entityList = arrayListOf(legend)
+            /** 标志 */
+            sCreateResponse.result = SResponseType.success
+            /** 对象 */
+            sCreateResponse
+        } catch (e: Exception) {
+            e.printStackTrace()
+            sCreateResponse.result = SResponseType.failure
+            sCreateResponse
+        }
+    }
+}

+ 28 - 0
meiku/src/main/kotlin/com/persagy/legend/services/LegendStateService.kt

@@ -0,0 +1,28 @@
+package com.persagy.legend.services
+
+import com.persagy.legend.models.entities.State
+import com.sybotan.mybatis.SMybatisDao
+import com.sybotan.service.SObjectService
+import java.util.*
+
+/**
+ * 状态
+ *
+ * @author  zy
+ * @date  2020/9/21 11:35
+ */
+object LegendStateService : SObjectService<State>(SMybatisDao(State::class.java)) {
+    /**
+     * 创建之前操作
+     *
+     * @param entity    状态对象
+     * @return 是否执行
+     */
+    override fun onCreateBefore(entity: State): Boolean {
+        /** id 为空赋值 */
+        if (entity.id.isNullOrEmpty()){
+            entity.id = UUID.randomUUID().toString().replace("-", "")
+        }
+        return super.onCreateBefore(entity)
+    }
+}

+ 64 - 0
meiku/src/main/kotlin/com/persagy/legend/services/PipelineCategoryService.kt

@@ -0,0 +1,64 @@
+package com.persagy.legend.services
+
+import com.persagy.legend.models.entities.PipelineCategory
+import com.sybotan.database.SFilter
+import com.sybotan.mybatis.SMybatisDao
+import com.sybotan.service.SObjectService
+import com.sybotan.service.models.enums.SResponseType
+import com.sybotan.service.models.responses.SQueryResponse
+import java.util.*
+
+/**
+ * 管线服务
+ *
+ * @author wx  <zhangweixin@sagacloud.com>
+ * @date  2020/11/5 10:17
+ */
+object PipelineCategoryService: SObjectService<PipelineCategory>(SMybatisDao(PipelineCategory::class.java)) {
+
+    /**
+     * 查询管线类型
+     *
+     * @return 返回结果
+     */
+    fun categoryQuery(): SQueryResponse<PipelineCategory> {
+        return try {
+            /** 返回对象 */
+            val sQueryResponse = SQueryResponse<PipelineCategory>()
+            /** 查询一级节点 */
+            val pipelineCategoryList = select(SFilter.isNull("parentId")).exec()
+            /** 遍历节点 */
+            for (pipelineCategory in pipelineCategoryList){
+                /** 查询子节点 */
+                pipelineCategory.categoryList = select(SFilter.eq("parentId",pipelineCategory.id!!)).exec()
+            }
+
+            /** 类型列表 */
+            sQueryResponse.content = pipelineCategoryList
+            /** 类型长度 */
+            sQueryResponse.total = pipelineCategoryList.size.toLong()
+            /** 类型标志 */
+            sQueryResponse.result = SResponseType.success
+            /** 返回的对象 */
+            sQueryResponse
+        } catch (e: Exception) {
+            e.printStackTrace()
+            SQueryResponse(SResponseType.failure,e.message!!)
+        }
+    }
+
+    /**
+     * 创建之前操作
+     *
+     * @param entity    管线类型对象
+     * @return 是否执行
+     */
+    override fun onCreateBefore(entity: PipelineCategory): Boolean {
+        /** id 为空赋值 */
+        if (entity.id.isNullOrEmpty()){
+            entity.id = UUID.randomUUID().toString().replace("-", "")
+        }
+        return super.onCreateBefore(entity)
+    }
+
+}

+ 8 - 8
meiku/src/main/kotlin/com/persagy/meiku/controller/MeiKuAnchorController.kt

@@ -2,14 +2,14 @@ package com.persagy.meiku.controller
 
 import com.persagy.meiku.models.entities.MeiKuAnchor
 import com.persagy.meiku.services.MeiKuAnchorService
-import com.persagy.service.models.requests.SCountRequest
-import com.persagy.service.models.requests.SCreateRequest
-import com.persagy.service.models.requests.SQueryRequest
-import com.persagy.service.models.requests.SUpdateRequest
-import com.persagy.service.models.responses.SBaseResponse
-import com.persagy.service.models.responses.SCountResponse
-import com.persagy.service.models.responses.SCreateResponse
-import com.persagy.service.models.responses.SQueryResponse
+import com.sybotan.service.models.requests.SCountRequest
+import com.sybotan.service.models.requests.SCreateRequest
+import com.sybotan.service.models.requests.SQueryRequest
+import com.sybotan.service.models.requests.SUpdateRequest
+import com.sybotan.service.models.responses.SBaseResponse
+import com.sybotan.service.models.responses.SCountResponse
+import com.sybotan.service.models.responses.SCreateResponse
+import com.sybotan.service.models.responses.SQueryResponse
 import io.swagger.v3.oas.annotations.Operation
 import io.swagger.v3.oas.annotations.tags.Tag
 import org.springframework.web.bind.annotation.PostMapping

+ 6 - 6
meiku/src/main/kotlin/com/persagy/meiku/controller/MeiKuController.kt

@@ -3,12 +3,12 @@ package com.persagy.meiku.controller
 import com.persagy.meiku.models.entities.MeiKu
 import com.persagy.meiku.models.response.SCommonResponse
 import com.persagy.meiku.services.MeiKuService
-import com.persagy.service.models.requests.SCreateRequest
-import com.persagy.service.models.requests.SQueryRequest
-import com.persagy.service.models.requests.SUpdateRequest
-import com.persagy.service.models.responses.SBaseResponse
-import com.persagy.service.models.responses.SCreateResponse
-import com.persagy.service.models.responses.SQueryResponse
+import com.sybotan.service.models.requests.SCreateRequest
+import com.sybotan.service.models.requests.SQueryRequest
+import com.sybotan.service.models.requests.SUpdateRequest
+import com.sybotan.service.models.responses.SBaseResponse
+import com.sybotan.service.models.responses.SCreateResponse
+import com.sybotan.service.models.responses.SQueryResponse
 import io.swagger.v3.oas.annotations.Operation
 import io.swagger.v3.oas.annotations.tags.Tag
 import org.springframework.web.bind.annotation.PostMapping

+ 8 - 8
meiku/src/main/kotlin/com/persagy/meiku/controller/MeiKuStateController.kt

@@ -2,14 +2,14 @@ package com.persagy.meiku.controller
 
 import com.persagy.meiku.models.entities.MeiKuState
 import com.persagy.meiku.services.MeiKuStateService
-import com.persagy.service.models.requests.SCountRequest
-import com.persagy.service.models.requests.SCreateRequest
-import com.persagy.service.models.requests.SQueryRequest
-import com.persagy.service.models.requests.SUpdateRequest
-import com.persagy.service.models.responses.SBaseResponse
-import com.persagy.service.models.responses.SCountResponse
-import com.persagy.service.models.responses.SCreateResponse
-import com.persagy.service.models.responses.SQueryResponse
+import com.sybotan.service.models.requests.SCountRequest
+import com.sybotan.service.models.requests.SCreateRequest
+import com.sybotan.service.models.requests.SQueryRequest
+import com.sybotan.service.models.requests.SUpdateRequest
+import com.sybotan.service.models.responses.SBaseResponse
+import com.sybotan.service.models.responses.SCountResponse
+import com.sybotan.service.models.responses.SCreateResponse
+import com.sybotan.service.models.responses.SQueryResponse
 import io.swagger.v3.oas.annotations.Operation
 import io.swagger.v3.oas.annotations.tags.Tag
 import org.springframework.web.bind.annotation.PostMapping

+ 5 - 5
meiku/src/main/kotlin/com/persagy/meiku/controller/PictureController.kt

@@ -1,12 +1,12 @@
 package com.persagy.meiku.controller
 
-import com.persagy.base.extensions.toJson
-import com.persagy.database.SFilter
 import com.persagy.meiku.models.pic.Picture
 import com.persagy.meiku.services.pic.PictureService
-import com.persagy.service.models.enums.SResponseType
-import com.persagy.service.models.responses.SBaseResponse
-import com.persagy.service.models.responses.SCreateResponse
+import com.sybotan.base.extensions.toJson
+import com.sybotan.database.SFilter
+import com.sybotan.service.models.enums.SResponseType
+import com.sybotan.service.models.responses.SBaseResponse
+import com.sybotan.service.models.responses.SCreateResponse
 import io.swagger.v3.oas.annotations.Operation
 import io.swagger.v3.oas.annotations.tags.Tag
 import lombok.extern.slf4j.Slf4j

+ 5 - 6
meiku/src/main/kotlin/com/persagy/meiku/controller/PipelineController.kt

@@ -2,12 +2,11 @@ package com.persagy.meiku.controller
 
 import com.persagy.meiku.models.entities.PipelineCategory
 import com.persagy.meiku.services.PipelineCategoryService
-import com.persagy.service.models.requests.SCreateRequest
-import com.persagy.service.models.requests.SQueryRequest
-import com.persagy.service.models.requests.SUpdateRequest
-import com.persagy.service.models.responses.SBaseResponse
-import com.persagy.service.models.responses.SCreateResponse
-import com.persagy.service.models.responses.SQueryResponse
+import com.sybotan.service.models.requests.SCreateRequest
+import com.sybotan.service.models.requests.SUpdateRequest
+import com.sybotan.service.models.responses.SBaseResponse
+import com.sybotan.service.models.responses.SCreateResponse
+import com.sybotan.service.models.responses.SQueryResponse
 import io.swagger.v3.oas.annotations.Operation
 import io.swagger.v3.oas.annotations.tags.Tag
 import org.springframework.web.bind.annotation.PostMapping

+ 4 - 1
meiku/src/main/kotlin/com/persagy/meiku/controller/UmlController.kt

@@ -27,7 +27,10 @@ import com.credibledoc.plantuml.svggenerator.SvgGeneratorService
 import io.swagger.v3.oas.annotations.Operation
 import io.swagger.v3.oas.annotations.Parameter
 import io.swagger.v3.oas.annotations.tags.Tag
-import org.springframework.web.bind.annotation.*
+import org.springframework.web.bind.annotation.PostMapping
+import org.springframework.web.bind.annotation.RequestBody
+import org.springframework.web.bind.annotation.RequestMapping
+import org.springframework.web.bind.annotation.RestController
 import javax.servlet.http.HttpServletResponse
 
 /**

+ 2 - 2
meiku/src/main/kotlin/com/persagy/meiku/models/entities/MeiKu.kt

@@ -1,7 +1,7 @@
 package com.persagy.meiku.models.entities
 
-import com.persagy.service.models.SBaseEntity
-import com.persagy.service.models.annotations.SCascade
+import com.sybotan.service.models.SBaseEntity
+import com.sybotan.service.models.annotations.SCascade
 import io.swagger.v3.oas.annotations.media.Schema
 import java.io.Serializable
 import javax.persistence.Column

+ 1 - 1
meiku/src/main/kotlin/com/persagy/meiku/models/entities/MeiKuAnchor.kt

@@ -1,6 +1,6 @@
 package com.persagy.meiku.models.entities
 
-import com.persagy.service.models.SBaseEntity
+import com.sybotan.service.models.SBaseEntity
 import io.swagger.v3.oas.annotations.media.Schema
 import java.io.Serializable
 import javax.persistence.Column

+ 1 - 1
meiku/src/main/kotlin/com/persagy/meiku/models/entities/MeiKuState.kt

@@ -1,6 +1,6 @@
 package com.persagy.meiku.models.entities
 
-import com.persagy.service.models.SBaseEntity
+import com.sybotan.service.models.SBaseEntity
 import io.swagger.v3.oas.annotations.media.Schema
 import java.io.Serializable
 import javax.persistence.Column

+ 1 - 1
meiku/src/main/kotlin/com/persagy/meiku/models/entities/ObjectCategory.kt

@@ -1,6 +1,6 @@
 package com.persagy.meiku.models.entities
 
-import com.persagy.service.models.SBaseEntity
+import com.sybotan.service.models.SBaseEntity
 import io.swagger.v3.oas.annotations.media.Schema
 import java.io.Serializable
 import javax.persistence.Column

+ 1 - 1
meiku/src/main/kotlin/com/persagy/meiku/models/entities/PipelineCategory.kt

@@ -1,6 +1,6 @@
 package com.persagy.meiku.models.entities
 
-import com.persagy.service.models.SBaseEntity
+import com.sybotan.service.models.SBaseEntity
 import io.swagger.v3.oas.annotations.media.Schema
 import java.io.Serializable
 import javax.persistence.Column

+ 1 - 1
meiku/src/main/kotlin/com/persagy/meiku/models/pic/Picture.kt

@@ -1,6 +1,6 @@
 package com.persagy.meiku.models.pic
 
-import com.persagy.service.models.SBaseEntity
+import com.sybotan.service.models.SBaseEntity
 import io.swagger.v3.oas.annotations.media.Schema
 import java.io.Serializable
 import javax.persistence.Column

+ 1 - 1
meiku/src/main/kotlin/com/persagy/meiku/models/response/SCommonResponse.kt

@@ -1,6 +1,6 @@
 package com.persagy.meiku.models.response
 
-import com.persagy.service.models.enums.SResponseType
+import com.sybotan.service.models.enums.SResponseType
 import io.swagger.v3.oas.annotations.media.Schema
 
 /**

+ 2 - 2
meiku/src/main/kotlin/com/persagy/meiku/services/MeiKuAnchorService.kt

@@ -1,8 +1,8 @@
 package com.persagy.meiku.services
 
-import com.persagy.mybatis.SMybatisDao
 import com.persagy.meiku.models.entities.MeiKuAnchor
-import com.persagy.service.SObjectService
+import com.sybotan.mybatis.SMybatisDao
+import com.sybotan.service.SObjectService
 import java.util.*
 
 /**

+ 6 - 6
meiku/src/main/kotlin/com/persagy/meiku/services/MeiKuService.kt

@@ -1,13 +1,13 @@
 package com.persagy.meiku.services
 
-import com.persagy.database.SFilter
 import com.persagy.meiku.models.entities.MeiKu
 import com.persagy.meiku.models.response.SCommonResponse
-import com.persagy.mybatis.SMybatisDao
-import com.persagy.service.SObjectService
-import com.persagy.service.models.enums.SResponseType
-import com.persagy.service.models.responses.SBaseResponse
-import com.persagy.service.models.responses.SCreateResponse
+import com.sybotan.database.SFilter
+import com.sybotan.mybatis.SMybatisDao
+import com.sybotan.service.SObjectService
+import com.sybotan.service.models.enums.SResponseType
+import com.sybotan.service.models.responses.SBaseResponse
+import com.sybotan.service.models.responses.SCreateResponse
 import java.util.*
 
 /**

+ 2 - 2
meiku/src/main/kotlin/com/persagy/meiku/services/MeiKuStateService.kt

@@ -1,8 +1,8 @@
 package com.persagy.meiku.services
 
-import com.persagy.mybatis.SMybatisDao
 import com.persagy.meiku.models.entities.MeiKuState
-import com.persagy.service.SObjectService
+import com.sybotan.mybatis.SMybatisDao
+import com.sybotan.service.SObjectService
 import java.util.*
 
 /**

+ 6 - 8
meiku/src/main/kotlin/com/persagy/meiku/services/PipelineCategoryService.kt

@@ -1,14 +1,12 @@
 package com.persagy.meiku.services
 
-import com.persagy.database.SFilter
-import com.persagy.database.extensions.keyMap
 import com.persagy.meiku.models.entities.PipelineCategory
-import com.persagy.mybatis.SMybatisDao
-import com.persagy.service.SObjectService
-import com.persagy.service.models.enums.SResponseType
-import com.persagy.service.models.responses.SQueryResponse
+import com.sybotan.database.SFilter
+import com.sybotan.mybatis.SMybatisDao
+import com.sybotan.service.SObjectService
+import com.sybotan.service.models.enums.SResponseType
+import com.sybotan.service.models.responses.SQueryResponse
 import java.util.*
-import java.util.stream.Collectors
 
 /**
  * 管线服务
@@ -23,7 +21,7 @@ object PipelineCategoryService: SObjectService<PipelineCategory>(SMybatisDao(Pip
      *
      * @return 返回结果
      */
-    fun categoryQuery(): SQueryResponse<PipelineCategory>  {
+    fun categoryQuery(): SQueryResponse<PipelineCategory> {
         return try {
             /** 返回对象 */
             val sQueryResponse = SQueryResponse<PipelineCategory>()

+ 3 - 3
meiku/src/main/kotlin/com/persagy/meiku/services/pic/PictureService.kt

@@ -2,9 +2,9 @@ package com.persagy.meiku.services.pic
 
 import com.persagy.meiku.models.pic.Picture
 import com.persagy.meiku.services.mapper.CustomSql
-import com.persagy.mybatis.SMybatisDao
-import com.persagy.service.SObjectService
-import com.persagy.service.utils.SSpringContextUtil
+import com.sybotan.mybatis.SMybatisDao
+import com.sybotan.service.SObjectService
+import com.sybotan.service.utils.SSpringContextUtil
 import java.util.*
 
 /**

+ 1 - 1
meiku/src/main/resources/application.yml

@@ -39,7 +39,7 @@ spring:
     # 首字母大写
 #    property-naming-strategy:           com.fasterxml.jackson.databind.PropertyNamingStrategy.PascalCaseStrategy
     # 以下划线分隔全小写的单词
-    property-naming-strategy:           com.fasterxml.jackson.databind.PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy
+#    property-naming-strategy:           com.fasterxml.jackson.databind.PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy
     mapper:
       # 属性按字母顺序输出
      sort_properties_alphabetically:   true