初始化项目

This commit is contained in:
王洪庆 2023-03-21 15:11:58 +08:00
commit e3e2c0566a
25 changed files with 1257 additions and 0 deletions

21
.editorconfig Normal file
View File

@ -0,0 +1,21 @@
# http://editorconfig.org
root = true
# 空格替代Tab缩进在各种编辑工具下效果一致
[*]
indent_style = space
indent_size = 4
charset = utf-8
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
[*.java]
indent_style = tab
[*.{json,yml}]
indent_size = 2
[*.md]
insert_final_newline = false
trim_trailing_whitespace = false

28
.gitignore vendored Normal file
View File

@ -0,0 +1,28 @@
# maven #
target
logs
# windows #
Thumbs.db
# Mac #
.DS_Store
# eclipse #
.settings
.project
.classpath
.log
*.class
# idea #
.idea
*.iml
.flattened-pom.xml
# Package Files #
*.jar
*.war
*.ear
/target

3
README.md Normal file
View File

@ -0,0 +1,3 @@
## VoRDM平台
## 模块说明

57
kn-common/pom.xml Normal file
View File

@ -0,0 +1,57 @@
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.kening.platform</groupId>
<artifactId>kn-vordm</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>kn-common</artifactId>
<name>${project.artifactId}</name>
<version>${revision}</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-starter-ribbon</artifactId>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-core-auto</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-core-tool</artifactId>
<exclusions>
<exclusion>
<artifactId>swagger-annotations</artifactId>
<groupId>io.swagger</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
<finalName>${project.name}</finalName>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,65 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package org.springblade.common.cache;
/**
* 缓存名
*
* @author Chill
*/
public interface CacheNames {
/**
* 返回拼接后的key
*
* @param cacheKey 缓存key
* @param cacheKeyValue 缓存key值
* @return tenantKey
*/
static String cacheKey(String cacheKey, String cacheKeyValue) {
return cacheKey.concat(cacheKeyValue);
}
/**
* 返回租户格式的key
*
* @param tenantId 租户编号
* @param cacheKey 缓存key
* @param cacheKeyValue 缓存key值
* @return tenantKey
*/
static String tenantKey(String tenantId, String cacheKey, String cacheKeyValue) {
return tenantId.concat(":").concat(cacheKey).concat(cacheKeyValue);
}
/**
* 短信验证码key
*/
String MOBILE_KEY = "blade:auth::blade:mobile:";
/**
* 验证码key
*/
String CAPTCHA_KEY = "blade:auth::blade:captcha:";
/**
* 登录失败key
*/
String USER_FAIL_KEY = "blade:user::blade:fail:";
}

View File

@ -0,0 +1,12 @@
package org.springblade.common.config;
import org.springframework.context.annotation.Configuration;
/**
* 公共封装包配置类
*
* @author Chill
*/
@Configuration
public class BladeCommonConfiguration {
}

View File

@ -0,0 +1,56 @@
package org.springblade.common.constant;
/**
* 通用常量
*
* @author whq
*/
public interface CommonConstant {
/**
* 顶级父节点id
*/
Integer TOP_PARENT_ID = 0;
/**
* 顶级父节点名称
*/
String TOP_PARENT_NAME = "顶级";
/**
* 未封存状态值
*/
Integer NOT_SEALED_ID = 0;
/**
* 默认密码
*/
String DEFAULT_PASSWORD = "123456";
/**
* 默认密码参数值
*/
String DEFAULT_PARAM_PASSWORD = "account.initPassword";
/**
* 默认排序字段
*/
String SORT_FIELD = "sort";
/**
* 数据权限类型
*/
Integer DATA_SCOPE_CATEGORY = 1;
/**
* 接口权限类型
*/
Integer API_SCOPE_CATEGORY = 2;
/**
* 对接TB模块的名称
*/
String KN_VORDM_MODULE_NAME = "biz-vordm";
}

View File

