Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
guns-vip
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenjunxiong
guns-vip
Commits
7666d4ff
Commit
7666d4ff
authored
Jun 24, 2019
by
fengshuonan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
是否开启登录时验证码开关做到系统常量
parent
9dc66a7e
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
121 additions
and
67 deletions
+121
-67
_sqls/guns_mysql.sql
+10
-3
guns-base/src/main/java/cn/stylefeng/guns/base/consts/ConfigConstant.java
+16
-0
guns-base/src/main/java/cn/stylefeng/guns/base/consts/ConstantsContext.java
+48
-2
guns-base/src/main/java/cn/stylefeng/guns/base/enums/CommonStatus.java
+1
-1
guns-sys/src/main/java/cn/stylefeng/guns/sys/core/constant/Const.java
+0
-1
guns-sys/src/main/java/cn/stylefeng/guns/sys/core/exception/enums/BizExceptionEnum.java
+6
-0
guns-sys/src/main/java/cn/stylefeng/guns/sys/core/properties/GunsProperties.java
+0
-2
guns-sys/src/main/java/cn/stylefeng/guns/sys/core/util/KaptchaUtil.java
+3
-3
guns-sys/src/main/java/cn/stylefeng/guns/sys/modular/consts/service/impl/SysConfigServiceImpl.java
+31
-0
guns-sys/src/main/java/cn/stylefeng/guns/sys/modular/system/service/DictService.java
+2
-2
guns-sys/src/main/java/cn/stylefeng/guns/sys/modular/system/service/DictTypeService.java
+1
-1
guns-sys/src/main/webapp/pages/modular/sysConfig/sysConfig_add.html
+1
-1
guns-sys/src/main/webapp/pages/modular/sysConfig/sysConfig_edit.html
+2
-2
guns-sys/src/main/webapp/pages/modular/system/dict/dict_edit.html
+0
-24
guns-sys/src/main/webapp/pages/modular/system/dictType/dictType_edit.html
+0
-24
guns-vip-main/src/main/resources/application.yml
+0
-1
No files found.
_sqls/guns_mysql.sql
View file @
7666d4ff
...
...
@@ -16,7 +16,7 @@ USE guns;
Target Server Version : 50724
File Encoding : 65001
Date: 24/06/2019 1
1:08:03
Date: 24/06/2019 1
4:02:50
*/
SET
NAMES
utf8mb4
;
...
...
@@ -43,7 +43,7 @@ CREATE TABLE `database_info` (
-- Records of database_info
-- ----------------------------
BEGIN
;
INSERT
INTO
`database_info`
VALUES
(
114
2988647625146369
,
'master'
,
'com.mysql.cj.jdbc.Driver'
,
'root'
,
'root'
,
'jdbc:mysql://127.0.0.1:3306/guns?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT'
,
'主数据源,项目启动数据源!'
,
'2019-06-24 10:51:43
'
);
INSERT
INTO
`database_info`
VALUES
(
114
3035807842471938
,
'master'
,
'com.mysql.cj.jdbc.Driver'
,
'root'
,
'root'
,
'jdbc:mysql://127.0.0.1:3306/guns?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT'
,
'主数据源,项目启动数据源!'
,
'2019-06-24 13:59:07
'
);
COMMIT
;
-- ----------------------------
...
...
@@ -88,7 +88,14 @@ CREATE TABLE `sys_config` (
`update_time`
datetime
DEFAULT
NULL
COMMENT
'更新时间'
,
`update_user`
bigint
(
20
)
DEFAULT
NULL
COMMENT
'更新人'
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
16
DEFAULT
CHARSET
=
utf8
COMMENT
=
'参数配置'
;
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
20
DEFAULT
CHARSET
=
utf8
COMMENT
=
'参数配置'
;
-- ----------------------------
-- Records of sys_config
-- ----------------------------
BEGIN
;
INSERT
INTO
`sys_config`
VALUES
(
19
,
'验证码开关'
,
'GUNS_KAPTCHA_OPEN'
,
'Y'
,
1106120265689055233
,
'DISABLE'
,
'是否开启验证码'
,
'2019-06-24 12:46:43'
,
1
,
'2019-06-24 14:01:39'
,
1
);
COMMIT
;
-- ----------------------------
-- Table structure for sys_dept
...
...
guns-base/src/main/java/cn/stylefeng/guns/base/consts/ConfigConstant.java
0 → 100644
View file @
7666d4ff
package
cn
.
stylefeng
.
guns
.
base
.
consts
;
/**
* 配置的常量
*
* @author fengshuonan
* @date 2019-06-24-12:51
*/
public
interface
ConfigConstant
{
/**
* 系统常量的前缀标识
*/
String
SYSTEM_CONSTANT_PREFIX
=
"GUNS_"
;
}
guns-base/src/main/java/cn/stylefeng/guns/base/consts/ConstantsContext.java
View file @
7666d4ff
package
cn
.
stylefeng
.
guns
.
base
.
consts
;
import
cn.stylefeng.guns.base.enums.CommonStatus
;
import
cn.stylefeng.roses.core.util.ToolUtil
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
import
static
cn
.
stylefeng
.
guns
.
base
.
consts
.
ConfigConstant
.
SYSTEM_CONSTANT_PREFIX
;
/**
* 系统常量的容器
*
...
...
@@ -12,9 +17,50 @@ import java.util.concurrent.ConcurrentHashMap;
public
class
ConstantsContext
{
/**
*
系统常量的容器
*
所有的常量,可以增删改查
*/
private
static
Map
<
String
,
String
>
SYSTEM_CONSTNTS
=
new
ConcurrentHashMap
<>();
private
static
Map
<
String
,
Object
>
CONSTNTS_HOLDER
=
new
ConcurrentHashMap
<>();
/**
* 添加系统常量
*/
public
static
void
putConstant
(
String
key
,
Object
value
)
{
if
(
ToolUtil
.
isOneEmpty
(
key
,
value
))
{
return
;
}
CONSTNTS_HOLDER
.
put
(
key
,
value
);
}
/**
* 删除常量
*/
public
static
void
deleteConstant
(
String
key
)
{
if
(
ToolUtil
.
isOneEmpty
(
key
))
{
return
;
}
//如果是系统常量
if
(!
key
.
startsWith
(
SYSTEM_CONSTANT_PREFIX
))
{
CONSTNTS_HOLDER
.
remove
(
key
);
}
}
/**
* 获取系统常量
*/
public
static
Map
<
String
,
Object
>
getConstntsMap
()
{
return
CONSTNTS_HOLDER
;
}
/**
* 获取开关
*/
public
static
Boolean
getKaptchaOpen
()
{
String
gunsKaptchaOpen
=
(
String
)
CONSTNTS_HOLDER
.
get
(
"GUNS_KAPTCHA_OPEN"
);
if
(
CommonStatus
.
ENABLE
.
getCode
().
equalsIgnoreCase
(
gunsKaptchaOpen
))
{
return
true
;
}
else
{
return
false
;
}
}
}
guns-
sys/src/main/java/cn/stylefeng/guns/sys/core/constant/state
/CommonStatus.java
→
guns-
base/src/main/java/cn/stylefeng/guns/base/enums
/CommonStatus.java
View file @
7666d4ff
...
...
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
cn
.
stylefeng
.
guns
.
sys
.
core
.
constant
.
state
;
package
cn
.
stylefeng
.
guns
.
base
.
enums
;
import
lombok.Getter
;
...
...
guns-sys/src/main/java/cn/stylefeng/guns/sys/core/constant/Const.java
View file @
7666d4ff
...
...
@@ -76,5 +76,4 @@ public interface Const {
*/
String
OAUTH2_ACCOUNT_PREFIX
=
"oauth2"
;
}
guns-sys/src/main/java/cn/stylefeng/guns/sys/core/exception/enums/BizExceptionEnum.java
View file @
7666d4ff
...
...
@@ -83,6 +83,12 @@ public enum BizExceptionEnum implements AbstractBaseExceptionEnum {
SIGN_ERROR
(
700
,
"签名验证失败"
),
/**
* 系统常量
*/
ALREADY_CONSTANTS_ERROR
(
400
,
"已经存在该编码的系统参数"
),
SYSTEM_CONSTANT_ERROR
(
400
,
"不能删除系统常量"
),
/**
* 其他
*/
AUTH_REQUEST_ERROR
(
400
,
"账号密码错误"
);
...
...
guns-sys/src/main/java/cn/stylefeng/guns/sys/core/properties/GunsProperties.java
View file @
7666d4ff
...
...
@@ -33,8 +33,6 @@ public class GunsProperties {
public
static
final
String
PREFIX
=
"guns"
;
private
Boolean
kaptchaOpen
=
false
;
private
String
fileUploadPath
;
private
Boolean
haveCreatePath
=
false
;
...
...
guns-sys/src/main/java/cn/stylefeng/guns/sys/core/util/KaptchaUtil.java
View file @
7666d4ff
...
...
@@ -15,8 +15,7 @@
*/
package
cn
.
stylefeng
.
guns
.
sys
.
core
.
util
;
import
cn.stylefeng.guns.sys.core.properties.GunsProperties
;
import
cn.stylefeng.roses.core.util.SpringContextHolder
;
import
cn.stylefeng.guns.base.consts.ConstantsContext
;
/**
* 验证码工具类
...
...
@@ -27,6 +26,6 @@ public class KaptchaUtil {
* 获取验证码开关
*/
public
static
Boolean
getKaptchaOnOff
()
{
return
SpringContextHolder
.
getBean
(
GunsProperties
.
class
)
.
getKaptchaOpen
();
return
ConstantsContext
.
getKaptchaOpen
();
}
}
\ No newline at end of file
guns-sys/src/main/java/cn/stylefeng/guns/sys/modular/consts/service/impl/SysConfigServiceImpl.java
View file @
7666d4ff
package
cn
.
stylefeng
.
guns
.
sys
.
modular
.
consts
.
service
.
impl
;
import
cn.stylefeng.guns.base.consts.ConstantsContext
;
import
cn.stylefeng.guns.base.pojo.page.LayuiPageFactory
;
import
cn.stylefeng.guns.base.pojo.page.LayuiPageInfo
;
import
cn.stylefeng.guns.sys.core.exception.enums.BizExceptionEnum
;
import
cn.stylefeng.guns.sys.modular.consts.entity.SysConfig
;
import
cn.stylefeng.guns.sys.modular.consts.mapper.SysConfigMapper
;
import
cn.stylefeng.guns.sys.modular.consts.model.params.SysConfigParam
;
import
cn.stylefeng.guns.sys.modular.consts.model.result.SysConfigResult
;
import
cn.stylefeng.guns.sys.modular.consts.service.SysConfigService
;
import
cn.stylefeng.roses.core.util.ToolUtil
;
import
cn.stylefeng.roses.kernel.model.exception.ServiceException
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
...
...
@@ -17,6 +21,9 @@ import org.springframework.stereotype.Service;
import
java.io.Serializable
;
import
java.util.List
;
import
static
cn
.
stylefeng
.
guns
.
base
.
consts
.
ConfigConstant
.
SYSTEM_CONSTANT_PREFIX
;
import
static
cn
.
stylefeng
.
guns
.
sys
.
core
.
exception
.
enums
.
BizExceptionEnum
.
ALREADY_CONSTANTS_ERROR
;
/**
* <p>
* 参数配置 服务实现类
...
...
@@ -32,17 +39,38 @@ public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig
public
void
add
(
SysConfigParam
param
)
{
SysConfig
entity
=
getEntity
(
param
);
//判断编码有没有重复
SysConfig
sysConfig
=
new
SysConfig
();
sysConfig
.
setCode
(
entity
.
getCode
());
List
<
SysConfig
>
list
=
this
.
list
(
new
QueryWrapper
<>(
sysConfig
));
if
(
list
!=
null
&&
list
.
size
()
>
0
)
{
throw
new
ServiceException
(
ALREADY_CONSTANTS_ERROR
);
}
//如果是字典类型
if
(
ToolUtil
.
isNotEmpty
(
param
.
getDictFlag
())
&&
param
.
getDictFlag
().
equalsIgnoreCase
(
"Y"
))
{
entity
.
setValue
(
param
.
getDictValue
());
}
//添加字典context
ConstantsContext
.
putConstant
(
entity
.
getCode
(),
entity
.
getValue
());
this
.
save
(
entity
);
}
@Override
public
void
delete
(
SysConfigParam
param
)
{
//不能删除系统常量
SysConfig
sysConfig
=
this
.
getById
(
param
.
getId
());
if
(
sysConfig
!=
null
&&
sysConfig
.
getCode
().
startsWith
(
SYSTEM_CONSTANT_PREFIX
))
{
throw
new
ServiceException
(
BizExceptionEnum
.
SYSTEM_CONSTANT_ERROR
);
}
//删除字典context
ConstantsContext
.
deleteConstant
(
sysConfig
.
getCode
());
this
.
removeById
(
getKey
(
param
));
}
...
...
@@ -65,6 +93,9 @@ public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig
updateWrapper
.
set
(
true
,
"dict_type_id"
,
null
);
}
//添加字典context
ConstantsContext
.
putConstant
(
newEntity
.
getCode
(),
newEntity
.
getValue
());
this
.
update
(
newEntity
,
updateWrapper
);
}
...
...
guns-sys/src/main/java/cn/stylefeng/guns/sys/modular/system/service/DictService.java
View file @
7666d4ff
package
cn
.
stylefeng
.
guns
.
sys
.
modular
.
system
.
service
;
import
cn.stylefeng.guns.sys.core.constant.state.CommonStatus
;
import
cn.stylefeng.guns.sys.core.exception.enums.BizExceptionEnum
;
import
cn.stylefeng.guns.base.enums.CommonStatus
;
import
cn.stylefeng.guns.base.pojo.node.ZTreeNode
;
import
cn.stylefeng.guns.base.pojo.page.LayuiPageFactory
;
import
cn.stylefeng.guns.base.pojo.page.LayuiPageInfo
;
import
cn.stylefeng.guns.sys.core.exception.enums.BizExceptionEnum
;
import
cn.stylefeng.guns.sys.modular.system.entity.Dict
;
import
cn.stylefeng.guns.sys.modular.system.mapper.DictMapper
;
import
cn.stylefeng.guns.sys.modular.system.model.params.DictParam
;
...
...
guns-sys/src/main/java/cn/stylefeng/guns/sys/modular/system/service/DictTypeService.java
View file @
7666d4ff
package
cn
.
stylefeng
.
guns
.
sys
.
modular
.
system
.
service
;
import
cn.stylefeng.guns.base.enums.CommonStatus
;
import
cn.stylefeng.guns.base.pojo.page.LayuiPageFactory
;
import
cn.stylefeng.guns.base.pojo.page.LayuiPageInfo
;
import
cn.stylefeng.guns.sys.core.constant.state.CommonStatus
;
import
cn.stylefeng.guns.sys.core.exception.enums.BizExceptionEnum
;
import
cn.stylefeng.guns.sys.modular.system.entity.Dict
;
import
cn.stylefeng.guns.sys.modular.system.entity.DictType
;
...
...
guns-sys/src/main/webapp/pages/modular/sysConfig/sysConfig_add.html
View file @
7666d4ff
...
...
@@ -20,7 +20,7 @@
<div
class=
"layui-input-block"
>
<input
id=
"code"
name=
"code"
placeholder=
"属性编码"
type=
"text"
class=
"layui-input"
autocomplete=
"off"
lay-verify=
"required"
required
/>
</div>
<div
class=
"layui-form-mid layui-word-aux form-tips"
>
推荐采用下划线大写风格,例如,KAPTCH_OPEN
</div>
<div
class=
"layui-form-mid layui-word-aux form-tips"
>
推荐采用下划线大写风格,例如,KAPTCH_OPEN
,若以GUNS_开头则是系统常量不可删除。
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
取值范围
<span
style=
"color: red;"
>
*
</span></label>
...
...
guns-sys/src/main/webapp/pages/modular/sysConfig/sysConfig_edit.html
View file @
7666d4ff
...
...
@@ -18,9 +18,9 @@
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
编码
<span
style=
"color: red;"
>
*
</span></label>
<div
class=
"layui-input-block"
>
<input
id=
"code"
name=
"code"
placeholder=
"属性编码"
type=
"text"
class=
"layui-input"
autocomplete=
"off"
lay-verify=
"required"
required
/>
<input
id=
"code"
disabled=
"disabled"
name=
"code"
placeholder=
"属性编码"
type=
"text"
class=
"layui-input"
autocomplete=
"off"
lay-verify=
"required"
required
/>
</div>
<div
class=
"layui-form-mid layui-word-aux form-tips"
>
推荐采用下划线大写风格,例如,KAPTCH_OPEN
</div>
<div
class=
"layui-form-mid layui-word-aux form-tips"
>
编码填写后不可修改
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
取值范围
<span
style=
"color: red;"
>
*
</span></label>
...
...
guns-sys/src/main/webapp/pages/modular/system/dict/dict_edit.html
View file @
7666d4ff
...
...
@@ -48,30 +48,6 @@
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
创建时间
</label>
<div
class=
"layui-input-block"
>
<input
id=
"createTime"
name=
"createTime"
type=
"text"
class=
"layui-input white-border"
disabled=
"disabled"
/>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
更新时间
</label>
<div
class=
"layui-input-block"
>
<input
id=
"updateTime"
name=
"updateTime"
type=
"text"
class=
"layui-input white-border"
disabled=
"disabled"
/>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
创建人
</label>
<div
class=
"layui-input-block"
>
<input
id=
"createUser"
name=
"createUser"
type=
"text"
class=
"layui-input white-border"
disabled=
"disabled"
/>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
修改人
</label>
<div
class=
"layui-input-block"
>
<input
id=
"updateUser"
name=
"updateUser"
type=
"text"
class=
"layui-input white-border"
disabled=
"disabled"
/>
</div>
</div>
<div
class=
"layui-form-item"
>
<div
class=
"layui-input-block"
>
<button
class=
"layui-btn"
lay-filter=
"btnSubmit"
lay-submit
>
 
提交
 
</button>
<button
class=
"layui-btn layui-btn-primary"
type=
"button"
id=
"backupPage"
>
 
返回
 
</button>
...
...
guns-sys/src/main/webapp/pages/modular/system/dictType/dictType_edit.html
View file @
7666d4ff
...
...
@@ -42,30 +42,6 @@
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
创建时间
</label>
<div
class=
"layui-input-block"
>
<input
id=
"createTime"
name=
"createTime"
type=
"text"
class=
"layui-input white-border"
disabled=
"disabled"
/>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
创建人
</label>
<div
class=
"layui-input-block"
>
<input
id=
"createUser"
name=
"createUser"
type=
"text"
class=
"layui-input white-border"
disabled=
"disabled"
/>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
修改时间
</label>
<div
class=
"layui-input-block"
>
<input
id=
"updateTime"
name=
"updateTime"
type=
"text"
class=
"layui-input white-border"
disabled=
"disabled"
/>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
修改人
</label>
<div
class=
"layui-input-block"
>
<input
id=
"updateUser"
name=
"updateUser"
type=
"text"
class=
"layui-input white-border"
disabled=
"disabled"
/>
</div>
</div>
<div
class=
"layui-form-item"
>
<div
class=
"layui-input-block"
>
<button
class=
"layui-btn"
lay-filter=
"btnSubmit"
lay-submit
>
 
提交
 
</button>
<button
class=
"layui-btn layui-btn-primary"
type=
"button"
id=
"backupPage"
>
 
返回
 
</button>
...
...
guns-vip-main/src/main/resources/application.yml
View file @
7666d4ff
...
...
@@ -3,7 +3,6 @@ server:
max-http-header-size
:
10240
guns
:
kaptcha-open
:
false
#是否开启登录时验证码 (true/false)
spring-session-open
:
false
#是否开启spring session,如果是多机环境需要开启(true/false)
session-invalidate-time
:
1800
#session失效时间(只在单机环境下生效,多机环境在SpringSessionConfig类中配置) 单位:秒
session-validation-interval
:
900
#多久检测一次失效的session(只在单机环境下生效) 单位:秒
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment