Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Fedex
/
iClear-Connect-Pre-Clearance
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
zelong.shao
2024-11-11 18:35:33 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
f7bfb99cfdfba8d4f107547236fb6861b471724b
f7bfb99c
1 parent
487eaa95
manager|登陆
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
246 additions
and
39 deletions
server/common-dependencies/src/main/java/com/fedex/connect/common/dependencies/enums/sys/ParamConfigEnum.java
server/common-dependencies/src/main/java/com/fedex/connect/common/dependencies/enums/sys/ParamConfigTypeEnum.java
server/common-dependencies/src/main/java/com/fedex/connect/common/dependencies/enums/sys/UserLoginTypeEnum.java
server/manager-server/src/main/java/com/fedex/connect/manager/config/PropertiesConfig.java
server/manager-server/src/main/java/com/fedex/connect/manager/controller/sys/impl/SysAuthController.java
server/manager-server/src/main/java/com/fedex/connect/manager/data/dto/SysUserDto.java
server/manager-server/src/main/java/com/fedex/connect/manager/repository/base/BaseDao.java
server/manager-server/src/main/java/com/fedex/connect/manager/repository/dao/ParamConfigExtMapper.java
server/manager-server/src/main/java/com/fedex/connect/manager/repository/mapper/ParamConfigExtMapper.xml
server/manager-server/src/main/java/com/fedex/connect/manager/repository/repo/sys/IParamConfigExtRepository.java
server/manager-server/src/main/java/com/fedex/connect/manager/repository/repo/sys/impl/ParamConfigExtRepositoryImpl.java
server/manager-server/src/main/java/com/fedex/connect/manager/service/sys/ISysUserService.java
server/manager-server/src/main/java/com/fedex/connect/manager/service/sys/impl/SysUserServiceImpl.java
server/manager-server/src/main/java/com/fedex/connect/manager/util/ParamConfigUtil.java
server/common-dependencies/src/main/java/com/fedex/connect/common/dependencies/enums/sys/ParamConfigEnum.java
0 → 100644
View file @
f7bfb99
package
com
.
fedex
.
connect
.
common
.
dependencies
.
enums
.
sys
;
public
enum
ParamConfigEnum
{
FCL_LOGIN_URL
(
0L
,
"fcl_login_url"
,
"FCL登陆地址"
),
;
private
Long
code
;
private
String
enMsg
;
private
String
msg
;
ParamConfigEnum
(
Long
code
,
String
enMsg
,
String
msg
)
{
this
.
code
=
code
;
this
.
enMsg
=
enMsg
;
this
.
msg
=
msg
;
}
public
Long
getCode
()
{
return
code
;
}
public
void
setCode
(
Long
code
)
{
this
.
code
=
code
;
}
public
String
getEnMsg
()
{
return
enMsg
;
}
public
void
setEnMsg
(
String
enMsg
)
{
this
.
enMsg
=
enMsg
;
}
public
String
getMsg
()
{
return
msg
;
}
public
void
setMsg
(
String
msg
)
{
this
.
msg
=
msg
;
}
}
server/common-dependencies/src/main/java/com/fedex/connect/common/dependencies/enums/sys/ParamConfigTypeEnum.java
0 → 100644
View file @
f7bfb99
package
com
.
fedex
.
connect
.
common
.
dependencies
.
enums
.
sys
;
public
enum
ParamConfigTypeEnum
{
BUTTON
(
0L
,
"button"
,
"开关"
),
THRESHOLD
(
1L
,
"threshold"
,
"阈值"
),
PARAMETER
(
2L
,
"parameter"
,
"参数"
),
ADDRESS
(
3L
,
"address"
,
"地址"
),
;
private
Long
code
;
private
String
enMsg
;
private
String
msg
;
ParamConfigTypeEnum
(
Long
code
,
String
enMsg
,
String
msg
)
{
this
.
code
=
code
;
this
.
enMsg
=
enMsg
;
this
.
msg
=
msg
;
}
public
Long
getCode
()
{
return
code
;
}
public
void
setCode
(
Long
code
)
{
this
.
code
=
code
;
}
public
String
getEnMsg
()
{
return
enMsg
;
}
public
void
setEnMsg
(
String
enMsg
)
{
this
.
enMsg
=
enMsg
;
}
public
String
getMsg
()
{
return
msg
;
}
public
void
setMsg
(
String
msg
)
{
this
.
msg
=
msg
;
}
}
server/common-dependencies/src/main/java/com/fedex/connect/common/dependencies/enums/sys/UserLoginTypeEnum.java
View file @
f7bfb99
package
com
.
fedex
.
connect
.
common
.
dependencies
.
enums
.
sys
;
public
enum
UserLoginTypeEnum
{
LOGIN
(
0L
,
"Login"
,
"登录"
),
EXIT
(
1L
,
"Exit"
,
"退出"
),
CHANGEPASSWORD
(
2L
,
"ChangePassword"
,
"修改密码"
),
FCLLOGINREGISTRATION
(
3L
,
"FCLLoginRegistration"
,
"FCL登录注册"
),
DEACTIVATE
(
4L
,
"Deactivate"
,
"停用"
),
ENABLE
(
5L
,
"Enable"
,
"启用"
),
LOGIN
(
"userLoginType_01"
,
"Login"
,
"登录"
),
EXIT
(
"userLoginType_02"
,
"Exit"
,
"退出"
),
CHANGEPASSWORD
(
"userLoginType_03"
,
"ChangePassword"
,
"修改密码"
),
FCLLOGINREGISTRATION
(
"userLoginType_04"
,
"FCLLoginRegistration"
,
"FCL登录注册"
),
DEACTIVATE
(
"userLoginType_05"
,
"Deactivate"
,
"停用"
),
ENABLE
(
"userLoginType_06"
,
"Enable"
,
"启用"
),
;
private
Lo
ng
code
;
private
Stri
ng
code
;
private
String
enMsg
;
private
String
msg
;
UserLoginTypeEnum
(
Lo
ng
code
,
String
enMsg
,
String
msg
)
{
UserLoginTypeEnum
(
Stri
ng
code
,
String
enMsg
,
String
msg
)
{
this
.
code
=
code
;
this
.
enMsg
=
enMsg
;
this
.
msg
=
msg
;
}
public
Lo
ng
getCode
()
{
public
Stri
ng
getCode
()
{
return
code
;
}
public
void
setCode
(
Lo
ng
code
)
{
public
void
setCode
(
Stri
ng
code
)
{
this
.
code
=
code
;
}
...
...
server/manager-server/src/main/java/com/fedex/connect/manager/config/PropertiesConfig.java
View file @
f7bfb99
...
...
@@ -15,4 +15,7 @@ public class PropertiesConfig {
@Value
(
"${fcl.login.redjrectLogin}"
)
private
String
redjrectLogin
;
@Value
(
"${spring.profiles.env}"
)
private
String
env
;
}
...
...
server/manager-server/src/main/java/com/fedex/connect/manager/controller/sys/impl/SysAuthController.java
View file @
f7bfb99
...
...
@@ -3,10 +3,10 @@ package com.fedex.connect.manager.controller.sys.impl;
import
com.fedex.connect.common.dependencies.cache.CacheSystem
;
import
com.fedex.connect.common.dependencies.date.vo.ResponseVo
;
import
com.fedex.connect.common.dependencies.enums.sys.ParamConfigEnum
;
import
com.fedex.connect.common.dependencies.enums.sys.UserLoginTypeEnum
;
import
com.fedex.connect.common.dependencies.util.GsonUtils
;
import
com.fedex.connect.common.dependencies.util.StringExtUtil
;
import
com.fedex.connect.common.dependencies.util.Utils
;
import
com.fedex.connect.common.model.bi.DictionaryEntries
;
import
com.fedex.connect.common.model.sys.User
;
import
com.fedex.connect.manager.common.enums.FCLSessionInfoEnum
;
...
...
@@ -15,7 +15,7 @@ import com.fedex.connect.manager.controller.sys.ISysAuthController;
import
com.fedex.connect.manager.data.dto.LogLoginDto
;
import
com.fedex.connect.manager.data.dto.LoginRequest
;
import
com.fedex.connect.manager.data.dto.SysUserDto
;
import
com.fedex.connect.manager.
enums.ResponseCode
;
import
com.fedex.connect.manager.
util.ParamConfigUtil
;
import
com.google.gson.JsonObject
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -44,6 +44,8 @@ public class SysAuthController extends BaseController implements ISysAuthControl
@Autowired
CacheSystem
cacheSystem
;
@Autowired
private
ParamConfigUtil
paramConfigUtil
;
@Value
(
"${fcl.interface.logurl}"
)
private
String
fclIndexLoginUrl
;
...
...
@@ -55,6 +57,14 @@ public class SysAuthController extends BaseController implements ISysAuthControl
}
/**
* @Author Szl
* @Description 功能说明 fcl登陆首个接口,获取fcl信息
* @Date 2024/11/11
* @param request
* @param res
* @return void
*/
@GetMapping
(
value
=
"/wlgnForward"
)
@ApiOperation
(
value
=
"ResponseVo"
,
notes
=
"FCL中转Cookie地址"
)
public
void
wlgnForward
(
HttpServletRequest
request
,
HttpServletResponse
res
){
...
...
@@ -64,31 +74,16 @@ public class SysAuthController extends BaseController implements ISysAuthControl
if
(!
equals
){
return
;
}
Cookie
[]
cookies
=
request
.
getCookies
();
if
(
Utils
.
isEmpty
(
cookies
)){
return
;
}
List
<
String
>
saveKeyList
=
FCLSessionInfoEnum
.
getCodeList
();
List
<
String
>
cookiesList
=
new
ArrayList
();
for
(
int
i
=
0
,
max
=
cookies
.
length
;
i
<
max
;
i
++)
{
Cookie
cookie
=
cookies
[
i
];
if
(
saveKeyList
.
contains
(
cookie
.
getName
())){
cookiesList
.
add
(
"'"
+
cookie
.
getName
()+
"':'"
+
cookie
.
getValue
()+
"'"
);
if
(
cookiesList
.
size
()
==
saveKeyList
.
size
()){
break
;
}
}
}
List
<
String
>
saveKeyList
=
FCLSessionInfoEnum
.
getCodeList
();
sysUserService
.
getFclData
(
request
,
cookiesList
,
saveKeyList
);
if
(
cookiesList
.
size
()
>
0
&&
cookiesList
.
size
()
==
saveKeyList
.
size
()){
JsonObject
jsonObject
=
GsonUtils
.
stringToBean
(
"{"
+
String
.
join
(
","
,
cookiesList
)+
"}"
,
JsonObject
.
class
);
//set cookie by fcl_key
ResponseVo
tokenResult
=
sysAuthService
.
createFclToken
(
jsonObject
);
if
(
tokenResult
.
isSuccess
()){
String
fcl_token_key
=
String
.
valueOf
(
tokenResult
.
getData
());
String
redirectUrl
=
String
.
format
(
"%s?token=%s"
,
propertiesConfig
.
getFclLoginUrl
(),
fcl_token_key
);
String
redirectUrl
=
String
.
format
(
"%s?token=%s"
,
paramConfigUtil
.
getParamValue
(
ParamConfigEnum
.
FCL_LOGIN_URL
.
getEnMsg
()),
fcl_token_key
);
System
.
out
.
println
(
redirectUrl
);
res
.
sendRedirect
(
redirectUrl
);
}
}
else
{
...
...
@@ -100,6 +95,14 @@ public class SysAuthController extends BaseController implements ISysAuthControl
}
}
/**
* @Author Szl
* @Description 功能说明 FCL登陆第二个接口,生成token
* @Date 2024/11/11
* @param request
* @param res
* @return void
*/
@GetMapping
(
value
=
"/wlgnLogin"
)
@ApiOperation
(
value
=
"ResponseVo"
,
notes
=
"FCL登录"
)
public
void
wlgnLogin
(
HttpServletRequest
request
,
HttpServletResponse
res
)
{
...
...
@@ -146,17 +149,17 @@ public class SysAuthController extends BaseController implements ISysAuthControl
ResponseVo
tokenResult
=
sysAuthService
.
createAccessToken
(
loginRequest
,
loginUser
);
DictionaryEntries
dicUserLoginType
=
cacheSystem
.
getDicUserLoginType
(
UserLoginTypeEnum
.
FCLLOGINREGISTRATION
.
get
EnMsg
());
DictionaryEntries
dicUserLoginType
=
cacheSystem
.
getDicUserLoginType
(
UserLoginTypeEnum
.
FCLLOGINREGISTRATION
.
get
Code
());
//记录日志
LogLoginDto
dto
=
new
LogLoginDto
(
loginUser
.
getId
(),
dicUserLoginType
.
getId
(),
localeMessageUtil
.
getMessage
(
ResponseCode
.
MESSAGE_CODE_40002
.
getMsg
()
));
UserLoginTypeEnum
.
LOGIN
.
getMsg
(
));
logLoginService
.
saveLoginLog
(
dto
);
try
{
if
(
tokenResult
.
isSuccess
()){
String
redirectUrl
=
String
.
format
(
"%s?token=%s&uid=%s"
,
propertiesConfig
.
getRedjrectLogin
(),
tokenResult
.
getData
(),
loginUser
.
getId
());
res
.
sendRedirect
(
redirectUrl
);
log
.
info
(
"wlgnLogin____________________finish
"
);
log
.
info
(
"wlgnLogin____________________finish
:"
+
redirectUrl
);
}
else
{
res
.
sendRedirect
(
propertiesConfig
.
getTwIdxUrl
());
}
...
...
server/manager-server/src/main/java/com/fedex/connect/manager/data/dto/SysUserDto.java
View file @
f7bfb99
...
...
@@ -39,10 +39,9 @@ public class SysUserDto {
user
.
setCustomsSerialNum
(
dto
.
getCustomsSerialNum
());
user
.
setCreateTime
(
new
Date
());
user
.
setModifyTime
(
new
Date
());
user
.
setTypeId
(
0L
);
user
.
setStatus
(
DatabaseConstants
.
GLOBAL_STATUS_VALID
);
user
.
setRemark
(
dto
.
getRemark
());
user
.
setType
Id
(
dto
.
getTypeId
());
user
.
setType
Code
(
dto
.
getTypeCode
());
return
user
;
}
...
...
@@ -56,7 +55,7 @@ public class SysUserDto {
}
else
{
this
.
userName
=
fcl_acc_no
;
}
this
.
typeCode
=
UserTypeEnum
.
FCL
.
getEnMsg
();
this
.
password
=
fcl_pwd
;
this
.
loginName
=
uuid
;
this
.
email
=
null
;
...
...
server/manager-server/src/main/java/com/fedex/connect/manager/repository/base/BaseDao.java
View file @
f7bfb99
...
...
@@ -6,6 +6,7 @@ import com.fedex.connect.common.dao.sys.RedisSlabMapper;
import
com.fedex.connect.common.dao.sys.RoleMapper
;
import
com.fedex.connect.common.dao.sys.UserMapper
;
import
com.fedex.connect.common.dao.sys.UserRoleMapper
;
import
com.fedex.connect.manager.repository.dao.ParamConfigExtMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
public
class
BaseDao
{
...
...
@@ -21,4 +22,6 @@ public class BaseDao {
public
UserMapper
userMapper
;
@Autowired
public
DictionaryEntriesMapper
dictionaryEntriesMapper
;
@Autowired
public
ParamConfigExtMapper
paramConfigExtMapper
;
}
...
...
server/manager-server/src/main/java/com/fedex/connect/manager/repository/dao/ParamConfigExtMapper.java
0 → 100644
View file @
f7bfb99
package
com
.
fedex
.
connect
.
manager
.
repository
.
dao
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
public
interface
ParamConfigExtMapper
{
@Select
(
"SELECT VALUE FROM T_SYS_PARAM_CONFIG WHERE CODE = #{code}"
)
String
findValueByCode
(
@Param
(
"code"
)
String
code
);
}
server/manager-server/src/main/java/com/fedex/connect/manager/repository/mapper/ParamConfigExtMapper.xml
0 → 100644
View file @
f7bfb99
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.fedex.connect.manager.repository.dao.ParamConfigExtMapper"
>
</mapper>
\ No newline at end of file
server/manager-server/src/main/java/com/fedex/connect/manager/repository/repo/sys/IParamConfigExtRepository.java
0 → 100644
View file @
f7bfb99
package
com
.
fedex
.
connect
.
manager
.
repository
.
repo
.
sys
;
public
interface
IParamConfigExtRepository
{
String
findValueByCode
(
String
code
);
}
server/manager-server/src/main/java/com/fedex/connect/manager/repository/repo/sys/impl/ParamConfigExtRepositoryImpl.java
0 → 100644
View file @
f7bfb99
package
com
.
fedex
.
connect
.
manager
.
repository
.
repo
.
sys
.
impl
;
import
com.fedex.connect.manager.repository.base.BaseDao
;
import
com.fedex.connect.manager.repository.repo.sys.IParamConfigExtRepository
;
import
org.springframework.stereotype.Repository
;
@Repository
public
class
ParamConfigExtRepositoryImpl
extends
BaseDao
implements
IParamConfigExtRepository
{
@Override
public
String
findValueByCode
(
String
code
)
{
return
paramConfigExtMapper
.
findValueByCode
(
code
);
}
}
server/manager-server/src/main/java/com/fedex/connect/manager/service/sys/ISysUserService.java
View file @
f7bfb99
...
...
@@ -3,10 +3,15 @@ package com.fedex.connect.manager.service.sys;
import
com.fedex.connect.common.model.sys.User
;
import
com.fedex.connect.manager.data.dto.SysUserDto
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
public
interface
ISysUserService
{
User
findUserByFcl
(
String
fclUuid
);
User
save
(
SysUserDto
dto
);
int
update
(
User
dao
);
void
getFclData
(
HttpServletRequest
request
,
List
<
String
>
cookiesList
,
List
<
String
>
saveKeyList
);
}
...
...
server/manager-server/src/main/java/com/fedex/connect/manager/service/sys/impl/SysUserServiceImpl.java
View file @
f7bfb99
...
...
@@ -10,6 +10,7 @@ import com.fedex.connect.common.model.bi.DictionaryEntries;
import
com.fedex.connect.common.model.sys.Role
;
import
com.fedex.connect.common.model.sys.User
;
import
com.fedex.connect.common.model.sys.UserExample
;
import
com.fedex.connect.manager.config.PropertiesConfig
;
import
com.fedex.connect.manager.data.dto.SysUserDto
;
import
com.fedex.connect.manager.data.model.LogShowModel
;
import
com.fedex.connect.manager.service.base.BaseService
;
...
...
@@ -24,6 +25,8 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.servlet.http.Cookie
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
...
...
@@ -45,6 +48,9 @@ public class SysUserServiceImpl extends BaseService implements ISysUserService {
@Autowired
CacheSystem
cacheSystem
;
@Autowired
private
PropertiesConfig
propertiesConfig
;
/**
* 邮件过期时间
*/
...
...
@@ -92,9 +98,9 @@ public class SysUserServiceImpl extends BaseService implements ISysUserService {
//从数据字典获取用户类型
DictionaryEntries
dicUserType
=
cacheSystem
.
getDicUserType
(
dto
.
getTypeCode
());
if
(
dicUserType
!=
null
){
user
.
setType
Id
(
dicUserType
.
getId
());
user
.
setType
Code
(
dicUserType
.
getCode
());
}
else
{
user
.
setType
Id
(
0L
);
user
.
setType
Code
(
"0"
);
}
//对新增账户的密码进行加密
user
.
setPassword
(
EncryptProvider
.
encrypt
(
user
.
getPassword
()));
...
...
@@ -146,5 +152,43 @@ public class SysUserServiceImpl extends BaseService implements ISysUserService {
}
}
/**
* @Author Szl
* @Description 功能说明 测试环境中使用Parameter获取fcl信息
* @Date 2024/11/11
* @param request
* @param cookiesList
* @param saveKeyList
* @return void
*/
@Override
public
void
getFclData
(
HttpServletRequest
request
,
List
<
String
>
cookiesList
,
List
<
String
>
saveKeyList
)
{
if
(!
propertiesConfig
.
getEnv
().
equalsIgnoreCase
(
"dev"
)
&&
!
propertiesConfig
.
getEnv
().
equalsIgnoreCase
(
"test"
)
&&
!
propertiesConfig
.
getEnv
().
equalsIgnoreCase
(
"uat"
))
{
Cookie
[]
cookies
=
request
.
getCookies
();
if
(
Utils
.
isEmpty
(
cookies
)){
return
;
}
for
(
int
i
=
0
,
max
=
cookies
.
length
;
i
<
max
;
i
++)
{
Cookie
cookie
=
cookies
[
i
];
if
(
saveKeyList
.
contains
(
cookie
.
getName
())){
cookiesList
.
add
(
"'"
+
cookie
.
getName
()+
"':'"
+
cookie
.
getValue
()+
"'"
);
if
(
cookiesList
.
size
()
==
saveKeyList
.
size
()){
break
;
}
}
}
}
else
{
for
(
String
key
:
saveKeyList
)
{
String
value
=
request
.
getParameter
(
key
);
if
(!
StringUtils
.
isEmpty
(
value
)){
cookiesList
.
add
(
"'"
+
key
+
"':'"
+
value
+
"'"
);
}
}
}
}
}
...
...
server/manager-server/src/main/java/com/fedex/connect/manager/util/ParamConfigUtil.java
0 → 100644
View file @
f7bfb99
package
com
.
fedex
.
connect
.
manager
.
util
;
import
com.fedex.connect.manager.repository.repo.sys.IParamConfigExtRepository
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* @Author Szl
* @Description 类说明 用于系统参数配置
* @Date 2024/11/11
*/
@Component
public
class
ParamConfigUtil
{
@Autowired
private
IParamConfigExtRepository
paramConfigExtRepository
;
/**
* @Author Szl
* @Description 功能说明 根据code从系统参数配置获取value
* @Date 2024/11/11
* @param code
* @return java.lang.String
*/
public
String
getParamValue
(
String
code
){
return
paramConfigExtRepository
.
findValueByCode
(
code
);
}
}
Please
register
or
login
to post a comment