@ -0,0 +1,66 @@
/*
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the dreamlu.net developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: Chill 庄骞 (smallchill@163.com)
*/
package org.springblade.common.constant;
import java.util.Arrays;
import java.util.List;
/**
* 租户常量
*
* @author Chill
*/
public interface TenantConstant {
/**
* 租户默认密码KEY
*/
String PASSWORD_KEY = "tenant.default.password";
/**
* 租户默认账号额度KEY
*/
String ACCOUNT_NUMBER_KEY = "tenant.default.accountNumber";
/**
* 租户默认菜单集合KEY
*/
String ACCOUNT_MENU_CODE_KEY = "tenant.default.menuCode";
/**
* 租户默认密码
*/
String DEFAULT_PASSWORD = "123456";
/**
* 租户授权码默认16位密钥
*/
String DES_KEY = "0000000000000000";
/**
* 租户默认账号额度
*/
Integer DEFAULT_ACCOUNT_NUMBER = -1;
/**
* 租户默认菜单集合
*/
List<String> MENU_CODES = Arrays.asList(
"desk", "flow", "work", "monitor", "resource", "role", "user", "dept", "dictbiz", "topmenu"
);
}

View File

@ -0,0 +1,90 @@
package org.springblade.common.enums;
/**
* 事件枚举报警枚举
*/
public enum AlarmEnum {
// CODE_41 (41,"胁迫报警"),
// CODE_42 (42,"合法密码开门"),
// CODE_43 (43,"非法密码开门"),
// CODE_45 (45,"合法指纹开门"),
// CODE_46 (46,"非法指纹开门"),
// CODE_48 (48,"远程开门(室内机/平台),"),
CODE_51 (51,"合法刷卡"),
// CODE_52 (52,"非法刷卡"),
// CODE_53 (53,"门磁报警"),
// CODE_54 (54,"异常开门"),
// CODE_55 (55,"异常关门"),
// CODE_56 (56,"正常关门"),
// CODE_57 (57,"正常开门"),
CODE_61 (61,"合法人脸刷门"),
// CODE_62 (62,"非法人脸刷门"),
// CODE_1420 (1420,"超时门未关"),
// CODE_1430 (1430,"非法闯入"),
// CODE_1433 (1433,"黑名单报警"),
// CODE_1434 (1434,"合法二维码开门"),
// CODE_1435 (1435,"非法二维码开门"),
// CODE_1436 (1436,"人证合法开门"),
// CODE_1437 (1437,"人证非法开门"),
// CODE_1438 (1438,"人证和身份证非法开门"),
// CODE_1439 (1439,"人证和身份证合法开门"),
// CODE_1443 (1443,"外部报警"),
// CODE_1448 (1448,"RFID感应报警"),
// CODE_1449 (1449,"RFID非法感应报警"),
// CODE_1450 (1450,"RFID外部报警"),
// CODE_1455 (1455,"先刷卡后密码合法开门"),
// CODE_1456 (1456,"先刷卡后密码非法开门"),
// CODE_1461 (1461,"刷卡+指纹组合合法开门"),
// CODE_1462 (1462,"刷卡+指纹组合非法开门"),
// CODE_1463 (1463,"多人合法开门"),
// CODE_1464 (1464,"多人非法开门"),
// CODE_1467 (1467,"人员编号+密码合法开门"),
// CODE_1468 (1468,"人员编号+密码非法开门"),
// CODE_1469 (1469,"人脸+密码合法开门"),
// CODE_1470 (1470,"人脸+密码非法开门"),
// CODE_1471 (1471,"指纹+密码合法开门"),
// CODE_1472 (1472,"指纹+密码非法开门"),
// CODE_1473 (1473,"指纹+人脸合法开门"),
// CODE_1474 (1474,"指纹+人脸非法开门"),
// CODE_1475 (1475,"刷卡+人脸合法开门"),
// CODE_1476 (1476,"刷卡+人脸非法开门"),
// CODE_1487 (1487,"指纹+人脸+密码合法开门"),
// CODE_1488 (1488,"指纹+人脸+密码非法开门"),
// CODE_1489 (1489,"刷卡+人脸+密码合法开门"),
// CODE_1490 (1490,"刷卡+人脸+密码非法开门"),
// CODE_1491 (1491,"刷卡+指纹+密码合法开门"),
// CODE_1492 (1492,"刷卡+指纹+密码非法开门"),
// CODE_1493 (1493,"卡+指纹+人脸合法开门"),
// CODE_1494 (1494,"卡+指纹+人脸非法开门"),
// CODE_4603 (4603,"卡+指纹+人脸+密码组合合法开门"),
// CODE_4604 (4604,"卡+指纹+人脸+密码组合非法开门")
CODE_1001005 (1001005 ,"人脸检测"),
// CODE_1001006 ( 1001006,"人体识别"),
// CODE_1001004 ( 1001004,"访客报警"),
// CODE_1001003 (1001003 ,"内部人员报警"),
CODE_1001002 (1001002 ,"黑名单库报警"),
CODE_1001001 (1001001 ,"白名单库报警"),
// CODE_1001000 (1001000 ,"陌生人报警"),
// CODE_1003003 (1003003 ,"访客来访信息下级上报"),
// CODE_1003002 (1003002 ,"访客区域布控"),
CODE_597 (597 ,"离岗报警"),
CODE_15670(15670,"睡岗报警"),
CODE_16(16,"设备离线"),
CODE_15768 (15768 ,"玩手机事件");
private int code ;
private String msg;
AlarmEnum(int code, String msg) {
this.code = code ;
this.msg = msg;
}
public static String getValue(int code) {
AlarmEnum[] carTypeEnums = values();
for (AlarmEnum carTypeEnum : carTypeEnums) {
if (carTypeEnum.code==code) {
return carTypeEnum.msg;
}
}
return null;
}
}

