Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xyqb-user2
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
head_group
xyqb-user2
Commits
502c3c50
Commit
502c3c50
authored
Nov 08, 2017
by
技术部-任文超
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into feature/20171030
parents
af0f5572
b290d05e
Changes
23
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
200 additions
and
1379 deletions
+200
-1379
pom.xml
pom.xml
+1
-1
Constants.java
src/main/java/cn/quantgroup/xyqb/Constants.java
+2
-7
AppController.java
...antgroup/xyqb/controller/external/user/AppController.java
+1
-0
Jr58Controller.java
...ntgroup/xyqb/controller/external/user/Jr58Controller.java
+0
-291
SmsController.java
...uantgroup/xyqb/controller/internal/sms/SmsController.java
+8
-2
UserController.java
...ntgroup/xyqb/controller/internal/user/UserController.java
+1
-0
UserinfoChangedEvent.java
...n/java/cn/quantgroup/xyqb/event/UserinfoChangedEvent.java
+0
-23
Jr58DataSender.java
...in/java/cn/quantgroup/xyqb/event/jr58/Jr58DataSender.java
+0
-67
Jr58MessageSigner.java
...java/cn/quantgroup/xyqb/event/jr58/Jr58MessageSigner.java
+0
-46
Jr58Notifier.java
...main/java/cn/quantgroup/xyqb/event/jr58/Jr58Notifier.java
+0
-42
Jr58Authorization.java
...java/cn/quantgroup/xyqb/model/jr58/Jr58Authorization.java
+0
-250
Jr58RegisterParam.java
...java/cn/quantgroup/xyqb/model/jr58/Jr58RegisterParam.java
+0
-40
Jr58RegisterResult.java
...ava/cn/quantgroup/xyqb/model/jr58/Jr58RegisterResult.java
+0
-20
Jr58Service.java
...ain/java/cn/quantgroup/xyqb/service/jr58/Jr58Service.java
+0
-42
Jr58ServiceImpl.java
...cn/quantgroup/xyqb/service/jr58/impl/Jr58ServiceImpl.java
+0
-295
SessionServiceImpl.java
...ntgroup/xyqb/service/session/impl/SessionServiceImpl.java
+185
-129
ILkbUserService.java
...java/cn/quantgroup/xyqb/service/user/ILkbUserService.java
+0
-11
LkbUserviceImpl.java
...cn/quantgroup/xyqb/service/user/impl/LkbUserviceImpl.java
+0
-24
JR58GzipUtil.java
src/main/java/cn/quantgroup/xyqb/util/JR58GzipUtil.java
+0
-71
xyqb.properties
src/main/resources/config/dev/xyqb.properties
+1
-8
application.properties
src/main/resources/config/release01/application.properties
+1
-1
xyqb.properties
src/main/resources/config/release01/xyqb.properties
+0
-4
xyqb.properties
src/main/resources/config/test/xyqb.properties
+0
-5
No files found.
pom.xml
View file @
502c3c50
...
...
@@ -373,7 +373,7 @@
<dependency>
<groupId>
cn.quantgroup
</groupId>
<artifactId>
quantgroup-sms-sdk
</artifactId>
<version>
1.0.5
-SNAPSHOT
</version>
<version>
2.0.0.3
-SNAPSHOT
</version>
</dependency>
</dependencies>
<build>
...
...
src/main/java/cn/quantgroup/xyqb/Constants.java
View file @
502c3c50
...
...
@@ -44,13 +44,7 @@ public interface Constants {
* redis中token的key值前缀
*/
String
SESSION_PREFIX
=
"spring:session:sessions:"
;
interface
Jr58
{
int
ERROR_PHONE_NUMBER
=
20007
;
// 手机号码格式不正确
int
ERROR_ID_CARD
=
20009
;
// 身份证格式不正确
int
ERROR_ACCOUNT
=
20010
;
// 授权账号为空
int
ERROR_AUTH_TYPE
=
20011
;
// 授权类型为空
}
Long
ONE_DAY
=
24
*
60
*
60L
;
interface
Channel
{
long
LKB
=
1
;
// 量化派
...
...
@@ -63,6 +57,7 @@ public interface Constants {
interface
Session
{
String
USER_SESSION_CACHE
=
"user:session:"
;
String
USER_SESSION_ID_CACHE
=
"userid-sessionvalue:cache:"
;
String
USER_SESSION_KEY_SET
=
"userid-keys:set:"
;
Long
ONE_DAY
=
24
*
60
*
60L
;
}
...
...
src/main/java/cn/quantgroup/xyqb/controller/external/user/AppController.java
View file @
502c3c50
...
...
@@ -71,6 +71,7 @@ public class AppController implements IBaseController {
* 第三方用户登录
*/
@RequestMapping
(
"/login"
)
@LogHttpCaller
public
JsonResult
login
(
String
phoneNo
,
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Long
registerFrom
,
...
...
src/main/java/cn/quantgroup/xyqb/controller/external/user/Jr58Controller.java
deleted
100644 → 0
View file @
af0f5572
This diff is collapsed.
Click to expand it.
src/main/java/cn/quantgroup/xyqb/controller/internal/sms/SmsController.java
View file @
502c3c50
...
...
@@ -163,10 +163,11 @@ public class SmsController implements IBaseController {
private
JsonResult
sendVerificationCode2Voice
(
String
phoneNo
,
String
usage
)
{
String
verificationCountKey
=
Constants
.
REDIS_VOICE_CODE_COUNT
+
phoneNo
;
Long
getVerificationCount
=
redisTemplate
.
opsForHash
().
increment
(
verificationCountKey
,
usage
.
toString
(),
1
);
redisTemplate
.
expire
(
verificationCountKey
,
DateUtils
.
getSeconds
(),
TimeUnit
.
SECONDS
);
if
(
getVerificationCount
>
5
)
{
return
JsonResult
.
buildErrorStateResult
(
"今天已获取5次语音验证码,请使用短信验证码或明天再试"
,
null
);
}
redisTemplate
.
expire
(
verificationCountKey
,
DateUtils
.
getSeconds
(),
TimeUnit
.
SECONDS
);
if
(!
ValidationUtil
.
validatePhoneNo
(
phoneNo
))
{
return
JsonResult
.
buildErrorStateResult
(
"手机号格式有误"
,
null
);
}
...
...
@@ -224,6 +225,8 @@ public class SmsController implements IBaseController {
}
String
verificationPhoneCountKey
=
Constants
.
REDIS_SMS_CODE_COUNT
+
phoneNo
;
Long
getPhoneVerificationCount
=
redisTemplate
.
opsForHash
().
increment
(
verificationPhoneCountKey
,
Constants
.
REDIS_SMS_CODE_COUNT
,
1
);
redisTemplate
.
expire
(
verificationPhoneCountKey
,
Constants
.
ONE_DAY
,
TimeUnit
.
SECONDS
);
if
(
getPhoneVerificationCount
>
PHONE_MAX_PER_DAY
)
{
return
JsonResult
.
buildErrorStateResult
(
"今天已获取20次短信验证码,请使用语音验证码或明天再试"
,
null
);
}
...
...
@@ -239,6 +242,7 @@ public class SmsController implements IBaseController {
if
(!
StringUtils
.
isEmpty
(
deviceId
))
{
String
verificationDeviceCountKey
=
Constants
.
REDIS_SMS_DEVICE_COUNT
+
deviceId
;
Long
getDeviceVerificationCount
=
redisTemplate
.
opsForHash
().
increment
(
verificationDeviceCountKey
,
Constants
.
REDIS_SMS_DEVICE_COUNT
,
1
);
redisTemplate
.
expire
(
verificationDeviceCountKey
,
Constants
.
ONE_DAY
,
TimeUnit
.
SECONDS
);
if
(
getDeviceVerificationCount
>
DEVICE_MAX_PER_DAY
)
{
return
JsonResult
.
buildErrorStateResult
(
"您设备已经达到获取今天短信验证码上限"
,
null
);
}
...
...
@@ -279,6 +283,7 @@ public class SmsController implements IBaseController {
String
verificationCountKey
=
Constants
.
REDIS_VOICE_CODE_COUNT
+
phoneNo
;
Long
getVerificationCount
=
redisTemplate
.
opsForHash
().
increment
(
verificationCountKey
,
usage
.
toString
(),
1
);
redisTemplate
.
expire
(
verificationCountKey
,
DateUtils
.
getSeconds
(),
TimeUnit
.
SECONDS
);
if
(
getVerificationCount
>
PHONE_VOICE_MAX_PER_DAY
)
{
return
JsonResult
.
buildErrorStateResult
(
"今天已获取5次语音验证码,请使用短信验证码或明天再试"
,
null
);
}
...
...
@@ -294,12 +299,13 @@ public class SmsController implements IBaseController {
if
(!
StringUtils
.
isEmpty
(
deviceId
))
{
String
verificationDeviceCountKey
=
Constants
.
REDIS_VOICE_DEVICE_COUNT
+
deviceId
;
Long
getDeviceVerificationCount
=
redisTemplate
.
opsForHash
().
increment
(
verificationDeviceCountKey
,
Constants
.
REDIS_VOICE_DEVICE_COUNT
,
1
);
redisTemplate
.
expire
(
verificationDeviceCountKey
,
Constants
.
ONE_DAY
,
TimeUnit
.
SECONDS
);
if
(
getDeviceVerificationCount
>
DEVICE_MAX_PER_DAY
)
{
return
JsonResult
.
buildErrorStateResult
(
"您设备已经达到获取今天语音验证码上限"
,
null
);
}
}
redisTemplate
.
expire
(
verificationCountKey
,
DateUtils
.
getSeconds
(),
TimeUnit
.
SECONDS
);
if
(!
ValidationUtil
.
validatePhoneNo
(
phoneNo
))
{
return
JsonResult
.
buildErrorStateResult
(
"手机号格式有误"
,
null
);
}
...
...
src/main/java/cn/quantgroup/xyqb/controller/internal/user/UserController.java
View file @
502c3c50
...
...
@@ -337,6 +337,7 @@ public class UserController implements IBaseController {
* @param channelId
* @return
*/
@LogHttpCaller
@RequestMapping
(
"/register"
)
@LogHttpCaller
public
JsonResult
register
(
@RequestParam
String
phoneNo
,
@RequestParam
String
password
,
...
...
src/main/java/cn/quantgroup/xyqb/event/UserinfoChangedEvent.java
deleted
100644 → 0
View file @
af0f5572
package
cn
.
quantgroup
.
xyqb
.
event
;
import
lombok.Getter
;
import
lombok.ToString
;
import
org.springframework.context.ApplicationEvent
;
/**
* @author mengfan.feng
* @time 2015-09-15 15:05
*/
@Getter
@ToString
public
class
UserinfoChangedEvent
extends
ApplicationEvent
{
private
final
String
uuid
;
private
final
Long
channelId
;
public
UserinfoChangedEvent
(
Object
source
,
String
uuid
,
Long
channelId
)
{
super
(
source
);
this
.
uuid
=
uuid
;
this
.
channelId
=
channelId
;
}
}
src/main/java/cn/quantgroup/xyqb/event/jr58/Jr58DataSender.java
deleted
100644 → 0
View file @
af0f5572
package
cn
.
quantgroup
.
xyqb
.
event
.
jr58
;
import
cn.quantgroup.xyqb.service.http.IHttpService
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.collect.ImmutableMap
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Service
;
import
java.util.Map
;
@Service
public
class
Jr58DataSender
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
Jr58DataSender
.
class
);
@Autowired
private
Jr58MessageSigner
jr58MessageSigner
;
@Autowired
private
IHttpService
httpService
;
@Value
(
"${jr58.notify.userinfo}"
)
private
String
jr58nNotifyUserinfo
;
/**
* 向58金融同步用户信息
*
* @param uuid
*/
@Async
public
void
sendUserinfo
(
String
uuid
)
{
try
{
JSONObject
json
=
new
JSONObject
();
json
.
put
(
"salaryWay"
,
0
);
json
.
put
(
"loanPurpose"
,
"12"
);
json
.
put
(
"job"
,
0
);
json
.
put
(
"account"
,
1000
);
json
.
put
(
"salary"
,
0
);
json
.
put
(
"hourse"
,
1
);
json
.
put
(
"isShebao"
,
0
);
json
.
put
(
"education"
,
""
);
json
.
put
(
"isCreditCard"
,
"0"
);
json
.
put
(
"isOtherLoanOrg"
,
"0"
);
String
userinfo
=
json
.
toString
();
String
param
=
uuid
+
"|1|"
+
userinfo
;
String
sign
=
jr58MessageSigner
.
sign
(
param
);
Map
<
String
,
String
>
parameters
=
ImmutableMap
.<
String
,
String
>
builder
()
.
put
(
"customerId"
,
uuid
)
.
put
(
"authorState"
,
"100"
)
.
put
(
"baseFlag"
,
"1"
)
.
put
(
"userinfo"
,
userinfo
)
.
put
(
"sign"
,
sign
)
.
build
();
httpService
.
post
(
jr58nNotifyUserinfo
,
parameters
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"向58金融同步用户信息"
,
e
);
}
}
}
src/main/java/cn/quantgroup/xyqb/event/jr58/Jr58MessageSigner.java
deleted
100644 → 0
View file @
af0f5572
package
cn
.
quantgroup
.
xyqb
.
event
.
jr58
;
import
cn.quantgroup.cloudconfig.SafeValue
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.PostConstruct
;
import
java.security.KeyFactory
;
import
java.security.PrivateKey
;
import
java.security.Signature
;
import
java.security.spec.PKCS8EncodedKeySpec
;
import
java.util.Base64
;
@Service
public
class
Jr58MessageSigner
{
private
PrivateKey
generatedSigningKey
;
@SafeValue
(
"jr58.sign.key"
)
private
String
signingKeySpec
;
@PostConstruct
private
void
init
()
throws
Exception
{
if
(
StringUtils
.
isEmpty
(
signingKeySpec
))
return
;
byte
[]
keyBytes
=
Base64
.
getDecoder
().
decode
(
signingKeySpec
);
PKCS8EncodedKeySpec
pkcs8KeySpec
=
new
PKCS8EncodedKeySpec
(
keyBytes
);
KeyFactory
keyFactory
=
KeyFactory
.
getInstance
(
"RSA"
);
generatedSigningKey
=
keyFactory
.
generatePrivate
(
pkcs8KeySpec
);
}
public
String
sign
(
String
s
)
throws
Exception
{
if
(
generatedSigningKey
==
null
)
return
""
;
byte
[]
data
=
s
.
getBytes
();
Signature
signature
=
Signature
.
getInstance
(
"MD5withRSA"
);
signature
.
initSign
(
generatedSigningKey
);
signature
.
update
(
data
);
byte
[]
signedBytes
=
signature
.
sign
();
return
Base64
.
getEncoder
().
encodeToString
(
signedBytes
);
}
}
src/main/java/cn/quantgroup/xyqb/event/jr58/Jr58Notifier.java
deleted
100644 → 0
View file @
af0f5572
package
cn
.
quantgroup
.
xyqb
.
event
.
jr58
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.event.UserinfoChangedEvent
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationListener
;
import
org.springframework.stereotype.Service
;
@Service
public
class
Jr58Notifier
implements
ApplicationListener
<
UserinfoChangedEvent
>
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
Jr58Notifier
.
class
);
@Autowired
private
Jr58DataSender
jr58DataSender
;
@Autowired
private
IUserService
userService
;
@Override
public
void
onApplicationEvent
(
UserinfoChangedEvent
event
)
{
LOGGER
.
info
(
"向58金融同步信息, event:{}"
,
event
);
String
uuid
=
event
.
getUuid
();
Long
channelId
=
event
.
getChannelId
();
if
(
StringUtils
.
isEmpty
(
uuid
)
||
channelId
==
null
||
channelId
!=
Constants
.
Channel
.
JR58
)
{
return
;
}
User
user
=
userService
.
findByUuidWithCache
(
uuid
);
if
(
user
==
null
||
user
.
getRegisteredFrom
()
!=
Constants
.
Channel
.
JR58
)
{
return
;
}
jr58DataSender
.
sendUserinfo
(
uuid
);
}
}
src/main/java/cn/quantgroup/xyqb/model/jr58/Jr58Authorization.java
deleted
100644 → 0
View file @
af0f5572
package
cn
.
quantgroup
.
xyqb
.
model
.
jr58
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* Created by Rocky on 2016/8/17.
*/
@Getter
@Setter
@ToString
public
class
Jr58Authorization
{
private
String
userId
;
private
String
sourceFrom
;
private
String
authorizationData
;
private
OperatorData
operator_data
;
@Getter
@Setter
public
static
class
OperatorData
{
private
OriginalData
originalData
;
private
ReportData
reportData
;
@Getter
@Setter
public
static
class
OriginalData
{
private
String
phone
;
private
PhoneData
phoneData
;
private
PhoneBillDataList
[]
phoneBillDataList
;
private
PhoneCallLogList
[]
phoneCallLogList
;
private
PhoneSmsLogList
[]
phoneSmsLogList
;
@Getter
@Setter
public
static
class
PhoneData
{
private
Long
id
;
private
String
phoneNum
;
private
String
serialNo
;
private
String
realName
;
private
String
idCard
;
private
String
sourceName
;
private
String
authorizeChannel
;
private
String
createTime
;
private
String
updateTime
;
}
@Getter
@Setter
public
static
class
PhoneBillDataList
{
private
String
localPhone
;
private
String
totalCost
;
private
String
planCost
;
private
String
yearMnth
;
private
String
authorizeChannel
;
}
@Getter
@Setter
public
static
class
PhoneCallLogList
{
private
String
localPhone
;
private
String
callPhone
;
private
String
callId
;
private
String
cost
;
private
String
callType
;
private
String
callStyle
;
private
String
callDuration
;
private
String
callTime
;
private
String
callAddress
;
private
String
authorizeChannel
;
}
@Getter
@Setter
public
static
class
PhoneSmsLogList
{
private
String
localPhone
;
private
String
otherPhone
;
private
String
sendId
;
private
String
totalCost
;
private
String
sendAddress
;
private
String
sendTime
;
private
String
authorizeChannel
;
}
}
@Getter
@Setter
public
static
class
ReportData
{
private
String
localPhone
;
private
Behavior
behavior
;
private
Check
check
;
private
CallList
[]
callList
;
private
ContactList
[]
contactList
;
private
OperatorList
[]
operatorList
;
private
RegionList
[]
regionList
;
private
ServiceList
[]
serviceList
;
private
TripConsumeList
[]
tripConsumeList
;
@Getter
@Setter
public
static
class
Behavior
{
private
String
localPhone
;
private
String
friendCircle
;
private
String
localLivingYear
;
private
String
powerOff
;
private
String
callMacao
;
private
String
call110
;
private
String
call120
;
private
String
callLawyer
;
private
String
callCourt
;
private
String
callLoan
;
private
String
callBank
;
private
String
callCredit
;
private
String
useTime
;
private
String
contactAmount
;
private
String
contactFrequency
;
private
String
livingLocation
;
private
String
workingLocation
;
private
String
nightUse
;
private
String
authorizeChannel
;
}
@Getter
@Setter
public
static
class
Check
{
private
String
localPhone
;
private
String
idCardValidate
;
private
String
operatorBinding
;
private
String
nameOperatorMatch
;
private
String
idcardOperatorMatch
;
private
String
nameIdcardBlack
;
private
String
namePhoneBlack
;
private
String
callContact
;
private
String
callHome
;
private
String
callWork
;
private
String
authorizeChannel
;
}
@Getter
@Setter
public
static
class
CallList
{
private
String
localPhone
;
private
String
phoneNum
;
private
String
attribution
;
private
String
contactName
;
private
String
needsType
;
private
String
callCount
;
private
String
callInCount
;
private
String
callOutCount
;
private
String
callTime
;
private
String
callInTime
;
private
String
callOutTime
;
private
String
relationSpeculate
;
private
String
contact1week
;
private
String
contact1month
;
private
String
contact3month
;
private
String
contact3monthMore
;
private
String
contactEarlyMorning
;
private
String
contactMorning
;
private
String
contactNoon
;
private
String
contactAfternoon
;
private
String
contactNight
;
private
String
contactWeekday
;
private
String
contactWeekend
;
private
String
contactHoliday
;
private
String
contactAllDay
;
private
String
authorizeChannel
;
}
@Setter
@Getter
public
static
class
ContactList
{
}
@Getter
@Setter
public
static
class
OperatorList
{
private
String
localPhone
;
private
String
operatorName
;
private
String
operatorZh
;
private
String
phoneNum
;
private
String
attribution
;
private
String
mnth
;
private
String
callCount
;
private
String
callInCount
;
private
String
callOutCount
;
private
String
callInTime
;
private
String
callOutTime
;
private
String
flow
;
private
String
smsCount
;
private
String
totalAmount
;
private
String
authorizeChannel
;
}
@Getter
@Setter
public
static
class
RegionList
{
private
String
localphone
;
private
String
regionName
;
private
String
numCount
;
private
String
callInCount
;
private
String
callOutCount
;
private
String
callInTime
;
private
String
callOutTime
;
private
String
callInAvg
;
private
String
callOutAvg
;
private
String
callInCountPct
;
private
String
callOutCountPct
;
private
String
callInTimePct
;
private
String
callOutTimePct
;
private
String
authorizeChannel
;
}
@Setter
@Getter
public
static
class
ServiceList
{
private
String
localPhone
;
private
String
companyName
;
private
String
companyType
;
private
String
contactTimes
;
private
String
contactMonth
;
private
String
contactTimesMonth
;
private
String
authorizeChannel
;
}
@Setter
@Getter
public
static
class
TripConsumeList
{
}
}
}
}
src/main/java/cn/quantgroup/xyqb/model/jr58/Jr58RegisterParam.java
deleted
100644 → 0
View file @
af0f5572
package
cn
.
quantgroup
.
xyqb
.
model
.
jr58
;
import
cn.quantgroup.xyqb.model.IdCardInfo
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* @author mengfan.feng
* @time 2015-09-09 15:46
*/
@Getter
@Setter
@ToString
public
class
Jr58RegisterParam
{
private
String
wbId
;
// 58官方注册id
private
String
wbUserName
;
// 58用户名
private
String
customerId
;
// 量化派用户id
private
String
name
;
// 用户姓名
private
String
idcard
;
// 身份证号
private
String
email
;
// 用户邮箱
private
String
phone
;
// 手机号码
private
String
info
;
// 用户附加信息(用户是学生,那他的学校、专业之类;用户是上班族:公司之类)
private
String
roleId
;
// 角色id(用户职业:例如学生、上班族、企业主、网上店主)
private
String
flag
;
// 是否第一次登陆,第一次登陆:0;非第一次登陆:1,默认0
private
String
city
;
// 城市
private
String
accessMode
;
// 接入模式,openApi(目前的方式) weixin h5
private
String
appId
;
// 客户提供的appId
private
IdCardInfo
idCardInfo
;
// 证件信息
private
String
edu
;
// 学历 学历:B:硕士及以上 C:本科 D:专科 E::中专、高中 G:初中及以下
private
String
income
;
// 收入情况:3000以下:M1 3000~10000 :M2 10000~20000 : M3 20000以上 :M4
private
String
marry
;
// 婚姻状况 :A:已婚 B:未婚 C:离异 D:丧偶
private
String
monitorPhone
;
// 58监控请求属性,不存
/**** 授权*****/
private
String
account
;
//授权账号
private
String
authorizationType
;
//授权类型(运营商:1,支付宝:2)
/**** 授权*****/
}
src/main/java/cn/quantgroup/xyqb/model/jr58/Jr58RegisterResult.java
deleted
100644 → 0
View file @
af0f5572
package
cn
.
quantgroup
.
xyqb
.
model
.
jr58
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* @author mengfan.feng
* @time 2015-09-11 09:54
*/
@Getter
@Setter
@ToString
public
class
Jr58RegisterResult
{
private
String
errorcode
;
private
Boolean
success
;
private
Boolean
hasUser
;
private
String
customerid
;
}
src/main/java/cn/quantgroup/xyqb/service/jr58/Jr58Service.java
deleted
100644 → 0
View file @
af0f5572
package
cn
.
quantgroup
.
xyqb
.
service
.
jr58
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.model.jr58.Jr58Authorization
;
import
cn.quantgroup.xyqb.model.jr58.Jr58RegisterParam
;
import
java.io.UnsupportedEncodingException
;
/**
* @author mengfan.feng
* @time 2015-09-09 16:43
*/
public
interface
Jr58Service
{
/**
* 用户注册
*
* @param param
* @return
*/
String
register
(
Jr58RegisterParam
param
);
/**
* 避免填写资料
*/
void
getRidOfFillingProfile
(
User
user
,
String
phoneNo
)
throws
UnsupportedEncodingException
;
/**
* 推送授权数据
*/
void
pushAuthorizationData
(
Jr58Authorization
authorizationData
);
/**
* 推送授权开始的状态
*
* @param userId
* @param account
* @param authorizationType
*/
void
pushAuthorizationStatus
(
String
userId
,
String
account
,
String
authorizationType
);
}
src/main/java/cn/quantgroup/xyqb/service/jr58/impl/Jr58ServiceImpl.java
deleted
100644 → 0
View file @
af0f5572
This diff is collapsed.
Click to expand it.
src/main/java/cn/quantgroup/xyqb/service/session/impl/SessionServiceImpl.java
View file @
502c3c50
This diff is collapsed.
Click to expand it.
src/main/java/cn/quantgroup/xyqb/service/user/ILkbUserService.java
View file @
502c3c50
package
cn
.
quantgroup
.
xyqb
.
service
.
user
;
import
cn.quantgroup.xyqb.model.jr58.Jr58RegisterParam
;
import
cn.quantgroup.xyqb.model.jr58.Jr58RegisterResult
;
/**
* @author mengfan.feng
* @time 2015-08-19 17:44
...
...
@@ -18,14 +15,6 @@ public interface ILkbUserService {
*/
String
registerApp
(
String
phoneNo
,
String
password
);
/**
* 58金融用户注册
*
* @param param
* @return
*/
Jr58RegisterResult
registerJr58
(
Jr58RegisterParam
param
);
/**
* 同步用户信息
*
...
...
src/main/java/cn/quantgroup/xyqb/service/user/impl/LkbUserviceImpl.java
View file @
502c3c50
package
cn
.
quantgroup
.
xyqb
.
service
.
user
.
impl
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.model.jr58.Jr58RegisterParam
;
import
cn.quantgroup.xyqb.model.jr58.Jr58RegisterResult
;
import
cn.quantgroup.xyqb.service.http.IHttpService
;
import
cn.quantgroup.xyqb.service.user.ILkbUserService
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.collect.ImmutableMap
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -39,9 +36,6 @@ public class LkbUserviceImpl implements ILkbUserService {
@Value
(
"${lkb.client.user.register.app}"
)
private
String
registerApp
;
@Value
(
"${lkb.client.user.register.58jr}"
)
private
String
register58jr
;
@Value
(
"${lkb.client.user.update}"
)
private
String
userUpdate
;
...
...
@@ -59,32 +53,14 @@ public class LkbUserviceImpl implements ILkbUserService {
.
build
();
String
response
=
httpService
.
get
(
clientUrl
+
registerApp
,
parameters
);
//Map<String, String> result = GSON.fromJson(response, Map.class);
Map
<
String
,
String
>
result
=
JSONObject
.
parseObject
(
response
,
Map
.
class
);
if
(
result
==
null
||
"0"
.
equals
(
result
.
get
(
"flag"
)))
{
LOGGER
.
warn
(
"向LKB注册用户失败, phoneNo:{}, password:{}"
,
phoneNo
,
password
);
return
""
;
}
//String uid = java.util.UUID.randomUUID().toString().replace("-","");
return
result
.
get
(
"uid"
);
}
@Override
public
Jr58RegisterResult
registerJr58
(
Jr58RegisterParam
param
)
{
Map
<
String
,
String
>
parameters
=
ImmutableMap
.<
String
,
String
>
builder
()
.
put
(
"wbId"
,
param
.
getWbId
())
.
put
(
"customerId"
,
param
.
getCustomerId
())
.
put
(
"name"
,
param
.
getName
())
.
put
(
"idcard"
,
param
.
getIdcard
())
.
put
(
"email"
,
StringUtils
.
substring
(
param
.
getEmail
(),
0
,
30
))
.
put
(
"phone"
,
param
.
getPhone
())
.
build
();
String
response
=
httpService
.
get
(
clientUrl
+
register58jr
,
parameters
);
//return GSON.fromJson(response, Jr58RegisterResult.class);
return
JSONObject
.
parseObject
(
response
,
Jr58RegisterResult
.
class
);
}
@Override
@Async
public
void
userUpdate
(
String
uuid
,
String
name
,
String
idNo
)
{
...
...
src/main/java/cn/quantgroup/xyqb/util/JR58GzipUtil.java
deleted
100644 → 0
View file @
af0f5572
package
cn
.
quantgroup
.
xyqb
.
util
;
import
java.io.ByteArrayInputStream
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.io.PrintStream
;
import
java.nio.charset.Charset
;
import
java.util.zip.GZIPInputStream
;
import
java.util.zip.GZIPOutputStream
;
public
class
JR58GzipUtil
{
public
static
String
bytesTogzip
(
byte
[]
bytes
,
String
encode
)
{
if
(
bytes
==
null
||
bytes
.
length
==
0
)
{
return
null
;
}
ByteArrayInputStream
byteArrayIn
=
null
;
GZIPInputStream
in
=
null
;
ByteArrayOutputStream
byteArrayout
=
new
ByteArrayOutputStream
();
PrintStream
out
=
new
PrintStream
(
byteArrayout
);
try
{
byteArrayIn
=
new
ByteArrayInputStream
(
bytes
);
in
=
new
GZIPInputStream
(
byteArrayIn
);
byte
[]
b
=
new
byte
[
1024
];
int
readlen
=
0
;
;
while
((
readlen
=
in
.
read
(
b
))
!=
-
1
)
{
out
.
write
(
b
,
0
,
readlen
);
}
out
.
flush
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
out
.
close
();
in
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
System
.
out
.
println
(
"解密后的数据:"
);
return
new
String
(
byteArrayout
.
toByteArray
(),
Charset
.
forName
(
encode
));
}
public
static
byte
[]
gzipTobytes
(
String
str
,
String
encode
)
{
if
(
str
==
null
||
str
.
length
()
==
0
)
{
return
null
;
}
ByteArrayOutputStream
out
=
new
ByteArrayOutputStream
();
GZIPOutputStream
gzip
=
null
;
try
{
gzip
=
new
GZIPOutputStream
(
out
);
gzip
.
write
(
str
.
getBytes
(
encode
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
gzip
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
return
out
.
toByteArray
();
}
}
src/main/resources/config/dev/xyqb.properties
View file @
502c3c50
...
...
@@ -17,7 +17,7 @@ xyqb.filter.allowedHeaders=Origin, No-Cache, x-auth-token, X-Requested-With, If-
xyqb.data.redis.defaultExpiration
=
3600
# redis
xyqb.redis.master.host
=
192.168.4.
22
xyqb.redis.master.host
=
192.168.4.
153
xyqb.redis.master.port
=
6379
xyqb.redis.master.name
=
xyqb.redis.sentinel1.host
=
...
...
@@ -33,7 +33,6 @@ sms.is.debug=1
# LKB client
lkb.client.url
=
http://192.168.4.193:8083/LKBClient/openapi
lkb.client.user.register.app
=
/new/register/registerApp.json
lkb.client.user.register.58jr
=
/new/register/jr58/saveUserInfo.json
lkb.client.user.update
=
/new/register/updateUser.json
...
...
@@ -42,18 +41,12 @@ lkb.import.url=http://spider.quantgroup.cn
# LKB
lkb.url
=
http://192.168.192.251:8081/LKB
lkb.entrypoint.jr58
=
/jr58/arc_all.html
# xyqb
xyqb.url
=
http://192.168.192.163:8999
xyqb.api.url
=
http://192.168.192.163:9004
# JR58
jr58.sign.key
=
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKG/Y0J/c+JguU6cPdFHRC9eHrkgaZ9bpYpeQVujBpL+OkA8pAQTZ1XhoLZu/IH4Rv2kx85e8WVF7FxIFkgqJobjvai2XsD7QRYHGb6EEsqjROPndxnlpLeXmyp+WvbPhtRMoLyP3bZncaR1xsPkmW4ajXSUCa4+qlEfrEMskG79AgMBAAECgYAYmA5StSh8unJSxqULpkdy4F/RjGEjDv9by7sqYN6GCUv4KoBR8lVbFKSoOLYCWSsKND0BXyRbXsdyvK9Op8IVsKIbUnpen5V2cgNrVhlomy7E7RFSdoyFcRuWzck0NGtjJLPzi4qztiKprFH8yMf3tfD8aEKMo7pFpqetGfkezQJBANZTUTiGePRsiO7igin92jf9pWeSiI9OecQ/9hxwIlXXxQAwMUcvvyjoKfp6TRs3HlYugoiP/5VwTWRM/iTbf18CQQDBMtpKI5NtgrpfqbN2czP35S7VOnYO0QofEEuLj3oVCo2CxXfz0cViY/ng3BFk/oTykbMmS/TxCD5VHi17QRsjAkEAv9/3ZtN8ldZVAQhn35AUPOwnmIHnH+TxvnBEtVDubEuvYmvCsihcyxKOAmBbh3HhBua8leXUusS/hHwpSnX3oQJAc4eLTYZUpMnl1UrPjGd7jiO4i72310hduxGtezlDEc4LrUWUY3Lvi9SpGjO/GxuwOLWz4ZTOVkxNqeyv2eKm7QJAQHvgO0ciDFuFuhahFli7ktyZcn5CV8PPkQrbMXUFrMbX3AP61HPyH9EGCqBvsdyRYqPxFseDFY3yYveOWMPq0Q==
jr58.notify.userinfo
=
http://xfd.test.58v5.cn/customer/quantgroup_user_info
# 图形验证码
# 是否启用超级验证码 "__SUPERQG__", 用于测试环境自动化测试, 线上环境可忽略此参数
xyqb.auth.captcha.super.enable
=
1
...
...
src/main/resources/config/release01/application.properties
View file @
502c3c50
server.port
=
9001
security.sessions
=
if_required
server.session-timeout
=
51840
00
server.session-timeout
=
864
00
spring.aop.proxy-target-class
=
true
src/main/resources/config/release01/xyqb.properties
View file @
502c3c50
...
...
@@ -20,18 +20,14 @@ sms.is.debug=0
# LKB client
lkb.client.url
=
http://openapi.quantgroup.cn/LKBClient/openapi
lkb.client.user.register.app
=
/new/register/registerApp.json
lkb.client.user.register.58jr
=
/new/register/jr58/saveUserInfo.json
lkb.client.user.update
=
/new/register/updateUser.json
# LKB import
lkb.import.url
=
http://spider.quantgroup.cn
# LKB
lkb.url
=
http://58.xyqb.com/LKB
lkb.entrypoint.jr58
=
/jr58/arc_all.html
# xyqb
xyqb.url
=
https://m.xyqb.com
xyqb.api.url
=
http://api.xyqb.com
# JR58
jr58.notify.userinfo
=
http://dk.58.com/customer/quantgroup_user_info
#sdk
model.quantgroup.url
=
http://model.quantgroup.cn
xyqb.auth.url
=
http://auth.xyqb.com
...
...
src/main/resources/config/test/xyqb.properties
View file @
502c3c50
...
...
@@ -23,19 +23,14 @@ sms.is.debug=1
# LKB client
lkb.client.url
=
http://192.168.192.251:8082/LKBClient/openapi
lkb.client.user.register.app
=
/new/register/registerApp.json
lkb.client.user.register.58jr
=
/new/register/jr58/saveUserInfo.json
lkb.client.user.update
=
/new/register/updateUser.json
# LKB import
lkb.import.url
=
http://spider.quantgroup.cn
# LKB
lkb.url
=
http://192.168.192.251:8081/LKB
lkb.entrypoint.jr58
=
/jr58/arc_all.html
# xyqb
xyqb.url
=
http://192.168.192.206:8999
xyqb.api.url
=
http://192.168.192.206:9004
# JR58
jr58.sign.key
=
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKG/Y0J/c+JguU6cPdFHRC9eHrkgaZ9bpYpeQVujBpL+OkA8pAQTZ1XhoLZu/IH4Rv2kx85e8WVF7FxIFkgqJobjvai2XsD7QRYHGb6EEsqjROPndxnlpLeXmyp+WvbPhtRMoLyP3bZncaR1xsPkmW4ajXSUCa4+qlEfrEMskG79AgMBAAECgYAYmA5StSh8unJSxqULpkdy4F/RjGEjDv9by7sqYN6GCUv4KoBR8lVbFKSoOLYCWSsKND0BXyRbXsdyvK9Op8IVsKIbUnpen5V2cgNrVhlomy7E7RFSdoyFcRuWzck0NGtjJLPzi4qztiKprFH8yMf3tfD8aEKMo7pFpqetGfkezQJBANZTUTiGePRsiO7igin92jf9pWeSiI9OecQ/9hxwIlXXxQAwMUcvvyjoKfp6TRs3HlYugoiP/5VwTWRM/iTbf18CQQDBMtpKI5NtgrpfqbN2czP35S7VOnYO0QofEEuLj3oVCo2CxXfz0cViY/ng3BFk/oTykbMmS/TxCD5VHi17QRsjAkEAv9/3ZtN8ldZVAQhn35AUPOwnmIHnH+TxvnBEtVDubEuvYmvCsihcyxKOAmBbh3HhBua8leXUusS/hHwpSnX3oQJAc4eLTYZUpMnl1UrPjGd7jiO4i72310hduxGtezlDEc4LrUWUY3Lvi9SpGjO/GxuwOLWz4ZTOVkxNqeyv2eKm7QJAQHvgO0ciDFuFuhahFli7ktyZcn5CV8PPkQrbMXUFrMbX3AP61HPyH9EGCqBvsdyRYqPxFseDFY3yYveOWMPq0Q==
jr58.notify.userinfo
=
http://xfd.test.58v5.cn/customer/quantgroup_user_info
# 图形验证码
# 是否启用超级验证码 "__SUPERQG__", 用于测试环境自动化测试, 线上环境可忽略此参数
xyqb.auth.captcha.super.enable
=
1
...
...
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