Browse Source

Merge remote-tracking branch 'origin/master'

zhongwei
ty 7 months ago
parent
commit
81945da9ab
  1. 1
      .gitignore
  2. 17
      hzims-service-api/big-model-api/pom.xml
  3. 14
      hzims-service-api/big-model-api/src/main/java/com/hnac/hzims/bigmodel/BigModelConstants.java
  4. 38
      hzims-service-api/big-model-api/src/main/java/com/hnac/hzims/bigmodel/entity/FuncParamEntity.java
  5. 45
      hzims-service-api/big-model-api/src/main/java/com/hnac/hzims/bigmodel/entity/FunctionEntity.java
  6. 29
      hzims-service-api/big-model-api/src/main/java/com/hnac/hzims/bigmodel/interactive/constants/FunctionConstants.java
  7. 30
      hzims-service-api/big-model-api/src/main/java/com/hnac/hzims/bigmodel/interactive/req/ModelFunctionReq.java
  8. 29
      hzims-service-api/big-model-api/src/main/java/com/hnac/hzims/bigmodel/interactive/vo/ExtraVO.java
  9. 303
      hzims-service-api/inspect-api/inspect-api.iml
  10. 56
      hzims-service-api/inspect-api/src/main/java/com/hnac/hzinfo/inspect/request/GenerateTaskVO.java
  11. 21
      hzims-service-api/inspect-api/src/main/java/com/hnac/hzinfo/inspect/showTemplate/entity/PlanTemplateEntity.java
  12. 28
      hzims-service-api/inspect-api/src/main/java/com/hnac/hzinfo/inspect/showTemplate/entity/TaskObjectProjectContentTemplateEntity.java
  13. 21
      hzims-service-api/inspect-api/src/main/java/com/hnac/hzinfo/inspect/showTemplate/entity/TaskObjectProjectTemplateEntity.java
  14. 28
      hzims-service-api/inspect-api/src/main/java/com/hnac/hzinfo/inspect/showTemplate/entity/TaskObjectTemplateEntity.java
  15. 28
      hzims-service-api/inspect-api/src/main/java/com/hnac/hzinfo/inspect/showTemplate/entity/TaskTemplateEntity.java
  16. 1
      hzims-service-api/pom.xml
  17. 91
      hzims-service/hzims-big-model/pom.xml
  18. 33
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/HzimsBigModelApplication.java
  19. 18
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/configuration/BigModelInvokeUrl.java
  20. 73
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/function/controller/FunctionController.java
  21. 74
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/function/controller/FunctionParamController.java
  22. 11
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/function/mapper/FuncParamMapper.java
  23. 12
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/function/mapper/FunctionMapper.java
  24. 21
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/function/service/IFuncParamService.java
  25. 14
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/function/service/IFunctionService.java
  26. 28
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/function/service/impl/FuncParamServiceImpl.java
  27. 27
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/function/service/impl/FunctionServiceImpl.java
  28. 45
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/interactive/controller/InteractiveController.java
  29. 20
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/interactive/service/IInteractiveService.java
  30. 16
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/interactive/service/IJumpPageService.java
  31. 85
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/interactive/service/impl/InteractiveServiceImpl.java
  32. 54
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/interactive/service/impl/JumpPageServiceImpl.java
  33. 58
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/schedule/InteractiveSchedule.java
  34. 13
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/schedule/XxlJobHandlerConstant.java
  35. 28
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/websocket/config/WebSocketConfig.java
  36. 41
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/websocket/handler/InteractiveHandler.java
  37. 9
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/websocket/server/InteractiveWsServer.java
  38. 32
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/websocket/service/InteractiveWsService.java
  39. 13
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/websocket/service/WebSocketService.java
  40. 56
      hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/websocket/sessionManager/InteractiveSessionManager.java
  41. 34
      hzims-service/hzims-big-model/src/main/resources/db/1.0.0.sql
  42. 339
      hzims-service/inspect/hzinfo-inspect.iml
  43. 15
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/mapper/EventRecordTemplateMapper.java
  44. 8
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/mapper/EventTemplateMapper.java
  45. 15
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/mapper/PlanTemplateMapper.java
  46. 10
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/mapper/TaskObjectProjectContentTemplateMapper.java
  47. 9
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/mapper/TaskObjectProjectTemplateMapper.java
  48. 8
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/mapper/TaskObjectTemplateMapper.java
  49. 8
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/mapper/TaskTemplateMapper.java
  50. 8
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/IEventRecordTemplateService.java
  51. 8
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/IEventTemplateService.java
  52. 15
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/IPlanTemplateService.java
  53. 15
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/ITaskObjectProjectContentTemplateService.java
  54. 8
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/ITaskObjectProjectTemplateService.java
  55. 7
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/ITaskObjectTemplateService.java
  56. 7
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/ITaskTemplateService.java
  57. 19
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/impl/EventRecordTemplateServiceImpl.java
  58. 19
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/impl/EventTemplateServiceImpl.java
  59. 20
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/impl/PlanTemplateServiceImpl.java
  60. 19
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/impl/TaskObjectProjectContentTemplateServiceImpl.java
  61. 16
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/impl/TaskObjectProjectTemplateServiceImpl.java
  62. 19
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/impl/TaskObjectTemplateServiceImpl.java
  63. 17
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/impl/TaskTemplateServiceImpl.java
  64. 39
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/controller/CreateTaskController.java
  65. 20
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/entity/EventRecordTemplateEntity.java
  66. 27
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/entity/EventTemplateEntity.java
  67. 3
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/mapper/TaskMapper.xml
  68. 9
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/service/ICreateTaskService.java
  69. 269
      hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/service/impl/CreateTaskServiceImpl.java
  70. 1
      hzims-service/pom.xml

1
.gitignore vendored

@ -3,6 +3,7 @@
/hzims-service/*/target /hzims-service/*/target
/hzims-service-api/*/target /hzims-service-api/*/target
log log
*.iml

17
hzims-service-api/big-model-api/pom.xml

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>hzims-service-api</artifactId>
<groupId>com.hnac.hzims</groupId>
<version>4.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<name>big-model-api</name>
<artifactId>big-model-api</artifactId>
<dependencies>
</dependencies>
</project>

14
hzims-service-api/big-model-api/src/main/java/com/hnac/hzims/bigmodel/BigModelConstants.java

@ -0,0 +1,14 @@
package com.hnac.hzims.bigmodel;
/**
* @Author: huangxing
* @Date: 2024/04/26 10:15
*/
public interface BigModelConstants {
/**注册至NACOS服务名**/
String APP_NAME = "hzims-big-model";
/**前端展示服务名**/
String MODULE_NAME = "大模型管理";
}

38
hzims-service-api/big-model-api/src/main/java/com/hnac/hzims/bigmodel/entity/FuncParamEntity.java

@ -0,0 +1,38 @@
package com.hnac.hzims.bigmodel.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springblade.core.mp.support.QueryField;
import org.springblade.core.mp.support.SqlCondition;
import org.springblade.core.tenant.mp.TenantEntity;
import javax.validation.constraints.Max;
import javax.validation.constraints.Size;
/**
* @Author: huangxing
* @Date: 2024/04/26 10:56
*/
@TableName("HZIMS_FUNC_PARAM")
@ApiModel(value = "大模型函数参数entity",description = "大模型函数参数entity")
@Data
public class FuncParamEntity extends TenantEntity {
@ApiModelProperty(value = "函数表主键ID")
@QueryField(condition = SqlCondition.EQUAL)
@Max(20)
private Long funcId;
@ApiModelProperty("参数名称")
@QueryField(condition = SqlCondition.LIKE)
@Size(min = 1,max = 50)
private String name;
@ApiModelProperty(value = "参数别名,传参参数")
@QueryField(condition = SqlCondition.EQUAL)
@Size(min = 1,max = 25)
private String alias;
}

45
hzims-service-api/big-model-api/src/main/java/com/hnac/hzims/bigmodel/entity/FunctionEntity.java

@ -0,0 +1,45 @@
package com.hnac.hzims.bigmodel.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springblade.core.mp.support.QueryField;
import org.springblade.core.mp.support.SqlCondition;
import org.springblade.core.tenant.mp.TenantEntity;
import javax.validation.constraints.Max;
import javax.validation.constraints.Size;
/**
* @Author: huangxing
* @Date: 2024/04/26 10:46
*/
@Data
@ApiModel(value = "大模型函数entity",description = "大模型函数entity")
@TableName("HZIMS_FUNCTION")
public class FunctionEntity extends TenantEntity {
@ApiModelProperty("函数名称")
@QueryField(condition = SqlCondition.LIKE)
private String name;
@ApiModelProperty(value = "函数编号")
@QueryField(condition = SqlCondition.EQUAL)
private String code;
@ApiModelProperty("动作类型")
@QueryField(condition = SqlCondition.EQUAL)
private String type;
@ApiModelProperty("是否需要确认,0:否,1:是")
@QueryField(condition = SqlCondition.EQUAL)
private Boolean isConfirm;
@ApiModelProperty("跳转路径")
private String path;
@ApiModelProperty("描述")
private String remake;
}

29
hzims-service-api/big-model-api/src/main/java/com/hnac/hzims/bigmodel/interactive/constants/FunctionConstants.java

@ -0,0 +1,29 @@
package com.hnac.hzims.bigmodel.interactive.constants;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
/**
* @Author: huangxing
* @Date: 2024/04/26 13:29
*/
public interface FunctionConstants {
@AllArgsConstructor
enum TypeEnum {
/**跳转页面**/
JUMP("1")
;
@Getter
private String type;
public static TypeEnum getTypeEnumByType (String type) {
Optional<TypeEnum> typeEnumOptional = Arrays.stream(TypeEnum.class.getEnumConstants()).filter(e -> type.equals(e.getType())).findFirst();
return typeEnumOptional.orElse(null);
}
}
}

30
hzims-service-api/big-model-api/src/main/java/com/hnac/hzims/bigmodel/interactive/req/ModelFunctionReq.java

@ -0,0 +1,30 @@
package com.hnac.hzims.bigmodel.interactive.req;
import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Map;
/**
* @Author: huangxing
* @Date: 2024/04/26 11:31
*/
@Data
@ApiModel("大模型响应内容")
public class ModelFunctionReq implements Serializable {
@ApiModelProperty("类型")
private String type;
@JSONField(name = "function_name")
@ApiModelProperty("函数标识")
private String functionName;
@JSONField(name = "function_args")
@ApiModelProperty("函数参数")
private Map<String,String> functionArgs;
}

29
hzims-service-api/big-model-api/src/main/java/com/hnac/hzims/bigmodel/interactive/vo/ExtraVO.java

@ -0,0 +1,29 @@
package com.hnac.hzims.bigmodel.interactive.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @Author: huangxing
* @Date: 2024/04/26 13:35
*/
@Data
@ApiModel("响应内容")
public class ExtraVO implements Serializable {
@ApiModelProperty("交互类型")
private String type;
@ApiModelProperty("若为弹窗,则返回路由")
private String route;
@ApiModelProperty("链接显示文字")
private String label;
@ApiModelProperty("是否立即跳转")
private boolean isImmediatelyJump = true;
}

303
hzims-service-api/inspect-api/inspect-api.iml

