Browse Source
- 将PermissionDataRuleSchema实体类从tenant-admin移动到common.online.model包 - 将IPermissionDataRuleSchemaService接口从tenant-admin移动到common.online.service包 - 将PermissionDataRuleSchemaMapper接口及其实现从tenant-admin移动到common.online.dao包 - 将PermissionDataRuleSchemaVo类从tenant-admin移动到common.online.vo包 - 更新OnlineFormController添加根据表单类型查询表单列表的功能 - 在ListDataOrmService中添加过滤器TODO注释 - 修改OnlineFormService和OnlineFormServiceImpl实现表单类型查询功能feature/form-permission-control
10 changed files with 472 additions and 40 deletions
@ -0,0 +1,355 @@ |
|||||||
|
logging: |
||||||
|
level: |
||||||
|
# 这里设置的日志级别优先于logback-spring.xml文件Loggers中的日志级别。 |
||||||
|
apelet: info |
||||||
|
config: classpath:logback-spring.xml |
||||||
|
|
||||||
|
server: |
||||||
|
port: 8075 |
||||||
|
|
||||||
|
application: |
||||||
|
# Jwt令牌加密的签名值。该值的长度要超过10个字符(过短会报错)。 |
||||||
|
tokenSigningKey: tenantadmin-signing-key-signing-key |
||||||
|
# Jwt令牌在Http Header中的键名称。 |
||||||
|
tokenHeaderKey: Authorization |
||||||
|
# Jwt令牌刷新后在Http Header中的键名称。 |
||||||
|
refreshedTokenHeaderKey: RefreshedToken |
||||||
|
# Jwt令牌过期时间(毫秒)。 |
||||||
|
expiration: 72000000 |
||||||
|
# 初始化密码。 |
||||||
|
defaultUserPassword: 123456 |
||||||
|
# 缺省的文件上传根目录。 |
||||||
|
uploadFileBaseDir: ./zz-resource/upload-files/tenant-admin |
||||||
|
# 跨域的IP(http://192.168.10.10:8086)白名单列表,多个IP之间逗号分隔(* 表示全部信任,空白表示禁用跨域信任)。 |
||||||
|
credentialIpList: "*" |
||||||
|
# 同步租户公共管理数据到消息队列的主题,再由同步消费者服务将数据同步到目标数据库中。 |
||||||
|
tenantSyncTopic: TenantSync |
||||||
|
# Session会话和用户和权限在Redis中的过期时间(秒)。 |
||||||
|
sessionExpiredSeconds: 86400 |
||||||
|
# Session的数据权限信息在Redis中的过期时间(秒)。 |
||||||
|
dataPermExpiredSeconds: 86460 |
||||||
|
# 是否排他登录。 |
||||||
|
excludeLogin: false |
||||||
|
common-eas: |
||||||
|
urlPrefix: /tenantadmin/eas |
||||||
|
common-ext: |
||||||
|
urlPrefix: /tenantadmin/commonext |
||||||
|
common-mobile: |
||||||
|
# 注意不要以反斜杠(/)结尾。 |
||||||
|
urlPrefix: /tenantadmin/mobile |
||||||
|
# 在线表单业务数据上传资源路径 |
||||||
|
uploadFileBaseDir: ./zz-resource/upload-files/mobile |
||||||
|
common-online: |
||||||
|
# 注意不要以反斜杠(/)结尾。 |
||||||
|
urlPrefix: /tenantadmin/online |
||||||
|
# 打印接口的路径,不要以反斜杠(/)结尾。 |
||||||
|
printUrlPath: /tenantadmin/report/reportPrint/print |
||||||
|
# 在线表单业务数据上传资源路径 |
||||||
|
uploadFileBaseDir: ./zz-resource/upload-files/online |
||||||
|
# 如果为false,在线表单模块中所有Controller接口将不能使用。 |
||||||
|
operationEnabled: true |
||||||
|
# 1: minio 2: aliyun-oss 3: qcloud-cos。 |
||||||
|
distributeStoreType: 2 |
||||||
|
# 调用render接口时候,是否打开一级缓存加速。 |
||||||
|
enableRenderCache: false |
||||||
|
# 脱敏字段的掩码字符,只能为单个字符。 |
||||||
|
maskChar: '*' |
||||||
|
# 下面的url列表,请保持反斜杠(/)结尾。 |
||||||
|
viewUrlList: |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/viewByDatasourceId/ |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/viewByOneToManyRelationId/ |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/listByDatasourceId/ |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/listByOneToManyRelationId/ |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/exportByDatasourceId/ |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/exportByOneToManyRelationId/ |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/downloadDatasource/ |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/downloadOneToManyRelation/ |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/print/ |
||||||
|
editUrlList: |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/addDatasource/ |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/addOneToManyRelation/ |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/updateDatasource/ |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/updateOneToManyRelation/ |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/deleteDatasource/ |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/deleteOneToManyRelation/ |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/deleteBatchDatasource/ |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/deleteBatchOneToManyRelation/ |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/uploadDatasource/ |
||||||
|
- ${common-online.urlPrefix}/onlineOperation/uploadOneToManyRelation/ |
||||||
|
|
||||||
|
common-flow: |
||||||
|
# 请慎重修改urlPrefix的缺省配置,注意不要以反斜杠(/)结尾。如必须修改其他路径,请同步修改数据库脚本。 |
||||||
|
urlPrefix: /tenantadmin/flow |
||||||
|
# 如果为false,流程模块的所有Controller中的接口将不能使用。 |
||||||
|
operationEnabled: true |
||||||
|
|
||||||
|
common-report: |
||||||
|
# 注意不要以反斜杠(/)结尾。 |
||||||
|
urlPrefix: /tenantadmin/report |
||||||
|
# 如果为false,报表模块的所有Controller中的接口将不能使用。 |
||||||
|
operationEnabled: true |
||||||
|
# 该配置项仅当打印模板中,打印图片字段时,才会需要。 |
||||||
|
# 这里的url配置只是一个示例,并不能保证开箱即用,代码示例和说明可参考common-report模块 |
||||||
|
# example包内的ReportExampleController中的代码和详细说明。 |
||||||
|
imageDownloadUrl: "http://localhost:8083/tenantadmin/report/example/downloadDirectly" |
||||||
|
# 该配置用于报表部分的数据权限过滤功能。 |
||||||
|
# 当前数据权限需要获取指定部门Ids的所有下级子部门Ids的时候,会调用该接口。 |
||||||
|
dataPermAllChildrenDeptIdUrl: "http://localhost:8083/tenantadmin/upms/sysDept/listAllChildDeptIdByParentIds" |
||||||
|
# 当前服务是否为可视化后台服务。 |
||||||
|
isVisualization: false |
||||||
|
# 下面的url列表,请保持反斜杠(/)结尾。 |
||||||
|
viewUrlList: |
||||||
|
- ${common-report.urlPrefix}/reportOperation/listData/ |
||||||
|
|
||||||
|
datasync: |
||||||
|
producer: |
||||||
|
# upms服务作为生产者,需要打开该选项。 |
||||||
|
enabled: true |
||||||
|
# Redisson 分布式锁的名称。 |
||||||
|
# 当存在多个发送者实例时,需要分布式锁控制只有一个实例可以执行消息流水读取并发送到MQ的操作。 |
||||||
|
distributeLockName: tenant-datasync |
||||||
|
# 每次读取生产者消息流水的等待时间间隔,单位分钟。 |
||||||
|
fetchTransIntervalMins: 2 |
||||||
|
# 每次读取生产者消息流水的记录数量。 |
||||||
|
fetchCount: 10 |
||||||
|
|
||||||
|
rocketmq: |
||||||
|
name-server: 127.0.0.1:9876 |
||||||
|
producer: |
||||||
|
group: apelet_saas |
||||||
|
|
||||||
|
datafilter: |
||||||
|
tenant: |
||||||
|
enabled: false |
||||||
|
dataperm: |
||||||
|
enabled: true |
||||||
|
# 在拼接数据权限过滤的SQL时,我们会用到sys_dept_relation表,该表的前缀由此配置项指定。 |
||||||
|
# 如果没有前缀,请使用 "" 。 |
||||||
|
deptRelationTablePrefix: xy_ |
||||||
|
# 是否在每次执行数据权限查询过滤时,都要进行菜单Id和URL之间的越权验证。 |
||||||
|
enableMenuPermVerify: true |
||||||
|
|
||||||
|
sequence: |
||||||
|
# 是否使用基于美团Leaf的分布式Id生成器。 |
||||||
|
advanceIdGenerator: true |
||||||
|
# 多个zk服务之间逗号分隔。 |
||||||
|
zkAddress: localhost:2181 |
||||||
|
# 与本机的ip一起构成zk中标识不同服务实例的key值。 |
||||||
|
idPort: 18083 |
||||||
|
# zk中生成WorkNode的路径。不同的业务可以使用不同的路径,以免冲突。 |
||||||
|
zkPath: apelet |
||||||
|
|
||||||
|
common-log: |
||||||
|
# 操作日志配置,对应配置文件common-log/OperationLogProperties.java |
||||||
|
operation-log: |
||||||
|
enabled: false |
||||||
|
kafkaTopic: SysOperationLog-TenantAdmin |
||||||
|
|
||||||
|
mybatis-plus: |
||||||
|
mapper-locations: classpath:apelet/tenantadmin/tenant/dao/mapper/*Mapper.xml,apelet/tenantadmin/upms/dao/mapper/*Mapper.xml,apelet/common/report/dao/mapper/*Mapper.xml,apelet/common/datasync/dao/mapper/*Mapper.xml,apelet/common/log/dao/mapper/*Mapper.xml,apelet/common/flow/dao/mapper/*Mapper.xml,apelet/common/online/dao/mapper/*Mapper.xml,apelet/common/generator/dao/mapper/*Mapper.xml,apelet/common/botp/dao/mapper/*Mapper.xml,apelet/tenantadmin/app/dao/mapper/*Mapper.xml,apelet/common/mobile/dao/mapper/*Mapper.xml,apelet/common/eas/dao/mapper/*Mapper.xml,classpath:mapper/*Mapper.xml |
||||||
|
type-aliases-package: apelet.tenantadmin.*.model,apelet.common.report.model,apelet.common.datasync.model,apelet.common.log.model,apelet.common.flow.model,apelet.common.online.model,apelet.common.mobile.model,apelet.common.eas.model |
||||||
|
global-config: |
||||||
|
db-config: |
||||||
|
logic-delete-value: -1 |
||||||
|
logic-not-delete-value: 1 |
||||||
|
|
||||||
|
# 自动分页的配置 |
||||||
|
pagehelper: |
||||||
|
helperDialect: mysql |
||||||
|
reasonable: true |
||||||
|
supportMethodsArguments: false |
||||||
|
params: count=countSql |
||||||
|
|
||||||
|
aj: |
||||||
|
captcha: |
||||||
|
# 缓存local/redis.. |
||||||
|
cache-type: redis |
||||||
|
# 验证码类型default两种都实例化。 |
||||||
|
type: default |
||||||
|
# 右下角水印文字(我的水印) |
||||||
|
water-mark: 我的水印 |
||||||
|
#点选字体样式 默认Font.BOLD |
||||||
|
font-style: 1 |
||||||
|
#点选字体字体大小 |
||||||
|
font-size: 25 |
||||||
|
# 支持项目路径,以classpath:开头,取resource目录下路径,例:classpath:images/jigsaw |
||||||
|
jigsaw: classpath:images/jigsaw |
||||||
|
# 支持项目路径,以classpath:开头,取resource目录下路径,例:classpath:images/pic-click |
||||||
|
pic-click: classpath:images/pic-click |
||||||
|
history-data-clear-enable: false |
||||||
|
# 接口请求次数一分钟限制是否开启 true|false |
||||||
|
req-frequency-limit-enable: false |
||||||
|
# 验证失败5次,get接口锁定 |
||||||
|
req-get-lock-limit: 5 |
||||||
|
# 验证失败后,锁定时间间隔,s |
||||||
|
req-get-lock-seconds: 360 |
||||||
|
# get接口一分钟内请求数限制 |
||||||
|
req-get-minute-limit: 30 |
||||||
|
# check接口一分钟内请求数限制 |
||||||
|
req-check-minute-limit: 30 |
||||||
|
# verify接口一分钟内请求数限制 |
||||||
|
req-verify-minute-limit: 60 |
||||||
|
# 校验滑动拼图允许误差偏移量(默认5像素) |
||||||
|
slip-offset: 5 |
||||||
|
# aes加密坐标开启或者禁用(true|false) |
||||||
|
aes-status: true |
||||||
|
# 滑动干扰项(0/1/2) |
||||||
|
interference-options: 2 |
||||||
|
|
||||||
|
# 开发数据库相关配置 |
||||||
|
spring: |
||||||
|
datasource: |
||||||
|
type: com.alibaba.druid.pool.DruidDataSource |
||||||
|
druid: |
||||||
|
# 租户管理数据源。 |
||||||
|
tenant-admin: |
||||||
|
url: jdbc:mysql://192.168.100.35:3306/apelet_admin_xk?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai |
||||||
|
username: root |
||||||
|
password: X7&9p8L2@6z4K7!8 |
||||||
|
# 租户业务平台的通用业务数据,如字典、在线表单、流程、报表的定义等数据。 |
||||||
|
tenant-common: |
||||||
|
url: jdbc:mysql://192.168.100.35:3306/apelet_admin_xk?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai |
||||||
|
username: root |
||||||
|
password: X7&9p8L2@6z4K7!8 |
||||||
|
# 默认生成的操作日志数据源配置。 |
||||||
|
operation-log: |
||||||
|
url: jdbc:mysql://192.168.100.35:3306/apelet_admin_xk?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai |
||||||
|
username: root |
||||||
|
password: X7&9p8L2@6z4K7!8 |
||||||
|
driverClassName: com.mysql.cj.jdbc.Driver |
||||||
|
name: tenant-admin |
||||||
|
initialSize: 10 |
||||||
|
minIdle: 10 |
||||||
|
maxActive: 50 |
||||||
|
maxWait: 60000 |
||||||
|
timeBetweenEvictionRunsMillis: 60000 |
||||||
|
minEvictableIdleTimeMillis: 300000 |
||||||
|
poolPreparedStatements: true |
||||||
|
maxPoolPreparedStatementPerConnectionSize: 20 |
||||||
|
maxOpenPreparedStatements: 20 |
||||||
|
validationQuery: SELECT 'x' |
||||||
|
testWhileIdle: true |
||||||
|
testOnBorrow: false |
||||||
|
testOnReturn: false |
||||||
|
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 |
||||||
|
filters: stat,wall |
||||||
|
useGlobalDataSourceStat: true |
||||||
|
web-stat-filter: |
||||||
|
enabled: true |
||||||
|
url-pattern: "/*" |
||||||
|
exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*,/actuator/*,/ai/*" |
||||||
|
stat-view-servlet: |
||||||
|
enabled: true |
||||||
|
urlPattern: /druid/* |
||||||
|
resetEnable: true |
||||||
|
eas: |
||||||
|
config: |
||||||
|
easurl: |
||||||
|
userName: |
||||||
|
password: 1 |
||||||
|
dcName: |
||||||
|
dbType: 2 |
||||||
|
ltpaToken: C:\work\company\project\plat\orm\apelet_saas\common\common-eas\src\main\resources\LtpaToken.properties |
||||||
|
#easurl: https://ehr.jztweb.com |
||||||
|
#userName: SSQadmin |
||||||
|
#password: SSQadmin |
||||||
|
#dcName: EHR_001 |
||||||
|
#dbType: 2 |
||||||
|
#ltpaToken: C:\work\company\project\plat\orm\apelet_saas\common\common-eas\src\main\resources\LtpaToken_zs.properties |
||||||
|
hubCloud: |
||||||
|
#测试 |
||||||
|
#secret: RXmdRE0lf5ngGfLJSSj4 |
||||||
|
#appId: 501019058 |
||||||
|
secret: |
||||||
|
appId: |
||||||
|
dingTalk: |
||||||
|
secret: 95gAMy_7nWGqRwFbt_kLzRpI9BqKhB7LM3SPgpcvV8Q7s0Az_PMei_yRxWE6LmhV |
||||||
|
project: |
||||||
|
server: |
||||||
|
url: https://jgzy-api.nbjgcloud.com |
||||||
|
sync: |
||||||
|
url: http://10.22.98.37:9999 |
||||||
|
loginUrl: /sys/login |
||||||
|
loginName: nbjg |
||||||
|
loginPassword: NBjj123456 |
||||||
|
userUrl: |
||||||
|
projectUrl: |
||||||
|
ai: |
||||||
|
dify: |
||||||
|
baseUrl: |
||||||
|
datasetKey: |
||||||
|
appKey: |
||||||
|
appUrl: |
||||||
|
pandoc: |
||||||
|
panurl: pandoc |
||||||
|
genurl: |
||||||
|
templateFileName: sample-orgin-change.docx |
||||||
|
luaFileName: parse-html.lua |
||||||
|
preUrl: |
||||||
|
mineru: |
||||||
|
workspace: |
||||||
|
batchfile: |
||||||
|
timeout: 10000 |
||||||
|
baseurl: http://192.168.77.6:8000 |
||||||
|
pdfurl: /file_parse |
||||||
|
mdSaveDir: /app/work/pdf |
||||||
|
cqurl: |
||||||
|
config: |
||||||
|
url: |
||||||
|
gys: |
||||||
|
#client_id: xy_mobile |
||||||
|
#client_secret: asdasdnsandlkadnlkas!@#@!3WWW |
||||||
|
#username: sunquan |
||||||
|
client_id: |
||||||
|
client_secret: |
||||||
|
username: |
||||||
|
accountId: |
||||||
|
|
||||||
|
msg: |
||||||
|
notice: |
||||||
|
# 是否启用定时消息提醒(true启用,false禁用) |
||||||
|
enabled: true |
||||||
|
|
||||||
|
# 定时任务cron表达式,控制提醒执行频率 |
||||||
|
# 默认值:0 0 * * * ? (每小时整点执行) |
||||||
|
# 常用示例: |
||||||
|
# 0 0 * * * ? - 每小时执行一次 |
||||||
|
# 0 0 */2 * * ? - 每2小时执行一次 |
||||||
|
# 0 0 9 * * ? - 每天上午9点执行 |
||||||
|
# 0 0 9,18 * * ? - 每天上午9点和下午6点执行 |
||||||
|
# 0 */30 * * * ? - 每30分钟执行一次 |
||||||
|
cron: "0 0 * * * ?" |
||||||
|
|
||||||
|
# 默认提醒消息内容 |
||||||
|
default-message: hello |
||||||
|
|
||||||
|
# ==================================== |
||||||
|
# 短信通知配置 |
||||||
|
# ==================================== |
||||||
|
sms: |
||||||
|
# 是否启用短信通知 |
||||||
|
enabled: false |
||||||
|
# 短信API地址(根据实际短信服务商配置) |
||||||
|
api-url: https://sms.example.com/send |
||||||
|
# 短信API密钥 |
||||||
|
api-key: your-sms-api-key |
||||||
|
# 短信签名 |
||||||
|
sign: "【您的签名】" |
||||||
|
|
||||||
|
# ==================================== |
||||||
|
# 邮箱通知配置 |
||||||
|
# ==================================== |
||||||
|
email: |
||||||
|
# 是否启用邮箱通知 |
||||||
|
enabled: true |
||||||
|
# SMTP服务器地址 |
||||||
|
smtp-host: smtp.qq.com |
||||||
|
# SMTP端口(25或465或587) |
||||||
|
smtp-port: 465 |
||||||
|
# 发件人邮箱地址 |
||||||
|
from-email: 287962685@qq.com |
||||||
|
# 发件人密码或授权码 |
||||||
|
password: evccxezdmdnpbhbh |
||||||
|
# 是否启用SSL(如果使用465端口,建议启用SSL) |
||||||
|
ssl-enabled: true |
||||||
|
|
||||||
@ -0,0 +1,35 @@ |
|||||||
|
package apelet.common.online.model.constant; |
||||||
|
|
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* 数据权限规则类型常量。 |
||||||
|
* |
||||||
|
* @author chenchuchuan |
||||||
|
* @date 2026-07-21 |
||||||
|
*/ |
||||||
|
public final class DataRuleType { |
||||||
|
|
||||||
|
/** |
||||||
|
* 列表权限。 |
||||||
|
*/ |
||||||
|
public static final int LIST = 1; |
||||||
|
/** |
||||||
|
* 基础数据权限。 |
||||||
|
*/ |
||||||
|
public static final int BASIC_DATA = 2; |
||||||
|
|
||||||
|
private static final Map<Object, String> DICT_MAP = new HashMap<>(2); |
||||||
|
static { |
||||||
|
DICT_MAP.put(LIST, "列表权限"); |
||||||
|
DICT_MAP.put(BASIC_DATA, "基础数据权限"); |
||||||
|
} |
||||||
|
|
||||||
|
public static boolean isValid(Integer value) { |
||||||
|
return value != null && DICT_MAP.containsKey(value); |
||||||
|
} |
||||||
|
|
||||||
|
private DataRuleType() { |
||||||
|
} |
||||||
|
} |
||||||
Loading…
Reference in new issue