View File

@ -0,0 +1,48 @@
package org.springblade.common.enums;
/**
* 业务处理枚举针对访客机
*/
public enum BusinessEnum {
/**
* 1访客 刷访客机录入访客信息
*/
CODE_THIRD_INFO("visitor.thirdInfo","访客审批"),
CODE_VISITOR_STATUS("visitor.status","访客信息变更"),
CODE_VISITOR("visitor.record","访客信息");
private String code ;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
private String msg;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
BusinessEnum(String code, String msg) {
this.code = code ;
this.msg = msg;
}
public static String getValue(String code) {
BusinessEnum[] carTypeEnums = values();
for (BusinessEnum carTypeEnum : carTypeEnums) {
if (carTypeEnum.code.equals(code)) {
return carTypeEnum.msg;
}
}
return null;
}
}

View File

@ -0,0 +1,40 @@
package org.springblade.common.utils;
/**
* 通用工具类
*
* @author Chill
*/
public class CommonUtil {
/**
* 通过身份证号获取性别
*
* @param IdNo String
* @return String
*/
public static String getSexFromId(String IdNo) {
try {
return (Integer.parseInt(IdNo.substring(16,17)) % 2 == 0 ? "" : "");
} catch (Exception ignored) {
}
return "";
}
/**
* 仅用JDK11中的警告
*/
public static void disableWarning() {
try {
java.lang.reflect.Field theUnsafe = sun.misc.Unsafe.class.getDeclaredField("theUnsafe");
theUnsafe.setAccessible(true);
sun.misc.Unsafe u = (sun.misc.Unsafe) theUnsafe.get(null);
Class<?> cls = Class.forName("jdk.internal.module.IllegalAccessLogger");
java.lang.reflect.Field logger = cls.getDeclaredField("logger");
u.putObjectVolatile(cls, u.staticFieldOffset(logger), null);
} catch (Exception e) {
// ignore
}
}
}

50
kn-launcher/pom.xml Normal file
View File