@ -1,309 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> <module version="4">
<component name="FacetManager"> <component name="FacetManager">
<facet type="web" name="Web"> <facet type="web" name="Web">
<configuration> <configuration>
<webroots /> <webroots />
<sourceRoots>
<root url="file://$MODULE_DIR$/src/main/java" />
<root url="file://$MODULE_DIR$/src/main/resources" />
<root url="file://$MODULE_DIR$/target/generated-sources/annotations" />
</sourceRoots>
</configuration> </configuration>
</facet> </facet>
<facet type="Spring" name="Spring"> <facet type="Spring" name="Spring">
<configuration /> <configuration />
</facet> </facet>
</component> </component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-mybatis:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.3.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.3.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.3.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.3.2" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:3.1" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.3" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.3" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-typehandlers-jsr310:1.0.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.17.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.17.1" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" />
<orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.23" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.2.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-auth:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-core-tool:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.0" level="project" />
<orderEntry type="library" name="Maven: org.jsoup:jsoup:1.12.1" level="project" />
<orderEntry type="library" name="Maven: io.protostuff:protostuff-core:1.6.0" level="project" />
<orderEntry type="library" name="Maven: io.protostuff:protostuff-api:1.6.0" level="project" />
<orderEntry type="library" name="Maven: io.protostuff:protostuff-runtime:1.6.0" level="project" />
<orderEntry type="library" name="Maven: io.protostuff:protostuff-collectionschema:1.6.0" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-jwt:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.1.19.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.1.19.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.1.19.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: redis.clients:jedis:2.9.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.6.2" level="project" />
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt:0.9.1" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-log:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-core-cloud:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-stream:2.1.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.37" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-messaging:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.integration:spring-integration-core:5.1.12.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.integration:spring-integration-jmx:5.1.12.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tuple:1.0.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.esotericsoftware:kryo-shaded:3.0.3" level="project" />
<orderEntry type="library" name="Maven: com.esotericsoftware:minlog:1.3.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.integration:spring-integration-tuple:1.0.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-function-context:2.0.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-function-core:2.0.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-okhttp:10.4.0" level="project" />
<orderEntry type="library" name="Maven: com.squareup.okhttp3:okhttp:3.14.5" level="project" />
<orderEntry type="library" name="Maven: com.squareup.okio:okio:1.17.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-hystrix:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-hystrix:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-archaius:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-serialization:1.5.18" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.fasterxml.jackson.module:jackson-module-afterburner:2.13.0" level="project" />
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-metrics-event-stream:1.5.18" level="project" />
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-javanica:1.5.18" level="project" />
<orderEntry type="library" name="Maven: io.reactivex:rxjava-reactive-streams:1.2.1" level="project" />
<orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-actuator:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator-autoconfigure:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.micrometer:micrometer-core:1.1.16" level="project" />
<orderEntry type="library" name="Maven: org.latencyutils:LatencyUtils:2.0.3" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery:2.1.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-client:1.2.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-common:1.2.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-api:1.2.1" level="project" />
<orderEntry type="library" name="Maven: io.prometheus:simpleclient:0.5.0" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.spring:spring-context-support:1.0.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-ribbon:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon:2.3.0" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.ribbon:ribbon-transport:2.3.0" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-contexts:0.4.9" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-servo:0.4.9" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: javax.inject:javax.inject:1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty:0.4.9" level="project" />
<orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-core:2.3.0" level="project" />
<orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-httpclient:2.3.0" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-client:1.19.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-core:1.19.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: javax.ws.rs:jsr311-api:1.1.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey.contribs:jersey-apache-client4:1.19.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.servo:servo-core:0.12.21" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-commons-util:0.3.0" level="project" />
<orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-loadbalancer:2.3.0" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-statistics:0.1.1" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter:5.5.2" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-api:5.3.2" level="project" />
<orderEntry type="library" name="Maven: org.apiguardian:apiguardian-api:1.0.0" level="project" />
<orderEntry type="library" name="Maven: org.opentest4j:opentest4j:1.1.1" level="project" />
<orderEntry type="library" name="Maven: org.junit.platform:junit-platform-commons:1.3.2" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-params:5.3.2" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.3.2" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.junit.platform:junit-platform-engine:1.3.2" level="project" />
<orderEntry type="library" name="Maven: org.mockito:mockito-junit-jupiter:2.23.4" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-config:2.1.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: net.logstash.logback:logstash-logback-encoder:6.2" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.13.0" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.janino:janino:3.0.15" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.janino:commons-compiler:3.0.16" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.retry:spring-retry:1.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-tenant:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-cache:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-cache:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:dynamic-datasource-spring-boot-starter:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-openfeign:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter:2.1.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-context:2.1.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-rsa:1.0.9.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.59" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.59" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-openfeign-core:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-ribbon:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-archaius:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form-spring:3.8.0" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form:3.8.0" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.3" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:2.1.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.1.11.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-core:10.4.0" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-slf4j:10.4.0" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-hystrix:10.4.0" level="project" />
<orderEntry type="library" name="Maven: com.netflix.archaius:archaius-core:0.7.6" level="project" />
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" />
<orderEntry type="library" name="Maven: commons-configuration:commons-configuration:1.8" level="project" />
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.13.0" level="project" />
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-core:1.5.18" level="project" />
<orderEntry type="library" name="Maven: io.reactivex:rxjava:1.3.8" level="project" />
<orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.9" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.20" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-core:2.9.2" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.9.16" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.9.2" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.2.0.Final" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.21" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.13.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.springblade:blade-core-auto:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="module" module-name="common-api" />
<orderEntry type="library" name="Maven: com.github.ben-manes.caffeine:caffeine:2.6.2" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:easyexcel:2.2.6" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi:3.17" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:3.17" level="project" />
<orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.04" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:3.17" level="project" />
<orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.6.0" level="project" />
<orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
<orderEntry type="library" name="Maven: cglib:cglib:3.1" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm:4.2" level="project" />
<orderEntry type="library" name="Maven: org.ehcache:ehcache:3.6.3" level="project" />
<orderEntry type="module" module-name="safeproduct-api" />
<orderEntry type="library" name="Maven: org.springblade:blade-system-api:5.1.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-swagger:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-micro-spring-boot-starter:2.0.4" level="project" />
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-spring-boot-autoconfigure:2.0.4" level="project" />
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-spring:2.0.4" level="project" />
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-annotations:2.0.4" level="project" />
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-core:2.0.4" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-bean-validators:2.9.2" level="project" />
<orderEntry type="module" module-name="middle-api" />
<orderEntry type="library" name="Maven: org.springblade:blade-user-api:5.1.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-dict-api:5.1.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: cn.afterturn:easypoi-spring-boot-starter:4.4.0" level="project" />
<orderEntry type="library" name="Maven: cn.afterturn:easypoi-web:4.4.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: cn.afterturn:easypoi-base:4.4.0" level="project" />
<orderEntry type="library" name="Maven: ognl:ognl:3.2.6" level="project" />
<orderEntry type="library" name="Maven: javax.validation:validation-api:2.0.1.Final" level="project" />
<orderEntry type="library" name="Maven: cn.afterturn:easypoi-annotation:4.4.0" level="project" />
<orderEntry type="library" name="Maven: cn.afterturn:easypoi-wps:4.4.0" level="project" />
<orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.6.6" level="project" />
<orderEntry type="module" module-name="hzims-biz-common" />
<orderEntry type="library" name="Maven: org.springblade:blade-core-launch:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.13.0" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.13.0" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.20.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.3.Final" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-undertow:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.undertow:undertow-core:2.0.30.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.xnio:xnio-api:3.3.8.Final" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.jboss.xnio:xnio-nio:3.3.8.Final" level="project" />
<orderEntry type="library" name="Maven: io.undertow:undertow-servlet:2.0.30.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.spec.javax.annotation:jboss-annotations-api_1.2_spec:1.0.2.Final" level="project" />
<orderEntry type="library" name="Maven: io.undertow:undertow-websockets-jsr:2.0.30.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.spec.javax.websocket:jboss-websocket-api_1.1_spec:1.1.4.Final" level="project" />
<orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:4.0.1" level="project" />
<orderEntry type="library" name="Maven: org.glassfish:javax.el:3.0.0" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-common:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-core-boot:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-core-db:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.3.2" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.1.22" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid:1.1.22" level="project" />
<orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.27" level="project" />
<orderEntry type="library" name="Maven: com.google.protobuf:protobuf-java:3.5.1" level="project" />
<orderEntry type="library" name="Maven: com.oracle:ojdbc7:12.2.0.1" level="project" />
<orderEntry type="library" name="Maven: org.postgresql:postgresql:42.2.6" level="project" />
<orderEntry type="library" name="Maven: com.microsoft.sqlserver:mssql-jdbc:6.4.0.jre8" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-core-secure:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-redis:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.redisson:redisson:3.11.6" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.51.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.51.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.51.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.51.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.51.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-resolver-dns:4.1.51.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec-dns:4.1.51.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.51.Final" level="project" />
<orderEntry type="library" name="Maven: javax.cache:cache-api:1.1.1" level="project" />
<orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.2.19.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.reactivex.rxjava2:rxjava:2.2.19" level="project" />
<orderEntry type="library" name="Maven: de.ruedigermoeller:fst:2.57" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0" level="project" />
<orderEntry type="library" name="Maven: org.jodd:jodd-bean:5.0.13" level="project" />
<orderEntry type="library" name="Maven: org.jodd:jodd-core:5.0.13" level="project" />
<orderEntry type="library" name="Maven: com.github.oshi:oshi-core:3.9.1" level="project" />
<orderEntry type="library" name="Maven: net.java.dev.jna:jna-platform:4.5.2" level="project" />
<orderEntry type="library" name="Maven: net.java.dev.jna:jna:4.5.2" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback.db:logback-classic-db:1.2.11.1" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:test-jar:tests:1.2.11" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback.db:logback-core-db:1.2.11.1" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
<orderEntry type="library" name="Maven: org.reflections:reflections:0.10.2" level="project" />
<orderEntry type="library" name="Maven: org.javassist:javassist:3.28.0-GA" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.73" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-datascope:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: com.hikvision.ga:artemis-http-client:1.1.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.13" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.8.1" level="project" />
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.12" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springblade:blade-core-test:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.1.16.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.1.16.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.1.16.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.11.1" level="project" />
<orderEntry type="library" name="Maven: org.mockito:mockito-core:2.23.4" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy-agent:1.9.16" level="project" />
<orderEntry type="library" name="Maven: org.objenesis:objenesis:2.6" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-library:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.1.17.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.6.4" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
</component>
</module> </module>

56
hzims-service-api/inspect-api/src/main/java/com/hnac/hzinfo/inspect/request/GenerateTaskVO.java

@ -0,0 +1,56 @@
package com.hnac.hzinfo.inspect.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tool.utils.DateUtil;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalTime;
/**
* @ClassName GenerateTaskVO
* @description:
* @author: hx
* @create: 2023-10-12 09:01
* @Version 4.0
**/
@Data
@EqualsAndHashCode
@ApiModel("生成巡检任务")
public class GenerateTaskVO implements Serializable {
@ApiModelProperty("站点编号")
private String stationCode;
@ApiModelProperty("站点名称")
private String stationName;
@ApiModelProperty("区域机构ID")
private Long areaDeptId;
@ApiModelProperty("开始日期")
@DateTimeFormat(pattern = DateUtil.PATTERN_DATE)
@JsonFormat(pattern = DateUtil.PATTERN_DATE)
private LocalDate startDate;
@ApiModelProperty("结束日期")
@DateTimeFormat(pattern = DateUtil.PATTERN_DATE)
@JsonFormat(pattern = DateUtil.PATTERN_DATE)
private LocalDate endDate;
@ApiModelProperty("开始时间")
@DateTimeFormat(pattern = DateUtil.PATTERN_TIME)
@JsonFormat(pattern = DateUtil.PATTERN_TIME)
private LocalTime startTime = LocalTime.of(8,0,0);
@ApiModelProperty("结束时间")
@DateTimeFormat(pattern = DateUtil.PATTERN_TIME)
@JsonFormat(pattern = DateUtil.PATTERN_TIME)
private LocalTime endTime = LocalTime.of(16,0,0);
}

21
hzims-service-api/inspect-api/src/main/java/com/hnac/hzinfo/inspect/showTemplate/entity/PlanTemplateEntity.java

@ -0,0 +1,21 @@
package com.hnac.hzinfo.inspect.showTemplate.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hnac.hzinfo.inspect.plan.entity.PlanEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
@Data
@EqualsAndHashCode
@ApiModel("巡检计划模板-造演示数据使用")
@TableName("hz_st_re_plan_template")
public class PlanTemplateEntity extends PlanEntity implements Serializable {
@ApiModelProperty("是否启用")
private Boolean enable;
}

28
hzims-service-api/inspect-api/src/main/java/com/hnac/hzinfo/inspect/showTemplate/entity/TaskObjectProjectContentTemplateEntity.java

@ -0,0 +1,28 @@
package com.hnac.hzinfo.inspect.showTemplate.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hnac.hzinfo.inspect.task.entity.TaskObjectProjectContentEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* @ClassName TaskObjectProjectContentTemplateEntity
* @description:
* @author: hx
* @create: 2023-10-12 14:49
* @Version 4.0
**/
@Data
@ApiModel("TaskObjectProjectContentTemplateEntity对象")
@EqualsAndHashCode
@TableName("hz_st_ex_object_project_content_template")
public class TaskObjectProjectContentTemplateEntity extends TaskObjectProjectContentEntity implements Serializable {
@ApiModelProperty("是否启用")
private Boolean enable;
}

