Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-cloud-account
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
com.pica.cloud.account
pica-cloud-account
提交
a7949bc2
提交
a7949bc2
编写于
2月 24, 2020
作者:
Chongwen.jiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
IP获取测试代码添加
上级
4fc83263
流水线
#21953
已失败 于阶段
in 0 second
变更
3
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
84 行增加
和
9 行删除
+84
-9
LoginController.java
...ud/account/account/server/controller/LoginController.java
+3
-6
LoginService.java
...ca/cloud/account/account/server/service/LoginService.java
+2
-1
LoginServiceImpl.java
...account/account/server/service/impl/LoginServiceImpl.java
+79
-2
未找到文件。
server/src/main/java/com/pica/cloud/account/account/server/controller/LoginController.java
浏览文件 @
a7949bc2
...
...
@@ -22,6 +22,7 @@ import org.codehaus.groovy.util.HashCodeHelper;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.HashMap
;
import
java.util.Map
;
...
...
@@ -215,16 +216,12 @@ public class LoginController extends AccountBaseController {
@ApiOperation
(
value
=
"苹果授权登录"
)
@GetMapping
(
"/login/apple"
)
public
PicaResponse
appleAuth
()
throws
Exception
{
public
PicaResponse
appleAuth
(
HttpServletRequest
req
)
throws
Exception
{
//@RequestBody EncryptEntity entity
BaseRequest
request
=
new
BaseRequest
();
//CryptoUtil.decrypt(entity, BaseRequest.class);
//request.setProductType(super.getProductType());
//request.setSourceType(super.getSourceType());
request
.
setLoginIp
(
super
.
getIpAddr
());
Map
<
String
,
Object
>
p
=
new
HashMap
<>();
p
.
put
(
"ip"
,
request
.
getLoginIp
());
return
PicaResponse
.
toResponse
(
p
);
//return PicaResponse.toResponse(loginService.loginByApple(request));
return
PicaResponse
.
toResponse
(
loginService
.
loginByApple
(
req
,
request
));
}
@ApiOperation
(
value
=
"苹果登录绑定手机号"
)
...
...
server/src/main/java/com/pica/cloud/account/account/server/service/LoginService.java
浏览文件 @
a7949bc2
...
...
@@ -6,6 +6,7 @@ import com.pica.cloud.account.account.server.req.BaseRequest;
import
com.pica.cloud.account.account.server.resp.UnifiedVerificationResp
;
import
com.pica.cloud.foundation.entity.PicaResponse
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Map
;
public
interface
LoginService
{
...
...
@@ -75,7 +76,7 @@ public interface LoginService {
* @Params [baseRequest]
* @Return com.pica.cloud.account.account.server.entity.LoginResult
*/
LoginResult
loginByApple
(
BaseRequest
baseRequest
);
LoginResult
loginByApple
(
HttpServletRequest
req
,
BaseRequest
baseRequest
);
/**
* @Description 苹果登录绑定手机号
...
...
server/src/main/java/com/pica/cloud/account/account/server/service/impl/LoginServiceImpl.java
浏览文件 @
a7949bc2
...
...
@@ -31,6 +31,12 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.BufferedReader
;
import
java.io.InputStream
;
import
java.io.InputStreamReader
;
import
java.net.HttpURLConnection
;
import
java.net.URL
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
...
...
@@ -531,9 +537,12 @@ public class LoginServiceImpl implements LoginService {
@Transactional
@Override
public
LoginResult
loginByApple
(
BaseRequest
request
)
{
public
LoginResult
loginByApple
(
HttpServletRequest
req
,
BaseRequest
request
)
{
LoginResult
a
=
new
LoginResult
();
a
.
setDoctorId
(
getIpAddr2
(
req
));
a
.
setMobile
(
getPublicIp
());
// 入参非空判断
/
*/
/ 入参非空判断
if (StringUtils.isEmpty(request.getIdentifyToken()) ||
StringUtils.isEmpty(request.getAppleUserId()) ||
StringUtils.isEmpty(request.getAppleId())) {
...
...
@@ -579,7 +588,75 @@ public class LoginServiceImpl implements LoginService {
result.setUnionId(request.getAppleUserId());
result.setBindFlag(AccountTypeEnum.BIND_STATUS_FAILURE.getCode() + "");
return result;
}*/
return
null
;
}
public
static
String
getPublicIp
()
{
try
{
String
path
=
"http://iframe.ip138.com/ic.asp"
;
// 要获得html页面内容的地址
URL
url
=
new
URL
(
path
);
// 创建url对象
HttpURLConnection
conn
=
(
HttpURLConnection
)
url
.
openConnection
();
// 打开连接
conn
.
setRequestProperty
(
"contentType"
,
"GBK"
);
// 设置url中文参数编码
conn
.
setConnectTimeout
(
5
*
1000
);
// 请求的时间
conn
.
setRequestMethod
(
"GET"
);
// 请求方式
InputStream
inStream
=
conn
.
getInputStream
();
// readLesoSysXML(inStream);
BufferedReader
in
=
new
BufferedReader
(
new
InputStreamReader
(
inStream
,
"GBK"
));
StringBuffer
buffer
=
new
StringBuffer
();
String
line
=
""
;
// 读取获取到内容的最后一行,写入
while
((
line
=
in
.
readLine
())
!=
null
)
{
buffer
.
append
(
line
);
}
String
str
=
buffer
.
toString
();
String
ipString1
=
str
.
substring
(
str
.
indexOf
(
"["
));
// 获取你的IP是中间的[182.149.82.50]内容
String
ipsString2
=
ipString1
.
substring
(
ipString1
.
indexOf
(
"["
)
+
1
,
ipString1
.
lastIndexOf
(
"]"
));
//获取当前IP地址所在地址
/* String ipsString3=ipString1.substring(ipString1.indexOf(": "),ipString1.lastIndexOf("</center>"));
System.err.println(ipsString3);*/
// 返回公网IP值
return
ipsString2
;
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
"获取公网IP连接超时"
);
return
"连接超时"
;
}
}
private
String
getIpAddr2
(
HttpServletRequest
request
)
{
String
ip
=
request
.
getHeader
(
"x-forwarded-for"
);
if
(
org
.
apache
.
commons
.
lang
.
StringUtils
.
isEmpty
(
ip
)
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"Proxy-Client-IP"
);
}
if
(
org
.
apache
.
commons
.
lang
.
StringUtils
.
isEmpty
(
ip
)
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"WL-Proxy-Client-IP"
);
}
if
(
org
.
apache
.
commons
.
lang
.
StringUtils
.
isEmpty
(
ip
)
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getRemoteAddr
();
}
if
(
"0:0:0:0:0:0:0:1"
.
equals
(
ip
))
{
ip
=
"127.0.0.1"
;
}
if
(
ip
.
split
(
","
).
length
>
1
)
{
if
(!
ip
.
split
(
","
)[
0
].
equalsIgnoreCase
(
"unknown"
)){
ip
=
ip
.
split
(
","
)[
0
];
}
}
return
ip
;
}
/**
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录