Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
yifu-mvp
Project
Project
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
fangxinjiang
yifu-mvp
Commits
3dd3bdf0
Commit
3dd3bdf0
authored
Jun 20, 2022
by
fangxinjiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
银行卡号校验接口实现
parent
6965cfaa
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
538 additions
and
13 deletions
+538
-13
TEmpDisabilityInfoController.java
...ifu/archives/controller/TEmpDisabilityInfoController.java
+2
-2
TEmpEducationController.java
.../v1/yifu/archives/controller/TEmpEducationController.java
+2
-2
TEmpProfessionalQualificationController.java
...s/controller/TEmpProfessionalQualificationController.java
+2
-2
TEmpWorkRecordingController.java
...yifu/archives/controller/TEmpWorkRecordingController.java
+5
-4
TEmpWorkRecordingService.java
...us/v1/yifu/archives/service/TEmpWorkRecordingService.java
+4
-0
TEmpWorkRecordingServiceImpl.java
...u/archives/service/impl/TEmpWorkRecordingServiceImpl.java
+47
-0
TCheckBankNo.java
...ava/com/yifu/cloud/plus/v1/check/entity/TCheckBankNo.java
+102
-0
TCheckMobile.java
...ava/com/yifu/cloud/plus/v1/check/entity/TCheckMobile.java
+0
-1
ChecksUtil.java
...n/java/com/yifu/cloud/plus/v1/check/utils/ChecksUtil.java
+84
-2
TCheckBankNoController.java
...loud/plus/v1/check/controller/TCheckBankNoController.java
+130
-0
TCheckBankNoMapper.java
...m/yifu/cloud/plus/v1/check/mapper/TCheckBankNoMapper.java
+34
-0
TCheckBankNoService.java
...yifu/cloud/plus/v1/check/service/TCheckBankNoService.java
+33
-0
TCheckBankNoServiceImpl.java
...d/plus/v1/check/service/impl/TCheckBankNoServiceImpl.java
+46
-0
TCheckBankNoMapper.xml
...heck-biz/src/main/resources/mapper/TCheckBankNoMapper.xml
+42
-0
ErrorCodes.java
....cloud.plus.v1/yifu/common/core/exception/ErrorCodes.java
+4
-0
messages_zh_CN.properties
...on-core/src/main/resources/i18n/messages_zh_CN.properties
+1
-0
No files found.
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/controller/TEmpDisabilityInfoController.java
View file @
3dd3bdf0
...
...
@@ -74,7 +74,7 @@ public class TEmpDisabilityInfoController {
@Operation
(
summary
=
"通过id查询"
,
description
=
"通过id查询"
)
@GetMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('archives_tempdisabilityinfo_get')"
)
public
R
<
TEmpDisabilityInfo
>
getById
(
@PathVariable
(
"id"
)
Lo
ng
id
)
{
public
R
<
TEmpDisabilityInfo
>
getById
(
@PathVariable
(
"id"
)
Stri
ng
id
)
{
return
R
.
ok
(
tEmpDisabilityInfoService
.
getById
(
id
));
}
...
...
@@ -113,7 +113,7 @@ public class TEmpDisabilityInfoController {
@SysLog
(
"通过id删除员工伤残信息表"
)
@DeleteMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('archives_tempdisabilityinfo_del')"
)
public
R
<
Boolean
>
removeById
(
@PathVariable
Lo
ng
id
)
{
public
R
<
Boolean
>
removeById
(
@PathVariable
Stri
ng
id
)
{
return
R
.
ok
(
tEmpDisabilityInfoService
.
removeById
(
id
));
}
...
...
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/controller/TEmpEducationController.java
View file @
3dd3bdf0
...
...
@@ -76,7 +76,7 @@ public class TEmpEducationController {
@Operation
(
summary
=
"通过id查询"
,
description
=
"通过id查询"
)
@GetMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('archives_tempeducation_get')"
)
public
R
<
TEmpEducation
>
getById
(
@PathVariable
(
"id"
)
Lo
ng
id
)
{
public
R
<
TEmpEducation
>
getById
(
@PathVariable
(
"id"
)
Stri
ng
id
)
{
return
R
.
ok
(
tEmpEducationService
.
getById
(
id
));
}
...
...
@@ -115,7 +115,7 @@ public class TEmpEducationController {
@SysLog
(
"通过id删除员工学历信息表"
)
@DeleteMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('archives_tempeducation_del')"
)
public
R
<
Boolean
>
removeById
(
@PathVariable
Lo
ng
id
)
{
public
R
<
Boolean
>
removeById
(
@PathVariable
Stri
ng
id
)
{
return
R
.
ok
(
tEmpEducationService
.
removeById
(
id
));
}
...
...
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/controller/TEmpProfessionalQualificationController.java
View file @
3dd3bdf0
...
...
@@ -66,7 +66,7 @@ public class TEmpProfessionalQualificationController {
@Operation
(
summary
=
"通过id查询"
,
description
=
"通过id查询"
)
@GetMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('archives_tempprofessionalqualification_get')"
)
public
R
getById
(
@PathVariable
(
"id"
)
Lo
ng
id
)
{
public
R
getById
(
@PathVariable
(
"id"
)
Stri
ng
id
)
{
return
R
.
ok
(
tEmpProfessionalQualificationService
.
getById
(
id
));
}
...
...
@@ -105,7 +105,7 @@ public class TEmpProfessionalQualificationController {
@SysLog
(
"通过id删除员工职业资格信息表"
)
@DeleteMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('archives_tempprofessionalqualification_del')"
)
public
R
removeById
(
@PathVariable
Lo
ng
id
)
{
public
R
removeById
(
@PathVariable
Stri
ng
id
)
{
return
R
.
ok
(
tEmpProfessionalQualificationService
.
removeById
(
id
));
}
...
...
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/controller/TEmpWorkRecordingController.java
View file @
3dd3bdf0
...
...
@@ -75,7 +75,7 @@ public class TEmpWorkRecordingController {
@Operation
(
summary
=
"通过id查询"
,
description
=
"通过id查询"
)
@GetMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('archives_tempworkrecording_get')"
)
public
R
<
TEmpWorkRecording
>
getById
(
@PathVariable
(
"id"
)
Lo
ng
id
)
{
public
R
<
TEmpWorkRecording
>
getById
(
@PathVariable
(
"id"
)
Stri
ng
id
)
{
return
R
.
ok
(
tEmpWorkRecordingService
.
getById
(
id
));
}
...
...
@@ -89,7 +89,8 @@ public class TEmpWorkRecordingController {
@PostMapping
@PreAuthorize
(
"@pms.hasPermission('archives_tempworkrecording_add')"
)
public
R
<
Boolean
>
save
(
@RequestBody
TEmpWorkRecording
tEmpWorkRecording
)
{
return
R
.
ok
(
tEmpWorkRecordingService
.
save
(
tEmpWorkRecording
));
tEmpWorkRecording
.
setDeleteFlag
(
CommonConstants
.
ZERO_STRING
);
return
tEmpWorkRecordingService
.
saveDiy
(
tEmpWorkRecording
);
}
/**
...
...
@@ -102,7 +103,7 @@ public class TEmpWorkRecordingController {
@PutMapping
@PreAuthorize
(
"@pms.hasPermission('archives_tempworkrecording_edit')"
)
public
R
<
Boolean
>
updateById
(
@RequestBody
TEmpWorkRecording
tEmpWorkRecording
)
{
return
R
.
ok
(
tEmpWorkRecordingService
.
updateById
(
tEmpWorkRecording
)
);
return
tEmpWorkRecordingService
.
updateByIdDiy
(
tEmpWorkRecording
);
}
/**
...
...
@@ -114,7 +115,7 @@ public class TEmpWorkRecordingController {
@SysLog
(
"通过id删除员工工作履历信息表"
)
@DeleteMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('archives_tempworkrecording_del')"
)
public
R
<
Boolean
>
removeById
(
@PathVariable
Lo
ng
id
)
{
public
R
<
Boolean
>
removeById
(
@PathVariable
Stri
ng
id
)
{
return
R
.
ok
(
tEmpWorkRecordingService
.
removeById
(
id
));
}
...
...
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/TEmpWorkRecordingService.java
View file @
3dd3bdf0
...
...
@@ -35,4 +35,8 @@ import java.util.List;
public
interface
TEmpWorkRecordingService
extends
IService
<
TEmpWorkRecording
>
{
R
<
List
<
ErrorMessage
>>
importEmpWorkRecord
(
List
<
EmpWorkRecordExcelVO
>
excelVOList
,
BindingResult
bindingResult
);
R
<
Boolean
>
updateByIdDiy
(
TEmpWorkRecording
tEmpWorkRecording
);
R
<
Boolean
>
saveDiy
(
TEmpWorkRecording
tEmpWorkRecording
);
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TEmpWorkRecordingServiceImpl.java
View file @
3dd3bdf0
...
...
@@ -18,9 +18,13 @@ package com.yifu.cloud.plus.v1.yifu.archives.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.pig4cloud.plugin.excel.vo.ErrorMessage
;
import
com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TEmpFamily
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TEmpWorkRecording
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo
;
import
com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmpWorkRecordingMapper
;
...
...
@@ -100,6 +104,49 @@ public class TEmpWorkRecordingServiceImpl extends ServiceImpl<TEmpWorkRecordingM
return
R
.
ok
();
}
@Override
public
R
<
Boolean
>
updateByIdDiy
(
TEmpWorkRecording
recording
)
{
String
res
=
checkRepeat
(
recording
);
if
(
Common
.
isEmpty
(
res
)){
return
R
.
ok
(
this
.
updateById
(
recording
));
}
else
{
return
R
.
failed
(
checkRepeat
(
recording
));
}
}
@Override
public
R
<
Boolean
>
saveDiy
(
TEmpWorkRecording
recording
)
{
String
res
=
checkRepeat
(
recording
);
if
(
Common
.
isEmpty
(
res
)){
this
.
save
(
recording
);
return
R
.
ok
();
}
else
{
return
R
.
failed
(
checkRepeat
(
recording
));
}
}
public
String
checkRepeat
(
TEmpWorkRecording
recording
)
{
LambdaQueryWrapper
<
TEmpWorkRecording
>
wrapper
=
Wrappers
.
lambdaQuery
();
if
(
StrUtil
.
isNotBlank
(
recording
.
getEmpIdcard
())){
wrapper
.
eq
(
TEmpWorkRecording:
:
getEmpIdcard
,
recording
.
getEmpIdcard
());
}
if
(
StrUtil
.
isNotBlank
(
recording
.
getWorkDepart
())){
wrapper
.
eq
(
TEmpWorkRecording:
:
getWorkDepart
,
recording
.
getWorkDepart
());
}
if
(
StrUtil
.
isNotBlank
(
recording
.
getWorkUnit
())){
wrapper
.
eq
(
TEmpWorkRecording:
:
getWorkUnit
,
recording
.
getWorkUnit
());
}
if
(
StrUtil
.
isNotBlank
(
recording
.
getWorkJob
())){
wrapper
.
eq
(
TEmpWorkRecording:
:
getWorkJob
,
recording
.
getWorkJob
());
}
wrapper
.
eq
(
TEmpWorkRecording:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
);
wrapper
.
last
(
CommonConstants
.
LAST_ONE_SQL
);
if
(
Common
.
isNotNull
(
baseMapper
.
selectOne
(
wrapper
))){
return
MsgUtils
.
getMessage
(
ErrorCodes
.
ARCHIVES_EMP_FAMILY_NAME_EXISTING
,
recording
.
getEmpName
());
}
return
null
;
}
private
void
checkRes
(
List
<
TEmpWorkRecording
>
list
,
TEmployeeInfo
emp
,
Set
<
String
>
errorMsg
,
EmpWorkRecordExcelVO
excel
)
{
if
(
Common
.
isEmpty
(
emp
)){
errorMsg
.
add
(
MsgUtils
.
getMessage
(
ErrorCodes
.
ARCHIVES_EMP_NOT_EXIST
,
excel
.
getEmpIdcard
()));
...
...
yifu-check/yifu-check-api/src/main/java/com/yifu/cloud/plus/v1/check/entity/TCheckBankNo.java
0 → 100644
View file @
3dd3bdf0
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
check
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* 银行卡卡号 校验
*
* @author fxj
* @date 2022-06-20 19:56:33
*/
@Data
@TableName
(
"t_check_bank_no"
)
@EqualsAndHashCode
(
callSuper
=
true
)
@Schema
(
description
=
"银行卡卡号 校验"
)
public
class
TCheckBankNo
extends
BaseEntity
{
/**
* id
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@Schema
(
description
=
"id"
)
private
String
id
;
/**
* 创建人姓名
*/
@Schema
(
description
=
"创建人姓名"
)
private
String
createName
;
/**
* 0:初始数据 1:API验证结果
*/
@Schema
(
description
=
"0:初始数据 1:API验证结果"
)
private
String
type
;
/**
* 响应code码解释
*/
@Schema
(
description
=
"响应code码解释"
)
private
String
message
;
/**
* 样例:信息认证未通过(验证不一致)
*/
@Schema
(
description
=
"样例:信息认证未通过(验证不一致)"
)
private
String
remark
;
/**
* 认证结果
*/
@Schema
(
description
=
" 认证结果"
)
private
String
result
;
/**
* 所属银行。样例:招商银行
*/
@Schema
(
description
=
"所属银行。样例:招商银行"
)
private
String
bankName
;
/**
* 银行卡号
*/
@Schema
(
description
=
"银行卡号"
)
private
String
bankNo
;
/**
* 银行卡类型
*/
@Schema
(
description
=
"银行卡类型"
)
private
String
cardType
;
/**
* 银行卡类别 样例:借记卡
*/
@Schema
(
description
=
"银行卡类别 样例:借记卡"
)
private
String
cardCategory
;
}
yifu-check/yifu-check-api/src/main/java/com/yifu/cloud/plus/v1/check/entity/TCheckMobile.java
View file @
3dd3bdf0
...
...
@@ -17,7 +17,6 @@
package
com
.
yifu
.
cloud
.
plus
.
v1
.
check
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity
;
...
...
yifu-check/yifu-check-api/src/main/java/com/yifu/cloud/plus/v1/check/utils/ChecksUtil.java
View file @
3dd3bdf0
...
...
@@ -3,6 +3,7 @@ package com.yifu.cloud.plus.v1.check.utils;
import
com.google.gson.JsonArray
;
import
com.google.gson.JsonObject
;
import
com.google.gson.JsonParser
;
import
com.yifu.cloud.plus.v1.check.entity.TCheckBankNo
;
import
com.yifu.cloud.plus.v1.check.entity.TCheckIdCard
;
import
com.yifu.cloud.plus.v1.check.entity.TCheckMobile
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
...
...
@@ -20,7 +21,7 @@ import java.util.Map;
*/
public
class
ChecksUtil
{
@Value
(
"${canCheck}"
)
@Value
(
"${canCheck
:false
}"
)
private
static
boolean
canCheck
;
private
static
final
String
APP_ID_ID_CARD
=
"oi0mucL4"
;
...
...
@@ -41,7 +42,12 @@ public class ChecksUtil {
checkIdCard
.
setReason
(
"nacos中checks.yaml的配置canCheck未开启!"
);
}
}
/**
* @Author fxj
* @Description 手机号码状态检测
* @Date 17:50 2022/6/20
* @param mobiles 检测手机号,多个手机号码用英文半角逗号隔开,仅支持国内号码
**/
public
static
R
<
Map
<
String
,
TCheckMobile
>>
checkMobile
(
String
mobiles
)
{
Map
<
String
,
TCheckMobile
>
checkMobiles
=
new
HashMap
<>();
if
(
canCheck
)
{
...
...
@@ -51,7 +57,70 @@ public class ChecksUtil {
return
R
.
failed
(
"nacos中checks.yaml的配置canCheck未开启!"
);
}
}
/**
* @Author fxj
* @Description 银行卡四要素标准版 校验
* @Date 17:50 2022/6/20
* @param name 姓名 是 [string]
* @param idNum 身份证号码,限单个 是 [string]
* @param cardNo 银行卡号,限单个 是 [string]
* @param mobile 银行预留手机号,仅支持国内11位号码
**/
public
static
R
<
TCheckBankNo
>
checkBankNo
(
String
name
,
String
idNum
,
String
cardNo
,
String
mobile
)
{
TCheckBankNo
checkBankNo
=
new
TCheckBankNo
();
if
(
canCheck
)
{
// 1.调用身份信息校验api
return
checkBankNoMethod
(
name
,
idNum
,
cardNo
,
mobile
,
checkBankNo
);
}
else
{
return
R
.
failed
(
"nacos中checks.yaml的配置canCheck未开启!"
);
}
}
private
static
R
<
TCheckBankNo
>
checkBankNoMethod
(
String
name
,
String
idNum
,
String
cardNo
,
String
mobile
,
TCheckBankNo
checkBankNo
)
{
final
JsonObject
jsonObject
=
ChecksUtil
.
invokeBankNo
(
name
,
idNum
,
cardNo
,
mobile
);
// 2.处理返回结果
if
(
jsonObject
!=
null
)
{
//响应code码。200000:成功,其他失败
String
code
=
jsonObject
.
get
(
"code"
).
getAsString
();
if
(
"200000"
.
equals
(
code
)
&&
jsonObject
.
get
(
"data"
)
!=
null
)
{
// 调用身份信息校验成功
// 解析结果数据,进行业务处理
// 校验状态码 200000:成功,其他失败
JsonObject
resJson
=
jsonObject
.
get
(
"data"
).
getAsJsonObject
();
String
message
=
jsonObject
.
get
(
"message"
).
getAsString
();
if
(
Common
.
isNotNull
(
resJson
)){
TCheckBankNo
bankNo
=
new
TCheckBankNo
();
bankNo
.
setBankNo
(
resJson
.
getAsJsonObject
().
get
(
"bankNo"
).
getAsString
());
bankNo
.
setBankName
(
resJson
.
getAsJsonObject
().
get
(
"bankName"
).
getAsString
());
bankNo
.
setCardCategory
(
resJson
.
getAsJsonObject
().
get
(
"cardCategory"
).
getAsString
());
bankNo
.
setCardType
(
resJson
.
getAsJsonObject
().
get
(
"cardType"
).
getAsString
());
bankNo
.
setResult
(
resJson
.
getAsJsonObject
().
get
(
"result"
).
getAsString
());
bankNo
.
setMessage
(
message
);
bankNo
.
setRemark
(
resJson
.
getAsJsonObject
().
get
(
"remark"
).
getAsString
());
bankNo
.
setType
(
CommonConstants
.
ONE_STRING
);
}
}
else
{
// 记录错误日志,正式项目中请换成log打印
return
R
.
failed
(
"银行卡号校验失败,code:"
+
code
+
",msg:"
+
jsonObject
.
get
(
"message"
).
getAsString
());
}
}
else
{
return
R
.
failed
(
"接口无返回数据"
);
}
return
R
.
ok
(
checkBankNo
);
}
/**
* @Author fxj
* @Description 手机号码状态检测
* @Date 17:50 2022/6/20
* @param mobiles 检测手机号,多个手机号码用英文半角逗号隔开,仅支持国内号码
**/
private
static
R
<
Map
<
String
,
TCheckMobile
>>
checkMobileMethod
(
String
mobiles
,
Map
<
String
,
TCheckMobile
>
checkMobileMap
)
{
final
JsonObject
jsonObject
=
ChecksUtil
.
invokeMobile
(
mobiles
);
// 2.处理返回结果
...
...
@@ -146,4 +215,17 @@ public class ChecksUtil {
// 解析json,并返回结果
return
jsonParser
.
parse
(
result
).
getAsJsonObject
();
}
private
static
JsonObject
invokeBankNo
(
String
name
,
String
idNum
,
String
cardNo
,
String
mobile
)
{
Map
<
String
,
String
>
params
=
new
HashMap
<>();
params
.
put
(
"appId"
,
APP_ID_ID_CARD
);
params
.
put
(
"appKey"
,
APP_KEY_ID_CARD
);
params
.
put
(
"name"
,
name
);
params
.
put
(
"idNum"
,
idNum
);
params
.
put
(
"cardNo"
,
cardNo
);
params
.
put
(
"mobile"
,
mobile
);
String
result
=
HttpUtils
.
post
(
API_URL_ID_CARD
,
params
);
// 解析json,并返回结果
return
jsonParser
.
parse
(
result
).
getAsJsonObject
();
}
}
yifu-check/yifu-check-biz/src/main/java/com/yifu/cloud/plus/v1/check/controller/TCheckBankNoController.java
0 → 100644
View file @
3dd3bdf0
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
check
.
controller
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.check.entity.TCheckBankNo
;
import
com.yifu.cloud.plus.v1.check.service.TCheckBankNoService
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog
;
import
com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.security.SecurityRequirement
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
/**
* 银行卡卡号 校验
*
* @author fxj
* @date 2022-06-20 19:56:33
*/
@RestController
@RequiredArgsConstructor
@RequestMapping
(
"/tcheckbankno"
)
@Tag
(
name
=
"银行卡卡号 校验管理"
)
@SecurityRequirement
(
name
=
HttpHeaders
.
AUTHORIZATION
)
public
class
TCheckBankNoController
{
private
final
TCheckBankNoService
tCheckBankNoService
;
/**
* 分页查询
* @param page 分页对象
* @param tCheckBankNo 银行卡卡号 校验
* @return
*/
@Operation
(
summary
=
"分页查询"
,
description
=
"分页查询"
)
@GetMapping
(
"/page"
)
@PreAuthorize
(
"@pms.hasPermission('demo_tcheckbankno_get')"
)
public
R
getTCheckBankNoPage
(
Page
page
,
TCheckBankNo
tCheckBankNo
)
{
return
R
.
ok
(
tCheckBankNoService
.
page
(
page
,
Wrappers
.
query
(
tCheckBankNo
)));
}
/**
* 通过id查询银行卡卡号 校验
* @param id id
* @return R
*/
@Operation
(
summary
=
"通过id查询"
,
description
=
"通过id查询"
)
@GetMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('demo_tcheckbankno_get')"
)
public
R
getById
(
@PathVariable
(
"id"
)
String
id
)
{
return
R
.
ok
(
tCheckBankNoService
.
getById
(
id
));
}
/**
* 新增银行卡卡号 校验
* @param tCheckBankNo 银行卡卡号 校验
* @return R
*/
@Operation
(
summary
=
"新增银行卡卡号 校验"
,
description
=
"新增银行卡卡号 校验"
)
@SysLog
(
"新增银行卡卡号 校验"
)
@PostMapping
@PreAuthorize
(
"@pms.hasPermission('demo_tcheckbankno_add')"
)
public
R
save
(
@RequestBody
TCheckBankNo
tCheckBankNo
)
{
return
R
.
ok
(
tCheckBankNoService
.
save
(
tCheckBankNo
));
}
/**
* 修改银行卡卡号 校验
* @param tCheckBankNo 银行卡卡号 校验
* @return R
*/
@Operation
(
summary
=
"修改银行卡卡号 校验"
,
description
=
"修改银行卡卡号 校验"
)
@SysLog
(
"修改银行卡卡号 校验"
)
@PutMapping
@PreAuthorize
(
"@pms.hasPermission('demo_tcheckbankno_edit')"
)
public
R
updateById
(
@RequestBody
TCheckBankNo
tCheckBankNo
)
{
return
R
.
ok
(
tCheckBankNoService
.
updateById
(
tCheckBankNo
));
}
/**
* 通过id删除银行卡卡号 校验
* @param id id
* @return R
*/
@Operation
(
summary
=
"通过id删除银行卡卡号 校验"
,
description
=
"通过id删除银行卡卡号 校验"
)
@SysLog
(
"通过id删除银行卡卡号 校验"
)
@DeleteMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('demo_tcheckbankno_del')"
)
public
R
removeById
(
@PathVariable
String
id
)
{
return
R
.
ok
(
tCheckBankNoService
.
removeById
(
id
));
}
/**
* 银行卡号校验
* @param name 姓名 是 [string]
* @param idNum 身份证号码,限单个 是 [string]
* @param cardNo 银行卡号,限单个 是 [string]
* @param mobile 银行预留手机号,仅支持国内11位号码
*/
@Operation
(
description
=
"银行卡号校验"
)
@SysLog
(
"银行卡号校验"
)
@Inner
@GetMapping
(
"/checkBankNo"
)
public
R
<
TCheckBankNo
>
checkBankNo
(
String
name
,
String
idNum
,
String
cardNo
,
String
mobile
)
{
return
tCheckBankNoService
.
checkBankNo
(
name
,
idNum
,
cardNo
,
mobile
);
}
}
yifu-check/yifu-check-biz/src/main/java/com/yifu/cloud/plus/v1/check/mapper/TCheckBankNoMapper.java
0 → 100644
View file @
3dd3bdf0
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
check
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yifu.cloud.plus.v1.check.entity.TCheckBankNo
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* 银行卡卡号 校验
*
* @author fxj
* @date 2022-06-20 19:56:33
*/
@Mapper
public
interface
TCheckBankNoMapper
extends
BaseMapper
<
TCheckBankNo
>
{
}
yifu-check/yifu-check-biz/src/main/java/com/yifu/cloud/plus/v1/check/service/TCheckBankNoService.java
0 → 100644
View file @
3dd3bdf0
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
check
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yifu.cloud.plus.v1.check.entity.TCheckBankNo
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
/**
* 银行卡卡号 校验
*
* @author fxj
* @date 2022-06-20 19:56:33
*/
public
interface
TCheckBankNoService
extends
IService
<
TCheckBankNo
>
{
R
<
TCheckBankNo
>
checkBankNo
(
String
name
,
String
idNum
,
String
cardNo
,
String
mobile
);
}
yifu-check/yifu-check-biz/src/main/java/com/yifu/cloud/plus/v1/check/service/impl/TCheckBankNoServiceImpl.java
0 → 100644
View file @
3dd3bdf0
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
check
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yifu.cloud.plus.v1.check.entity.TCheckBankNo
;
import
com.yifu.cloud.plus.v1.check.mapper.TCheckBankNoMapper
;
import
com.yifu.cloud.plus.v1.check.service.TCheckBankNoService
;
import
com.yifu.cloud.plus.v1.check.utils.ChecksUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.Common
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.MsgUtils
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
org.springframework.stereotype.Service
;
/**
* 银行卡卡号 校验
*
* @author fxj
* @date 2022-06-20 19:56:33
*/
@Service
public
class
TCheckBankNoServiceImpl
extends
ServiceImpl
<
TCheckBankNoMapper
,
TCheckBankNo
>
implements
TCheckBankNoService
{
@Override
public
R
<
TCheckBankNo
>
checkBankNo
(
String
name
,
String
idNum
,
String
cardNo
,
String
mobile
)
{
if
(
Common
.
isEmpty
(
name
)
||
Common
.
isEmpty
(
idNum
)
||
Common
.
isEmpty
(
cardNo
)){
return
R
.
failed
(
MsgUtils
.
getMessage
(
ErrorCodes
.
CHECKS_BANK_NO_REQUEST_PARAM_ERROR
));
}
return
ChecksUtil
.
checkBankNo
(
name
,
idNum
,
cardNo
,
mobile
);
}
}
yifu-check/yifu-check-biz/src/main/resources/mapper/TCheckBankNoMapper.xml
0 → 100644
View file @
3dd3bdf0
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yifu.cloud.plus.v1.check.mapper.TCheckBankNoMapper"
>
<resultMap
id=
"tCheckBankNoMap"
type=
"com.yifu.cloud.plus.v1.check.entity.TCheckBankNo"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"createBy"
column=
"create_by"
/>
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"createName"
column=
"create_name"
/>
<result
property=
"type"
column=
"type"
/>
<result
property=
"message"
column=
"message"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"result"
column=
"result"
/>
<result
property=
"bankName"
column=
"bank_name"
/>
<result
property=
"bankNo"
column=
"bank_no"
/>
<result
property=
"cardType"
column=
"card_type"
/>
<result
property=
"cardCategory"
column=
"card_category"
/>
</resultMap>
</mapper>
yifu-common/yifu-common-core/src/main/java/com/yifu.cloud.plus.v1/yifu/common/core/exception/ErrorCodes.java
View file @
3dd3bdf0
...
...
@@ -201,4 +201,8 @@ public interface ErrorCodes {
* 单次号码状态校验请求上限100
*/
String
CHECKS_MOBILE_REQUEST_LIMIT_HUNDRED
=
"checks.mobile.request.limit.hundred"
;
/**
* 银行卡号校验传参有误:姓名、身份证号、银行卡号 必填
*/
String
CHECKS_BANK_NO_REQUEST_PARAM_ERROR
=
"checks.bank.no.request.param.error"
;
}
yifu-common/yifu-common-core/src/main/resources/i18n/messages_zh_CN.properties
View file @
3dd3bdf0
...
...
@@ -52,6 +52,7 @@ param.not.empty=\u53C2\u6570\u4E0D\u53EF\u4E3A\u7A7A
checks.mobile.request.error
=
\u6821\u
9A8C
\u
8BF7
\u
6C42
\u
5F02
\u
5E38
checks.mobile.request.limit.hundred
=
\u5355\u
6B21
\u
53F7
\u7801\u
72B6
\u6001\u6821\u
9A8C
\u
8BF7
\u
6C42
\u
4E0A
\u9650
100
checks.bank.no.request.param.error
=
\u
94F6
\u
884C
\u5361\u
53F7
\u6821\u
9A8C
\u
4F20
\u
53C2
\u6709\u
8BEF
\u
FF1A
\u
59D3
\u
540D
\u3001\u
8EAB
\u
4EFD
\u
8BC1
\u
53F7
\u3001\u
94F6
\u
884C
\u5361\u
53F7
\u
5FC5
\u
586B
...
...
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