21
hzims-service-api/inspect-api/src/main/java/com/hnac/hzinfo/inspect/showTemplate/entity/TaskObjectProjectTemplateEntity.java

@ -0,0 +1,21 @@
package com.hnac.hzinfo.inspect.showTemplate.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hnac.hzinfo.inspect.task.entity.TaskObjectProjectEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
@Data
@TableName("hz_st_ex_object_project_template")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "TaskObjectProject对象", description = "")
public class TaskObjectProjectTemplateEntity extends TaskObjectProjectEntity implements Serializable {
@ApiModelProperty("是否启用")
private Boolean enable;
}

28
hzims-service-api/inspect-api/src/main/java/com/hnac/hzinfo/inspect/showTemplate/entity/TaskObjectTemplateEntity.java

@ -0,0 +1,28 @@
package com.hnac.hzinfo.inspect.showTemplate.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hnac.hzinfo.inspect.task.entity.TaskObjectEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;
/**
* @ClassName TaskObjectTemplateEntity
* @description:
* @author: hx
* @create: 2023-10-12 13:31
* @Version 4.0
**/
@Data
@AllArgsConstructor
@ApiModel("巡检任务对象模板-演示数据占用")
@TableName("hz_st_ex_object_template")
public class TaskObjectTemplateEntity extends TaskObjectEntity implements Serializable {
@ApiModelProperty("是否启用")
private Boolean enable;
}

28
hzims-service-api/inspect-api/src/main/java/com/hnac/hzinfo/inspect/showTemplate/entity/TaskTemplateEntity.java

@ -0,0 +1,28 @@
package com.hnac.hzinfo.inspect.showTemplate.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hnac.hzinfo.inspect.task.entity.TaskEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;
/**
* @ClassName TaskTemplateEntity
* @description:
* @author: hx
* @create: 2023-10-12 11:28
* @Version 4.0
**/
@Data
@AllArgsConstructor
@ApiModel("巡检任务模板-演示数据占用")
@TableName("hz_st_ex_task_template")
public class TaskTemplateEntity extends TaskEntity implements Serializable {
@ApiModelProperty("是否启用")
private Boolean enable;
}

1
hzims-service-api/pom.xml

@ -29,6 +29,7 @@
<module>common-api</module> <module>common-api</module>
<module>middle-api</module> <module>middle-api</module>
<module>alarm-api</module> <module>alarm-api</module>
<module>big-model-api</module>
</modules> </modules>
<dependencies> <dependencies>

91
hzims-service/hzims-big-model/pom.xml

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.hnac.hzims</groupId>
<artifactId>hzims-service</artifactId>
<version>4.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>hzims-big-model</artifactId>
<name>big-model</name>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-core-boot</artifactId>
<exclusions>
<exclusion>
<groupId>org.springblade</groupId>
<artifactId>blade-starter-redis</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-starter-swagger</artifactId>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-core-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-core-cloud</artifactId>
</dependency>
<dependency>
<groupId>com.hnac.hzims</groupId>
<artifactId>big-model-api</artifactId>
<version>4.0.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<!-- spring-boot-websocket start -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- spring-boot-websocket end -->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-system-api</artifactId>
</dependency>
</dependencies>
<build>
<finalName>${project.name}-${project.version}</finalName>
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<configuration>
<username>${docker.username}</username>
<password>${docker.password}</password>
<repository>${docker.registry.url}/${docker.namespace}/${project.artifactId}</repository>
<tag>${project.version}</tag>
<useMavenSettingsForAuth>true</useMavenSettingsForAuth>
<buildArgs>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
<skip>false</skip>
</configuration>
</plugin>
</plugins>
</build>
</project>

33
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/HzimsBigModelApplication.java

@ -0,0 +1,33 @@
package com.hnac.hzims.bigmodel;
import org.mybatis.spring.annotation.MapperScan;
import org.springblade.core.cloud.feign.EnableBladeFeign;
import org.springblade.core.launch.BladeApplication;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.cloud.client.SpringCloudApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableScheduling;
import javax.annotation.Resource;
@EnableBladeFeign(basePackages = {"org.springblade","com.hnac"})
@SpringCloudApplication
@MapperScan("com.hnac.hzims.**.mapper.**")
@ComponentScan(basePackages = {"com.hnac.hzims.bigmodel.*"})
@Resource
@ComponentScan(basePackages = {"com.hnac.hzims.*"})
public class HzimsBigModelApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
BladeApplication.run(BigModelConstants.APP_NAME, HzimsBigModelApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return BladeApplication.createSpringApplicationBuilder(builder, BigModelConstants.APP_NAME, HzimsBigModelApplication.class);
}
}

18
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/configuration/BigModelInvokeUrl.java

@ -0,0 +1,18 @@
package com.hnac.hzims.bigmodel.configuration;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* @Author: huangxing
* @Date: 2024/04/28 18:20
*/
@Data
@Component
@ConfigurationProperties(prefix = "fdp.url")
public class BigModelInvokeUrl {
private String assistantAsk;
}

73
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/function/controller/FunctionController.java

@ -0,0 +1,73 @@
package com.hnac.hzims.bigmodel.function.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.hnac.hzims.bigmodel.BigModelConstants;
import com.hnac.hzims.bigmodel.entity.FunctionEntity;
import com.hnac.hzims.bigmodel.function.service.IFunctionService;
import com.hnac.hzims.common.utils.Condition;
import com.hnac.hzinfo.log.annotation.Business;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Author: huangxing
* @Date: 2024/04/29 14:39
*/
@RestController
@RequestMapping("/function")
@Api(value = "大模型函数管理",tags = "大模型函数管理")
@Business(module = BigModelConstants.MODULE_NAME,value = "大模型函数管理")
@AllArgsConstructor
public class FunctionController {
private final IFunctionService functionService;
@PostMapping("/save")
@ApiOperation("保存函数")
@ApiOperationSupport(order = 1)
public R save(@RequestBody @Validated FunctionEntity req) {
return R.status(functionService.save(req));
}
@PutMapping("/save")
@ApiOperation("编辑函数")
@ApiOperationSupport(order = 2)
public R updateById(@RequestBody FunctionEntity req) {
return R.status(functionService.save(req));
}
@GetMapping("/list")
@ApiOperation("列表查询")
@ApiOperationSupport(order = 3)
public R<List<FunctionEntity>> list(FunctionEntity req) {
return R.data(functionService.list(Condition.getQueryWrapper(BeanUtil.toMap(req),FunctionEntity.class)));
}
@GetMapping("/page")
@ApiOperation("分页查询")
@ApiOperationSupport(order = 4)
public R<IPage<FunctionEntity>> page(FunctionEntity req, Query query) {
QueryWrapper<FunctionEntity> queryWrapper = Condition.getQueryWrapper(BeanUtil.toMap(req), FunctionEntity.class);
return R.data(functionService.page(Condition.getPage(query),queryWrapper));
}
@DeleteMapping("/remove")
@ApiOperation("删除函数")
@ApiOperationSupport(order = 4)
public R remove(String ids) {
return R.data(functionService.removeByIds(Func.toLongList(",",ids)));
}
}

74
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/function/controller/FunctionParamController.java

@ -0,0 +1,74 @@
package com.hnac.hzims.bigmodel.function.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.hnac.hzims.bigmodel.BigModelConstants;
import com.hnac.hzims.bigmodel.entity.FuncParamEntity;
import com.hnac.hzims.bigmodel.entity.FunctionEntity;
import com.hnac.hzims.bigmodel.function.service.IFuncParamService;
import com.hnac.hzims.bigmodel.function.service.IFunctionService;
import com.hnac.hzims.common.utils.Condition;
import com.hnac.hzinfo.log.annotation.Business;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Author: huangxing
* @Date: 2024/04/29 15:46
*/
@RestController
@RequestMapping("/function/param")
@Api(value = "大模型函数参数管理",tags = "大模型函数参数管理")
@Business(module = BigModelConstants.MODULE_NAME,value = "大模型函数参数管理")
@AllArgsConstructor
public class FunctionParamController {
private final IFuncParamService funcParamService;
@PostMapping("/save")
@ApiOperation("保存函数参数")
@ApiOperationSupport(order = 1)
public R save(@RequestBody @Validated FuncParamEntity req) {
return R.status(funcParamService.save(req));
}
@PutMapping("/save")
@ApiOperation("编辑函数参数")
@ApiOperationSupport(order = 2)
public R updateById(@RequestBody FuncParamEntity req) {
return R.status(funcParamService.save(req));
}
@GetMapping("/list")
@ApiOperation("列表查询")
@ApiOperationSupport(order = 3)
public R<List<FuncParamEntity>> list(FuncParamEntity req) {
return R.data(funcParamService.list(Condition.getQueryWrapper(BeanUtil.toMap(req),FuncParamEntity.class)));
}
@GetMapping("/page")
@ApiOperation("分页查询")
@ApiOperationSupport(order = 4)
public R<IPage<FuncParamEntity>> page(FuncParamEntity req, Query query) {
QueryWrapper<FuncParamEntity> queryWrapper = Condition.getQueryWrapper(BeanUtil.toMap(req), FuncParamEntity.class);
return R.data(funcParamService.page(Condition.getPage(query),queryWrapper));
}
@DeleteMapping("/remove")
@ApiOperation("删除函数参数")
@ApiOperationSupport(order = 4)
public R remove(String ids) {
return R.data(funcParamService.removeByIds(Func.toLongList(",",ids)));
}
}

11
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/function/mapper/FuncParamMapper.java

@ -0,0 +1,11 @@
package com.hnac.hzims.bigmodel.function.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hnac.hzims.bigmodel.entity.FuncParamEntity;
/**
* @Author: huangxing
* @Date: 2024/04/26 11:11
*/
public interface FuncParamMapper extends BaseMapper<FuncParamEntity> {
}

12
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/function/mapper/FunctionMapper.java

@ -0,0 +1,12 @@
package com.hnac.hzims.bigmodel.function.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hnac.hzims.bigmodel.entity.FunctionEntity;
/**
* @Author: huangxing
* @Date: 2024/04/26 11:10
*/
public interface FunctionMapper extends BaseMapper<FunctionEntity> {
}

21
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/function/service/IFuncParamService.java

@ -0,0 +1,21 @@
package com.hnac.hzims.bigmodel.function.service;
import com.hnac.hzims.bigmodel.entity.FuncParamEntity;
import org.springblade.core.mp.base.BaseService;
import java.util.List;
/**
* @Author: huangxing
* @Date: 2024/04/26 11:12
*/
public interface IFuncParamService extends BaseService<FuncParamEntity> {
/**
* 根据函数ID获取参数列表
* @param funcId 函数ID
* @return 参数列表
*/
List<FuncParamEntity> getParamsByFuncId(Long funcId);
}

14
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/function/service/IFunctionService.java

@ -0,0 +1,14 @@
package com.hnac.hzims.bigmodel.function.service;
import com.hnac.hzims.bigmodel.entity.FunctionEntity;
import org.springblade.core.mp.base.BaseService;
/**
* @Author: huangxing
* @Date: 2024/04/26 11:08
*/
public interface IFunctionService extends BaseService<FunctionEntity> {
FunctionEntity getFunctionByCode(String code);
}

28
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/function/service/impl/FuncParamServiceImpl.java

@ -0,0 +1,28 @@
package com.hnac.hzims.bigmodel.function.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hnac.hzims.bigmodel.entity.FuncParamEntity;
import com.hnac.hzims.bigmodel.function.mapper.FuncParamMapper;
import com.hnac.hzims.bigmodel.function.service.IFuncParamService;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Author: huangxing
* @Date: 2024/04/26 11:13
*/
@Service
@Slf4j
public class FuncParamServiceImpl extends BaseServiceImpl<FuncParamMapper, FuncParamEntity> implements IFuncParamService {
@Override
public List<FuncParamEntity> getParamsByFuncId(Long funcId) {
LambdaQueryWrapper<FuncParamEntity> queryWrapper = Wrappers.<FuncParamEntity>lambdaQuery().eq(FuncParamEntity::getFuncId, funcId);
return this.list(queryWrapper);
}
}