@ -0,0 +1,50 @@
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.kening.platform</groupId>
<artifactId>kn-vordm</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>kn-launcher</artifactId>
<name>${project.artifactId}</name>
<version>${revision}</version>
<dependencies>
<dependency>
<artifactId>wildfly-common</artifactId>
<groupId>org.wildfly.common</groupId>
<version>1.5.2.Final</version>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-core-launch</artifactId>
<exclusions>
<exclusion>
<artifactId>wildfly-common</artifactId>
<groupId>org.wildfly.common</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-core-auto</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
<finalName>${project.name}</finalName>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,196 @@
package org.springblade.common.constant;
import org.springblade.core.launch.constant.AppConstant;
import static org.springblade.core.launch.constant.AppConstant.APPLICATION_NAME_PREFIX;
/**
* 通用常量
*
* @author whq
*/
public interface LauncherConstant {
/**
* nacos namespace id
*/
String NACOS_NAMESPACE = "62fddd43-b621-43f6-9733-75a6e4d6756b";
/**
* nacos dev 地址
* 8.142.16.8(公网)
* 172.28.70.132(私网)
* 8.142.41.215(公网)
* 172.28.70.131(私网)
* 39.103.203.80(公网)
* 172.29.144.23(私网)
*/
String NACOS_DEV_ADDR = "8.142.41.215:8848";
/**
* nacos prod 地址
*/
String NACOS_PROD_ADDR = "172.24.100.245:8848,172.24.100.246:8848,172.28.70.132:8848";
/**
* nacos test 地址
*/
String NACOS_TEST_ADDR = "172.24.100.245:8848,172.24.100.246:8848,172.28.70.132:8848";
/**
* sentinel dev 地址
*/
String SENTINEL_DEV_ADDR = "192.168.31.14:8858";
/**
* sentinel prod 地址
*/
String SENTINEL_PROD_ADDR = "192.168.31.14:8858";
/**
* sentinel test 地址
*/
String SENTINEL_TEST_ADDR = "192.168.31.14:8858";
/**
* seata dev 地址
*/
String SEATA_DEV_ADDR = "192.168.31.14:8091";
/**
* seata prod 地址
*/
String SEATA_PROD_ADDR = "192.168.31.14:8091";
/**
* seata test 地址
*/
String SEATA_TEST_ADDR = "192.168.31.14:8091";
/**
* dbuuo提供者
*/
String APPLICATION_DUBBO_PROVIDER_NAME = APPLICATION_NAME_PREFIX + "dubbo-provider";
/**
* dbuuo消费者
*/
String APPLICATION_DUBBO_CONSUMER_NAME = APPLICATION_NAME_PREFIX + "dubbo-consumer";
/**
* seata订单
*/
String APPLICATION_SEATA_ORDER_NAME = APPLICATION_NAME_PREFIX + "seata-order";
/**
* seata库存
*/
String APPLICATION_SEATA_STORAGE_NAME = APPLICATION_NAME_PREFIX + "seata-storage";
/**
* easypoi
*/
String APPLICATION_EASYPOI_NAME = APPLICATION_NAME_PREFIX + "easypoi";
/**
* kafka
*/
String APPLICATION_KAFKA_NAME = APPLICATION_NAME_PREFIX + "kafka";
/**
* rabbit
*/
String APPLICATION_RABBIT_NAME = APPLICATION_NAME_PREFIX + "rabbit";
/**
* stream消费者
*/
String APPLICATION_STREAM_CONSUMER_NAME = APPLICATION_NAME_PREFIX + "stream-consumer";
/**
* stream生产者
*/
String APPLICATION_STREAM_PROVIDER_NAME = APPLICATION_NAME_PREFIX + "stream-provider";
/**
* seata file模式
*/
String FILE_MODE = "file";
/**
* seata nacos模式
*/
String NACOS_MODE = "nacos";
/**
* seata default模式
*/
String DEFAULT_MODE = "default";
/**
* seata group后缀
*/
String GROUP_NAME = "-group";
/**
* seata 服务组格式
*
* @param appName 服务名
* @return group
*/
static String seataServiceGroup(String appName) {
return appName.concat(GROUP_NAME);
}
/**
* 动态获取nacos地址
*
* @param profile 环境变量
* @return addr
*/
static String nacosAddr(String profile) {
switch (profile) {
case (AppConstant.PROD_CODE):
return NACOS_PROD_ADDR;
case (AppConstant.TEST_CODE):
return NACOS_TEST_ADDR;
default:
return NACOS_DEV_ADDR;
}
}
/**
* 动态获取sentinel地址
*
* @param profile 环境变量
* @return addr
*/
static String sentinelAddr(String profile) {
switch (profile) {
case (AppConstant.PROD_CODE):
return SENTINEL_PROD_ADDR;
case (AppConstant.TEST_CODE):
return SENTINEL_TEST_ADDR;
default:
return SENTINEL_DEV_ADDR;
}
}
/**
* 动态获取seata地址
*
* @param profile 环境变量
* @return addr
*/
static String seataAddr(String profile) {
switch (profile) {
case (AppConstant.PROD_CODE):
return SEATA_PROD_ADDR;
case (AppConstant.TEST_CODE):
return SEATA_TEST_ADDR;
default:
return SEATA_DEV_ADDR;
}
}
}

View File

