Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
appbuild
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
appbuild
Commits
47daf42d
Commit
47daf42d
authored
Jan 11, 2024
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加apipost生成接口文档逻辑
parent
8d80e95e
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
478 additions
and
15 deletions
+478
-15
appbuild-manage-ui/admin/public/index.html
appbuild-manage-ui/admin/public/index.html
+0
-6
appbuild-manage-ui/admin/src/router.js
appbuild-manage-ui/admin/src/router.js
+7
-0
appbuild-manage-ui/admin/vue.config.js
appbuild-manage-ui/admin/vue.config.js
+0
-9
appbuild-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthTokenServiceImpl.java
.../xhx/base/framework/interceptor/AuthTokenServiceImpl.java
+239
-0
appbuild-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthUserInterceptor.java
...s/xhx/base/framework/interceptor/AuthUserInterceptor.java
+107
-0
appbuild-manager/src/main/java/com/mortals/xhx/common/key/ErrorCode.java
...r/src/main/java/com/mortals/xhx/common/key/ErrorCode.java
+122
-0
appbuild-manager/src/main/java/com/mortals/xhx/common/utils/GenUtils.java
.../src/main/java/com/mortals/xhx/common/utils/GenUtils.java
+3
-0
No files found.
appbuild-manage-ui/admin/public/index.html
View file @
47daf42d
...
@@ -6,17 +6,11 @@
...
@@ -6,17 +6,11 @@
<meta
name=
"viewport"
content=
"width=device-width,initial-scale=1.0"
>
<meta
name=
"viewport"
content=
"width=device-width,initial-scale=1.0"
>
<link
rel=
"icon"
href=
"<%= BASE_URL %>favicon.ico"
>
<link
rel=
"icon"
href=
"<%= BASE_URL %>favicon.ico"
>
<title>
工程代码构建平台
</title>
<title>
工程代码构建平台
</title>
<link
rel=
"stylesheet"
href=
"https://unpkg.com/element-ui@2.15.5/lib/theme-chalk/index.css"
>
</head>
</head>
<body>
<body>
<noscript>
<noscript>
<strong>
We're sorry but app doesn't work properly without JavaScript enabled. Please enable it to continue.
</strong>
<strong>
We're sorry but app doesn't work properly without JavaScript enabled. Please enable it to continue.
</strong>
</noscript>
</noscript>
<div
id=
"app"
></div>
<div
id=
"app"
></div>
<!-- built files will be auto injected -->
<script
src=
"https://unpkg.com/vue@2.6.14/dist/vue.runtime.min.js"
></script>
<script
src=
"https://unpkg.com/vuex@3.6.0/dist/vuex.min.js"
></script>
<script
src=
"https://unpkg.com/vue-router@3.4.9/dist/vue-router.min.js"
></script>
<script
src=
"https://unpkg.com/element-ui@2.15.5/lib/index.js"
></script>
</body>
</body>
</html>
</html>
appbuild-manage-ui/admin/src/router.js
View file @
47daf42d
...
@@ -6,6 +6,13 @@ import fileNotFound from './views/errors/fileNotFound.vue'
...
@@ -6,6 +6,13 @@ import fileNotFound from './views/errors/fileNotFound.vue'
Vue
.
use
(
Router
);
Vue
.
use
(
Router
);
const
originalPush
=
Router
.
prototype
.
push
Router
.
prototype
.
push
=
function
push
(
location
,
onResolve
,
onReject
)
{
if
(
onResolve
||
onReject
)
return
originalPush
.
call
(
this
,
location
,
onResolve
,
onReject
)
return
originalPush
.
call
(
this
,
location
).
catch
(
err
=>
err
)
}
const
router
=
new
Router
({
const
router
=
new
Router
({
routes
:
[
routes
:
[
builder
(
'
/authentication
'
,
'
login/authentication
'
),
builder
(
'
/authentication
'
,
'
login/authentication
'
),
...
...
appbuild-manage-ui/admin/vue.config.js
View file @
47daf42d
module
.
exports
=
{
module
.
exports
=
{
productionSourceMap
:
false
,
productionSourceMap
:
false
,
assetsDir
:
'
s
'
,
configureWebpack
:
{
externals
:
{
vue
:
"
Vue
"
,
vuex
:
"
Vuex
"
,
"
vue-router
"
:
"
VueRouter
"
,
"
element-ui
"
:
"
ELEMENT
"
},
},
lintOnSave
:
false
,
lintOnSave
:
false
,
devServer
:
{
devServer
:
{
inline
:
true
,
inline
:
true
,
...
...
appbuild-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthTokenServiceImpl.java
0 → 100644
View file @
47daf42d
package
com.mortals.xhx.base.framework.interceptor
;
import
cn.hutool.core.codec.Base64
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.ap.SysConstains
;
import
com.mortals.framework.service.IAuthTokenService
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.util.DateUtils
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.xhx.base.system.user.model.UserEntity
;
import
io.jsonwebtoken.Claims
;
import
io.jsonwebtoken.Jwts
;
import
io.jsonwebtoken.SignatureAlgorithm
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* token验证处理
*
* @author zxfei
*/
@Service
@Order
(
1
)
@Slf4j
public
class
AuthTokenServiceImpl
implements
IAuthTokenService
{
// 令牌自定义标识
@Value
(
"${token.header:Authorization}"
)
private
String
header
;
// 令牌秘钥
@Value
(
"${token.secret:026db82420614469897fcc2dc1b4ce38}"
)
private
String
secret
;
// 令牌有效期(默认60分钟)
@Value
(
"${token.expireTime:60}"
)
private
int
expireTime
;
// 令牌前缀
@Value
(
"${token.prefix:}"
)
private
String
tokenPrefix
;
// redis db
@Value
(
"${spring.redis.database:}"
)
private
Integer
db
;
@Value
(
"${token.database:0}"
)
private
Integer
portalDb
;
protected
static
final
Long
SECOND
=
1
l
;
protected
static
final
Long
SECOND_MINUTE
=
60
*
SECOND
;
protected
static
final
Long
SECOND_HOUR
=
60
*
SECOND_MINUTE
;
protected
static
final
Long
SECOND_DAY
=
24
*
SECOND_HOUR
;
protected
static
final
Long
SECOND_WEEK
=
7
*
SECOND_DAY
;
private
static
final
Long
SECOND_MINUTE_TEN
=
1
*
SECOND_MINUTE
;
@Autowired
private
ICacheService
cacheService
;
/**
* 获取信息
*
* @return 用户信息
*/
@Override
public
IUser
getLoginUser
(
HttpServletRequest
request
)
{
// 获取请求携带的令牌
String
token
=
getToken
(
request
);
if
(
StringUtils
.
isNotEmpty
(
token
))
{
try
{
Claims
claims
=
parseToken
(
token
);
String
uuid
=
(
String
)
claims
.
get
(
SysConstains
.
LOGIN_USER_KEY
);
String
userKey
=
getTokenKey
(
uuid
);
// Rest<String> rest = userFeign.getToken(userKey);
// String userStr = rest.getData();
// cacheService.select(portalDb);
// String userStr = cacheService.get(userKey);
RedisTemplate
<
String
,
String
>
redisTemplate
=
cacheService
.
selectDbRedisTemplate
(
portalDb
);
String
userStr
=
redisTemplate
.
opsForValue
().
get
(
userKey
);
// cacheService.select(db);
if
(
StringUtils
.
isNotEmpty
(
userStr
))
{
UserEntity
userEntity
=
JSONObject
.
parseObject
(
userStr
,
UserEntity
.
class
);
// userEntity.setToken(token);
return
userEntity
;
}
}
catch
(
Exception
e
)
{
log
.
error
(
"解析jwt token异常!"
,
e
);
return
null
;
}
}
return
null
;
}
/**
* 设置用户信息
*/
@Override
public
void
setUser
(
IUser
user
)
{
if
(
StringUtils
.
isNotNull
(
user
)
&&
StringUtils
.
isNotEmpty
(
user
.
getToken
()))
{
refreshToken
(
user
);
}
}
/**
* 删除用户身份信息
*/
@Override
public
void
delUser
(
String
token
)
{
if
(
StringUtils
.
isNotEmpty
(
token
))
{
String
userKey
=
getTokenKey
(
token
);
cacheService
.
del
(
userKey
);
}
}
/**
* 创建令牌
*
* @param user 用户信息
* @return 令牌
*/
@Override
public
String
createToken
(
IUser
user
)
{
// String token = IdUtil.fastSimpleUUID();
// user.setToken(token);
refreshToken
(
user
);
Map
<
String
,
Object
>
claims
=
new
HashMap
<>();
claims
.
put
(
SysConstains
.
LOGIN_USER_KEY
,
user
.
getToken
());
return
createToken
(
claims
);
}
/**
* 验证令牌有效期,相差不足20分钟,自动刷新缓存
*
* @param user
* @return 令牌
*/
@Override
public
void
verifyToken
(
IUser
user
)
{
long
expireTime
=
user
.
getExpireTime
();
long
currentTime
=
System
.
currentTimeMillis
();
if
(
expireTime
-
currentTime
<=
SECOND_MINUTE_TEN
)
{
log
.
info
(
"不足十分钟,刷新过期时间"
);
refreshToken
(
user
);
}
}
/**
* 刷新令牌有效期
*
* @param user 信息
*/
public
void
refreshToken
(
IUser
user
)
{
//user.setLoginTime(System.currentTimeMillis());
user
.
setExpireTime
(
user
.
getLoginTime
()
==
null
?
System
.
currentTimeMillis
()
:
user
.
getLoginTime
()
+
expireTime
*
SECOND_MINUTE
);
// 根据uuid将user缓存
String
userKey
=
getTokenKey
(
user
.
getToken
());
//设置有效时间 单位秒
cacheService
.
set
(
userKey
,
user
,
expireTime
*
SECOND_MINUTE
);
}
/**
* 从数据声明生成令牌
*
* @param claims 数据声明
* @return 令牌
*/
private
String
createToken
(
Map
<
String
,
Object
>
claims
)
{
String
token
=
Jwts
.
builder
()
.
setExpiration
(
DateUtils
.
addCurrDate
(
7
))
.
setClaims
(
claims
)
.
signWith
(
SignatureAlgorithm
.
HS256
,
Base64
.
encode
(
secret
.
getBytes
())).
compact
();
return
token
;
}
/**
* 从令牌中获取数据声明
*
* @param token 令牌
* @return 数据声明
*/
@Override
public
Claims
parseToken
(
String
token
)
{
return
Jwts
.
parser
()
.
setSigningKey
(
Base64
.
encode
(
secret
.
getBytes
()))
.
parseClaimsJws
(
token
)
.
getBody
();
}
/**
* 从令牌中获取用户
*
* @param token 令牌
* @return 用户名
*/
@Override
public
String
getUserNumFromToken
(
String
token
)
{
Claims
claims
=
parseToken
(
token
);
return
claims
.
getSubject
();
}
/**
* 获取请求token
*
* @param request
* @return token
*/
@Override
public
String
getToken
(
HttpServletRequest
request
)
{
String
token
=
request
.
getHeader
(
header
);
if
(
StringUtils
.
isNotEmpty
(
token
)
&&
token
.
startsWith
(
tokenPrefix
))
{
token
=
token
.
replace
(
tokenPrefix
,
""
);
}
return
token
;
}
private
String
getTokenKey
(
String
uuid
)
{
return
SysConstains
.
LOGIN_TOKEN_KEY
+
uuid
;
}
}
appbuild-manager/src/main/java/com/mortals/xhx/base/framework/interceptor/AuthUserInterceptor.java
0 → 100644
View file @
47daf42d
package
com.mortals.xhx.base.framework.interceptor
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.annotation.UnAuth
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.service.IAuthTokenService
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.util.AESUtil
;
import
com.mortals.framework.utils.ServletUtils
;
import
com.mortals.framework.web.interceptor.BaseInterceptor
;
import
com.mortals.xhx.base.framework.config.InterceptorConfig
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.web.method.HandlerMethod
;
import
org.springframework.web.servlet.resource.ResourceHttpRequestHandler
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.lang.reflect.Method
;
import
static
com
.
mortals
.
xhx
.
common
.
key
.
ErrorCode
.*;
/**
* 用户权限验证,基于token
*
* @author: zxfei
* @date: 2022/4/24 11:04
*/
@Component
public
class
AuthUserInterceptor
extends
BaseInterceptor
{
@Autowired
private
InterceptorConfig
config
;
@Autowired
private
IAuthTokenService
authTokenService
;
@Override
public
int
getOrder
()
{
return
Integer
.
MAX_VALUE
-
9
;
}
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
JSONObject
ret
=
new
JSONObject
();
if
(
handler
instanceof
HandlerMethod
){
HandlerMethod
handlerMethod
=
(
HandlerMethod
)
handler
;
Method
method
=
handlerMethod
.
getMethod
();
UnAuth
annotation
=
method
.
getAnnotation
(
UnAuth
.
class
);
if
(
annotation
!=
null
)
{
//取消校验
return
true
;
}
}
else
if
(
handler
instanceof
ResourceHttpRequestHandler
){
return
true
;
}
try
{
String
uri
=
request
.
getServletPath
();
//校验配置的请求路径是否需要检查权限
if
(
config
.
needCheckAuth
(
uri
))
{
//需要校验权限
boolean
auth
=
this
.
checkAuth
(
request
,
uri
,
config
.
getSecurityKey
());
if
(!
auth
)
{
//校验token不正常
String
token
=
authTokenService
.
getToken
(
request
);
if
(
ObjectUtils
.
isEmpty
(
token
)){
ServletUtils
.
renderString
(
response
,
JSONObject
.
toJSONString
(
Rest
.
fail
(
ERROR_TOKEN_UNAUTHORIZED
,
ERROR_TOKEN_UNAUTHORIZED_CONTENT
)));
return
false
;
}
//不存在时候 如果是管理员也不做拦截
IUser
loginUser
=
authTokenService
.
getLoginUser
(
request
);
if
(
ObjectUtils
.
isEmpty
(
loginUser
))
{
ServletUtils
.
renderString
(
response
,
JSONObject
.
toJSONString
(
Rest
.
fail
(
ERROR_TOKEN_EXPIRED
,
ERROR_TOKEN_EXPIRED_CONTENT
)));
return
false
;
}
else
if
(
loginUser
.
isAdmin
()
||
loginUser
.
getUserType
()
==
1
)
{
return
super
.
preHandle
(
request
,
response
,
handler
);
}
else
{
ServletUtils
.
renderString
(
response
,
JSONObject
.
toJSONString
(
Rest
.
fail
(
ERROR_USER_OPERATION
,
ERROR_USER_OPERATION_CONTENT
)));
return
false
;
}
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"权限校验拦截请求处理异常-->"
+
e
.
getMessage
());
writeJsonResponse
(
response
,
HttpServletResponse
.
SC_INTERNAL_SERVER_ERROR
,
"用户权限校验异常"
);
return
false
;
}
return
super
.
preHandle
(
request
,
response
,
handler
);
}
private
boolean
checkAuth
(
HttpServletRequest
request
,
String
requestUrl
,
String
securityKey
)
throws
Exception
{
int
code
=
requestUrl
.
hashCode
()
&
(
Integer
.
MAX_VALUE
-
1
);
IUser
loginUser
=
authTokenService
.
getLoginUser
(
request
);
if
(
ObjectUtils
.
isEmpty
(
loginUser
))
return
false
;
String
menuUrl
=
loginUser
.
getMenuUrl
();
if
(
ObjectUtils
.
isEmpty
(
menuUrl
))
return
false
;
menuUrl
=
AESUtil
.
decrypt
(
menuUrl
,
securityKey
);
String
codes
=
","
+
menuUrl
+
","
;
String
codeKey
=
","
+
code
+
","
;
if
(
codes
.
indexOf
(
codeKey
)
!=
-
1
)
{
return
true
;
}
return
false
;
}
}
appbuild-manager/src/main/java/com/mortals/xhx/common/key/ErrorCode.java
0 → 100644
View file @
47daf42d
package
com.mortals.xhx.common.key
;
/**
* 错误码
*
* @author: zxfei
* @date: 2022/5/12 14:56
*/
public
interface
ErrorCode
{
public
static
final
int
STATUS_MS_EXCEPTION
=
500
;
public
static
final
int
STATUS_VALIDATE_EXCEPTION
=
420
;
public
static
final
int
STATUS_UNCHECKED_EXCEPTION
=
605
;
public
static
final
int
STATUS_TOKEN_NULL_EXCEPTION
=
604
;
public
static
final
int
STATUS_CODE_SUCCESS
=
0
;
public
static
final
int
STATUS_CODE_WARN
=
1
;
public
static
final
int
STATUS_CODE_ERROR
=
2
;
public
static
final
int
STATUS_CODE_INFO
=
3
;
public
static
final
int
STATUS_CODE_TOKEN_EXPIRED
=
4
;
public
static
final
int
STATUS_CODE_FATAL
=
5
;
public
static
final
int
STATUS_CODE_TRADE_PWD_NOT_SET
=
6
;
public
static
final
int
STATUS_ACCOUNT_LOCKED
=
7
;
public
static
final
int
STATUS_TRADE_PWD_OVER_THREE_TIME
=
8
;
public
static
final
int
STATUS_TRADE_PWD_ERROR
=
9
;
public
static
final
int
STATUS_EMPTY_PWD_ERROR
=
10
;
public
static
final
int
STATUS_TEL_NOT_RGI_ERROR
=
11
;
public
static
final
int
STATUS_TEL_ALREADY_REGI
=
12
;
public
static
final
int
STATUS_SAFETY_RISK
=
13
;
public
static
final
int
STATUS_LOGIN_CODE
=
15
;
public
static
final
int
BOOK_FAKUAN_CODE
=
16
;
public
static
final
String
ERROR_TRADE_PWD_OVER_THREE_TIME
=
"支付密码错误,请15分钟后再试"
;
public
static
final
String
ERROR_TRADE_PWD_ERROR
=
"支付密码错误,请重试"
;
public
static
final
String
ERROR_EMPTY_PWD_ERROR
=
"请设置登录密码"
;
public
static
final
String
ERROR_TEL_NOT_RGI
=
"该号码未注册"
;
public
static
final
String
ERROR_USERNAME_OR_PASSWORD
=
"用户名或者密码错误"
;
public
static
final
String
ERROR_TRADE_PWD
=
"交易密码错误"
;
public
static
final
String
ERROR_FORBIDDEN_OPER
=
"非法操作"
;
public
static
final
String
ERROR_TRADE_PWD_NOT_SET
=
"非法操作"
;
public
static
final
String
ERROR_NOT_REAL_NAME_AUTH
=
"您未实名认证,禁止该操作"
;
public
static
final
String
ERROR_INTERNAL_SERVER_ERROR
=
"服务器内部错误"
;
public
static
final
String
ERROR_UNAUTHORIZED
=
"token不正确或已过期"
;
public
static
final
String
ERROR_TOKEN_IS_NULL
=
"token不能为空"
;
public
static
final
String
ERROR_MISS_SERVLET
=
"服务不存在"
;
public
static
final
String
ERROR_CAPTCHA_OFTEN
=
"验证码已发送"
;
public
static
final
String
ERROR_CAPTCHA_WRONG
=
"验证码错误"
;
public
static
final
String
ERROR_TEL_ALREADY_REGI
=
"该手机号已被注册"
;
public
static
final
String
ERROR_CODE_DUPLICATE_KEY
=
"重复添加信息(含部分)"
;
public
static
final
String
ERROR_NOT_EXITS
=
"对应记录不存在"
;
public
static
final
String
ERROR_STATUS_CATEGORY
=
"状态错误"
;
public
static
final
String
ERROR_FRIEND_SHIP_ALREADY
=
"已经是你好友"
;
public
static
final
String
ERROR_FRIEND_SHIP_WAIT
=
"已向改好友发出邀请,等待接受"
;
public
static
final
String
ERROR_CODE_ACCOUNT_LOCKED
=
"账号被锁定,请联系客服"
;
public
static
final
String
WARN_ARGUMENT
=
"参数错误"
;
public
static
final
String
ERROR_USERNAME_EXIST
=
"该号码已被注册"
;
public
static
final
String
ERROR_SAFETY_RISK
=
"不在常用设备上登录"
;
public
static
final
String
INFO_TEL_BIND
=
"手机号码已经被绑定"
;
public
static
final
String
INFO_TEL_FORMAT_WRONG
=
"手机号码格式不正确"
;
public
static
final
String
ERROR_NOT_FOUND
=
"404 not found"
;
public
static
final
String
DISABLED
=
"该账号已被封禁,如有疑问请联系平台"
;
public
static
final
String
DATENULL
=
"缺少参数"
;
public
static
final
String
ERRDATE
=
"无效参数"
;
public
static
final
String
ERRSTAE
=
"状态异常"
;
public
static
final
String
EXTDATE
=
"参数异常"
;
public
static
final
String
NUMEXE
=
"账号异常"
;
public
static
final
String
CAPDON
=
"资产已被冻结,如有疑问请联系平台"
;
public
static
final
String
CONOTS
=
"操作失败"
;
public
static
final
String
OK
=
"成功!"
;
public
static
final
String
TOKENX
=
"身份验证失败,请重新登录"
;
public
static
final
String
CAPNOT
=
"充值余额不足请充值"
;
public
static
final
String
SYSNOT
=
"系统繁忙,请稍后再试..."
;
public
static
final
String
NOWER
=
"没有权限"
;
public
static
final
String
PAGEDATA
=
"分页参数不能为空"
;
public
static
final
String
CARADD_MEMBERS
=
"该司机已有绑定车辆,不能绑定多个"
;
public
static
final
int
DEVICE_CODE_IS_EMPTY
=
1001
;
public
static
final
String
DEVICE_CODE_IS_EMPTY_CONTENT
=
"当前设备编码为空!"
;
public
static
final
int
DEVICE_CODE_IS_EXIST
=
1002
;
public
static
final
String
DEVICE_CODE_IS_EXIST_CONTENT
=
"当前设备编码已存在!"
;
public
static
final
int
PRODUCT_IS_EMPTY
=
1003
;
public
static
final
String
PRODUCT_IS_EMPTY_CONTENT
=
"所属产品编码不存在!"
;
public
static
final
int
DEVICE_UNACTIVE
=
1004
;
public
static
final
String
DEVICE_UNACTIVE_CONTENT
=
"当前设备未激活,请在后台配置后再激活!"
;
public
static
final
int
PLATFORM_IS_EMPTY
=
1005
;
public
static
final
String
PLATFORM_IS_EMPTY_CONTENT
=
"当前设备编码不存在!"
;
public
static
final
int
PLATFORM_UNEXIST
=
1006
;
public
static
final
String
PLATFORM_UNEXIST_CONTENT
=
"当前设备所属产品平台未配置,请在后台配置后再激活!"
;
public
static
final
int
SITEID_IS_EMPTY
=
1007
;
public
static
final
String
SITEID_IS_EMPTY_CONTENT
=
"站点ID为空!"
;
public
static
final
int
DEVICE_CONFIG_IS_EMPTY
=
1008
;
public
static
final
String
DEVICE_CONFIG_IS_EMPTY_CONTENT
=
"设备创建,请完善设备配置信息!"
;
public
static
final
int
DEVICE_NOT_EXIST
=
1009
;
public
static
final
String
DEVICE_NOT_EXIST_CONTENT
=
"当前设备不存在!"
;
public
static
final
int
TOKEN_AUTH_FAIL
=
1010
;
public
static
final
String
TOKEN_AUTH_FAIL_CONTENT
=
"token认证失败!"
;
public
static
final
int
ERROR_TOKEN_EXPIRED
=
9001
;
public
static
final
String
ERROR_TOKEN_EXPIRED_CONTENT
=
"用户登录过期,请重新登录!"
;
public
static
final
int
ERROR_TOKEN_UNAUTHORIZED
=
9002
;
public
static
final
String
ERROR_TOKEN_UNAUTHORIZED_CONTENT
=
"token不正确或已过期"
;
public
static
final
int
ERROR_USER_OPERATION
=
9009
;
public
static
final
String
ERROR_USER_OPERATION_CONTENT
=
"用户无该操作权限!"
;
}
appbuild-manager/src/main/java/com/mortals/xhx/common/utils/GenUtils.java
View file @
47daf42d
...
@@ -59,6 +59,9 @@ public class GenUtils {
...
@@ -59,6 +59,9 @@ public class GenUtils {
if
(
column
.
getIsExport
()
==
null
)
{
if
(
column
.
getIsExport
()
==
null
)
{
column
.
setIsExport
(
0
);
column
.
setIsExport
(
0
);
}
}
if
(
column
.
getIsQuery
()
==
null
)
{
column
.
setIsQuery
(
0
);
}
column
.
setQueryType
(
"="
);
column
.
setQueryType
(
"="
);
// 设置java字段名
// 设置java字段名
column
.
setJavaField
(
StrUtil
.
toCamelCase
(
columnName
));
column
.
setJavaField
(
StrUtil
.
toCamelCase
(
columnName
));
...
...
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