27
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/function/service/impl/FunctionServiceImpl.java

@ -0,0 +1,27 @@
package com.hnac.hzims.bigmodel.function.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hnac.hzims.bigmodel.entity.FunctionEntity;
import com.hnac.hzims.bigmodel.function.mapper.FunctionMapper;
import com.hnac.hzims.bigmodel.function.service.IFunctionService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
/**
* @Author: huangxing
* @Date: 2024/04/26 11:09
*/
@Service
@Slf4j
@AllArgsConstructor
public class FunctionServiceImpl extends BaseServiceImpl<FunctionMapper, FunctionEntity> implements IFunctionService {
@Override
public FunctionEntity getFunctionByCode(String code) {
LambdaQueryWrapper<FunctionEntity> queryWrapper = Wrappers.<FunctionEntity>lambdaQuery().eq(FunctionEntity::getCode, code);
return this.getOne(queryWrapper);
}
}

45
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/interactive/controller/InteractiveController.java

@ -0,0 +1,45 @@
package com.hnac.hzims.bigmodel.interactive.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.hnac.hzims.bigmodel.BigModelConstants;
import com.hnac.hzims.bigmodel.interactive.req.ModelFunctionReq;
import com.hnac.hzims.bigmodel.interactive.service.IInteractiveService;
import com.hnac.hzinfo.log.annotation.Business;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* @Author: huangxing
* @Date: 2024/04/26 14:51
*/
@RestController
@AllArgsConstructor
@Api(value = "FDP大模型交互层",tags = "FDP大模型交互层")
@RequestMapping("/interactive")
@Business(module = BigModelConstants.MODULE_NAME,value = "FDP大模型交互层")
public class InteractiveController {
private final IInteractiveService interactiveService;
@ApiOperation("解析大模型函数")
@ApiOperationSupport(order = 1)
@PostMapping("/resolve")
public R resolve(@RequestBody ModelFunctionReq req) {
return interactiveService.resolve(req);
}
@ApiOperation("提问")
@ApiOperationSupport(order = 2)
@GetMapping("/ask")
public R ask(@RequestParam @ApiParam("用户提出问题") String question, HttpServletRequest request) {
return interactiveService.ask(request, question);
}
}

20
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/interactive/service/IInteractiveService.java

@ -0,0 +1,20 @@
package com.hnac.hzims.bigmodel.interactive.service;
import com.hnac.hzims.bigmodel.interactive.req.ModelFunctionReq;
import io.swagger.annotations.ApiParam;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
/**
* @Author: huangxing
* @Date: 2024/04/26 14:51
*/
public interface IInteractiveService {
R resolve(ModelFunctionReq req);
R ask(HttpServletRequest request, String question);
}

16
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/interactive/service/IJumpPageService.java

@ -0,0 +1,16 @@
package com.hnac.hzims.bigmodel.interactive.service;
import com.hnac.hzims.bigmodel.entity.FunctionEntity;
import com.hnac.hzims.bigmodel.interactive.vo.ExtraVO;
import java.util.Map;
/**
* @Author: huangxing
* @Date: 2024/04/26 11:46
*/
public interface IJumpPageService {
String dealJumpTypeFunction(FunctionEntity function, Map<String,String> args);
}

85
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/interactive/service/impl/InteractiveServiceImpl.java

@ -0,0 +1,85 @@
package com.hnac.hzims.bigmodel.interactive.service.impl;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.hnac.hzims.bigmodel.configuration.BigModelInvokeUrl;
import com.hnac.hzims.bigmodel.entity.FunctionEntity;
import com.hnac.hzims.bigmodel.interactive.req.ModelFunctionReq;
import com.hnac.hzims.bigmodel.interactive.service.IInteractiveService;
import com.hnac.hzims.bigmodel.interactive.service.IJumpPageService;
import com.hnac.hzims.bigmodel.function.service.IFunctionService;
import lombok.AllArgsConstructor;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.Map;
import static com.hnac.hzims.bigmodel.interactive.constants.FunctionConstants.*;
/**
* @Author: huangxing
* @Date: 2024/04/26 14:51
*/
@Service
@Slf4j
@RequiredArgsConstructor
public class InteractiveServiceImpl implements IInteractiveService {
private final IJumpPageService jumpPageService;
private final IFunctionService functionService;
private final BigModelInvokeUrl bigModelInvokeUrl;
@Value("${fdp.host}")
private String fdpHost;
@Override
public R resolve(ModelFunctionReq req) {
//TODO 数据鉴权
FunctionEntity function = functionService.getFunctionByCode(req.getFunctionName());
TypeEnum typeEnum = TypeEnum.getTypeEnumByType(function.getType());
switch (typeEnum) {
// 页面跳转
case JUMP:
String extra = jumpPageService.dealJumpTypeFunction(function, req.getFunctionArgs());
Assert.isTrue(StringUtil.isNotBlank(extra) && Func.isNotEmpty(extra), () -> {
throw new ServiceException("解析" + function.getName() + "函数失败!");
});
R.data(extra);
default:
throw new ServiceException("函数解析失败!");
}
}
@Override
public R ask(HttpServletRequest request, String question) {
HttpSession session = request.getSession(true);
String sessionId = session.getId();
Long userId = AuthUtil.getUserId();
//TODO 保存问题
Map<String,String> params = new HashMap<>();
params.put("id",sessionId);
params.put("userid",userId.toString());
params.put("query",question);
HttpResponse response = HttpRequest.post(fdpHost + bigModelInvokeUrl.getAssistantAsk())
.body(JSON.toJSONString(params)).execute();
Assert.isTrue(response.getStatus() == HttpServletResponse.SC_OK && "1".equals(JSONObject.parseObject(response.body()).getString("success")), () -> {
throw new ServiceException("远程调用大模型【发起问答】接口失败!");
});
return R.data(JSONObject.parseObject(response.body()).getString("data"));
}
}

54
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/interactive/service/impl/JumpPageServiceImpl.java

@ -0,0 +1,54 @@
package com.hnac.hzims.bigmodel.interactive.service.impl;
import com.alibaba.fastjson.JSON;
import com.hnac.hzims.bigmodel.entity.FuncParamEntity;
import com.hnac.hzims.bigmodel.entity.FunctionEntity;
import com.hnac.hzims.bigmodel.function.service.IFuncParamService;
import com.hnac.hzims.bigmodel.interactive.constants.FunctionConstants;
import com.hnac.hzims.bigmodel.interactive.service.IJumpPageService;
import com.hnac.hzims.bigmodel.interactive.vo.ExtraVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
/**
* @Author: huangxing
* @Date: 2024/04/26 11:46
*/
@Service
@AllArgsConstructor
@Slf4j
public class JumpPageServiceImpl implements IJumpPageService {
private final IFuncParamService paramService;
@Override
public String dealJumpTypeFunction(FunctionEntity function,Map<String,String> args) {
List<FuncParamEntity> params = paramService.getParamsByFuncId(function.getId());
Optional<FuncParamEntity> paramOptional = params.stream().filter(p -> !args.containsKey(p)).findAny();
Assert.isTrue(!paramOptional.isPresent(), () -> {
throw new ServiceException("解析参数失败,缺少参数:" + paramOptional.get().getName());
});
// 跳转页面逻辑
ExtraVO extraVO = new ExtraVO();
String path = function.getPath();
Set<Map.Entry<String, String>> entries = args.entrySet();
// 替换path中变量
for (Map.Entry<String, String> entry : entries) {
String replaceVariables = "{" + entry.getKey() + "}";
path = StringUtil.replace(path,replaceVariables,entry.getValue());
}
extraVO.setType(FunctionConstants.TypeEnum.JUMP.getType());
extraVO.setRoute(path);
// TODO 将结果存入redis中供前端获取
return JSON.toJSONString(extraVO);
}
}

58
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/schedule/InteractiveSchedule.java

@ -0,0 +1,58 @@
package com.hnac.hzims.bigmodel.schedule;
import com.alibaba.fastjson.JSON;
import com.hnac.hzims.bigmodel.websocket.server.InteractiveWsServer;
import com.hnac.hzims.bigmodel.websocket.service.InteractiveWsService;
import com.hnac.hzims.bigmodel.websocket.sessionManager.InteractiveSessionManager;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.AllArgsConstructor;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.utils.Func;
import org.springblade.system.cache.ParamCache;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.util.Assert;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
import java.util.List;
import java.util.Set;
import static com.hnac.hzims.bigmodel.schedule.XxlJobHandlerConstant.*;
/**
* @Author: huangxing
* @Date: 2024/04/28 16:18
*/
@Component
@AllArgsConstructor
public class InteractiveSchedule {
private final RedisTemplate redisTemplate;
private final InteractiveWsService wsService;
@XxlJob(GET_INTERACTIVE_RESULT)
public ReturnT execute(String params) {
String resultKey = ParamCache.getValue(GET_INTERACTIVE_RESULT);
Set<String> keySet = redisTemplate.keys(resultKey + "*");
keySet.parallelStream().forEach(key -> {
// 根据Key获取sessionId
List<String> keySplits = Func.toStrList(":", key);
String sessionId = keySplits.get(2);
// 查询websocket是否存在连接session
WebSocketSession session = InteractiveSessionManager.get(sessionId);
if(session == null) {
return;
}
TextMessage message = new TextMessage(JSON.toJSONString(redisTemplate.opsForValue().get(key)));
Boolean sendResult = wsService.sendMessage(sessionId, message);
Assert.isTrue(sendResult, () -> {
throw new ServiceException(key + "推送消息失败,推送消息体为:" + JSON.toJSONString(redisTemplate.opsForValue().get(key)));
});
redisTemplate.delete(key);
});
return ReturnT.SUCCESS;
}
}

13
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/schedule/XxlJobHandlerConstant.java

@ -0,0 +1,13 @@
package com.hnac.hzims.bigmodel.schedule;
/**
* @Author: huangxing
* @Date: 2024/04/28 16:19
*/
public interface XxlJobHandlerConstant {
String GET_INTERACTIVE_RESULT = "getInteractiveResult";
String INTERACTIVE_RESULT_KEY = "hzllm:interactive:result";
}

28
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/websocket/config/WebSocketConfig.java

@ -0,0 +1,28 @@
package com.hnac.hzims.bigmodel.websocket.config;
import com.hnac.hzims.bigmodel.websocket.handler.InteractiveHandler;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.config.annotation.EnableWebSocket;
import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;
/**
* @Author: huangxing
* @Date: 2024/04/28 13:39
*/
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(interactiveHandler(), "/interactive/{sessionId}").setAllowedOrigins("*");
}
@Bean
public WebSocketHandler interactiveHandler() {
return new InteractiveHandler();
}
}

41
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/websocket/handler/InteractiveHandler.java

@ -0,0 +1,41 @@
package com.hnac.hzims.bigmodel.websocket.handler;
import com.hnac.hzims.bigmodel.websocket.sessionManager.InteractiveSessionManager;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.handler.TextWebSocketHandler;
/**
* @Author: huangxing
* @Date: 2024/04/28 13:45
*/
@Slf4j
public class InteractiveHandler extends TextWebSocketHandler {
@Override
public void afterConnectionEstablished(WebSocketSession session) {
String[] split = session.getUri().toString().split("/");
String sessionId = split[split.length - 1];
session.getAttributes().put("sessionId", sessionId);
InteractiveSessionManager.add(sessionId, session);
log.info("sessionId: " + session.getId());
log.info("uri: " + session.getUri());
log.info("session connection successful!");
}
@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus status) {
String[] split = session.getUri().toString().split("/");
String sessionId = split[split.length - 1];
InteractiveSessionManager.removeAndClose(sessionId);
log.info("sessionId: " + session.getId());
log.info("uri: " + session.getUri());
log.info("session closed successful!");
}
@Override
protected void handleTextMessage(WebSocketSession session, TextMessage message) {
log.info("message handle successful!");
}
}

9
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/websocket/server/InteractiveWsServer.java

@ -0,0 +1,9 @@
package com.hnac.hzims.bigmodel.websocket.server;
/**
* @Author: huangxing
* @Date: 2024/04/28 13:38
*/
public class InteractiveWsServer {
}

32
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/websocket/service/InteractiveWsService.java

