Browse Source
# Conflicts: # application-tenant/tenant-admin/src/main/resources/tenant-admin-dev.yml # common/common-online/src/main/java/apelet/common/online/controller/OnlineFormController.javafeature/form-permission-control
15 changed files with 1132 additions and 81 deletions
@ -0,0 +1,161 @@ |
|||||||
|
server: |
||||||
|
tomcat: |
||||||
|
uri-encoding: UTF-8 |
||||||
|
threads: |
||||||
|
max: 100 |
||||||
|
min-spare: 10 |
||||||
|
servlet: |
||||||
|
encoding: |
||||||
|
force: true |
||||||
|
charset: UTF-8 |
||||||
|
enabled: true |
||||||
|
|
||||||
|
logging: |
||||||
|
config: classpath:logback-spring.xml |
||||||
|
|
||||||
|
spring: |
||||||
|
servlet: |
||||||
|
multipart: |
||||||
|
max-file-size: 50MB |
||||||
|
max-request-size: 50MB |
||||||
|
mvc: |
||||||
|
converters: |
||||||
|
preferred-json-mapper: fastjson |
||||||
|
freemarker: |
||||||
|
template-loader-path: classpath:/template/ |
||||||
|
cache: false |
||||||
|
charset: UTF-8 |
||||||
|
check-template-location: true |
||||||
|
content-type: text/html |
||||||
|
expose-request-attributes: false |
||||||
|
expose-session-attributes: false |
||||||
|
request-context-attribute: request |
||||||
|
suffix: .ftl |
||||||
|
cloud: |
||||||
|
sentinel: |
||||||
|
transport: |
||||||
|
# sentinel控制台地址。 |
||||||
|
# 由于8080端口容易与其他服务端口冲突,可以在启动sentinel控制台时动态修改,如: |
||||||
|
# java -Dserver.port=8858 -jar sentinel-dashboard-$VERSION.jar |
||||||
|
# 改为8858后,下面的配置端口也需要改为:localhost:8858。 |
||||||
|
dashboard: localhost:8858 |
||||||
|
|
||||||
|
# feign 配置 |
||||||
|
feign: |
||||||
|
sentinel: |
||||||
|
enabled: false |
||||||
|
httpclient: |
||||||
|
enabled: true |
||||||
|
max-connections: 200 |
||||||
|
max-connections-per-route: 50 |
||||||
|
client: |
||||||
|
config: |
||||||
|
default: |
||||||
|
# 输出feignclient的日志,缺省值为none,可选值为none/basic/headers/full |
||||||
|
# 注意:需要把feignclient类所在包的日志级别设置为debug时才生效。如: |
||||||
|
# logging: |
||||||
|
# level: |
||||||
|
# com.demo.multi: info |
||||||
|
# com.demo.multi.coursepaperinterface.client: debug |
||||||
|
loggerLevel: full |
||||||
|
connectTimeout: 5000 |
||||||
|
readTimeout: 10000 |
||||||
|
compression: |
||||||
|
request: |
||||||
|
enabled: true |
||||||
|
response: |
||||||
|
enabled: true |
||||||
|
|
||||||
|
common-core: |
||||||
|
# 可选值为 mysql / postgresql / oracle / dm8 / kingbase |
||||||
|
databaseType: mysql |
||||||
|
|
||||||
|
swagger: |
||||||
|
# 当enabled为false的时候,则可禁用swagger。 |
||||||
|
enabled: true |
||||||
|
# 工程的基础包名。 |
||||||
|
basePackage: apelet |
||||||
|
# 工程服务的基础包名。 |
||||||
|
serviceBasePackage: |
||||||
|
title: 小猿微服务工程 |
||||||
|
description: 小猿微服务工程详情 |
||||||
|
version: 1.0 |
||||||
|
knife4j: |
||||||
|
# 打开knife4j增强模式。 |
||||||
|
enable: true |
||||||
|
|
||||||
|
aliyun: |
||||||
|
oss: |
||||||
|
enabled: false |
||||||
|
expireSeconds: 1000 |
||||||
|
# 下面几项均需在申请阿里云OSS后,根据自己的实际情况进行配置。 |
||||||
|
endpoint: |
||||||
|
accessKey: |
||||||
|
secretKey: |
||||||
|
bucketName: |
||||||
|
|
||||||
|
minio: |
||||||
|
enabled: false |
||||||
|
endpoint: |
||||||
|
accessKey: |
||||||
|
secretKey: |
||||||
|
bucketName: |
||||||
|
|
||||||
|
# 暴露监控端点 |
||||||
|
management: |
||||||
|
metrics: |
||||||
|
tags: |
||||||
|
application: ${spring.application.name} |
||||||
|
endpoints: |
||||||
|
web: |
||||||
|
exposure: |
||||||
|
include: '*' |
||||||
|
jmx: |
||||||
|
exposure: |
||||||
|
include: '*' |
||||||
|
endpoint: |
||||||
|
# 与中间件相关的健康详情也会被展示 |
||||||
|
health: |
||||||
|
show-details: always |
||||||
|
configprops: |
||||||
|
# 在/actuator/configprops中,所有包含password的配置,将用 * 隐藏。 |
||||||
|
# 如果不想隐藏任何配置项的值,可以直接使用如下被注释的空值。 |
||||||
|
# keys-to-sanitize: |
||||||
|
keys-to-sanitize: password |
||||||
|
server: |
||||||
|
base-path: "/" |
||||||
|
|
||||||
|
# 存储session数据的Redis,所有服务均需要,因此放到公共配置中。 |
||||||
|
# 根据实际情况,该Redis也可以用于存储其他数据。 |
||||||
|
common-redis: |
||||||
|
# redisson的配置。每个服务可以自己的配置文件中覆盖此选项。 |
||||||
|
redisson: |
||||||
|
# 如果该值为false,系统将不会创建RedissionClient的bean。 |
||||||
|
enabled: true |
||||||
|
# mode的可用值为,single/cluster/sentinel/master-slave |
||||||
|
mode: single |
||||||
|
# single: 单机模式 |
||||||
|
# address: redis://localhost:6379 |
||||||
|
# cluster: 集群模式 |
||||||
|
# 每个节点逗号分隔,同时每个节点前必须以redis://开头。 |
||||||
|
# address: redis://localhost:6379,redis://localhost:6378,... |
||||||
|
# sentinel: |
||||||
|
# 每个节点逗号分隔,同时每个节点前必须以redis://开头。 |
||||||
|
# address: redis://localhost:6379,redis://localhost:6378,... |
||||||
|
# master-slave: |
||||||
|
# 每个节点逗号分隔,第一个为主节点,其余为从节点。同时每个节点前必须以redis://开头。 |
||||||
|
# address: redis://localhost:6379,redis://localhost:6378,... |
||||||
|
address: redis://192.168.100.25:6379 |
||||||
|
# 链接超时,单位毫秒。 |
||||||
|
timeout: 6000 |
||||||
|
# 单位毫秒。分布式锁的超时检测时长。 |
||||||
|
# 如果一次锁内操作超该毫秒数,或在释放锁之前异常退出,Redis会在该时长之后主动删除该锁使用的key。 |
||||||
|
lockWatchdogTimeout: 60000 |
||||||
|
# redis 密码,空可以不填。 |
||||||
|
password: |
||||||
|
database: 0 |
||||||
|
pool: |
||||||
|
# 连接池数量。 |
||||||
|
poolSize: 20 |
||||||
|
# 连接池中最小空闲数量。 |
||||||
|
minIdle: 5 |
||||||
@ -0,0 +1,87 @@ |
|||||||
|
package apelet.common.online.util; |
||||||
|
|
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
public class WidgetFieldTypeMapping { |
||||||
|
|
||||||
|
private WidgetFieldTypeMapping() { |
||||||
|
} |
||||||
|
|
||||||
|
private static final Map<Integer, String> WIDGET_TO_FIELD_TYPE = new HashMap<>(); |
||||||
|
private static final Map<Integer, Integer> DEFAULT_LENGTH = new HashMap<>(); |
||||||
|
|
||||||
|
static { |
||||||
|
// 文本输入框 → varchar
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(1, "0"); |
||||||
|
DEFAULT_LENGTH.put(1, 255); |
||||||
|
// 数字输入框 → int
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(3, "1"); |
||||||
|
// 开关组件 → int
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(5, "1"); |
||||||
|
// 滑块组件 → decimal
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(6, "4"); |
||||||
|
// 单选组件 → varchar
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(7, "0"); |
||||||
|
DEFAULT_LENGTH.put(7, 255); |
||||||
|
// 复选框 → varchar
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(8, "0"); |
||||||
|
DEFAULT_LENGTH.put(8, 255); |
||||||
|
// 下拉选择框 → varchar
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(10, "0"); |
||||||
|
DEFAULT_LENGTH.put(10, 255); |
||||||
|
// 级联选择框 → varchar
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(12, "0"); |
||||||
|
DEFAULT_LENGTH.put(12, 255); |
||||||
|
// 树形选择 → varchar
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(13, "0"); |
||||||
|
DEFAULT_LENGTH.put(13, 255); |
||||||
|
// 评分组件 → int
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(14, "1"); |
||||||
|
DEFAULT_LENGTH.put(14, 5); |
||||||
|
// 日期选择框 → datetime
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(20, "3"); |
||||||
|
// 颜色选择 → varchar
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(30, "0"); |
||||||
|
DEFAULT_LENGTH.put(30, 50); |
||||||
|
// 附件上传 → varchar
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(31, "0"); |
||||||
|
DEFAULT_LENGTH.put(31, 255); |
||||||
|
// 图片上传 → varchar
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(653, "0"); |
||||||
|
DEFAULT_LENGTH.put(653, 255); |
||||||
|
// 富文本编辑 → varchar(2000)
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(32, "0"); |
||||||
|
DEFAULT_LENGTH.put(32, 2000); |
||||||
|
// MD编辑器 → varchar(2000)
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(760, "0"); |
||||||
|
DEFAULT_LENGTH.put(760, 2000); |
||||||
|
// 用户选择 → bigint
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(400, "2"); |
||||||
|
// 部门选择 → bigint
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(401, "2"); |
||||||
|
// 关联选择 → bigint
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(402, "2"); |
||||||
|
// 时间选择器 → datetime
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(652, "3"); |
||||||
|
// 文件上传 → varchar
|
||||||
|
WIDGET_TO_FIELD_TYPE.put(750, "0"); |
||||||
|
DEFAULT_LENGTH.put(750, 255); |
||||||
|
} |
||||||
|
|
||||||
|
public static String getFieldTypeId(Integer widgetType) { |
||||||
|
String type = WIDGET_TO_FIELD_TYPE.get(widgetType); |
||||||
|
if (type == null) { |
||||||
|
throw new IllegalArgumentException("不支持的控件类型: " + widgetType); |
||||||
|
} |
||||||
|
return type; |
||||||
|
} |
||||||
|
|
||||||
|
public static Integer getDefaultLength(Integer widgetType) { |
||||||
|
return DEFAULT_LENGTH.get(widgetType); |
||||||
|
} |
||||||
|
|
||||||
|
public static boolean isDataWidget(Integer widgetType) { |
||||||
|
return WIDGET_TO_FIELD_TYPE.containsKey(widgetType); |
||||||
|
} |
||||||
|
} |
||||||
Loading…
Reference in new issue