@ -0,0 +1,41 @@
package org.springblade.common.launch;
import org.springblade.common.constant.LauncherConstant;
import org.springblade.core.auto.service.AutoService;
import org.springblade.core.launch.service.LauncherService;
import org.springblade.core.launch.utils.PropsUtil;
import org.springframework.boot.builder.SpringApplicationBuilder;
import java.util.Properties;
/**
* 启动参数拓展
*
* @author whq
*/
@AutoService(LauncherService.class)
public class LauncherServiceImpl implements LauncherService {
@Override
public void launcher(SpringApplicationBuilder builder, String appName, String profile, boolean isLocalDev) {
Properties props = System.getProperties();
// 通用注册
PropsUtil.setProperty(props, "spring.cloud.nacos.discovery.server-addr", LauncherConstant.nacosAddr(profile));
PropsUtil.setProperty(props, "spring.cloud.nacos.config.server-addr", LauncherConstant.nacosAddr(profile));
PropsUtil.setProperty(props, "spring.cloud.sentinel.transport.dashboard", LauncherConstant.sentinelAddr(profile));
PropsUtil.setProperty(props, "spring.cloud.nacos.discovery.namespace", LauncherConstant.NACOS_NAMESPACE);
PropsUtil.setProperty(props, "spring.cloud.nacos.config.namespace", LauncherConstant.NACOS_NAMESPACE);
// seata注册地址
PropsUtil.setProperty(props, "seata.service.grouplist.default", LauncherConstant.seataAddr(profile));
// seata注册group格式
PropsUtil.setProperty(props, "seata.tx-service-group", LauncherConstant.seataServiceGroup(appName));
// seata配置服务group
PropsUtil.setProperty(props, "seata.service.vgroup-mapping.".concat(LauncherConstant.seataServiceGroup(appName)), LauncherConstant.DEFAULT_MODE);
// seata注册模式配置
// PropsUtil.setProperty(props, "seata.registry.type", LauncherConstant.NACOS_MODE);
// PropsUtil.setProperty(props, "seata.registry.nacos.server-addr", LauncherConstant.nacosAddr(profile));
// PropsUtil.setProperty(props, "seata.config.type", LauncherConstant.NACOS_MODE);
// PropsUtil.setProperty(props, "seata.config.nacos.server-addr", LauncherConstant.nacosAddr(profile));
}
}

View File

@ -0,0 +1,22 @@
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>kn-service-api</artifactId>
<groupId>com.kening.platform</groupId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>biz-vordm-api</artifactId>
<dependencies>
<dependency>
<groupId>com.kening.platform</groupId>
<artifactId>kn-common</artifactId>
<version>${revision}</version>
</dependency>
</dependencies>
</project>

73
kn-service-api/pom.xml Normal file
View File

@ -0,0 +1,73 @@
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.kening.platform</groupId>
<artifactId>kn-vordm</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>kn-service-api</artifactId>
<name>${project.artifactId}</name>
<version>${revision}</version>
<modules>
<module>biz-vordm-api</module>
</modules>
<packaging>pom</packaging>
<description>微服务API集合</description>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-annotation</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-starter-mybatis</artifactId>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-starter-tenant</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
<finalName>${project.name}</finalName>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,22 @@
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>kn-service</artifactId>
<groupId>com.kening.platform</groupId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>biz-vordm</artifactId>
<dependencies>
<dependency>
<groupId>com.kening.platform</groupId>
<artifactId>biz-vordm-api</artifactId>
<version>${revision}</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,16 @@
package com.kening.vordm;
import org.springblade.common.constant.CommonConstant;
import org.springblade.core.launch.BladeApplication;
import org.springframework.cloud.client.SpringCloudApplication;
/**
* @author wanghongqing
* @date 2023/3/21 14:24
**/
@SpringCloudApplication
public class VoRdmApplication {
public static void main(String[] args) {
BladeApplication.run(CommonConstant.KN_VORDM_MODULE_NAME, VoRdmApplication.class, args);
}
}

View File

@ -0,0 +1,15 @@
package com.kening.vordm.config;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
/**
* @author wanghongqing
* @date 2023/3/21 14:32
**/
@Configuration
@ComponentScan({"org.springblade", "com.kening.vordm"})
@MapperScan({"org.springblade.**.mapper.**", "com.kening.**.mapper.**"})
public class VoRdmConfig {
}

View File

@ -0,0 +1,5 @@
spring:
datasource:
url: ${kn.datasource.vordm.url}
username: ${kn.datasource.vordm.username}
password: ${kn.datasource.vordm.password}

View File

@ -0,0 +1,5 @@
spring:
datasource:
url: ${kn.datasource.vordm.url}
username: ${kn.datasource.vordm.username}
password: ${kn.datasource.vordm.password}

View File

@ -0,0 +1,5 @@
spring:
datasource:
url: ${kn.datasource.vordm.url}
username: ${kn.datasource.vordm.username}
password: ${kn.datasource.vordm.password}