@ -0,0 +1,32 @@
package com.hnac.hzims.bigmodel.websocket.service;
import com.alibaba.fastjson.JSON;
import com.hnac.hzims.bigmodel.websocket.sessionManager.InteractiveSessionManager;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
import org.springframework.stereotype.Service;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
import java.io.IOException;
/**
* @Author: huangxing
* @Date: 2024/04/28 14:35
*/
@Service
@Slf4j
public class InteractiveWsService implements WebSocketService {
@Override
public Boolean sendMessage(String signage, TextMessage message) {
WebSocketSession session = InteractiveSessionManager.get(signage);
try {
session.sendMessage(message);
return true;
} catch (IOException e) {
log.error("消息推送失败,推送sessionId为:" + signage + ";消息体为:" + JSON.toJSONString(message));
return false;
}
}
}

13
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/websocket/service/WebSocketService.java

@ -0,0 +1,13 @@
package com.hnac.hzims.bigmodel.websocket.service;
import org.springframework.web.socket.TextMessage;
/**
* @Author: huangxing
* @Date: 2024/04/28 14:37
*/
public interface WebSocketService {
Boolean sendMessage(String signage, TextMessage message);
}

56
hzims-service/hzims-big-model/src/main/java/com/hnac/hzims/bigmodel/websocket/sessionManager/InteractiveSessionManager.java

@ -0,0 +1,56 @@
package com.hnac.hzims.bigmodel.websocket.sessionManager;
import org.springframework.web.socket.WebSocketSession;
import java.io.IOException;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
/**
* @Author: huangxing
* @Date: 2024/04/28 13:58
*/
public class InteractiveSessionManager {
/** ws会话池 **/
public static ConcurrentHashMap<String, WebSocketSession> SESSION_POOL = new ConcurrentHashMap<>();
private static final Lock lock = new ReentrantLock();
/**
* 添加会话
* @param sessionId 会话ID
* @param session 会话对象
*/
public static void add(String sessionId, WebSocketSession session) {
if (SESSION_POOL.containsKey(sessionId)) {
InteractiveSessionManager.removeAndClose(sessionId);
}
SESSION_POOL.put(sessionId, session);
}
/**
* 获取ws会话
* @param sessionId 会话ID
*/
public static WebSocketSession get(String sessionId) {
return SESSION_POOL.get(sessionId);
}
/**
* 移除ws会话并关闭会话
* @param sessionId 会话ID
*/
public static void removeAndClose(String sessionId) {
WebSocketSession session = SESSION_POOL.get(sessionId);
if (session != null) {
try {
//关闭连接
session.close();
} catch (IOException ex) {
throw new RuntimeException("关闭ws会话失败!", ex);
}
}
SESSION_POOL.remove(sessionId);
}
}

34
hzims-service/hzims-big-model/src/main/resources/db/1.0.0.sql

