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
84d4af3e
Commit
84d4af3e
authored
Jan 09, 2018
by
贷前—徐菲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户实名账户
parent
5f337151
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
256 additions
and
2 deletions
+256
-2
Bootstrap.java
src/main/java/cn/quantgroup/xyqb/Bootstrap.java
+1
-1
Constants.java
src/main/java/cn/quantgroup/xyqb/Constants.java
+2
-0
UserAuthorizedController.java
...qb/controller/internal/user/UserAuthorizedController.java
+44
-0
UserAuthorized.java
src/main/java/cn/quantgroup/xyqb/entity/UserAuthorized.java
+2
-1
UserAuthorizedChangeRecord.java
...cn/quantgroup/xyqb/entity/UserAuthorizedChangeRecord.java
+36
-0
AuthPattern.java
src/main/java/cn/quantgroup/xyqb/model/AuthPattern.java
+14
-0
IUserAuthorizedRepository.java
...quantgroup/xyqb/repository/IUserAuthorizedRepository.java
+26
-0
IUserAuthorizedService.java
.../quantgroup/xyqb/service/auth/IUserAuthorizedService.java
+32
-0
UserAuthorizedServiceImpl.java
...oup/xyqb/service/auth/impl/UserAuthorizedServiceImpl.java
+99
-0
No files found.
src/main/java/cn/quantgroup/xyqb/Bootstrap.java
View file @
84d4af3e
...
@@ -47,6 +47,6 @@ public class Bootstrap {
...
@@ -47,6 +47,6 @@ public class Bootstrap {
springApplication
.
run
(
args
);
springApplication
.
run
(
args
);
log
.
info
(
"server start..."
);
log
.
info
(
"server start..."
);
Sentry
.
init
(
"http://13ef5642903a414c910f8d0e0a2c56ee:8b351ad1abf44de3b4c25f39105fb927@172.16.4.89:9000/6"
);
//
Sentry.init("http://13ef5642903a414c910f8d0e0a2c56ee:8b351ad1abf44de3b4c25f39105fb927@172.16.4.89:9000/6");
}
}
}
}
src/main/java/cn/quantgroup/xyqb/Constants.java
View file @
84d4af3e
...
@@ -94,4 +94,6 @@ public interface Constants {
...
@@ -94,4 +94,6 @@ public interface Constants {
String
AES_KEY
=
"ScnmRBhuQpo9kBdn"
;
String
AES_KEY
=
"ScnmRBhuQpo9kBdn"
;
String
CREATE_USER_AUTHORIZED_FAIL
=
"fail"
;
String
CREATE_USER_AUTHORIZED_SUCCESS
=
"success"
;
}
}
src/main/java/cn/quantgroup/xyqb/controller/internal/user/UserAuthorizedController.java
0 → 100644
View file @
84d4af3e
package
cn
.
quantgroup
.
xyqb
.
controller
.
internal
.
user
;
import
cn.quantgroup.xyqb.controller.IBaseController
;
import
cn.quantgroup.xyqb.service.auth.IUserAuthorizedService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
java.util.Map
;
/**
* @author xufei on 2018/1/5.
*/
@RestController
@RequestMapping
(
"/user/auth"
)
public
class
UserAuthorizedController
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
UserAuthorizedController
.
class
);
@Resource
private
IUserAuthorizedService
userAuthorizedService
;
@RequestMapping
(
value
=
"/hasUserAuthorized"
,
method
=
RequestMethod
.
GET
)
public
Boolean
hasUserAuthorized
(
String
idNo
){
LOGGER
.
info
(
"[hasUserAuthorized]需要校验的用户的身份证号为idNo:{}"
,
idNo
);
return
userAuthorizedService
.
hasUserAuthorized
(
idNo
);
}
@RequestMapping
(
value
=
"/createUserAuthorized"
,
method
=
RequestMethod
.
POST
)
public
String
createUserAuthorized
(
@RequestParam
Map
<
String
,
String
>
parameters
){
LOGGER
.
info
(
"[createUserAuthorized]创建实名账户,parameters:{}"
,
parameters
);
return
userAuthorizedService
.
createUserAuthorized
(
parameters
);
}
@RequestMapping
(
value
=
"/getUserAuthorizedId"
,
method
=
RequestMethod
.
GET
)
public
Long
getUserAuthorizedId
(
Long
userId
){
LOGGER
.
info
(
"[getUserAuthorizedId]获取实名账户的id,userId:{}"
,
userId
);
return
userAuthorizedService
.
getUserAuthorizedId
(
userId
);
}
}
src/main/java/cn/quantgroup/xyqb/entity/UserAuthorized.java
View file @
84d4af3e
package
cn
.
quantgroup
.
xyqb
.
entity
;
package
cn
.
quantgroup
.
xyqb
.
entity
;
import
cn.quantgroup.xyqb.model.AuthPattern
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.persistence.*
;
import
javax.persistence.*
;
...
@@ -28,7 +29,7 @@ public class UserAuthorized {
...
@@ -28,7 +29,7 @@ public class UserAuthorized {
private
String
name
;
private
String
name
;
@Column
(
name
=
"auth_pattern"
)
@Column
(
name
=
"auth_pattern"
)
private
String
authPattern
;
private
AuthPattern
authPattern
;
@Column
(
name
=
"available"
)
@Column
(
name
=
"available"
)
private
Boolean
available
;
private
Boolean
available
;
...
...
src/main/java/cn/quantgroup/xyqb/entity/UserAuthorizedChangeRecord.java
0 → 100644
View file @
84d4af3e
package
cn
.
quantgroup
.
xyqb
.
entity
;
import
lombok.Data
;
import
javax.persistence.*
;
import
java.sql.Timestamp
;
/**
* @author xufei on 2018/1/5.
*/
@Data
@Entity
@Table
(
name
=
"user_authorized_change_record"
)
public
class
UserAuthorizedChangeRecord
{
@Id
@Column
(
name
=
"id"
)
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Long
id
;
@Column
(
name
=
"user_authorized_id"
)
private
Long
userAuthorizedId
;
@Column
(
name
=
"before_user_id"
)
private
Long
beforeUserId
;
@Column
(
name
=
"after_user_id"
)
private
Long
afterUserId
;
//创建时间
@Column
(
name
=
"created_at"
)
private
Timestamp
createdAt
;
//上一次修改时间
@Column
(
name
=
"updated_at"
)
private
Timestamp
updatedAt
;
}
src/main/java/cn/quantgroup/xyqb/model/AuthPattern.java
0 → 100644
View file @
84d4af3e
package
cn
.
quantgroup
.
xyqb
.
model
;
/**
* @author xufei on 2018/1/5.
*/
public
enum
AuthPattern
{
ZMXY
(
"芝麻分授权"
),
FOUR_ELEMENTS_OF_BANK_CARD
(
"银行卡四要素"
);
private
String
desc
;
AuthPattern
(
String
desc
)
{
this
.
desc
=
desc
;
}
}
src/main/java/cn/quantgroup/xyqb/repository/IUserAuthorizedRepository.java
0 → 100644
View file @
84d4af3e
package
cn
.
quantgroup
.
xyqb
.
repository
;
import
cn.quantgroup.xyqb.entity.UserAuthorized
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
/**
* @author xufei on 2018/1/5.
*/
public
interface
IUserAuthorizedRepository
extends
JpaRepository
<
UserAuthorized
,
Long
>,
JpaSpecificationExecutor
<
UserAuthorized
>
{
/**
* 通过身份证号查找实名账户
*
* @param idNo 身份证号
* @return 实体
*/
UserAuthorized
findByIdNo
(
String
idNo
);
/**
* 通过userId查找实名账户
*
* @param userId 用户id
* @return 实体
*/
UserAuthorized
findByUserId
(
Long
userId
);
}
src/main/java/cn/quantgroup/xyqb/service/auth/IUserAuthorizedService.java
0 → 100644
View file @
84d4af3e
package
cn
.
quantgroup
.
xyqb
.
service
.
auth
;
import
java.util.Map
;
/**
* @author xufei on 2018/1/5.
*/
public
interface
IUserAuthorizedService
{
/**
* 该身份证是否有对应的实名账户
*
* @param idNo 身份证号
* @return true有实名账户 false无实名账户
*/
Boolean
hasUserAuthorized
(
String
idNo
);
/**
* 创建实名账户
*
* @param parameters 请求参数
* @return 成功返回success 失败返回fail
*/
String
createUserAuthorized
(
Map
<
String
,
String
>
parameters
);
/**
* 通过userId获取实名账户表的id
*
* @param userId userId
* @return userAuthorized的id
*/
Long
getUserAuthorizedId
(
Long
userId
);
}
src/main/java/cn/quantgroup/xyqb/service/auth/impl/UserAuthorizedServiceImpl.java
0 → 100644
View file @
84d4af3e
package
cn
.
quantgroup
.
xyqb
.
service
.
auth
.
impl
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.entity.UserAuthorized
;
import
cn.quantgroup.xyqb.model.AuthPattern
;
import
cn.quantgroup.xyqb.repository.IUserAuthorizedRepository
;
import
cn.quantgroup.xyqb.service.auth.IIdCardService
;
import
cn.quantgroup.xyqb.service.auth.IUserAuthorizedService
;
import
org.apache.commons.lang.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
java.sql.Timestamp
;
import
java.text.ParseException
;
import
java.util.Map
;
/**
* @author xufei on 2018/1/5.
*/
@Service
public
class
UserAuthorizedServiceImpl
implements
IUserAuthorizedService
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
UserAuthorizedServiceImpl
.
class
);
@Resource
private
IIdCardService
iIdCardService
;
@Resource
private
IUserAuthorizedRepository
userAuthorizedRepository
;
@Override
public
Boolean
hasUserAuthorized
(
String
idNo
)
{
try
{
if
(
StringUtils
.
isBlank
(
idNo
)
||
!
iIdCardService
.
isIdCardValid
(
idNo
))
{
return
null
;
}
}
catch
(
ParseException
e
)
{
LOGGER
.
error
(
"[hasUserAuthorized]参数异常e:{}"
,
e
);
}
UserAuthorized
userAuthorized
=
userAuthorizedRepository
.
findByIdNo
(
idNo
);
LOGGER
.
info
(
"[hasUserAuthorized]查询实名账户userAuthorized:{}"
,
userAuthorized
);
return
null
!=
userAuthorized
;
}
@Override
public
String
createUserAuthorized
(
Map
<
String
,
String
>
parameters
)
{
if
(
CollectionUtils
.
isEmpty
(
parameters
)){
return
Constants
.
CREATE_USER_AUTHORIZED_FAIL
;
}
String
name
=
parameters
.
get
(
"name"
);
String
idNo
=
parameters
.
get
(
"idNo"
);
Long
userId
=
Long
.
valueOf
(
parameters
.
get
(
"userId"
));
String
authPatternStr
=
parameters
.
get
(
"authPattern"
);
AuthPattern
authPattern
=
AuthPattern
.
valueOf
(
authPatternStr
);
try
{
if
(
StringUtils
.
isBlank
(
name
)
||
StringUtils
.
isBlank
(
idNo
)
||
null
==
authPattern
||
!
iIdCardService
.
isIdCardValid
(
idNo
))
{
return
Constants
.
CREATE_USER_AUTHORIZED_FAIL
;
}
}
catch
(
ParseException
e
)
{
LOGGER
.
error
(
"[createUserAuthorized]参数异常e:{}"
,
e
);
}
UserAuthorized
userAuthorized
=
new
UserAuthorized
();
userAuthorized
.
setAuthPattern
(
authPattern
);
userAuthorized
.
setAvailable
(
Boolean
.
TRUE
);
userAuthorized
.
setName
(
name
);
userAuthorized
.
setIdNo
(
idNo
);
userAuthorized
.
setUserId
(
userId
);
Timestamp
now
=
new
Timestamp
(
System
.
currentTimeMillis
());
userAuthorized
.
setCreatedAt
(
now
);
userAuthorized
.
setUpdatedAt
(
now
);
try
{
userAuthorized
=
userAuthorizedRepository
.
save
(
userAuthorized
);
LOGGER
.
info
(
"[createUserAuthorized]创建实名账户成功,userAuthorized:{}"
,
userAuthorized
);
return
Constants
.
CREATE_USER_AUTHORIZED_SUCCESS
;
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"[createUserAuthorized]创建实名账户异常e:{}"
,
e
);
return
Constants
.
CREATE_USER_AUTHORIZED_FAIL
;
}
}
@Override
public
Long
getUserAuthorizedId
(
Long
userId
)
{
if
(
null
==
userId
||
userId
==
0
){
return
null
;
}
UserAuthorized
userAuthorized
=
userAuthorizedRepository
.
findByUserId
(
userId
);
if
(
null
==
userAuthorized
){
LOGGER
.
info
(
"[getUserAuthorizedId]该实名账户不存在userId:{}"
,
userId
);
return
null
;
}
LOGGER
.
info
(
"[getUserAuthorizedId]获取实名账户的id,userAuthorized:{}"
,
userAuthorized
);
return
userAuthorized
.
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