Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
youjj
cloud-platform
Commits
a6d77922
Commit
a6d77922
authored
Jul 06, 2019
by
libin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
真实ip获取
parent
8e8de443
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
47 additions
and
46 deletions
+47
-46
AppUserDetail.java
...m/github/wxiaoqi/security/admin/entity/AppUserDetail.java
+21
-0
AppUserLogin.java
...om/github/wxiaoqi/security/admin/entity/AppUserLogin.java
+0
-24
AppUserDetailBiz.java
...m/github/wxiaoqi/security/admin/biz/AppUserDetailBiz.java
+5
-0
AppPermissionService.java
...aoqi/security/admin/rpc/service/AppPermissionService.java
+21
-22
No files found.
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/entity/AppUserDetail.java
View file @
a6d77922
...
...
@@ -32,5 +32,26 @@ public class AppUserDetail {
private
Long
updatetime
;
private
Integer
isdel
;
private
Integer
channel
;
/**
* 省份编号
*/
@Column
(
name
=
"province_code"
)
private
Integer
provinceCode
;
/**
* 市编号
*/
@Column
(
name
=
"city_code"
)
private
Integer
cityCode
;
/**
* 创建ip
*/
@Column
(
name
=
"crt_host"
)
private
String
crtHost
;
/**
* 更新ip
*/
@Column
(
name
=
"upd_host"
)
private
String
updHost
;
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/entity/AppUserLogin.java
View file @
a6d77922
...
...
@@ -35,39 +35,15 @@ public class AppUserLogin {
private
String
idNumber
;
@Column
(
name
=
"certification_status"
)
private
Integer
certificationStatus
;
/**
* 创建ip
*/
@Column
(
name
=
"crt_host"
)
private
String
crtHost
;
/**
* 更新ip
*/
@Column
(
name
=
"upd_host"
)
private
String
updHost
;
/**
* 最后登录ip
*/
@Column
(
name
=
"last_host"
)
private
String
lastHost
;
/**
* 最后登录时间
*/
@Column
(
name
=
"last_time"
)
private
Long
lastTime
;
/**
* 省份编号
*/
@Column
(
name
=
"province_code"
)
private
Integer
provinceCode
;
/**
* 市编号
*/
@Column
(
name
=
"city_code"
)
private
Integer
cityCode
;
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserDetailBiz.java
View file @
a6d77922
...
...
@@ -4,12 +4,15 @@ import com.ace.cache.annotation.Cache;
import
com.ace.cache.annotation.CacheClear
;
import
com.github.wxiaoqi.security.admin.entity.AppUserDetail
;
import
com.github.wxiaoqi.security.admin.mapper.AppUserDetailMapper
;
import
com.github.wxiaoqi.security.admin.rpc.service.AppPermissionService
;
import
com.github.wxiaoqi.security.admin.vo.AppUserVo
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
tk.mybatis.mapper.entity.Example
;
import
java.time.Instant
;
import
java.util.List
;
/**
...
...
@@ -64,6 +67,8 @@ public class AppUserDetailBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
try
{
BeanUtils
.
copyProperties
(
entity
,
userVo
);
if
(
entity
!=
null
){
entity
.
setUpdHost
(
AppPermissionService
.
getIp
());
entity
.
setUpdatetime
(
Instant
.
now
().
toEpochMilli
());
super
.
updateSelectiveById
(
entity
);
}
}
catch
(
Exception
e
)
{
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rpc/service/AppPermissionService.java
View file @
a6d77922
...
...
@@ -142,8 +142,9 @@ public class AppPermissionService {
JSONObject
result
=
new
JSONObject
();
if
(
type
==
0
)
{
AppUserLogin
rsUserLogin
=
appUserLoginBiz
.
checkeUserLogin
(
phone
);
if
(
rsUserLogin
!=
null
)
if
(
rsUserLogin
!=
null
)
{
return
JsonResultUtil
.
createFailedResult
(
ResultCode
.
EXIST_CODE
,
"用户已存在"
);
}
}
else
if
(
type
==
1
)
{
AppUserLogin
rsUserLogin
=
appUserLoginBiz
.
checkeUserLogin
(
phone
);
...
...
@@ -170,8 +171,9 @@ public class AppPermissionService {
}
log
.
info
(
"调用短信发送接口返回值为:{}"
,
mobilecode
);
// 判断返回值是否为空,并且是否可以转换成JSONObject
if
(
StringUtils
.
isBlank
(
mobilecode
))
if
(
StringUtils
.
isBlank
(
mobilecode
))
{
return
JsonResultUtil
.
createDefaultFail
();
}
try
{
result
.
put
(
"mobilecode"
,
mobilecode
);
String
redisLockKey
=
RedisKey
.
CONSTANT_CODE_PREFIX
+
phone
+
mobilecode
;
...
...
@@ -217,9 +219,6 @@ public class AppPermissionService {
try
{
Long
now
=
System
.
currentTimeMillis
()
/
1000
;
AppUserLogin
appUserLogin
=
new
AppUserLogin
();
//主要是ip地址
EntityUtils
.
setCreatAndUpdatInfo
(
appUserLogin
);
setCreateIPInfo
(
appUserLogin
);
appUserLogin
.
setUsername
(
username
);
appUserLogin
.
setPassword
(
password
);
...
...
@@ -249,6 +248,8 @@ public class AppPermissionService {
rsUserDetail
.
setCreatetime
(
now
);
rsUserDetail
.
setUpdatetime
(
now
);
rsUserDetail
.
setIsdel
(
0
);
rsUserDetail
.
setCrtHost
(
getIp
());
setCreateIPInfo
(
rsUserDetail
);
appUserDetailBiz
.
insertSelective
(
rsUserDetail
);
log
.
error
(
"注册:新增用户详情: "
+
userid
);
//自动登录获取优惠卷
...
...
@@ -311,15 +312,7 @@ public class AppPermissionService {
data
.
put
(
"userId"
,
userid
);
data
.
put
(
"imUserId"
,
userVo
.
getImUserid
());
//更新登录时间 和 ip
// AppUserLogin userLoign= new AppUserLogin();
// EntityUtils.setCreateInfo(userLoign);
ServletRequestAttributes
requestAttributes
=
(
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
();
String
clientIp
=
requestAttributes
.
getRequest
().
getHeader
(
"userHost"
);
if
(
log
.
isDebugEnabled
()){
log
.
debug
(
"*******************************************"
);
log
.
debug
(
"当前EntityUtils获取访问的IP地址【{}】"
,
clientIp
);
log
.
debug
(
"*******************************************"
);
}
String
clientIp
=
getIp
();
appUserLoginBiz
.
updateLoginInfo
(
userid
,
clientIp
);
}
...
...
@@ -327,6 +320,11 @@ public class AppPermissionService {
return
data
;
}
public
static
String
getIp
()
{
ServletRequestAttributes
requestAttributes
=
(
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
();
return
requestAttributes
.
getRequest
().
getHeader
(
"userHost"
);
}
/**
* 微信绑定/注册
*
...
...
@@ -399,6 +397,8 @@ public class AppPermissionService {
userDetail
.
setCreatetime
(
now
);
userDetail
.
setUpdatetime
(
now
);
userDetail
.
setIsdel
(
0
);
userDetail
.
setCrtHost
(
getIp
());
setCreateIPInfo
(
userDetail
);
appUserDetailBiz
.
insertSelective
(
userDetail
);
}
/*else {
userDetail.setId(userVo.getId());
...
...
@@ -739,9 +739,6 @@ public class AppPermissionService {
try
{
Long
now
=
System
.
currentTimeMillis
()
/
1000
;
AppUserLogin
appUserLogin
=
new
AppUserLogin
();
//主要是ip地址
EntityUtils
.
setCreatAndUpdatInfo
(
appUserLogin
);
setCreateIPInfo
(
appUserLogin
);
appUserLogin
.
setUsername
(
username
);
appUserLogin
.
setPassword
(
password
);
appUserLogin
.
setIsdel
(
0
);
...
...
@@ -761,6 +758,8 @@ public class AppPermissionService {
rsUserDetail
.
setIsdel
(
0
);
//设置来源
rsUserDetail
.
setChannel
(
UserSourceEnum
.
APPLET
.
getCode
());
rsUserDetail
.
setCrtHost
(
getIp
());
setCreateIPInfo
(
rsUserDetail
);
appUserDetailBiz
.
insertSelective
(
rsUserDetail
);
log
.
error
(
"注册:新增用户详情: "
+
userid
);
//上线绑定
...
...
@@ -830,10 +829,10 @@ public class AppPermissionService {
/**
* ip地址 信息解析
* @param appUser
Login
* @param appUser
Detail
*/
public
void
setCreateIPInfo
(
AppUser
Login
appUserLogin
){
String
crtHost
=
appUser
Login
.
getCrtHost
();
public
void
setCreateIPInfo
(
AppUser
Detail
appUserDetail
){
String
crtHost
=
appUser
Detail
.
getCrtHost
();
String
ipAddress
=
restTemplate
.
getForObject
(
String
.
format
(
"%s%s"
,
IPAddress
.
BASE_IP_PARSING_URL
,
crtHost
),
String
.
class
);
String
data
=
JSONObject
.
parseObject
(
ipAddress
).
getString
(
IPAddress
.
BASE_DATA
);
JSONObject
ipJsonObject
=
JSONObject
.
parseObject
(
data
);
...
...
@@ -844,8 +843,8 @@ public class AppPermissionService {
String
cityName
=
ipJsonObject
.
getString
(
IPAddress
.
CITY_NAME
);
RegionDTO
regionDTO
=
regionFeign
.
getRegionByCityName
(
cityName
);
if
(
null
!=
regionDTO
){
appUser
Login
.
setProvinceCode
(
Integer
.
valueOf
(
String
.
valueOf
(
regionDTO
.
getParentId
())));
appUser
Login
.
setCityCode
(
Integer
.
valueOf
(
String
.
valueOf
(
regionDTO
.
getId
())));
appUser
Detail
.
setProvinceCode
(
Integer
.
valueOf
(
String
.
valueOf
(
regionDTO
.
getParentId
())));
appUser
Detail
.
setCityCode
(
Integer
.
valueOf
(
String
.
valueOf
(
regionDTO
.
getId
())));
}
}
...
...
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