@ -0,0 +1,34 @@
CREATE TABLE IF NOT EXISTS `hzims_function` (
`ID` bigint(20) NOT NULL COMMENT '主键ID',
`NAME` varchar(50) COLLATE utf8mb4_bin NOT NULL COMMENT '函数名称',
`CODE` varchar(25) COLLATE utf8mb4_bin NOT NULL COMMENT '函数编号',
`TYPE` varchar(25) COLLATE utf8mb4_bin NOT NULL COMMENT '动作类型',
`IS_CONFIRM` tinyint(1) DEFAULT '0' COMMENT '是否需要确认,0:否,1:是',
`PATH` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '跳转路径',
`REMAKE` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '描述',
`TENANT_ID` varchar(12) CHARACTER SET utf8 DEFAULT NULL COMMENT '租户ID',
`STATUS` bigint(1) DEFAULT NULL COMMENT '状态',
`CREATE_DEPT` bigint(20) DEFAULT NULL COMMENT '创建单位',
`CREATE_USER` bigint(20) DEFAULT NULL COMMENT '创建人',
`CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间',
`UPDATE_USER` bigint(20) DEFAULT NULL COMMENT '修改人',
`UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新时间',
`IS_DELETED` tinyint(4) NOT NULL COMMENT '是否删除',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='模型函数';
CREATE TABLE IF NOT EXISTS `hzims_func_param` (
`ID` bigint(20) NOT NULL COMMENT '主键ID',
`FUNC_ID` bigint(20) NOT NULL COMMENT '主键ID',
`NAME` varchar(50) COLLATE utf8mb4_bin NOT NULL COMMENT '参数名称',
`ALIAS` varchar(25) COLLATE utf8mb4_bin NOT NULL COMMENT '参数别名',
`TENANT_ID` varchar(12) CHARACTER SET utf8 DEFAULT NULL COMMENT '租户ID',
`STATUS` bigint(1) DEFAULT NULL COMMENT '状态',
`CREATE_DEPT` bigint(20) DEFAULT NULL COMMENT '创建单位',
`CREATE_USER` bigint(20) DEFAULT NULL COMMENT '创建人',
`CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间',
`UPDATE_USER` bigint(20) DEFAULT NULL COMMENT '修改人',
`UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新时间',
`IS_DELETED` tinyint(4) NOT NULL COMMENT '是否删除',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='模型函数参数';

339
hzims-service/inspect/hzinfo-inspect.iml

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> <module version="4">
<component name="FacetManager"> <component name="FacetManager">
<facet type="web" name="Web"> <facet type="web" name="Web">
<configuration> <configuration>
@ -7,6 +7,7 @@
<sourceRoots> <sourceRoots>
<root url="file://$MODULE_DIR$/src/main/java" /> <root url="file://$MODULE_DIR$/src/main/java" />
<root url="file://$MODULE_DIR$/src/main/resources" /> <root url="file://$MODULE_DIR$/src/main/resources" />
<root url="file://$MODULE_DIR$/target/generated-sources/annotations" />
</sourceRoots> </sourceRoots>
</configuration> </configuration>
</facet> </facet>
@ -14,340 +15,4 @@
<configuration /> <configuration />
</facet> </facet>
</component> </component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-datascope:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-cache:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-auth:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-cache:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-mybatis:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.3.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.3.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.3.2" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.3.2" level="project" />
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:3.1" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.3" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.3" level="project" />
<orderEntry type="library" name="Maven: org.mybatis:mybatis-typehandlers-jsr310:1.0.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.2.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.17.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.17.1" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" />
<orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.23" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.retry:spring-retry:1.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.hzinfo.framework:hnac-framework-mqtt-starters:5.1.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.1" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-core-boot:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-core-db:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.3.2" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.1.22" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:druid:1.1.22" level="project" />
<orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.27" level="project" />
<orderEntry type="library" name="Maven: com.google.protobuf:protobuf-java:3.5.1" level="project" />
<orderEntry type="library" name="Maven: com.oracle:ojdbc7:12.2.0.1" level="project" />
<orderEntry type="library" name="Maven: org.postgresql:postgresql:42.2.6" level="project" />
<orderEntry type="library" name="Maven: com.microsoft.sqlserver:mssql-jdbc:6.4.0.jre8" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-core-secure:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-core-cloud:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-stream:2.1.4.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.37" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-messaging:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.integration:spring-integration-core:5.1.12.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.integration:spring-integration-jmx:5.1.12.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tuple:1.0.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.esotericsoftware:kryo-shaded:3.0.3" level="project" />
<orderEntry type="library" name="Maven: com.esotericsoftware:minlog:1.3.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.integration:spring-integration-tuple:1.0.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-function-context:2.0.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-function-core:2.0.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-okhttp:10.4.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-hystrix:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-hystrix:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-archaius:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: commons-configuration:commons-configuration:1.8" level="project" />
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-core:1.5.18" level="project" />
<orderEntry type="library" name="Maven: io.reactivex:rxjava:1.3.8" level="project" />
<orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.9" level="project" />
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-serialization:1.5.18" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.fasterxml.jackson.module:jackson-module-afterburner:2.13.0" level="project" />
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-metrics-event-stream:1.5.18" level="project" />
<orderEntry type="library" name="Maven: com.netflix.hystrix:hystrix-javanica:1.5.18" level="project" />
<orderEntry type="library" name="Maven: io.reactivex:rxjava-reactive-streams:1.2.1" level="project" />
<orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.3" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-actuator:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator-autoconfigure:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.micrometer:micrometer-core:1.1.16" level="project" />
<orderEntry type="library" name="Maven: org.latencyutils:LatencyUtils:2.0.3" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery:2.1.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-client:1.2.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-common:1.2.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-api:1.2.1" level="project" />
<orderEntry type="library" name="Maven: io.prometheus:simpleclient:0.5.0" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.spring:spring-context-support:1.0.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-ribbon:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon:2.3.0" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.ribbon:ribbon-transport:2.3.0" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-contexts:0.4.9" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty-servo:0.4.9" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: javax.inject:javax.inject:1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty:0.4.9" level="project" />
<orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-core:2.3.0" level="project" />
<orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-httpclient:2.3.0" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-client:1.19.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-core:1.19.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: javax.ws.rs:jsr311-api:1.1.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey.contribs:jersey-apache-client4:1.19.1" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.servo:servo-core:0.12.21" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-commons-util:0.3.0" level="project" />
<orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-loadbalancer:2.3.0" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.netflix.netflix-commons:netflix-statistics:0.1.1" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter:5.5.2" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-api:5.3.2" level="project" />
<orderEntry type="library" name="Maven: org.apiguardian:apiguardian-api:1.0.0" level="project" />
<orderEntry type="library" name="Maven: org.opentest4j:opentest4j:1.1.1" level="project" />
<orderEntry type="library" name="Maven: org.junit.platform:junit-platform-commons:1.3.2" level="project" />
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-params:5.3.2" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.3.2" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.junit.platform:junit-platform-engine:1.3.2" level="project" />
<orderEntry type="library" name="Maven: org.mockito:mockito-junit-jupiter:2.23.4" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-config:2.1.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-redis:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-jwt:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt:0.9.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.1.19.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.1.19.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.1.19.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: redis.clients:jedis:2.9.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.6.2" level="project" />
<orderEntry type="library" name="Maven: org.redisson:redisson:3.11.6" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.51.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.51.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.51.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.51.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.51.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-resolver-dns:4.1.51.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec-dns:4.1.51.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.51.Final" level="project" />
<orderEntry type="library" name="Maven: javax.cache:cache-api:1.1.1" level="project" />
<orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.2.19.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.reactivex.rxjava2:rxjava:2.2.19" level="project" />
<orderEntry type="library" name="Maven: de.ruedigermoeller:fst:2.57" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.9.16" level="project" />
<orderEntry type="library" name="Maven: org.jodd:jodd-bean:5.0.13" level="project" />
<orderEntry type="library" name="Maven: org.jodd:jodd-core:5.0.13" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-log:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: net.logstash.logback:logstash-logback-encoder:6.2" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.janino:janino:3.0.15" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.janino:commons-compiler:3.0.16" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-swagger:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-micro-spring-boot-starter:2.0.4" level="project" />
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-spring-boot-autoconfigure:2.0.4" level="project" />
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-spring:2.0.4" level="project" />
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-annotations:2.0.4" level="project" />
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-core:2.0.4" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-bean-validators:2.9.2" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-core-tool:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-core-launch:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.13.0" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.13.0" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.20.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.3.Final" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-undertow:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.undertow:undertow-core:2.0.30.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.xnio:xnio-api:3.3.8.Final" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.jboss.xnio:xnio-nio:3.3.8.Final" level="project" />
<orderEntry type="library" name="Maven: io.undertow:undertow-servlet:2.0.30.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.spec.javax.annotation:jboss-annotations-api_1.2_spec:1.0.2.Final" level="project" />
<orderEntry type="library" name="Maven: io.undertow:undertow-websockets-jsr:2.0.30.Final" level="project" />
<orderEntry type="library" name="Maven: org.jboss.spec.javax.websocket:jboss-websocket-api_1.1_spec:1.1.4.Final" level="project" />
<orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:4.0.1" level="project" />
<orderEntry type="library" name="Maven: org.glassfish:javax.el:3.0.0" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.0" level="project" />
<orderEntry type="library" name="Maven: org.jsoup:jsoup:1.12.1" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.20" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-core:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.9.2" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.9.2" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.4.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.2.0.Final" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.21" level="project" />
<orderEntry type="library" name="Maven: io.protostuff:protostuff-core:1.6.0" level="project" />
<orderEntry type="library" name="Maven: io.protostuff:protostuff-api:1.6.0" level="project" />
<orderEntry type="library" name="Maven: io.protostuff:protostuff-runtime:1.6.0" level="project" />
<orderEntry type="library" name="Maven: io.protostuff:protostuff-collectionschema:1.6.0" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-dict-api:5.1.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-openfeign-core:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-ribbon:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-archaius:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form-spring:3.8.0" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form:3.8.0" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.3" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.6" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-user-api:5.1.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-flow-api:4.5.3.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.xuxueli:xxl-job-core:2.1.2" level="project" />
<orderEntry type="library" name="Maven: com.xuxueli:xxl-rpc-core:1.5.0" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-all:4.1.51.Final" level="project" />
<orderEntry type="library" name="Maven: com.caucho:hessian:4.0.60" level="project" />
<orderEntry type="library" name="Maven: com.xuxueli:xxl-registry-client:1.1.0" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.groovy:groovy:2.5.13" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springblade:blade-core-test:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.1.16.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.1.16.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.1.16.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.11.1" level="project" />
<orderEntry type="library" name="Maven: org.mockito:mockito-core:2.23.4" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy-agent:1.9.16" level="project" />
<orderEntry type="library" name="Maven: org.objenesis:objenesis:2.6" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-library:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.6.4" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-http:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: com.squareup.okhttp3:okhttp:3.14.5" level="project" />
<orderEntry type="library" name="Maven: com.squareup.okhttp3:logging-interceptor:3.14.5" level="project" />
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" />
<orderEntry type="module" module-name="safeproduct-api" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-openfeign:2.1.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter:2.1.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-rsa:1.0.9.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.59" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.59" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:2.1.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-core:10.4.0" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-slf4j:10.4.0" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-hystrix:10.4.0" level="project" />
<orderEntry type="library" name="Maven: com.netflix.archaius:archaius-core:0.7.6" level="project" />
<orderEntry type="module" module-name="equipment-api" />
<orderEntry type="library" name="Maven: com.hnac.hzinfo.data:hzinfo-data-sdk:5.1.1.RELEASE" level="project" />
<orderEntry type="module" module-name="hzims-operational-api" />
<orderEntry type="module" module-name="weather-api" />
<orderEntry type="module" module-name="common-api" />
<orderEntry type="library" name="Maven: com.github.ben-manes.caffeine:caffeine:2.6.2" level="project" />
<orderEntry type="library" name="Maven: cn.afterturn:easypoi-base:4.4.0" level="project" />
<orderEntry type="library" name="Maven: ognl:ognl:3.2.6" level="project" />
<orderEntry type="library" name="Maven: javax.validation:validation-api:2.0.1.Final" level="project" />
<orderEntry type="library" name="Maven: cn.afterturn:easypoi-annotation:4.4.0" level="project" />
<orderEntry type="module" module-name="inspect-api" />
<orderEntry type="library" name="Maven: com.hikvision.ga:artemis-http-client:1.1.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.13" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.11" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.8.1" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" />
<orderEntry type="library" name="Maven: net.sf.ehcache:ehcache-core:2.6.9" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-resource-api:5.1.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-core-sms:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-core-push:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-core-speech:5.1.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-core-oss:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: io.minio:minio:6.0.7" level="project" />
<orderEntry type="library" name="Maven: com.google.http-client:google-http-client-xml:1.20.0" level="project" />
<orderEntry type="library" name="Maven: com.google.http-client:google-http-client:1.20.0" level="project" />
<orderEntry type="library" name="Maven: xpp3:xpp3:1.1.4c" level="project" />
<orderEntry type="library" name="Maven: com.squareup.okio:okio:1.17.3" level="project" />
<orderEntry type="library" name="Maven: joda-time:joda-time:2.10.6" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.13.0" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.13.0" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.13.0" level="project" />
<orderEntry type="library" name="Maven: com.google.code.findbugs:annotations:3.0.1" level="project" />
<orderEntry type="library" name="Maven: net.jcip:jcip-annotations:1.0" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-oss-minio:2.7.3.RELEASE" level="project" />
<orderEntry type="module" module-name="message-api" />
<orderEntry type="library" name="Maven: com.alibaba:easyexcel:2.2.7" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi:3.17" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:3.17" level="project" />
<orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.04" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:3.17" level="project" />
<orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.6.0" level="project" />
<orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
<orderEntry type="library" name="Maven: cglib:cglib:3.1" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm:4.2" level="project" />
<orderEntry type="library" name="Maven: org.ehcache:ehcache:3.6.3" level="project" />
<orderEntry type="library" name="Maven: com.itextpdf:itextpdf:5.5.13" level="project" />
<orderEntry type="library" name="Maven: com.itextpdf.tool:xmlworker:5.5.13" level="project" />
<orderEntry type="library" name="Maven: org.xhtmlrenderer:flying-saucer-pdf-itext5:9.0.7" level="project" />
<orderEntry type="library" name="Maven: org.xhtmlrenderer:flying-saucer-core:9.0.7" level="project" />
<orderEntry type="library" name="Maven: com.google.zxing:javase:2.2" level="project" />
<orderEntry type="library" name="Maven: com.google.zxing:core:3.1.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-test:5.0.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-system-api:5.1.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-common:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: com.github.oshi:oshi-core:3.9.1" level="project" />
<orderEntry type="library" name="Maven: net.java.dev.jna:jna-platform:4.5.2" level="project" />
<orderEntry type="library" name="Maven: net.java.dev.jna:jna:4.5.2" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback.db:logback-classic-db:1.2.11.1" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:test-jar:tests:1.2.11" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback.db:logback-core-db:1.2.11.1" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
<orderEntry type="library" name="Maven: org.reflections:reflections:0.10.2" level="project" />
<orderEntry type="library" name="Maven: org.javassist:javassist:3.28.0-GA" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.18" level="project" />
<orderEntry type="module" module-name="hzims-biz-common" />
<orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.73" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-tenant:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: com.baomidou:dynamic-datasource-spring-boot-starter:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springblade:blade-starter-api-crypto:5.1.1.RELEASE.fix.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-context:2.1.6.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.1.11.RELEASE" level="project" />
<orderEntry type="module" module-name="middle-api" />
<orderEntry type="library" name="Maven: cn.afterturn:easypoi-spring-boot-starter:4.4.0" level="project" />
<orderEntry type="library" name="Maven: cn.afterturn:easypoi-web:4.4.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.1.17.RELEASE" level="project" />
<orderEntry type="library" name="Maven: cn.afterturn:easypoi-wps:4.4.0" level="project" />
<orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.6.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.16.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.12" level="project" />
</component>
</module> </module>

15
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/mapper/EventRecordTemplateMapper.java

@ -0,0 +1,15 @@
package com.hnac.hzinfo.inspect.showTempalte.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hnac.hzinfo.inspect.task.entity.EventRecordTemplateEntity;
/**
* @ClassName EventRecordTemplateMapper
* @description:
* @author: hx
* @create: 2023-10-12 15:08
* @Version 4.0
**/
public interface EventRecordTemplateMapper extends BaseMapper<EventRecordTemplateEntity> {
}

8
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/mapper/EventTemplateMapper.java

@ -0,0 +1,8 @@
package com.hnac.hzinfo.inspect.showTempalte.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hnac.hzinfo.inspect.task.entity.EventTemplateEntity;
public interface EventTemplateMapper extends BaseMapper<EventTemplateEntity> {
}

15
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/mapper/PlanTemplateMapper.java

@ -0,0 +1,15 @@
package com.hnac.hzinfo.inspect.showTempalte.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hnac.hzinfo.inspect.showTemplate.entity.PlanTemplateEntity;
/**
* @ClassName PlanTemplateMapper
* @description:
* @author: hx
* @create: 2023-10-12 10:16
* @Version 4.0
**/
public interface PlanTemplateMapper extends BaseMapper<PlanTemplateEntity> {
}

10
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/mapper/TaskObjectProjectContentTemplateMapper.java

@ -0,0 +1,10 @@
package com.hnac.hzinfo.inspect.showTempalte.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hnac.hzinfo.inspect.showTemplate.entity.TaskObjectProjectContentTemplateEntity;
public interface TaskObjectProjectContentTemplateMapper extends BaseMapper<TaskObjectProjectContentTemplateEntity> {
}

9
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/mapper/TaskObjectProjectTemplateMapper.java

@ -0,0 +1,9 @@
package com.hnac.hzinfo.inspect.showTempalte.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hnac.hzinfo.inspect.showTemplate.entity.TaskObjectProjectTemplateEntity;
public interface TaskObjectProjectTemplateMapper extends BaseMapper<TaskObjectProjectTemplateEntity> {
}

8
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/mapper/TaskObjectTemplateMapper.java

@ -0,0 +1,8 @@
package com.hnac.hzinfo.inspect.showTempalte.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hnac.hzinfo.inspect.showTemplate.entity.TaskObjectTemplateEntity;
public interface TaskObjectTemplateMapper extends BaseMapper<TaskObjectTemplateEntity> {
}

8
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/mapper/TaskTemplateMapper.java

@ -0,0 +1,8 @@
package com.hnac.hzinfo.inspect.showTempalte.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hnac.hzinfo.inspect.showTemplate.entity.TaskTemplateEntity;
public interface TaskTemplateMapper extends BaseMapper<TaskTemplateEntity> {
}

8
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/IEventRecordTemplateService.java

@ -0,0 +1,8 @@
package com.hnac.hzinfo.inspect.showTempalte.service;
import com.hnac.hzinfo.inspect.task.entity.EventRecordTemplateEntity;
import org.springblade.core.mp.base.BaseService;
public interface IEventRecordTemplateService extends BaseService<EventRecordTemplateEntity> {
}

8
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/IEventTemplateService.java

@ -0,0 +1,8 @@
package com.hnac.hzinfo.inspect.showTempalte.service;
import com.hnac.hzinfo.inspect.task.entity.EventTemplateEntity;
import org.springblade.core.mp.base.BaseService;
public interface IEventTemplateService extends BaseService<EventTemplateEntity> {
}

15
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/IPlanTemplateService.java

@ -0,0 +1,15 @@
package com.hnac.hzinfo.inspect.showTempalte.service;
import com.hnac.hzinfo.inspect.showTemplate.entity.PlanTemplateEntity;
import org.springblade.core.mp.base.BaseService;
/**
* @ClassName IPlanTemplateService
* @description:
* @author: hx
* @create: 2023-10-12 10:18
* @Version 4.0
**/
public interface IPlanTemplateService extends BaseService<PlanTemplateEntity> {
}

15
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/ITaskObjectProjectContentTemplateService.java

@ -0,0 +1,15 @@
package com.hnac.hzinfo.inspect.showTempalte.service;
import com.hnac.hzinfo.inspect.showTemplate.entity.TaskObjectProjectContentTemplateEntity;
import org.springblade.core.mp.base.BaseService;
/**
* @ClassName ITaskObjectProjectContentTemplateService
* @description:
* @author: hx
* @create: 2023-10-12 14:53
* @Version 4.0
**/
public interface ITaskObjectProjectContentTemplateService extends BaseService<TaskObjectProjectContentTemplateEntity> {
}

8
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/ITaskObjectProjectTemplateService.java

@ -0,0 +1,8 @@
package com.hnac.hzinfo.inspect.showTempalte.service;
import com.hnac.hzinfo.inspect.showTemplate.entity.TaskObjectProjectTemplateEntity;
import org.springblade.core.mp.base.BaseService;
public interface ITaskObjectProjectTemplateService extends BaseService<TaskObjectProjectTemplateEntity> {
}

7
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/ITaskObjectTemplateService.java

@ -0,0 +1,7 @@
package com.hnac.hzinfo.inspect.showTempalte.service;
import com.hnac.hzinfo.inspect.showTemplate.entity.TaskObjectTemplateEntity;
import org.springblade.core.mp.base.BaseService;
public interface ITaskObjectTemplateService extends BaseService<TaskObjectTemplateEntity> {
}

7
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/ITaskTemplateService.java

@ -0,0 +1,7 @@
package com.hnac.hzinfo.inspect.showTempalte.service;
import com.hnac.hzinfo.inspect.showTemplate.entity.TaskTemplateEntity;
import org.springblade.core.mp.base.BaseService;
public interface ITaskTemplateService extends BaseService<TaskTemplateEntity> {
}

19
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/impl/EventRecordTemplateServiceImpl.java

@ -0,0 +1,19 @@
package com.hnac.hzinfo.inspect.showTempalte.service.impl;
import com.hnac.hzinfo.inspect.showTempalte.mapper.EventRecordTemplateMapper;
import com.hnac.hzinfo.inspect.showTempalte.service.IEventRecordTemplateService;
import com.hnac.hzinfo.inspect.task.entity.EventRecordTemplateEntity;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
/**
* @ClassName EventRecordTemplateServiceImpl
* @description:
* @author: hx
* @create: 2023-10-12 15:16
* @Version 4.0
**/
@Service
public class EventRecordTemplateServiceImpl extends BaseServiceImpl<EventRecordTemplateMapper, EventRecordTemplateEntity> implements IEventRecordTemplateService {
}

19
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/impl/EventTemplateServiceImpl.java

@ -0,0 +1,19 @@
package com.hnac.hzinfo.inspect.showTempalte.service.impl;
import com.hnac.hzinfo.inspect.showTempalte.mapper.EventTemplateMapper;
import com.hnac.hzinfo.inspect.showTempalte.service.IEventTemplateService;
import com.hnac.hzinfo.inspect.task.entity.EventTemplateEntity;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
/**
* @ClassName EventTemplateServiceImpl
* @description:
* @author: hx
* @create: 2023-10-12 15:11
* @Version 4.0
**/
@Service
public class EventTemplateServiceImpl extends BaseServiceImpl<EventTemplateMapper,EventTemplateEntity> implements IEventTemplateService {
}

20
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/impl/PlanTemplateServiceImpl.java

@ -0,0 +1,20 @@
package com.hnac.hzinfo.inspect.showTempalte.service.impl;
import com.hnac.hzinfo.inspect.showTempalte.mapper.PlanTemplateMapper;
import com.hnac.hzinfo.inspect.showTempalte.service.IPlanTemplateService;
import com.hnac.hzinfo.inspect.showTemplate.entity.PlanTemplateEntity;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
/**
* @ClassName PlanTemplateServiceImpl
* @description:
* @author: hx
* @create: 2023-10-12 10:18
* @Version 4.0
**/
@Service
public class PlanTemplateServiceImpl extends BaseServiceImpl<PlanTemplateMapper, PlanTemplateEntity> implements IPlanTemplateService {
}

19
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/impl/TaskObjectProjectContentTemplateServiceImpl.java

@ -0,0 +1,19 @@
package com.hnac.hzinfo.inspect.showTempalte.service.impl;
import com.hnac.hzinfo.inspect.showTempalte.mapper.TaskObjectProjectContentTemplateMapper;
import com.hnac.hzinfo.inspect.showTempalte.service.ITaskObjectProjectContentTemplateService;
import com.hnac.hzinfo.inspect.showTemplate.entity.TaskObjectProjectContentTemplateEntity;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
/**
* @ClassName TaskObjectProjectContentTemplateServiceImpl
* @description:
* @author: hx
* @create: 2023-10-12 14:54
* @Version 4.0
**/
@Service
public class TaskObjectProjectContentTemplateServiceImpl extends BaseServiceImpl<TaskObjectProjectContentTemplateMapper, TaskObjectProjectContentTemplateEntity> implements ITaskObjectProjectContentTemplateService {
}

16
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/impl/TaskObjectProjectTemplateServiceImpl.java

@ -0,0 +1,16 @@
package com.hnac.hzinfo.inspect.showTempalte.service.impl;
import com.hnac.hzinfo.inspect.showTempalte.mapper.TaskObjectProjectTemplateMapper;
import com.hnac.hzinfo.inspect.showTempalte.service.ITaskObjectProjectTemplateService;
import com.hnac.hzinfo.inspect.showTemplate.entity.TaskObjectProjectTemplateEntity;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
@Service
@AllArgsConstructor
@Slf4j
public class TaskObjectProjectTemplateServiceImpl extends BaseServiceImpl<TaskObjectProjectTemplateMapper, TaskObjectProjectTemplateEntity> implements ITaskObjectProjectTemplateService {
}

19
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/impl/TaskObjectTemplateServiceImpl.java

@ -0,0 +1,19 @@
package com.hnac.hzinfo.inspect.showTempalte.service.impl;
import com.hnac.hzinfo.inspect.showTempalte.mapper.TaskObjectTemplateMapper;
import com.hnac.hzinfo.inspect.showTempalte.service.ITaskObjectTemplateService;
import com.hnac.hzinfo.inspect.showTemplate.entity.TaskObjectTemplateEntity;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
/**
* @ClassName TaskObjectTemplateServiceImpl
* @description:
* @author: hx
* @create: 2023-10-12 13:34
* @Version 4.0
**/
@Service
public class TaskObjectTemplateServiceImpl extends BaseServiceImpl<TaskObjectTemplateMapper, TaskObjectTemplateEntity> implements ITaskObjectTemplateService {
}

17
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/showTempalte/service/impl/TaskTemplateServiceImpl.java

@ -0,0 +1,17 @@
package com.hnac.hzinfo.inspect.showTempalte.service.impl;
import com.hnac.hzinfo.inspect.showTempalte.mapper.TaskTemplateMapper;
import com.hnac.hzinfo.inspect.showTempalte.service.ITaskTemplateService;
import com.hnac.hzinfo.inspect.showTemplate.entity.TaskTemplateEntity;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
@Service
@AllArgsConstructor
@Slf4j
public class TaskTemplateServiceImpl extends BaseServiceImpl<TaskTemplateMapper, TaskTemplateEntity> implements ITaskTemplateService {
}

39
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/controller/CreateTaskController.java

@ -0,0 +1,39 @@
package com.hnac.hzinfo.inspect.task.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.hnac.hzinfo.inspect.request.GenerateTaskVO;
import com.hnac.hzinfo.inspect.task.service.ICreateTaskService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.api.R;
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;
/**
* @ClassName CreateTaskController
* @description:
* @author: hx
* @create: 2023-10-12 17:31
* @Version 4.0
**/
@RestController
@RequestMapping("/create/task")
@AllArgsConstructor
@Api(value = "创建巡检任务管理",tags = "创建巡检任务管理")
public class CreateTaskController extends BladeController {
private final ICreateTaskService createTaskService;
@PostMapping("/createShowTask")
@ApiOperation("生成演示数据")
@ApiOperationSupport(order = 1)
public R createShowTask(@RequestBody GenerateTaskVO request) {
createTaskService.createShowTask(request);
return R.success("成功!");
}
}

20
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/entity/EventRecordTemplateEntity.java

@ -0,0 +1,20 @@
package com.hnac.hzinfo.inspect.task.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
@Data
@TableName("hz_st_ex_event_record_template")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "巡检情况对象-演示模板", description = "")
public class EventRecordTemplateEntity extends EventRecordEntity implements Serializable {
@ApiModelProperty("是否启用")
private Boolean enable;
}

27
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/entity/EventTemplateEntity.java

@ -0,0 +1,27 @@
package com.hnac.hzinfo.inspect.task.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* @ClassName EventTemplateEntity
* @description:
* @author: hx
* @create: 2023-10-12 15:04
* @Version 4.0
**/
@Data
@TableName("hz_st_ex_event_template")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "巡检任务情况-演示数据模板", description = "巡检任务情况-演示数据模板")
public class EventTemplateEntity extends EventEntity implements Serializable {
@ApiModelProperty("是否启用")
private Boolean enable;
}

