Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fgqyxxlr
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
yaru
fgqyxxlr
Commits
bebafd34
Commit
bebafd34
authored
May 29, 2018
by
yangzhengze
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加地点
parent
1e66da2d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
177 additions
and
3 deletions
+177
-3
sql/ry_20180526.sql
+3
-3
src/main/java/com/ruoyi/common/utils/AddressUtils.java
+174
-0
No files found.
sql/ry_20180526.sql
View file @
bebafd34
...
@@ -372,7 +372,7 @@ create table sys_oper_log (
...
@@ -372,7 +372,7 @@ create table sys_oper_log (
dept_name
varchar
(
50
)
default
''
comment
'部门名称'
,
dept_name
varchar
(
50
)
default
''
comment
'部门名称'
,
oper_url
varchar
(
255
)
default
''
comment
'请求URL'
,
oper_url
varchar
(
255
)
default
''
comment
'请求URL'
,
oper_ip
varchar
(
30
)
default
''
comment
'主机地址'
,
oper_ip
varchar
(
30
)
default
''
comment
'主机地址'
,
oper_location
varchar
(
255
)
default
''
comment
'操作地点'
,
oper_location
varchar
(
255
)
default
''
comment
'操作地点'
,
oper_param
varchar
(
255
)
default
''
comment
'请求参数'
,
oper_param
varchar
(
255
)
default
''
comment
'请求参数'
,
status
int
(
1
)
default
0
comment
'操作状态 0正常 1异常'
,
status
int
(
1
)
default
0
comment
'操作状态 0正常 1异常'
,
error_msg
varchar
(
2000
)
default
''
comment
'错误消息'
,
error_msg
varchar
(
2000
)
default
''
comment
'错误消息'
,
...
@@ -476,7 +476,7 @@ create table sys_logininfor (
...
@@ -476,7 +476,7 @@ create table sys_logininfor (
info_id
int
(
11
)
not
null
auto_increment
comment
'访问ID'
,
info_id
int
(
11
)
not
null
auto_increment
comment
'访问ID'
,
login_name
varchar
(
50
)
default
''
comment
'登录账号'
,
login_name
varchar
(
50
)
default
''
comment
'登录账号'
,
ipaddr
varchar
(
50
)
default
''
comment
'登录IP地址'
,
ipaddr
varchar
(
50
)
default
''
comment
'登录IP地址'
,
login_location
varchar
(
255
)
default
''
comment
'登录地点'
,
login_location
varchar
(
255
)
default
''
comment
'登录地点'
,
browser
varchar
(
50
)
default
''
comment
'浏览器类型'
,
browser
varchar
(
50
)
default
''
comment
'浏览器类型'
,
os
varchar
(
50
)
default
''
comment
'操作系统'
,
os
varchar
(
50
)
default
''
comment
'操作系统'
,
status
int
(
1
)
default
0
comment
'登录状态 0成功 1失败'
,
status
int
(
1
)
default
0
comment
'登录状态 0成功 1失败'
,
...
@@ -495,7 +495,7 @@ create table sys_user_online (
...
@@ -495,7 +495,7 @@ create table sys_user_online (
login_name
varchar
(
50
)
default
''
comment
'登录账号'
,
login_name
varchar
(
50
)
default
''
comment
'登录账号'
,
dept_name
varchar
(
50
)
default
''
comment
'部门名称'
,
dept_name
varchar
(
50
)
default
''
comment
'部门名称'
,
ipaddr
varchar
(
50
)
default
''
comment
'登录IP地址'
,
ipaddr
varchar
(
50
)
default
''
comment
'登录IP地址'
,
login_location
varchar
(
255
)
default
''
comment
'登录地点'
,
login_location
varchar
(
255
)
default
''
comment
'登录地点'
,
browser
varchar
(
50
)
default
''
comment
'浏览器类型'
,
browser
varchar
(
50
)
default
''
comment
'浏览器类型'
,
os
varchar
(
50
)
default
''
comment
'操作系统'
,
os
varchar
(
50
)
default
''
comment
'操作系统'
,
status
varchar
(
10
)
default
''
comment
'在线状态on_line在线off_line离线'
,
status
varchar
(
10
)
default
''
comment
'在线状态on_line在线off_line离线'
,
...
...
src/main/java/com/ruoyi/common/utils/AddressUtils.java
0 → 100644
View file @
bebafd34
package
com
.
ruoyi
.
common
.
utils
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
java.io.BufferedReader
;
import
java.io.DataOutputStream
;
import
java.io.IOException
;
import
java.io.InputStreamReader
;
import
java.io.UnsupportedEncodingException
;
import
java.net.HttpURLConnection
;
import
java.net.URL
;
/**
* 获取地址类
*/
public
class
AddressUtils
{
public
static
String
getAddresses
(
String
content
,
String
encodingString
)
throws
UnsupportedEncodingException
{
/** 根据IP查询地址 http://ip.taobao.com/service/getIpInfo.php?ip=111.111.111.111*/
String
urlStr
=
"http://ip.taobao.com/service/getIpInfo.php"
;
String
returnStr
=
getResult
(
urlStr
,
content
,
encodingString
);
if
(
returnStr
!=
null
)
{
returnStr
=
decodeUnicode
(
returnStr
);
String
[]
temp
=
returnStr
.
split
(
","
);
if
(
temp
.
length
<
3
)
{
return
"0"
;
}
return
returnStr
;
}
return
null
;
}
/**
* 获取查询结果
* @param urlStr
* @param content
* @param encoding
* @return
*/
private
static
String
getResult
(
String
urlStr
,
String
content
,
String
encoding
)
{
URL
url
=
null
;
HttpURLConnection
connection
=
null
;
try
{
url
=
new
URL
(
urlStr
);
connection
=
(
HttpURLConnection
)
url
.
openConnection
();
connection
.
setConnectTimeout
(
2000
);
connection
.
setReadTimeout
(
2000
);
connection
.
setDoOutput
(
true
);
connection
.
setDoInput
(
true
);
connection
.
setRequestMethod
(
"POST"
);
connection
.
setUseCaches
(
false
);
connection
.
connect
();
DataOutputStream
out
=
new
DataOutputStream
(
connection
.
getOutputStream
());
out
.
writeBytes
(
content
);
out
.
flush
();
out
.
close
();
BufferedReader
reader
=
new
BufferedReader
(
new
InputStreamReader
(
connection
.
getInputStream
(),
encoding
));
StringBuffer
buffer
=
new
StringBuffer
();
String
line
=
""
;
while
((
line
=
reader
.
readLine
())
!=
null
)
{
buffer
.
append
(
line
);
}
reader
.
close
();
return
buffer
.
toString
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
finally
{
if
(
connection
!=
null
)
{
connection
.
disconnect
();
}
}
return
null
;
}
/**
*
* @param theString
* @return
*/
public
static
String
decodeUnicode
(
String
theString
)
{
char
aChar
;
int
len
=
theString
.
length
();
StringBuffer
outBuffer
=
new
StringBuffer
(
len
);
for
(
int
x
=
0
;
x
<
len
;)
{
aChar
=
theString
.
charAt
(
x
++);
if
(
aChar
==
'\\'
)
{
aChar
=
theString
.
charAt
(
x
++);
if
(
aChar
==
'u'
)
{
int
value
=
0
;
for
(
int
i
=
0
;
i
<
4
;
i
++)
{
aChar
=
theString
.
charAt
(
x
++);
switch
(
aChar
)
{
case
'0'
:
case
'1'
:
case
'2'
:
case
'3'
:
case
'4'
:
case
'5'
:
case
'6'
:
case
'7'
:
case
'8'
:
case
'9'
:
value
=
(
value
<<
4
)
+
aChar
-
'0'
;
break
;
case
'a'
:
case
'b'
:
case
'c'
:
case
'd'
:
case
'e'
:
case
'f'
:
value
=
(
value
<<
4
)
+
10
+
aChar
-
'a'
;
break
;
case
'A'
:
case
'B'
:
case
'C'
:
case
'D'
:
case
'E'
:
case
'F'
:
value
=
(
value
<<
4
)
+
10
+
aChar
-
'A'
;
break
;
default
:
throw
new
IllegalArgumentException
(
"Malformed encoding."
);
}
}
outBuffer
.
append
((
char
)
value
);
}
else
{
if
(
aChar
==
't'
)
{
aChar
=
'\t'
;
}
else
if
(
aChar
==
'r'
)
{
aChar
=
'\r'
;
}
else
if
(
aChar
==
'n'
)
{
aChar
=
'\n'
;
}
else
if
(
aChar
==
'f'
)
{
aChar
=
'\f'
;
}
outBuffer
.
append
(
aChar
);
}
}
else
{
outBuffer
.
append
(
aChar
);
}
}
return
outBuffer
.
toString
();
}
public
static
String
getRealAddressByIP
(
String
ip
)
{
String
address
=
""
;
try
{
address
=
getAddresses
(
"ip="
+
ip
,
"utf-8"
);
////把JSON文本parse成JSONObject,通俗就是把json文本转为json对象
JSONObject
json
=
JSONObject
.
parseObject
(
address
);
//通过其get的方法来获取data的value由于返回的是object对象,而data的value本身又是json字符串,所以我们可以进行强转
JSONObject
object
=
(
JSONObject
)
json
.
get
(
"data"
);
String
country
=
object
.
getString
(
"country"
);
String
region
=
object
.
getString
(
"region"
);
String
city
=
object
.
getString
(
"city"
);
address
=
country
+
""
+
region
+
""
+
city
;
}
catch
(
Exception
e
)
{
}
return
address
;
}
public
static
void
main
(
String
[]
args
)
{
try
{
System
.
out
.
println
(
getAddresses
(
"ip=111.85.32.37"
,
"utf-8"
));
}
catch
(
UnsupportedEncodingException
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
System
.
out
.
println
(
getRealAddressByIP
(
"111.85.32.37"
));
}
}
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