View File

@ -0,0 +1,13 @@
server:
port: 8282
#mybatis-plus配置
mybatis-plus:
mapper-locations: classpath:com/kening/**/mapper/*Mapper.xml
#实体扫描多个package用逗号或者分号分隔
typeAliasesPackage: com.kening.**.entity
#swagger扫描路径配置
swagger:
base-packages:
- com.kening.vordm

81
kn-service/pom.xml Normal file
View File

@ -0,0 +1,81 @@
<?xml version="1.0"?>
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<modules>
<module>biz-vordm</module>
</modules>
<parent>
<groupId>com.kening.platform</groupId>
<artifactId>kn-vordm</artifactId>
<version>${revision}</version>
</parent>
<artifactId>kn-service</artifactId>
<name>${project.artifactId}</name>
<version>${revision}</version>
<packaging>pom</packaging>
<description>微服务集合</description>
<dependencies>
<dependency>
<groupId>org.hdrhistogram</groupId>
<artifactId>HdrHistogram</artifactId>
<version>2.1.12</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.25.0-GA</version>
</dependency>
<dependency>
<groupId>com.kening.platform</groupId>
<artifactId>kn-launcher</artifactId>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-core-boot</artifactId>
<exclusions>
<exclusion>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
</exclusion>
<exclusion>
<artifactId>HdrHistogram</artifactId>
<groupId>org.hdrhistogram</groupId>
</exclusion>
<exclusion>
<artifactId>javassist</artifactId>
<groupId>org.javassist</groupId>
</exclusion>
<exclusion>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
</exclusion>
<exclusion>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</exclusion>
<exclusion>
<artifactId>fastjson</artifactId>
<groupId>com.alibaba</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-starter-swagger</artifactId>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-starter-tenant</artifactId>
</dependency>
</dependencies>
</project>

227
pom.xml Normal file
View File

@ -0,0 +1,227 @@
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.kening.platform</groupId>
<artifactId>kn-vordm</artifactId>
<version>${revision}</version>
<packaging>pom</packaging>
<properties>
<springblade.project.version>3.2.2.RELEASE</springblade.project.version>
<java.version>1.8</java.version>
<revision>1.0.0-SNAPSHOT</revision>
<kn.auth.sys.version>1.0.4</kn.auth.sys.version>
<maven.plugin.version>3.8.1</maven.plugin.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring.boot.version>2.3.12.RELEASE</spring.boot.version>
<spring.cloud.version>Hoxton.SR12</spring.cloud.version>
<spring.platform.version>Cairo-SR8</spring.platform.version>
<!-- docker -->
<docker.registry.url>192.168.31.14:8082</docker.registry.url>
<dockerfile.skip>true</dockerfile.skip>
<docker.username>admin</docker.username>
<docker.password>Harbor12345</docker.password>
<docker.namespace>iot</docker.namespace>
<docker.plugin.version>1.4.13</docker.plugin.version>
</properties>
<modules>
<module>kn-common</module>
<module>kn-launcher</module>
<module>kn-service</module>
<module>kn-service-api</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springblade.platform</groupId>
<artifactId>blade-bom</artifactId>
<version>${springblade.project.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring.cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>io.spring.platform</groupId>
<artifactId>platform-bom</artifactId>
<version>${spring.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.kening.platform</groupId>
<artifactId>kn-launcher</artifactId>
<version>${revision}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.name}</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>1.1.0</version>
<configuration>
<updatePomFile>true</updatePomFile>
<flattenMode>resolveCiFriendliesOnly</flattenMode>
<pomElements>
<dependencies>expand</dependencies>
</pomElements>
</configuration>
<executions>
<execution>
<id>flatten</id>
<phase>process-resources</phase>
<goals>
<goal>flatten</goal>
</goals>
</execution>
<execution>
<id>flatten.clean</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
<configuration>
<fork>true</fork>
<finalName>${project.build.finalName}</finalName>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>${docker.plugin.version}</version>
<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>
</configuration>
<!--子服务添加如下配置,运行 mvn deploy 命令便会自动打包镜像-->
<executions>
<execution>
<id>default</id>
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.plugin.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>UTF-8</encoding>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>kening-release</id>
<name>Release Repository</name>
<url>http://47.92.168.204:8081/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>kening-plugin</id>
<url>http://47.92.168.204:8081/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
</project>