3
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/mapper/TaskMapper.xml

@ -15,6 +15,9 @@
<if test="task.planStartTime != null"> <if test="task.planStartTime != null">
and t.PLAN_START_TIME &gt;= #{task.planStartTime} and t.PLAN_START_TIME &gt;= #{task.planStartTime}
</if> </if>
<if test="task.planStartTimeEnd != null">
and t.PLAN_START_TIME &gt;= #{task.planStartTime}
</if>
<if test="task.planEndTime != null"> <if test="task.planEndTime != null">
and t.PLAN_END_TIME &lt;= #{task.planEndTime} and t.PLAN_END_TIME &lt;= #{task.planEndTime}
</if> </if>

9
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/service/ICreateTaskService.java

@ -0,0 +1,9 @@
package com.hnac.hzinfo.inspect.task.service;
import com.hnac.hzinfo.inspect.request.GenerateTaskVO;
public interface ICreateTaskService {
void createShowTask(GenerateTaskVO request);
}

269
hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/service/impl/CreateTaskServiceImpl.java

@ -0,0 +1,269 @@
package com.hnac.hzinfo.inspect.task.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.collect.Lists;
import com.hnac.hzinfo.inspect.obj.utils.CodeUtils;
import com.hnac.hzinfo.inspect.plan.entity.PlanEntity;
import com.hnac.hzinfo.inspect.plan.service.IPlanService;
import com.hnac.hzinfo.inspect.request.GenerateTaskVO;
import com.hnac.hzinfo.inspect.showTempalte.service.*;
import com.hnac.hzinfo.inspect.showTemplate.entity.*;
import com.hnac.hzinfo.inspect.task.entity.*;
import com.hnac.hzinfo.inspect.task.service.*;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.system.user.entity.User;
import org.springblade.system.user.feign.IUserClient;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* @ClassName CreateTaskServiceImpl
* @description:
* @author: hx
* @create: 2023-10-12 09:20
* @Version 4.0
**/
@Service
@Slf4j
@AllArgsConstructor
public class CreateTaskServiceImpl implements ICreateTaskService {
private final IUserClient userClient;
private final IPlanTemplateService planTemplateService;
private final IPlanService planService;
private final ITaskTemplateService taskTemplateService;
private final ITaskService taskService;
private final ITaskUserService taskUserService;
private final ITaskObjectTemplateService taskObjectTemplateService;
private final ITaskObjectService taskObjectService;
private final ITaskObjectProjectTemplateService taskObjectProjectTemplateService;
private final ITaskObjectProjectService taskObjectProjectService;
private final ITaskObjectProjectContentTemplateService taskObjectProjectContentTemplateService;
private final ITaskObjectProjectContentService taskObjectProjectContentService;
private final IEventTemplateService eventTemplateService;
private final IEventService eventService;
private final IEventRecordTemplateService eventRecordTemplateService;
private final IEventRecordService eventRecordService;
@Override
@Transactional
public void createShowTask(GenerateTaskVO request) {
// R<List<User>> userListR = userClient.userListByDeptId(request.getAreaDeptId());
// Assert.isTrue(userListR.isSuccess() && CollectionUtil.isNotEmpty(userListR.getData()),() ->{
// throw new ServiceException("获取当前机构下用户列表失败!");
// });
// List<User> userList = userListR.getData();
User user = new User();
user.setId(1699662065616064514L);
List<User> userList = Lists.newArrayList(user);
List<PlanTemplateEntity> planList = planTemplateService.list(Wrappers.<PlanTemplateEntity>lambdaQuery().eq(PlanTemplateEntity::getEnable, true));
planList.forEach(planTemplate -> this.generateTask(request,planTemplate,userList));
}
private void generateTask(GenerateTaskVO request,PlanTemplateEntity planTemplate,List<User> userList) {
// 创建计划
PlanEntity plan = this.convert(request, planTemplate, userList);
planService.save(plan);
// 创建任务
List<TaskTemplateEntity> taskList = taskTemplateService.list(
Wrappers.<TaskTemplateEntity>lambdaQuery().eq(TaskTemplateEntity::getPlanId, planTemplate.getId())
.eq(TaskTemplateEntity::getEnable, true)
);
List<LocalDate> dates = this.dateList(request.getStartDate(), request.getEndDate());
if(CollectionUtil.isNotEmpty(dates)) {
dates.forEach(date -> {
taskList.forEach(taskTemplate -> {
TaskEntity task = this.convert(request, taskTemplate, userList,date,plan);
taskService.save(task);
// 创建任务执行人员
TaskUserEntity taskUser = this.getUserByTaskId(request,task.getId(), userList.get(0).getId(), task.getPlanStartTime());
taskUserService.save(taskUser);
// 创建任务执行对象
List<TaskObjectTemplateEntity> taskObjectTemplates = taskObjectTemplateService.list(Wrappers.<TaskObjectTemplateEntity>lambdaQuery().eq(TaskObjectTemplateEntity::getTaskId, taskTemplate.getId()).eq(TaskObjectTemplateEntity::getEnable, true));
List<TaskObjectEntity> TaskObjectList = taskObjectTemplates.stream().map(taskObjectTemplate -> this.convert(request, taskObjectTemplate, userList,task.getId(),date)).collect(Collectors.toList());
taskObjectService.saveBatch(TaskObjectList);
// 创建任务执行对象项目关联表
List<TaskObjectProjectTemplateEntity> taskObjectProjectTemplates = taskObjectProjectTemplateService.list(Wrappers.<TaskObjectProjectTemplateEntity>lambdaQuery().eq(TaskObjectProjectTemplateEntity::getTaskId, taskTemplate.getId()).eq(TaskObjectProjectTemplateEntity::getEnable, true));
List<TaskObjectProjectEntity> taskObjectProjectList = taskObjectProjectTemplates.stream().map(taskObjectProjectTemplate -> this.convert(request, taskObjectProjectTemplate, userList, task.getId(), date)).collect(Collectors.toList());
taskObjectProjectService.saveBatch(taskObjectProjectList);
// 创建任务执行对象内容项目关联表
List<TaskObjectProjectContentTemplateEntity> taskObjectProjectContentTemplates = taskObjectProjectContentTemplateService.list(Wrappers.<TaskObjectProjectContentTemplateEntity>lambdaQuery().eq(TaskObjectProjectContentTemplateEntity::getTaskId, taskTemplate.getId()).eq(TaskObjectProjectContentTemplateEntity::getEnable, true));
List<TaskObjectProjectContentEntity> taskObjectProjectContentList = taskObjectProjectContentTemplates.stream().map(taskObjectProjectContentTemplate -> this.convert(request, taskObjectProjectContentTemplate, userList, task.getId(), date)).collect(Collectors.toList());
taskObjectProjectContentService.saveBatch(taskObjectProjectContentList);
// 创建任务执行结果表
List<EventTemplateEntity> eventTemplates = eventTemplateService.list(Wrappers.<EventTemplateEntity>lambdaQuery().eq(EventTemplateEntity::getTaskId, taskTemplate.getId()).eq(EventTemplateEntity::getEnable, true));
eventTemplates.forEach(eventTemplate -> {
EventEntity event = this.convert(request, eventTemplate, userList, task.getId(), date);
eventService.save(event);
List<EventRecordTemplateEntity> eventRecordTemplates = eventRecordTemplateService.list(Wrappers.<EventRecordTemplateEntity>lambdaQuery().eq(EventRecordTemplateEntity::getEventId, eventTemplate.getId()).eq(EventRecordTemplateEntity::getEnable, true));
List<EventRecordEntity> eventRecordList = eventRecordTemplates.stream().map(eventRecordTemplate -> this.convert(request, eventRecordTemplate, userList, event.getId(), date)).collect(Collectors.toList());
eventRecordService.saveBatch(eventRecordList);
});
});
});
}
}
private EventRecordEntity convert(GenerateTaskVO request, EventRecordTemplateEntity eventRecordTemplate, List<User> userList, Long eventId, LocalDate date) {
EventRecordEntity result = BeanUtil.copy(eventRecordTemplate,EventRecordEntity.class);
result.setId(null);
result.setEventId(eventId);
result.setCreateUser(userList.get(0).getId());
result.setCreateDept(request.getAreaDeptId());
result.setCreateTime(DateUtil.toDate(LocalDateTime.of(date,LocalTime.MIN)));
result.setUpdateUser(userList.get(0).getId());
result.setCreateTime(DateUtil.toDate(LocalDateTime.of(date,LocalTime.MIN)));
result.setTenantId(null);
log.info("转换后的任务对象项目内容为:{}",JSON.toJSONString(result));
return result;
}
private EventEntity convert(GenerateTaskVO request, EventTemplateEntity eventTemplate, List<User> userList, Long taskId, LocalDate date) {
EventTemplateEntity result = BeanUtil.copy(eventTemplate,EventTemplateEntity.class);
result.setId(null);
result.setTaskId(taskId);
result.setTitle(Optional.ofNullable(result.getTitle()).map(s -> s.replaceAll("stationName",request.getStationName())).orElse(null));
result.setDescription(Optional.ofNullable(result.getDescription()).map(s -> s.replaceAll("stationName",request.getStationName())).orElse(null));
result.setCreateUser(userList.get(0).getId());
result.setCreateDept(request.getAreaDeptId());
result.setCreateTime(DateUtil.toDate(LocalDateTime.of(date,LocalTime.MIN)));
result.setUpdateUser(userList.get(0).getId());
result.setCreateTime(DateUtil.toDate(LocalDateTime.of(date,LocalTime.MIN)));
result.setTenantId(null);
log.info("转换后的任务对象项目内容为:{}",JSON.toJSONString(result));
return result;
}
private TaskObjectProjectContentEntity convert(GenerateTaskVO request, TaskObjectProjectContentTemplateEntity taskObjectProjectContentTemplate, List<User> userList, Long taskId, LocalDate date) {
TaskObjectProjectContentEntity result = BeanUtil.copy(taskObjectProjectContentTemplate,TaskObjectProjectContentEntity.class);
result.setId(null);
result.setCode(CodeUtils.randomCode());
result.setTaskId(taskId);
result.setName(result.getName().replaceAll("stationName",request.getStationName()));
result.setCreateUser(userList.get(0).getId());
result.setCreateDept(request.getAreaDeptId());
result.setCreateTime(DateUtil.toDate(LocalDateTime.of(date,LocalTime.MIN)));
result.setUpdateUser(userList.get(0).getId());
result.setCreateTime(DateUtil.toDate(LocalDateTime.of(date,LocalTime.MIN)));
result.setTenantId(null);
log.info("转换后的任务对象项目内容为:{}",JSON.toJSONString(result));
return result;
}
private TaskObjectProjectEntity convert(GenerateTaskVO request, TaskObjectProjectTemplateEntity taskObjectProjectTemplate, List<User> userList, Long taskId, LocalDate date) {
TaskObjectProjectEntity result = BeanUtil.copy(taskObjectProjectTemplate,TaskObjectProjectEntity.class);
result.setId(null);
result.setTaskId(taskId);
result.setCode(CodeUtils.randomCode());
result.setName(result.getName().replaceAll("stationName",request.getStationName()));
result.setCreateUser(userList.get(0).getId());
result.setCreateDept(request.getAreaDeptId());
result.setCreateTime(DateUtil.toDate(LocalDateTime.of(date,LocalTime.MIN)));
result.setUpdateUser(userList.get(0).getId());
result.setCreateTime(DateUtil.toDate(LocalDateTime.of(date,LocalTime.MIN)));
result.setTenantId(null);
log.info("转换后的任务对象项目为:{}",JSON.toJSONString(result));
return result;
}
private TaskObjectEntity convert(GenerateTaskVO request, TaskObjectTemplateEntity taskObjectTemplate, List<User> userList,Long taskId,LocalDate date) {
TaskObjectEntity result = BeanUtil.copy(taskObjectTemplate,TaskObjectEntity.class);
result.setId(null);
result.setTaskId(taskId);
result.setCode(CodeUtils.randomCode());
result.setName(result.getName().replaceAll("stationName",request.getStationName()));
result.setCreateUser(userList.get(0).getId());
result.setCreateDept(request.getAreaDeptId());
result.setCreateTime(DateUtil.toDate(LocalDateTime.of(date,LocalTime.MIN)));
result.setUpdateUser(userList.get(0).getId());
result.setCreateTime(DateUtil.toDate(LocalDateTime.of(date,LocalTime.MIN)));
result.setTaskId(taskId);
result.setTenantId(null);
log.info("转换后的任务对象为:{}",JSON.toJSONString(result));
return result;
}
private TaskUserEntity getUserByTaskId(GenerateTaskVO request,Long taskId,Long userId,LocalDateTime claimTime) {
TaskUserEntity result = new TaskUserEntity();
result.setUserId(userId);
result.setTaskId(taskId);
result.setClaimTime(claimTime);
result.setClaimStatus("1");
result.setCreateUser(userId);
result.setCreateDept(request.getAreaDeptId());
result.setCreateTime(DateUtil.toDate(LocalDateTime.of(claimTime.toLocalDate(),LocalTime.MIN)));
result.setUpdateUser(userId);
result.setCreateTime(DateUtil.toDate(LocalDateTime.of(claimTime.toLocalDate(),LocalTime.MIN)));
result.setTenantId(null);
return result;
}
private TaskEntity convert(GenerateTaskVO request,TaskTemplateEntity taskTemplate,List<User> userList,LocalDate date,PlanEntity plan) {
TaskEntity result = BeanUtil.copy(taskTemplate,TaskEntity.class);
result.setPlanId(plan.getId());
result.setPlanName(plan.getName());
result.setBatchNumber(DateUtil.format(date,"yyyy_MM_dd")+"N");
result.setPlanStartTime(LocalDateTime.of(date,request.getStartTime()));
result.setPlanEndTime(LocalDateTime.of(date,request.getEndTime()));
result.setStartTime(LocalDateTime.of(date,request.getStartTime()));
result.setEndTime(LocalDateTime.of(date,request.getEndTime()));
result.setCreateUser(userList.get(0).getId());
result.setCreateDept(request.getAreaDeptId());
result.setCreateTime(DateUtil.toDate(LocalDateTime.of(date,LocalTime.MIN)));
result.setUpdateUser(userList.get(0).getId());
result.setCreateTime(DateUtil.toDate(LocalDateTime.of(date,LocalTime.MIN)));
result.setStartRemindTime(LocalDateTime.of(date,LocalTime.MIN));
result.setEndRemindTime(LocalDateTime.of(date,LocalTime.MAX));
result.setTenantId(null);
result.setId(null);
log.info("转换后的任务为:{}",JSON.toJSONString(result));
return result;
}
private PlanEntity convert(GenerateTaskVO request,PlanTemplateEntity planTemplate,List<User> userList) {
PlanEntity result = BeanUtil.copy(planTemplate,PlanEntity.class);
result.setId(null);
result.setTenantId(null);
result.setCode(CodeUtils.randomCode());
result.setName(result.getName().replaceAll("stationName",request.getStationName()));
result.setStartTime(request.getStartDate());
result.setEndTime(request.getEndDate());
result.setApprover(userList.get(0).getId());
result.setApproveTime(LocalDateTime.of(request.getStartDate(),LocalTime.MIN));
result.setCreateUser(userList.get(0).getId());
result.setCreateDept(request.getAreaDeptId());
result.setCreateTime(DateUtil.toDate(LocalDateTime.of(request.getStartDate(),LocalTime.MIN)));
result.setCreateUser(userList.get(0).getId());
result.setUpdateUser(userList.get(0).getId());
result.setUpdateTime(DateUtil.toDate(LocalDateTime.of(request.getStartDate(),LocalTime.MIN)));
result.setRouteData(result.getRouteData().replaceAll("stationName",request.getStationName()));
result.setRouteName(result.getRouteName().replaceAll("stationName",request.getStationName()));
result.setExecTimeJson(result.getExecTimeJson().replaceAll("startTime",DateUtil.format(request.getStartTime(),DateUtil.PATTERN_TIME)).replaceAll("endtTime",DateUtil.format(request.getEndTime(),DateUtil.PATTERN_TIME)));
log.info("转换后的计划为:{}", JSON.toJSONString(result));
return result;
}
private List<LocalDate> dateList(LocalDate startDate,LocalDate endDate) {
List<LocalDate> result = Lists.newArrayList();
do {
//log.info(DateUtil.format(startDate,DateUtil.PATTERN_DATE));
result.add(startDate);
startDate = startDate.plusDays(1);
}
while(startDate.isBefore(endDate.plusDays(1)));
return result;
}
}

1
hzims-service/pom.xml

@ -28,6 +28,7 @@
<module>hzims-scheduled</module> <module>hzims-scheduled</module>
<module>hzims-alarm</module> <module>hzims-alarm</module>
<module>hzims-basic</module> <module>hzims-basic</module>
<module>hzims-big-model</module>
</modules> </modules>
<dependencies> <dependencies>

Loading…
Cancel
Save