Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
pig_冷冷
Pig
提交
3a013359
Pig
项目概览
pig_冷冷
/
Pig
上一次同步 11 个月
通知
3
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Pig
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
3a013359
编写于
3月 26, 2022
作者:
L
lbw
提交者:
Gitee
3月 26, 2022
浏览文件
操作
浏览文件
下载
差异文件
!207 参数管理、字典工具类、参数工具类
Merge pull request !207 from fxz/dev
上级
d401ae59
58814a07
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
668 addition
and
20 deletion
+668
-20
db/pig.sql
db/pig.sql
+56
-0
pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/constant/CacheConstants.java
...om/pig4cloud/pig/common/core/constant/CacheConstants.java
+5
-0
pig-upms/pig-upms-api/src/main/java/com/pig4cloud/pig/admin/api/entity/SysPublicParam.java
...va/com/pig4cloud/pig/admin/api/entity/SysPublicParam.java
+92
-0
pig-upms/pig-upms-api/src/main/java/com/pig4cloud/pig/admin/api/feign/RemoteDictService.java
.../com/pig4cloud/pig/admin/api/feign/RemoteDictService.java
+5
-19
pig-upms/pig-upms-api/src/main/java/com/pig4cloud/pig/admin/api/feign/RemoteParamService.java
...com/pig4cloud/pig/admin/api/feign/RemoteParamService.java
+29
-0
pig-upms/pig-upms-api/src/main/java/com/pig4cloud/pig/admin/api/util/DictResolver.java
...n/java/com/pig4cloud/pig/admin/api/util/DictResolver.java
+99
-0
pig-upms/pig-upms-api/src/main/java/com/pig4cloud/pig/admin/api/util/ParamResolver.java
.../java/com/pig4cloud/pig/admin/api/util/ParamResolver.java
+60
-0
pig-upms/pig-upms-api/src/main/resources/META-INF/spring.factories
...pig-upms-api/src/main/resources/META-INF/spring.factories
+2
-1
pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/controller/PublicParamController.java
...pig4cloud/pig/admin/controller/PublicParamController.java
+131
-0
pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/mapper/SysPublicParamMapper.java
.../com/pig4cloud/pig/admin/mapper/SysPublicParamMapper.java
+32
-0
pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/service/SysPublicParamService.java
...om/pig4cloud/pig/admin/service/SysPublicParamService.java
+59
-0
pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/service/impl/SysPublicParamServiceImpl.java
...oud/pig/admin/service/impl/SysPublicParamServiceImpl.java
+98
-0
未找到文件。
db/pig.sql
浏览文件 @
3a013359
...
...
@@ -97,6 +97,8 @@ BEGIN;
INSERT
INTO
`sys_dict`
VALUES
(
1
,
'dict_type'
,
'字典类型'
,
NULL
,
'0'
,
'0'
,
'2019-05-16 14:16:20'
,
''
,
'admin'
,
'2021-12-29 12:29:18'
);
INSERT
INTO
`sys_dict`
VALUES
(
2
,
'log_type'
,
'日志类型'
,
NULL
,
'0'
,
'0'
,
'2020-03-13 14:21:01'
,
''
,
'admin'
,
'2021-12-29 12:30:14'
);
INSERT
INTO
`sys_dict`
VALUES
(
3
,
'ds_type'
,
'驱动类型'
,
NULL
,
'0'
,
'0'
,
'2021-10-15 16:24:35'
,
''
,
'admin'
,
'2021-12-29 12:30:18'
);
INSERT
INTO
`sys_dict`
VALUES
(
4
,
'param_type'
,
'参数配置'
,
'检索、原文、报表、安全、文档、消息、其他'
,
'1'
,
'0'
,
'2022-03-25 20:51:26'
,
'admin'
,
'admin'
,
'2022-03-25 20:51:26'
);
INSERT
INTO
`sys_dict`
VALUES
(
5
,
'status_type'
,
'租户状态'
,
'租户状态'
,
'1'
,
'0'
,
'2022-03-25 20:56:51'
,
'admin'
,
'admin'
,
'2022-03-25 20:56:51'
);
COMMIT
;
-- ----------------------------
...
...
@@ -139,8 +141,54 @@ INSERT INTO `sys_dict_item` VALUES (9, 3, 'com.microsoft.sqlserver.jdbc.SQLServe
INSERT
INTO
`sys_dict_item`
VALUES
(
10
,
3
,
'com.microsoft.jdbc.sqlserver.SQLServerDriver'
,
'sqlserver2000'
,
'ds_type'
,
'sqlserver2000'
,
0
,
' '
,
'0'
,
NULL
,
NULL
,
NULL
,
NULL
);
INSERT
INTO
`sys_dict_item`
VALUES
(
11
,
3
,
'com.ibm.db2.jcc.DB2Driver'
,
'db2'
,
'ds_type'
,
'db2'
,
0
,
' '
,
'0'
,
NULL
,
NULL
,
NULL
,
NULL
);
INSERT
INTO
`sys_dict_item`
VALUES
(
12
,
3
,
'org.postgresql.Driver'
,
'postgresql'
,
'ds_type'
,
'postgresql'
,
0
,
' '
,
'0'
,
NULL
,
NULL
,
NULL
,
NULL
);
INSERT
INTO
`sys_dict_item`
VALUES
(
13
,
4
,
'1'
,
'检索'
,
'param_type'
,
'检索'
,
0
,
'检索'
,
'0'
,
'2022-03-25 20:51:51'
,
'admin'
,
'admin'
,
'2022-03-25 20:51:51'
);
INSERT
INTO
`sys_dict_item`
VALUES
(
14
,
4
,
'2'
,
'原文'
,
'param_type'
,
'原文'
,
1
,
'原文'
,
'0'
,
'2022-03-25 20:52:06'
,
'admin'
,
'admin'
,
'2022-03-25 20:52:06'
);
INSERT
INTO
`sys_dict_item`
VALUES
(
15
,
4
,
'3'
,
'报表'
,
'param_type'
,
'报表'
,
2
,
'报表'
,
'0'
,
'2022-03-25 20:52:16'
,
'admin'
,
'admin'
,
'2022-03-25 20:52:16'
);
INSERT
INTO
`sys_dict_item`
VALUES
(
16
,
4
,
'4'
,
'安全'
,
'param_type'
,
'安全'
,
3
,
'安全'
,
'0'
,
'2022-03-25 20:52:32'
,
'admin'
,
'admin'
,
'2022-03-25 20:52:32'
);
INSERT
INTO
`sys_dict_item`
VALUES
(
17
,
4
,
'5'
,
'文档'
,
'param_type'
,
'文档'
,
4
,
'文档'
,
'0'
,
'2022-03-25 20:52:52'
,
'admin'
,
'admin'
,
'2022-03-25 20:52:52'
);
INSERT
INTO
`sys_dict_item`
VALUES
(
18
,
4
,
'6'
,
'消息'
,
'param_type'
,
'消息'
,
5
,
'消息'
,
'0'
,
'2022-03-25 20:53:07'
,
'admin'
,
'admin'
,
'2022-03-25 20:53:07'
);
INSERT
INTO
`sys_dict_item`
VALUES
(
19
,
4
,
'9'
,
'其他'
,
'param_type'
,
'其他'
,
6
,
'其他'
,
'0'
,
'2022-03-25 20:54:50'
,
'admin'
,
'admin'
,
'2022-03-25 20:54:50'
);
INSERT
INTO
`sys_dict_item`
VALUES
(
20
,
4
,
'0'
,
'默认'
,
'param_type'
,
'默认'
,
7
,
'默认'
,
'0'
,
'2022-03-25 20:55:23'
,
'admin'
,
'admin'
,
'2022-03-25 20:55:23'
);
INSERT
INTO
`sys_dict_item`
VALUES
(
21
,
5
,
'0'
,
'正常'
,
'status_type'
,
'状态正常'
,
0
,
'状态正常'
,
'0'
,
'2022-03-25 20:57:12'
,
'admin'
,
'admin'
,
'2022-03-25 20:57:12'
);
INSERT
INTO
`sys_dict_item`
VALUES
(
22
,
5
,
'9'
,
'冻结'
,
'status_type'
,
'状态冻结'
,
1
,
'状态冻结'
,
'0'
,
'2022-03-25 20:57:34'
,
'admin'
,
'admin'
,
'2022-03-25 20:57:34'
);
COMMIT
;
-- ----------------------------
-- Table structure for sys_public_param
-- ----------------------------
DROP
TABLE
IF
EXISTS
`sys_public_param`
;
CREATE
TABLE
`sys_public_param`
(
`public_id`
bigint
(
0
)
NOT
NULL
COMMENT
'编号'
,
`public_name`
varchar
(
128
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_general_ci
NULL
DEFAULT
NULL
,
`public_key`
varchar
(
128
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_general_ci
NULL
DEFAULT
NULL
,
`public_value`
varchar
(
128
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_general_ci
NULL
DEFAULT
NULL
,
`status`
char
(
1
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_general_ci
NULL
DEFAULT
'0'
,
`validate_code`
varchar
(
64
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_general_ci
NULL
DEFAULT
NULL
,
`create_by`
varchar
(
64
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NOT
NULL
DEFAULT
' '
COMMENT
'创建人'
,
`update_by`
varchar
(
64
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NOT
NULL
DEFAULT
' '
COMMENT
'修改人'
,
`create_time`
datetime
(
0
)
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
(
0
)
COMMENT
'创建时间'
,
`update_time`
datetime
(
0
)
NULL
DEFAULT
NULL
ON
UPDATE
CURRENT_TIMESTAMP
(
0
)
COMMENT
'修改时间'
,
`public_type`
char
(
1
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_general_ci
NULL
DEFAULT
'0'
,
`system_flag`
char
(
1
)
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_general_ci
NULL
DEFAULT
'0'
,
PRIMARY
KEY
(
`public_id`
)
USING
BTREE
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COLLATE
=
utf8mb4_general_ci
COMMENT
=
'公共参数配置表'
;
-- ----------------------------
-- Records of sys_public_param
-- ----------------------------
BEGIN
;
INSERT
INTO
`sys_public_param`
VALUES
(
1
,
'租户默认来源'
,
'TENANT_DEFAULT_ID'
,
'1'
,
'0'
,
'TENANT_DEFAULT_ID'
,
' '
,
'admin'
,
'2020-05-12 04:03:46'
,
'2022-03-25 21:05:55'
,
'2'
,
'0'
);
INSERT
INTO
`sys_public_param`
VALUES
(
2
,
'租户默认部门名称'
,
'TENANT_DEFAULT_DEPTNAME'
,
'租户默认部门'
,
'0'
,
''
,
' '
,
' '
,
'2020-05-12 03:36:32'
,
NULL
,
'2'
,
'1'
);
INSERT
INTO
`sys_public_param`
VALUES
(
3
,
'租户默认账户'
,
'TENANT_DEFAULT_USERNAME'
,
'admin'
,
'0'
,
''
,
' '
,
' '
,
'2020-05-12 04:05:04'
,
NULL
,
'2'
,
'1'
);
INSERT
INTO
`sys_public_param`
VALUES
(
4
,
'租户默认密码'
,
'TENANT_DEFAULT_PASSWORD'
,
'123456'
,
'0'
,
''
,
' '
,
' '
,
'2020-05-12 04:05:24'
,
NULL
,
'2'
,
'1'
);
INSERT
INTO
`sys_public_param`
VALUES
(
5
,
'租户默认角色编码'
,
'TENANT_DEFAULT_ROLECODE'
,
'ROLE_ADMIN'
,
'0'
,
''
,
' '
,
' '
,
'2020-05-12 04:05:57'
,
NULL
,
'2'
,
'1'
);
INSERT
INTO
`sys_public_param`
VALUES
(
6
,
'租户默认角色名称'
,
'TENANT_DEFAULT_ROLENAME'
,
'租户默认角色'
,
'0'
,
''
,
' '
,
' '
,
'2020-05-12 04:06:19'
,
NULL
,
'2'
,
'1'
);
INSERT
INTO
`sys_public_param`
VALUES
(
7
,
'表前缀'
,
'GEN_TABLE_PREFIX'
,
'tb_'
,
'0'
,
''
,
' '
,
' '
,
'2020-05-12 04:23:04'
,
NULL
,
'9'
,
'1'
);
INSERT
INTO
`sys_public_param`
VALUES
(
8
,
'接口文档不显示的字段'
,
'GEN_HIDDEN_COLUMNS'
,
'tenant_id'
,
'0'
,
''
,
' '
,
' '
,
'2020-05-12 04:25:19'
,
NULL
,
'9'
,
'1'
);
COMMIT
;
-- ----------------------------
-- Table structure for sys_file
-- ----------------------------
...
...
@@ -270,6 +318,10 @@ INSERT INTO `sys_menu` VALUES (2600, '文件管理', NULL, '/admin/file/index',
INSERT
INTO
`sys_menu`
VALUES
(
2601
,
'文件删除'
,
'sys_file_del'
,
NULL
,
2600
,
NULL
,
0
,
'0'
,
'1'
,
'0'
,
' '
,
'2017-11-29 11:30:11'
,
' '
,
'2021-05-25 06:48:34'
);
INSERT
INTO
`sys_menu`
VALUES
(
2602
,
'文件新增'
,
'sys_file_add'
,
NULL
,
2600
,
NULL
,
0
,
'0'
,
'1'
,
'0'
,
' '
,
'2018-05-11 22:34:55'
,
' '
,
'2021-05-25 06:48:34'
);
INSERT
INTO
`sys_menu`
VALUES
(
2603
,
'文件修改'
,
'sys_file_edit'
,
NULL
,
2600
,
NULL
,
0
,
'0'
,
'1'
,
'0'
,
' '
,
'2018-05-11 22:36:03'
,
' '
,
'2021-05-25 06:48:34'
);
INSERT
INTO
`sys_menu`
VALUES
(
2700
,
'参数管理'
,
NULL
,
'/admin/param/index'
,
2000
,
'icon-navicon-zdgl'
,
5
,
'0'
,
'0'
,
'0'
,
'admin'
,
'2022-03-25 20:40:27'
,
'admin'
,
'2022-03-25 20:40:35'
);
INSERT
INTO
`sys_menu`
VALUES
(
2701
,
'参数新增'
,
'sys_publicparam_add'
,
NULL
,
2700
,
NULL
,
0
,
'0'
,
'1'
,
'0'
,
'admin'
,
'2022-03-25 20:45:05'
,
'admin'
,
'2022-03-25 20:45:05'
);
INSERT
INTO
`sys_menu`
VALUES
(
2702
,
'参数删除'
,
'sys_publicparam_del'
,
NULL
,
2700
,
NULL
,
1
,
'0'
,
'1'
,
'0'
,
'admin'
,
'2022-03-25 20:45:43'
,
'admin'
,
'2022-03-25 20:45:43'
);
INSERT
INTO
`sys_menu`
VALUES
(
2703
,
'参数修改'
,
'sys_publicparam_edit'
,
NULL
,
2700
,
NULL
,
3
,
'0'
,
'1'
,
'0'
,
'admin'
,
'2022-03-25 20:46:04'
,
'admin'
,
'2022-03-25 20:46:04'
);
INSERT
INTO
`sys_menu`
VALUES
(
3000
,
'开发平台'
,
NULL
,
'/gen'
,
-
1
,
'icon-shejiyukaifa-'
,
3
,
'1'
,
'0'
,
'0'
,
' '
,
'2020-03-11 22:15:40'
,
' '
,
'2020-03-11 23:52:54'
);
INSERT
INTO
`sys_menu`
VALUES
(
3100
,
'数据源管理'
,
NULL
,
'/gen/datasource'
,
3000
,
'icon-mysql'
,
3
,
'1'
,
'0'
,
'0'
,
' '
,
'2020-03-11 22:17:05'
,
' '
,
'2020-03-12 00:16:09'
);
INSERT
INTO
`sys_menu`
VALUES
(
3200
,
'代码生成'
,
NULL
,
'/gen/index'
,
3000
,
'icon-weibiaoti46'
,
0
,
'0'
,
'0'
,
'0'
,
' '
,
'2020-03-11 22:23:42'
,
' '
,
'2020-03-12 00:16:14'
);
...
...
@@ -443,6 +495,10 @@ INSERT INTO `sys_role_menu` VALUES (1, 2600);
INSERT
INTO
`sys_role_menu`
VALUES
(
1
,
2601
);
INSERT
INTO
`sys_role_menu`
VALUES
(
1
,
2602
);
INSERT
INTO
`sys_role_menu`
VALUES
(
1
,
2603
);
INSERT
INTO
`sys_role_menu`
VALUES
(
1
,
2700
);
INSERT
INTO
`sys_role_menu`
VALUES
(
1
,
2701
);
INSERT
INTO
`sys_role_menu`
VALUES
(
1
,
2702
);
INSERT
INTO
`sys_role_menu`
VALUES
(
1
,
2703
);
INSERT
INTO
`sys_role_menu`
VALUES
(
1
,
3000
);
INSERT
INTO
`sys_role_menu`
VALUES
(
1
,
3100
);
INSERT
INTO
`sys_role_menu`
VALUES
(
1
,
3200
);
...
...
pig-common/pig-common-core/src/main/java/com/pig4cloud/pig/common/core/constant/CacheConstants.java
浏览文件 @
3a013359
...
...
@@ -59,4 +59,9 @@ public interface CacheConstants {
*/
String
CLIENT_DETAILS_KEY
=
"pig_oauth:client:details"
;
/**
* 参数缓存
*/
String
PARAMS_DETAILS
=
"params_details"
;
}
pig-upms/pig-upms-api/src/main/java/com/pig4cloud/pig/admin/api/entity/SysPublicParam.java
0 → 100644
浏览文件 @
3a013359
/*
* Copyright (c) 2018-2025, lengleng 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 pig4cloud.com 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: lengleng (wangiegie@gmail.com)
*/
package
com.pig4cloud.pig.admin.api.entity
;
import
com.baomidou.mybatisplus.annotation.*
;
import
com.baomidou.mybatisplus.extension.activerecord.Model
;
import
com.pig4cloud.pig.common.mybatis.base.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.time.LocalDateTime
;
/**
* 公共参数配置
*
* @author Lucky
* @date 2019-04-29
*/
@Data
@ApiModel
(
value
=
"公共参数"
)
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
SysPublicParam
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 编号
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@ApiModelProperty
(
value
=
"公共参数编号"
)
private
Long
publicId
;
/**
* 公共参数名称
*/
@ApiModelProperty
(
value
=
"公共参数名称"
,
required
=
true
,
example
=
"公共参数名称"
)
private
String
publicName
;
/**
* 公共参数地址值,英文大写+下划线
*/
@ApiModelProperty
(
value
=
"键[英文大写+下划线]"
,
required
=
true
,
example
=
"PIGX_PUBLIC_KEY"
)
private
String
publicKey
;
/**
* 值
*/
@ApiModelProperty
(
value
=
"值"
,
required
=
true
,
example
=
"999"
)
private
String
publicValue
;
/**
* 状态(1有效;2无效;)
*/
@ApiModelProperty
(
value
=
"标识[1有效;2无效]"
,
example
=
"1"
)
private
String
status
;
/**
* 公共参数编码
*/
@ApiModelProperty
(
value
=
"编码"
,
example
=
"^(PIG|PIGX)$"
)
private
String
validateCode
;
/**
* 是否是系统内置
*/
@ApiModelProperty
(
value
=
"是否是系统内置"
)
private
String
systemFlag
;
/**
* 配置类型:0-默认;1-检索;2-原文;3-报表;4-安全;5-文档;6-消息;9-其他
*/
@ApiModelProperty
(
value
=
"类型[1-检索;2-原文...]"
,
example
=
"1"
)
private
String
publicType
;
}
pig-upms/pig-upms-api/src/main/java/com/pig4cloud/pig/admin/api/feign/RemoteDictService.java
浏览文件 @
3a013359
/*
* Copyright (c) 2020 pig4cloud Authors. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com.pig4cloud.pig.admin.api.feign
;
import
com.pig4cloud.pig.admin.api.entity.SysDictItem
;
...
...
@@ -26,16 +10,18 @@ import org.springframework.web.bind.annotation.PathVariable;
import
java.util.List
;
/**
* 字典调用
*
* @author lengleng
* @date 2020/5/12
* <p>
* 查询参数相关
*/
@FeignClient
(
contextId
=
"remoteDictService"
,
value
=
ServiceNameConstants
.
UMPS_SERVICE
)
public
interface
RemoteDictService
{
/**
* 通过字典类型查找字典
* @param type 字典类型
* @return
返回字典项列表
* @return
同类型字典
*/
@GetMapping
(
"/dict/type/{type}"
)
R
<
List
<
SysDictItem
>>
getDictByType
(
@PathVariable
(
"type"
)
String
type
);
...
...
pig-upms/pig-upms-api/src/main/java/com/pig4cloud/pig/admin/api/feign/RemoteParamService.java
0 → 100644
浏览文件 @
3a013359
package
com.pig4cloud.pig.admin.api.feign
;
import
com.pig4cloud.pig.common.core.constant.SecurityConstants
;
import
com.pig4cloud.pig.common.core.constant.ServiceNameConstants
;
import
com.pig4cloud.pig.common.core.util.R
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestHeader
;
/**
* @author lengleng
* @date 2020/5/12
* <p>
* 查询参数相关
*/
@FeignClient
(
contextId
=
"remoteParamService"
,
value
=
ServiceNameConstants
.
UMPS_SERVICE
)
public
interface
RemoteParamService
{
/**
* 通过key 查询参数配置
* @param key key
* @param from 声明成内部调用,避免MQ 等无法调用
* @return
*/
@GetMapping
(
"/param/publicValue/{key}"
)
R
<
String
>
getByKey
(
@PathVariable
(
"key"
)
String
key
,
@RequestHeader
(
SecurityConstants
.
FROM
)
String
from
);
}
pig-upms/pig-upms-api/src/main/java/com/pig4cloud/pig/admin/api/util/DictResolver.java
0 → 100644
浏览文件 @
3a013359
package
com.pig4cloud.pig.admin.api.util
;
import
cn.hutool.core.lang.Assert
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.core.toolkit.ObjectUtils
;
import
com.baomidou.mybatisplus.core.toolkit.StringPool
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
import
com.pig4cloud.pig.admin.api.entity.SysDictItem
;
import
com.pig4cloud.pig.admin.api.feign.RemoteDictService
;
import
com.pig4cloud.pig.common.core.util.SpringContextHolder
;
import
lombok.experimental.UtilityClass
;
import
java.util.List
;
/**
* @author fxz
* @date 2022/3/24 字典解析器
*/
@UtilityClass
public
class
DictResolver
{
/**
* 根据字典类型获取所有字典项
* @param type 字典类型
* @return 字典数据项集合
*/
public
List
<
SysDictItem
>
getDictItemsByType
(
String
type
)
{
Assert
.
isTrue
(
StringUtils
.
isNotBlank
(
type
),
"参数不合法"
);
RemoteDictService
remoteDictService
=
SpringContextHolder
.
getBean
(
RemoteDictService
.
class
);
return
remoteDictService
.
getDictByType
(
type
).
getData
();
}
/**
* 根据字典类型以及字典项字典值获取字典标签
* @param type 字典类型
* @param itemValue 字典项字典值
* @return 字典项标签值
*/
public
String
getDictItemLabel
(
String
type
,
String
itemValue
)
{
Assert
.
isTrue
(
StringUtils
.
isNotBlank
(
type
)
&&
StringUtils
.
isNotBlank
(
itemValue
),
"参数不合法"
);
SysDictItem
sysDictItem
=
getDictItemByItemValue
(
type
,
itemValue
);
return
ObjectUtils
.
isNotEmpty
(
sysDictItem
)
?
sysDictItem
.
getLabel
()
:
StringPool
.
EMPTY
;
}
/**
* 根据字典类型以及字典标签获取字典值
* @param type 字典类型
* @param itemLabel 字典数据标签
* @return 字典数据项值
*/
public
String
getDictItemValue
(
String
type
,
String
itemLabel
)
{
Assert
.
isTrue
(
StringUtils
.
isNotBlank
(
type
)
&&
StringUtils
.
isNotBlank
(
itemLabel
),
"参数不合法"
);
SysDictItem
sysDictItem
=
getDictItemByItemLabel
(
type
,
itemLabel
);
return
ObjectUtils
.
isNotEmpty
(
sysDictItem
)
?
sysDictItem
.
getValue
()
:
StringPool
.
EMPTY
;
}
/**
* 根据字典类型以及字典值获取字典项
* @param type 字典类型
* @param itemValue 字典数据值
* @return 字典数据项
*/
public
SysDictItem
getDictItemByItemValue
(
String
type
,
String
itemValue
)
{
Assert
.
isTrue
(
StringUtils
.
isNotBlank
(
type
)
&&
StringUtils
.
isNotBlank
(
itemValue
),
"参数不合法"
);
List
<
SysDictItem
>
dictItemList
=
getDictItemsByType
(
type
);
if
(
CollectionUtils
.
isNotEmpty
(
dictItemList
))
{
return
dictItemList
.
stream
().
filter
(
item
->
itemValue
.
equals
(
item
.
getValue
())).
findFirst
().
orElse
(
null
);
}
return
null
;
}
/**
* 根据字典类型以及字典标签获取字典项
* @param type 字典类型
* @param itemLabel 字典数据项标签
* @return 字典数据项
*/
public
SysDictItem
getDictItemByItemLabel
(
String
type
,
String
itemLabel
)
{
Assert
.
isTrue
(
StringUtils
.
isNotBlank
(
type
)
&&
StringUtils
.
isNotBlank
(
itemLabel
),
"参数不合法"
);
List
<
SysDictItem
>
dictItemList
=
getDictItemsByType
(
type
);
if
(
CollectionUtils
.
isNotEmpty
(
dictItemList
))
{
return
dictItemList
.
stream
().
filter
(
item
->
itemLabel
.
equals
(
item
.
getLabel
())).
findFirst
().
orElse
(
null
);
}
return
null
;
}
}
pig-upms/pig-upms-api/src/main/java/com/pig4cloud/pig/admin/api/util/ParamResolver.java
0 → 100644
浏览文件 @
3a013359
package
com.pig4cloud.pig.admin.api.util
;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.util.StrUtil
;
import
com.pig4cloud.pig.admin.api.feign.RemoteParamService
;
import
com.pig4cloud.pig.common.core.constant.SecurityConstants
;
import
com.pig4cloud.pig.common.core.util.SpringContextHolder
;
import
lombok.experimental.UtilityClass
;
/**
* @author lengleng
* @date 2020/5/12
* <p>
* 系统参数配置解析器
*/
@UtilityClass
public
class
ParamResolver
{
/**
* 根据key 查询value 配置
* @param key key
* @param defaultVal 默认值
* @return value
*/
public
Long
getLong
(
String
key
,
Long
...
defaultVal
)
{
return
checkAndGet
(
key
,
Long
.
class
,
defaultVal
);
}
/**
* 根据key 查询value 配置
* @param key key
* @param defaultVal 默认值
* @return value
*/
public
String
getStr
(
String
key
,
String
...
defaultVal
)
{
return
checkAndGet
(
key
,
String
.
class
,
defaultVal
);
}
private
<
T
>
T
checkAndGet
(
String
key
,
Class
<
T
>
clazz
,
T
...
defaultVal
)
{
// 校验入参是否合法
if
(
StrUtil
.
isBlank
(
key
)
||
defaultVal
.
length
>
1
)
{
throw
new
IllegalArgumentException
(
"参数不合法"
);
}
RemoteParamService
remoteParamService
=
SpringContextHolder
.
getBean
(
RemoteParamService
.
class
);
String
result
=
remoteParamService
.
getByKey
(
key
,
SecurityConstants
.
FROM_IN
).
getData
();
if
(
StrUtil
.
isNotBlank
(
result
))
{
return
Convert
.
convert
(
clazz
,
result
);
}
if
(
defaultVal
.
length
==
1
)
{
return
Convert
.
convert
(
clazz
,
defaultVal
.
clone
()[
0
]);
}
return
null
;
}
}
pig-upms/pig-upms-api/src/main/resources/META-INF/spring.factories
浏览文件 @
3a013359
...
...
@@ -3,4 +3,5 @@ com.pig4cloud.pig.common.feign.PigFeignAutoConfiguration=\
com.pig4cloud.pig.admin.api.feign.RemoteDeptService,\
com.pig4cloud.pig.admin.api.feign.RemoteLogService,\
com.pig4cloud.pig.admin.api.feign.RemoteTokenService,\
com.pig4cloud.pig.admin.api.feign.RemoteUserService
com.pig4cloud.pig.admin.api.feign.RemoteUserService,\
com.pig4cloud.pig.admin.api.feign.RemoteParamService
pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/controller/PublicParamController.java
0 → 100644
浏览文件 @
3a013359
/*
* Copyright (c) 2018-2025, lengleng 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 pig4cloud.com 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: lengleng (wangiegie@gmail.com)
*/
package
com.pig4cloud.pig.admin.controller
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.pig4cloud.pig.admin.api.entity.SysPublicParam
;
import
com.pig4cloud.pig.admin.service.SysPublicParamService
;
import
com.pig4cloud.pig.common.core.util.R
;
import
com.pig4cloud.pig.common.log.annotation.SysLog
;
import
com.pig4cloud.pig.common.security.annotation.Inner
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.AllArgsConstructor
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
/**
* 公共参数
*
* @author Lucky
* @date 2019-04-29
*/
@RestController
@AllArgsConstructor
@RequestMapping
(
"/param"
)
@Api
(
value
=
"param"
,
tags
=
"公共参数配置"
)
public
class
PublicParamController
{
private
final
SysPublicParamService
sysPublicParamService
;
/**
* 通过key查询公共参数值
* @param publicKey
* @return
*/
@Inner
(
value
=
false
)
@ApiOperation
(
value
=
"查询公共参数值"
,
notes
=
"根据key查询公共参数值"
)
@GetMapping
(
"/publicValue/{publicKey}"
)
public
R
publicKey
(
@PathVariable
(
"publicKey"
)
String
publicKey
)
{
return
R
.
ok
(
sysPublicParamService
.
getSysPublicParamKeyToValue
(
publicKey
));
}
/**
* 分页查询
* @param page 分页对象
* @param sysPublicParam 公共参数
* @return
*/
@ApiOperation
(
value
=
"分页查询"
,
notes
=
"分页查询"
)
@GetMapping
(
"/page"
)
public
R
getSysPublicParamPage
(
Page
page
,
SysPublicParam
sysPublicParam
)
{
return
R
.
ok
(
sysPublicParamService
.
page
(
page
,
Wrappers
.
query
(
sysPublicParam
)));
}
/**
* 通过id查询公共参数
* @param publicId id
* @return R
*/
@ApiOperation
(
value
=
"通过id查询公共参数"
,
notes
=
"通过id查询公共参数"
)
@GetMapping
(
"/{publicId}"
)
public
R
getById
(
@PathVariable
(
"publicId"
)
Long
publicId
)
{
return
R
.
ok
(
sysPublicParamService
.
getById
(
publicId
));
}
/**
* 新增公共参数
* @param sysPublicParam 公共参数
* @return R
*/
@ApiOperation
(
value
=
"新增公共参数"
,
notes
=
"新增公共参数"
)
@SysLog
(
"新增公共参数"
)
@PostMapping
@PreAuthorize
(
"@pms.hasPermission('sys_publicparam_add')"
)
public
R
save
(
@RequestBody
SysPublicParam
sysPublicParam
)
{
return
R
.
ok
(
sysPublicParamService
.
save
(
sysPublicParam
));
}
/**
* 修改公共参数
* @param sysPublicParam 公共参数
* @return R
*/
@ApiOperation
(
value
=
"修改公共参数"
,
notes
=
"修改公共参数"
)
@SysLog
(
"修改公共参数"
)
@PutMapping
@PreAuthorize
(
"@pms.hasPermission('sys_publicparam_edit')"
)
public
R
updateById
(
@RequestBody
SysPublicParam
sysPublicParam
)
{
return
sysPublicParamService
.
updateParam
(
sysPublicParam
);
}
/**
* 通过id删除公共参数
* @param publicId id
* @return R
*/
@ApiOperation
(
value
=
"删除公共参数"
,
notes
=
"删除公共参数"
)
@SysLog
(
"删除公共参数"
)
@DeleteMapping
(
"/{publicId}"
)
@PreAuthorize
(
"@pms.hasPermission('sys_publicparam_del')"
)
public
R
removeById
(
@PathVariable
Long
publicId
)
{
return
sysPublicParamService
.
removeParam
(
publicId
);
}
/**
* 同步参数
* @return R
*/
@SysLog
(
"同步参数"
)
@PutMapping
(
"/sync"
)
public
R
sync
()
{
return
sysPublicParamService
.
syncParamCache
();
}
}
pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/mapper/SysPublicParamMapper.java
0 → 100644
浏览文件 @
3a013359
/*
* Copyright (c) 2018-2025, lengleng 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 pig4cloud.com 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: lengleng (wangiegie@gmail.com)
*/
package
com.pig4cloud.pig.admin.mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.pig4cloud.pig.admin.api.entity.SysPublicParam
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* 公共参数配置
*
* @author Lucky
* @date 2019-04-29
*/
@Mapper
public
interface
SysPublicParamMapper
extends
BaseMapper
<
SysPublicParam
>
{
}
pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/service/SysPublicParamService.java
0 → 100644
浏览文件 @
3a013359
/*
* Copyright (c) 2018-2025, lengleng 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 pig4cloud.com 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: lengleng (wangiegie@gmail.com)
*/
package
com.pig4cloud.pig.admin.service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.pig4cloud.pig.admin.api.entity.SysPublicParam
;
import
com.pig4cloud.pig.common.core.util.R
;
/**
* 公共参数配置
*
* @author Lucky
* @date 2019-04-29
*/
public
interface
SysPublicParamService
extends
IService
<
SysPublicParam
>
{
/**
* 通过key查询公共参数指定值
* @param publicKey
* @return
*/
String
getSysPublicParamKeyToValue
(
String
publicKey
);
/**
* 更新参数
* @param sysPublicParam
* @return
*/
R
updateParam
(
SysPublicParam
sysPublicParam
);
/**
* 删除参数
* @param publicId
* @return
*/
R
removeParam
(
Long
publicId
);
/**
* 同步缓存
* @return R
*/
R
syncParamCache
();
}
pig-upms/pig-upms-biz/src/main/java/com/pig4cloud/pig/admin/service/impl/SysPublicParamServiceImpl.java
0 → 100644
浏览文件 @
3a013359
/*
* Copyright (c) 2018-2025, lengleng 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 pig4cloud.com 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: lengleng (wangiegie@gmail.com)
*/
package
com.pig4cloud.pig.admin.service.impl
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.pig4cloud.pig.admin.api.entity.SysPublicParam
;
import
com.pig4cloud.pig.admin.mapper.SysPublicParamMapper
;
import
com.pig4cloud.pig.admin.service.SysPublicParamService
;
import
com.pig4cloud.pig.common.core.constant.CacheConstants
;
import
com.pig4cloud.pig.common.core.constant.enums.DictTypeEnum
;
import
com.pig4cloud.pig.common.core.util.R
;
import
lombok.AllArgsConstructor
;
import
org.springframework.cache.annotation.CacheEvict
;
import
org.springframework.cache.annotation.Cacheable
;
import
org.springframework.stereotype.Service
;
/**
* 公共参数配置
*
* @author Lucky
* @date 2019-04-29
*/
@Service
@AllArgsConstructor
public
class
SysPublicParamServiceImpl
extends
ServiceImpl
<
SysPublicParamMapper
,
SysPublicParam
>
implements
SysPublicParamService
{
@Override
@Cacheable
(
value
=
CacheConstants
.
PARAMS_DETAILS
,
key
=
"#publicKey"
,
unless
=
"#result == null "
)
public
String
getSysPublicParamKeyToValue
(
String
publicKey
)
{
SysPublicParam
sysPublicParam
=
this
.
baseMapper
.
selectOne
(
Wrappers
.<
SysPublicParam
>
lambdaQuery
().
eq
(
SysPublicParam:
:
getPublicKey
,
publicKey
));
if
(
sysPublicParam
!=
null
)
{
return
sysPublicParam
.
getPublicValue
();
}
return
null
;
}
/**
* 更新参数
* @param sysPublicParam
* @return
*/
@Override
@CacheEvict
(
value
=
CacheConstants
.
PARAMS_DETAILS
,
key
=
"#sysPublicParam.publicKey"
)
public
R
updateParam
(
SysPublicParam
sysPublicParam
)
{
SysPublicParam
param
=
this
.
getById
(
sysPublicParam
.
getPublicId
());
// 系统内置
if
(
DictTypeEnum
.
SYSTEM
.
getType
().
equals
(
param
.
getSystemFlag
()))
{
return
R
.
failed
(
"系统内置参数不能删除"
);
}
return
R
.
ok
(
this
.
updateById
(
sysPublicParam
));
}
/**
* 删除参数
* @param publicId
* @return
*/
@Override
@CacheEvict
(
value
=
CacheConstants
.
PARAMS_DETAILS
,
allEntries
=
true
)
public
R
removeParam
(
Long
publicId
)
{
SysPublicParam
param
=
this
.
getById
(
publicId
);
// 系统内置
if
(
DictTypeEnum
.
SYSTEM
.
getType
().
equals
(
param
.
getSystemFlag
()))
{
return
R
.
failed
(
"系统内置参数不能删除"
);
}
return
R
.
ok
(
this
.
removeById
(
publicId
));
}
/**
* 同步缓存
* @return R
*/
@Override
@CacheEvict
(
value
=
CacheConstants
.
PARAMS_DETAILS
,
allEntries
=
true
)
public
R
syncParamCache
()
{
return
R
.
ok
();
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录