Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
cms-ci-test
Commits
bfe05eb3
提交
bfe05eb3
authored
7月 27, 2023
作者:
zhenjie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
实名认证
上级
1404d83a
隐藏空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
875 行增加
和
4 行删除
+875
-4
RealNameAuthDTO.java
...ain/java/com/mmc/iuav/user/model/dto/RealNameAuthDTO.java
+46
-0
RealNameAuthDetailDTO.java
...va/com/mmc/iuav/user/model/dto/RealNameAuthDetailDTO.java
+37
-0
RealNameAuthQO.java
.../main/java/com/mmc/iuav/user/model/qo/RealNameAuthQO.java
+53
-0
RealNameAuthVO.java
.../main/java/com/mmc/iuav/user/model/vo/RealNameAuthVO.java
+48
-0
ResultEnum.java
...-util/src/main/java/com/mmc/iuav/response/ResultEnum.java
+15
-2
RealNameAuthController.java
.../com/mmc/iuav/user/controller/RealNameAuthController.java
+57
-0
RealNameAuthDao.java
.../src/main/java/com/mmc/iuav/user/dao/RealNameAuthDao.java
+34
-0
RealNameAuthDO.java
...rc/main/java/com/mmc/iuav/user/entity/RealNameAuthDO.java
+61
-0
RealNameAuthService.java
...n/java/com/mmc/iuav/user/service/RealNameAuthService.java
+20
-0
AuthServiceImpl.java
.../java/com/mmc/iuav/user/service/impl/AuthServiceImpl.java
+11
-0
CompanyAuthServiceImpl.java
...om/mmc/iuav/user/service/impl/CompanyAuthServiceImpl.java
+1
-1
CooperationServiceImpl.java
...om/mmc/iuav/user/service/impl/CooperationServiceImpl.java
+1
-1
RealNameAuthServiceImpl.java
...m/mmc/iuav/user/service/impl/RealNameAuthServiceImpl.java
+161
-0
RealNameAuthUtil.java
...rc/main/java/com/mmc/iuav/user/util/RealNameAuthUtil.java
+190
-0
RealNameAuthDao.xml
...ervice-user/src/main/resources/mapper/RealNameAuthDao.xml
+140
-0
没有找到文件。
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/dto/RealNameAuthDTO.java
0 → 100644
浏览文件 @
bfe05eb3
package
com
.
mmc
.
iuav
.
user
.
model
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @author: zj
* @Date: 2023/7/27 14:49
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
description
=
"实名认证DTO"
)
public
class
RealNameAuthDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1449716605649423527L
;
@ApiModelProperty
(
value
=
"实名认证id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"用户userAccountId"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"实名认证状态"
)
private
Integer
checkStatus
;
@ApiModelProperty
(
value
=
"真实姓名"
)
private
String
userName
;
@ApiModelProperty
(
value
=
"身份证号码"
)
private
String
idNumber
;
@ApiModelProperty
(
value
=
"备注"
)
private
String
remark
;
@ApiModelProperty
(
value
=
"用户uid"
)
private
String
uid
;
@ApiModelProperty
(
value
=
"用户昵称"
)
private
String
nickName
;
@ApiModelProperty
(
value
=
"用户常驻地址"
)
private
String
resAddress
;
@ApiModelProperty
(
value
=
"手机号"
)
private
String
phoneNum
;
@ApiModelProperty
(
value
=
"实名认证时间"
)
private
String
createTime
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/dto/RealNameAuthDetailDTO.java
0 → 100644
浏览文件 @
bfe05eb3
package
com
.
mmc
.
iuav
.
user
.
model
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @author: zj
* @Date: 2023/7/27 14:49
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
description
=
"实名认证详情DTO"
)
public
class
RealNameAuthDetailDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
3101785098483923008L
;
@ApiModelProperty
(
value
=
"实名认证id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"用户userAccountId"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"身份证正面"
)
private
String
frontIdImg
;
@ApiModelProperty
(
value
=
"身份证背面"
)
private
String
backIdImg
;
@ApiModelProperty
(
value
=
"身份证好"
)
private
String
idNumber
;
@ApiModelProperty
(
value
=
"姓名"
)
private
String
userName
;
@ApiModelProperty
(
value
=
"状态"
)
private
Integer
checkStatus
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/qo/RealNameAuthQO.java
0 → 100644
浏览文件 @
bfe05eb3
package
com
.
mmc
.
iuav
.
user
.
model
.
qo
;
import
com.mmc.iuav.group.Page
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* author:zhenjie
* Date:2021/10/27
* time:20:08
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
description
=
"实名认证查询QO"
)
public
class
RealNameAuthQO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
3767938308251944541L
;
@ApiModelProperty
(
value
=
"关键字"
)
private
String
keyword
;
@ApiModelProperty
(
value
=
"地区"
,
hidden
=
true
)
private
String
area
;
@ApiModelProperty
(
value
=
"实名认证状态"
,
hidden
=
true
)
private
Integer
checkStatus
;
@ApiModelProperty
(
value
=
"单位id集合"
,
hidden
=
true
)
private
List
<
Integer
>
companyIds
;
@ApiModelProperty
(
value
=
"页码"
,
required
=
true
)
@NotNull
(
message
=
"页码不能为空"
,
groups
=
Page
.
class
)
@Min
(
value
=
1
,
groups
=
Page
.
class
)
private
Integer
pageNo
;
@ApiModelProperty
(
value
=
"每页显示数"
,
required
=
true
)
@NotNull
(
message
=
"每页显示数不能为空"
,
groups
=
Page
.
class
)
@Min
(
value
=
1
,
groups
=
Page
.
class
)
private
Integer
pageSize
;
public
void
buildCurrentPage
()
{
this
.
pageNo
=
(
pageNo
-
1
)
*
pageSize
;
}
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/RealNameAuthVO.java
0 → 100644
浏览文件 @
bfe05eb3
package
com
.
mmc
.
iuav
.
user
.
model
.
vo
;
import
com.mmc.iuav.group.Create
;
import
com.mmc.iuav.group.Update
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
* @author: zj
* @Date: 2023/7/27 14:49
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
description
=
"新增/修改参数类"
)
public
class
RealNameAuthVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
8096210744248682679L
;
@ApiModelProperty
(
value
=
"用户ID"
)
@NotNull
(
message
=
"用户ID不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"名字"
)
@NotBlank
(
message
=
"名字不能为空"
,
groups
=
{
Create
.
class
})
private
String
userName
;
@ApiModelProperty
(
value
=
"身份证号码"
)
@NotBlank
(
message
=
"身份证号码不能为空"
,
groups
=
{
Create
.
class
})
private
String
idNumber
;
@ApiModelProperty
(
value
=
"身份证正面照片地址"
)
@NotBlank
(
message
=
"身份证正面照片不能为空"
,
groups
=
{
Create
.
class
})
private
String
frontIdImg
;
@ApiModelProperty
(
value
=
"身份证反面照片地址"
)
@NotBlank
(
message
=
"身份证反面照片不能为空"
,
groups
=
{
Create
.
class
})
private
String
backIdImg
;
@ApiModelProperty
(
value
=
"unionId"
)
private
String
unionId
;
}
cms-common/cms-common-util/src/main/java/com/mmc/iuav/response/ResultEnum.java
浏览文件 @
bfe05eb3
...
@@ -43,7 +43,6 @@ public enum ResultEnum implements BaseErrorInfoInterface {
...
@@ -43,7 +43,6 @@ public enum ResultEnum implements BaseErrorInfoInterface {
PWD_CONPARED_ERROR
(
"6002"
,
"密码错误"
),
PWD_ALERT_ERROR
(
"6003"
,
"密码不一致"
),
PWD_CONPARED_ERROR
(
"6002"
,
"密码错误"
),
PWD_ALERT_ERROR
(
"6003"
,
"密码不一致"
),
PWD_REQUEST_AUTH_ERROR
(
"6003"
,
"密码请求验证"
),
PWD_REQUEST_AUTH_ERROR
(
"6003"
,
"密码请求验证"
),
APPLET_PORT_TYPE_ERROR
(
"7001"
,
"小程序端口类型错误"
),
APPLET_PORT_TYPE_ERROR
(
"7001"
,
"小程序端口类型错误"
),
APPLET_LOGIN_ERROR
(
"7002"
,
"获取小程序登录信息失败"
),
APPLET_LOGIN_ERROR
(
"7002"
,
"获取小程序登录信息失败"
),
UPDATE_USER_ACCOUNT_REPEAT
(
"7003"
,
"修改后的账户名已存在"
),
UPDATE_USER_ACCOUNT_REPEAT
(
"7003"
,
"修改后的账户名已存在"
),
...
@@ -56,7 +55,21 @@ public enum ResultEnum implements BaseErrorInfoInterface {
...
@@ -56,7 +55,21 @@ public enum ResultEnum implements BaseErrorInfoInterface {
UPDATE_ADMIN_ROLE_ERROR
(
"8009"
,
"禁止修改admin账号的角色"
),
UPDATE_ADMIN_ROLE_ERROR
(
"8009"
,
"禁止修改admin账号的角色"
),
ONLY_ONE_ADMIN_ERROR
(
"8010"
,
"禁止该账号获取超级管理员角色"
),
ONLY_ONE_ADMIN_ERROR
(
"8010"
,
"禁止该账号获取超级管理员角色"
),
DELETE_ADMIN_ERROR
(
"8011"
,
"禁止删除超级管理员角色账号"
),
DELETE_ADMIN_ERROR
(
"8011"
,
"禁止删除超级管理员角色账号"
),
DELETE_YOURSELF_ERROR
(
"8011"
,
"禁止删除自己的账号"
);
DELETE_YOURSELF_ERROR
(
"8011"
,
"禁止删除自己的账号"
),
ID_INFO_AND_ID_card_MISMATCH
(
"3904"
,
"身份信息与身份证不匹配"
),
INTERFACE_ACCESS_EXCEPTION
(
"36894"
,
"接口访问异常/次数用尽"
),
FRONT_BACK_VAGUE
(
"35556"
,
"身份证正反面不明确"
),
ID_CARD_THOTO_MESSAGE_ERROR
(
"36651"
,
"身份照信息错误"
),
EXPTION_ID_CARD_THOTO_MESSAGE_ERROR
(
"36651"
,
"信息异常"
),
PHOTO_FORMAT_ERROR
(
"12138"
,
"身份证图片格式错误"
),
VALIDATION_INFO_EXPIRED
(
"32815"
,
"认证时间过长信息过期或认证信息不完整,请重新开始认证"
),
REAL_IMAGE_AUTHENTICATION_SUCESS
(
"38844"
,
"验证成功"
),
REAL_IMAGE_AUTHENTICATION_FAILED
(
"38855"
,
"验证失败,请再次进行人脸识别"
),
IDENTITY_HAS_BEEN_AUTHENTICATED
(
"34444"
,
"此身份证信息已经被认证,请重试"
),
REAL_NAME_ACCOUNT_ID_ERROR
(
"36771"
,
"账户id错误"
),
REAL_NAME_FUSING_ERROR
(
"36772"
,
"认证失败,请重新认证"
),
REAL_NAME_PASS_ERROR
(
"36773"
,
"已成功认证"
);
/**
/**
* 错误码
* 错误码
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/RealNameAuthController.java
0 → 100644
浏览文件 @
bfe05eb3
package
com
.
mmc
.
iuav
.
user
.
controller
;
import
com.mmc.iuav.group.Create
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.dto.RealNameAuthDTO
;
import
com.mmc.iuav.user.model.qo.RealNameAuthQO
;
import
com.mmc.iuav.user.model.vo.RealNameAuthVO
;
import
com.mmc.iuav.user.service.RealNameAuthService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @author: zj
* @Date: 2023/7/27 10:04
*/
@Api
(
tags
=
"实名认证"
)
@RequestMapping
(
"/real-name-auth/"
)
@RestController
public
class
RealNameAuthController
extends
BaseController
{
@Autowired
private
RealNameAuthService
realNameAuthService
;
@ApiOperation
(
value
=
"提交实名认证"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"add"
)
public
ResultBody
add
(
@Validated
(
value
=
{
Create
.
class
})
@RequestBody
RealNameAuthVO
realNameAuthVO
)
{
return
realNameAuthService
.
add
(
realNameAuthVO
);
}
@ApiOperation
(
value
=
"实名认证详情"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
RealNameAuthDTO
.
class
)})
@GetMapping
(
"detail"
)
public
ResultBody
<
RealNameAuthDTO
>
detail
(
@RequestParam
Integer
id
)
{
return
realNameAuthService
.
detail
(
id
);
}
@ApiOperation
(
value
=
"用户实名认证详情"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
RealNameAuthDTO
.
class
)})
@GetMapping
(
"userDetail"
)
public
ResultBody
<
RealNameAuthDTO
>
userDetail
(
HttpServletRequest
request
)
{
return
realNameAuthService
.
userDetail
(
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
());
}
@ApiOperation
(
value
=
"实名认证列表"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"listPage"
)
public
ResultBody
listPage
(
@RequestBody
RealNameAuthQO
realNameAuthQO
)
{
return
realNameAuthService
.
listPage
(
realNameAuthQO
);
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/RealNameAuthDao.java
0 → 100644
浏览文件 @
bfe05eb3
package
com
.
mmc
.
iuav
.
user
.
dao
;
import
com.mmc.iuav.user.entity.RealNameAuthDO
;
import
com.mmc.iuav.user.model.qo.RealNameAuthQO
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* @author: zj
* @Date: 2023/7/27 10:05
*/
@Mapper
public
interface
RealNameAuthDao
{
int
existHasBeenAuth
(
String
unionId
,
String
idNumber
);
RealNameAuthDO
getRealNameAuthByUnionId
(
String
unionId
);
RealNameAuthDO
getRealNameAuthBakByUnionId
(
String
unionId
);
void
addRealNameAuth
(
RealNameAuthDO
realNameAuthDO
);
void
updateRealNameAuth
(
RealNameAuthDO
realNameAuthDO
);
RealNameAuthDO
getRealNameAuthByUId
(
Integer
userAccountId
);
RealNameAuthDO
getRealNameAuthById
(
Integer
id
);
int
countListRealNameAuth
(
RealNameAuthQO
realNameAuthQO
);
List
<
RealNameAuthDO
>
listRealNameAuth
(
RealNameAuthQO
realNameAuthQO
);
RealNameAuthDO
userDetail
(
Integer
userAccountId
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/RealNameAuthDO.java
0 → 100644
浏览文件 @
bfe05eb3
package
com
.
mmc
.
iuav
.
user
.
entity
;
import
com.mmc.iuav.user.model.dto.RealNameAuthDTO
;
import
com.mmc.iuav.user.model.dto.RealNameAuthDetailDTO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
/**
* @author: zj
* @Date: 2023/7/27 14:49
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
RealNameAuthDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1752966940978678911L
;
private
Integer
id
;
private
Integer
cuId
;
private
Integer
userAccountId
;
private
String
frontIdImg
;
private
String
backIdImg
;
private
String
idNumber
;
private
String
userName
;
private
Integer
sex
;
private
String
nationality
;
private
Date
birthday
;
private
String
address
;
private
String
issue
;
private
Date
startDate
;
private
Date
endDate
;
private
Integer
fakeFront
;
private
Integer
fakeBack
;
private
Integer
checkStatus
;
private
String
remark
;
private
Date
createTime
;
private
Date
updateTime
;
private
String
uid
;
private
String
nickName
;
private
String
resAddress
;
private
String
phoneNum
;
private
String
unionId
;
public
RealNameAuthDetailDTO
buildRealNameAuthDetailDTO
()
{
return
RealNameAuthDetailDTO
.
builder
().
id
(
this
.
id
).
userAccountId
(
this
.
userAccountId
).
frontIdImg
(
this
.
frontIdImg
)
.
backIdImg
(
this
.
backIdImg
).
idNumber
(
this
.
idNumber
).
userName
(
this
.
userName
).
checkStatus
(
this
.
checkStatus
)
.
build
();
}
public
RealNameAuthDTO
buildRealNameAuthDTO
()
{
SimpleDateFormat
cur
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
return
RealNameAuthDTO
.
builder
().
id
(
this
.
id
).
userAccountId
(
this
.
userAccountId
).
uid
(
this
.
id
+
""
)
.
nickName
(
this
.
nickName
).
userName
(
this
.
userName
).
phoneNum
(
this
.
phoneNum
).
idNumber
(
this
.
idNumber
)
.
resAddress
(
this
.
resAddress
).
checkStatus
(
this
.
checkStatus
)
.
createTime
((
this
.
createTime
==
null
)
?
null
:
cur
.
format
(
this
.
createTime
)).
remark
(
this
.
remark
).
build
();
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/RealNameAuthService.java
0 → 100644
浏览文件 @
bfe05eb3
package
com
.
mmc
.
iuav
.
user
.
service
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.dto.RealNameAuthDTO
;
import
com.mmc.iuav.user.model.qo.RealNameAuthQO
;
import
com.mmc.iuav.user.model.vo.RealNameAuthVO
;
/**
* @author: zj
* @Date: 2023/7/27 10:07
*/
public
interface
RealNameAuthService
{
ResultBody
add
(
RealNameAuthVO
realNameAuthVO
);
ResultBody
<
RealNameAuthDTO
>
detail
(
Integer
id
);
ResultBody
listPage
(
RealNameAuthQO
realNameAuthQO
);
ResultBody
<
RealNameAuthDTO
>
userDetail
(
Integer
userAccountId
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/AuthServiceImpl.java
浏览文件 @
bfe05eb3
...
@@ -10,6 +10,7 @@ import com.mmc.iuav.user.auth.PwdUtil;
...
@@ -10,6 +10,7 @@ import com.mmc.iuav.user.auth.PwdUtil;
import
com.mmc.iuav.user.client.PayClient
;
import
com.mmc.iuav.user.client.PayClient
;
import
com.mmc.iuav.user.constant.WxConstant
;
import
com.mmc.iuav.user.constant.WxConstant
;
import
com.mmc.iuav.user.dao.CompanyAuthDao
;
import
com.mmc.iuav.user.dao.CompanyAuthDao
;
import
com.mmc.iuav.user.dao.RealNameAuthDao
;
import
com.mmc.iuav.user.dao.RoleDao
;
import
com.mmc.iuav.user.dao.RoleDao
;
import
com.mmc.iuav.user.entity.*
;
import
com.mmc.iuav.user.entity.*
;
import
com.mmc.iuav.user.enums.UserAccountStatus
;
import
com.mmc.iuav.user.enums.UserAccountStatus
;
...
@@ -56,6 +57,9 @@ public class AuthServiceImpl implements AuthService {
...
@@ -56,6 +57,9 @@ public class AuthServiceImpl implements AuthService {
private
RoleDao
roleDao
;
private
RoleDao
roleDao
;
@Autowired
@Autowired
private
RealNameAuthDao
realNameAuthDao
;
@Autowired
private
CompanyService
companyService
;
private
CompanyService
companyService
;
@Autowired
@Autowired
...
@@ -97,6 +101,13 @@ public class AuthServiceImpl implements AuthService {
...
@@ -97,6 +101,13 @@ public class AuthServiceImpl implements AuthService {
userAccountService
.
insertUserAccount
(
userAccountDO
);
userAccountService
.
insertUserAccount
(
userAccountDO
);
userAccountVO
=
userAccountDO
.
buildUserAccountVO
();
userAccountVO
=
userAccountDO
.
buildUserAccountVO
();
payClient
.
createWallet
(
userAccountDO
.
getId
());
payClient
.
createWallet
(
userAccountDO
.
getId
());
// 查询之前有没有实名过
RealNameAuthDO
nameAuthByUnionId
=
realNameAuthDao
.
getRealNameAuthBakByUnionId
(
unionId
);
if
(
nameAuthByUnionId
!=
null
)
{
nameAuthByUnionId
.
setUserAccountId
(
userAccountDO
.
getId
());
nameAuthByUnionId
.
setId
(
null
);
realNameAuthDao
.
addRealNameAuth
(
nameAuthByUnionId
);
}
}
else
{
}
else
{
CompanyAuthDO
companyAuthDO
=
companyAuthDao
.
getCompanyAuth
(
userAccountVO
.
getId
());
CompanyAuthDO
companyAuthDO
=
companyAuthDao
.
getCompanyAuth
(
userAccountVO
.
getId
());
companyAuthStatus
=
companyAuthDO
==
null
?
0
:
1
;
companyAuthStatus
=
companyAuthDO
==
null
?
0
:
1
;
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/CompanyAuthServiceImpl.java
浏览文件 @
bfe05eb3
...
@@ -44,7 +44,7 @@ public class CompanyAuthServiceImpl implements CompanyAuthService {
...
@@ -44,7 +44,7 @@ public class CompanyAuthServiceImpl implements CompanyAuthService {
if
(
companyInfoDO
!=
null
)
{
if
(
companyInfoDO
!=
null
)
{
List
<
CompanyMemberDO
>
companyMemberDOS
=
companyDao
.
listCompanyMembers
(
companyInfoDO
.
getId
());
List
<
CompanyMemberDO
>
companyMemberDOS
=
companyDao
.
listCompanyMembers
(
companyInfoDO
.
getId
());
if
(!
CollectionUtils
.
isEmpty
(
companyMemberDOS
))
{
if
(!
CollectionUtils
.
isEmpty
(
companyMemberDOS
))
{
return
ResultBody
.
error
(
ResultEnum
.
APPLET_LOGIN
_ERROR
);
return
ResultBody
.
error
(
ResultEnum
.
COMPANY_EXIST
_ERROR
);
}
}
}
else
{
}
else
{
companyInfoDO
=
new
CompanyInfoDO
();
companyInfoDO
=
new
CompanyInfoDO
();
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/CooperationServiceImpl.java
浏览文件 @
bfe05eb3
...
@@ -183,6 +183,7 @@ public class CooperationServiceImpl implements CooperationService {
...
@@ -183,6 +183,7 @@ public class CooperationServiceImpl implements CooperationService {
}
}
// 审批通过生成后台对应的账号
// 审批通过生成后台对应的账号
BUserAccountVO
bUserAccountVO
=
this
.
generateBackUserAccountVO
(
userApplyTag
);
BUserAccountVO
bUserAccountVO
=
this
.
generateBackUserAccountVO
(
userApplyTag
);
log
.
info
(
"check apply cooperation tag, bUserAccountVO:{}"
,
JSONObject
.
toJSONString
(
bUserAccountVO
));
ResultBody
resultBody
=
backUserAccountService
.
insertBAccount
(
bUserAccountVO
);
ResultBody
resultBody
=
backUserAccountService
.
insertBAccount
(
bUserAccountVO
);
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
// 生成账号失败处理
// 生成账号失败处理
...
@@ -195,7 +196,6 @@ public class CooperationServiceImpl implements CooperationService {
...
@@ -195,7 +196,6 @@ public class CooperationServiceImpl implements CooperationService {
}
}
throw
new
BizException
(
ResultEnum
.
COOPERATION_CHECK_NOT_PASS_ERROR
);
throw
new
BizException
(
ResultEnum
.
COOPERATION_CHECK_NOT_PASS_ERROR
);
}
}
log
.
info
(
"check apply cooperation tag, bUserAccountVO:{}"
,
JSONObject
.
toJSONString
(
bUserAccountVO
));
Map
<
String
,
String
>
param
=
new
HashMap
<
String
,
String
>();
Map
<
String
,
String
>
param
=
new
HashMap
<
String
,
String
>();
param
.
put
(
"accountNo"
,
bUserAccountVO
.
getAccountNo
());
param
.
put
(
"accountNo"
,
bUserAccountVO
.
getAccountNo
());
param
.
put
(
"password"
,
bUserAccountVO
.
getPassWord
());
param
.
put
(
"password"
,
bUserAccountVO
.
getPassWord
());
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/RealNameAuthServiceImpl.java
0 → 100644
浏览文件 @
bfe05eb3
package
com
.
mmc
.
iuav
.
user
.
service
.
impl
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.mmc.iuav.page.PageResult
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.response.ResultEnum
;
import
com.mmc.iuav.user.dao.RealNameAuthDao
;
import
com.mmc.iuav.user.entity.RealNameAuthDO
;
import
com.mmc.iuav.user.model.dto.RealNameAuthDTO
;
import
com.mmc.iuav.user.model.qo.RealNameAuthQO
;
import
com.mmc.iuav.user.model.vo.RealNameAuthVO
;
import
com.mmc.iuav.user.service.RealNameAuthService
;
import
com.mmc.iuav.user.util.RealNameAuthUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @author: zj
* @Date: 2023/7/27 10:07
*/
@Service
@Slf4j
public
class
RealNameAuthServiceImpl
implements
RealNameAuthService
{
@Autowired
private
RealNameAuthDao
realNameAuthDao
;
@Override
public
ResultBody
add
(
RealNameAuthVO
realNameAuthVO
)
{
RealNameAuthDO
realNameAuthDO0
=
realNameAuthDao
.
getRealNameAuthByUId
(
realNameAuthVO
.
getUserAccountId
());
if
(
realNameAuthDO0
!=
null
&&
realNameAuthDO0
.
getCheckStatus
().
equals
(
1
))
{
return
ResultBody
.
error
(
ResultEnum
.
REAL_NAME_PASS_ERROR
);
}
// 查询是否已认证
int
count
=
realNameAuthDao
.
existHasBeenAuth
(
realNameAuthVO
.
getUnionId
(),
realNameAuthVO
.
getIdNumber
());
if
(
count
>
0
)
{
return
ResultBody
.
error
(
ResultEnum
.
IDENTITY_HAS_BEEN_AUTHENTICATED
);
}
// 校验正面
ResultBody
faceResult
=
RealNameAuthUtil
.
deal
(
realNameAuthVO
.
getFrontIdImg
(),
"face"
);
// 校验反面
ResultBody
backResult
=
RealNameAuthUtil
.
deal
(
realNameAuthVO
.
getBackIdImg
(),
"back"
);
String
faceMsg
=
JSONObject
.
parseObject
(
faceResult
.
toString
()).
getString
(
"code"
);
String
backMsg
=
JSONObject
.
parseObject
(
backResult
.
toString
()).
getString
(
"code"
);
// 都解析通过
if
(
faceMsg
.
equals
(
"200"
)
&&
backMsg
.
equals
(
"200"
))
{
// 处理正面
JSONObject
faceResultJson
=
JSONObject
.
parseObject
(
JSONObject
.
parseObject
(
faceResult
.
toString
()).
getString
(
"result"
));
JSONObject
backResultJson
=
JSONObject
.
parseObject
(
JSONObject
.
parseObject
(
backResult
.
toString
()).
getString
(
"result"
));
// 正面解析成功的时候,拿用户输入的信息与解析的数据作对比,一致再进行下一步,不一致提醒"用户输入的信息与身份证的不一致,请重新上传"
if
(!
faceResultJson
.
getString
(
"name"
).
equals
(
realNameAuthVO
.
getUserName
())
||
!
realNameAuthVO
.
getIdNumber
().
equals
(
faceResultJson
.
getString
(
"num"
)))
{
return
ResultBody
.
error
(
ResultEnum
.
ID_INFO_AND_ID_card_MISMATCH
);
}
RealNameAuthDO
realNameAuthDO
=
new
RealNameAuthDO
();
realNameAuthDO
.
setCheckStatus
(
1
);
realNameAuthDO
.
setUserAccountId
(
realNameAuthVO
.
getUserAccountId
());
realNameAuthDO
.
setFrontIdImg
(
realNameAuthVO
.
getFrontIdImg
());
realNameAuthDO
.
setBackIdImg
(
realNameAuthVO
.
getBackIdImg
());
realNameAuthDO
.
setUserName
(
faceResultJson
.
getString
(
"name"
));
realNameAuthDO
.
setIdNumber
(
faceResultJson
.
getString
(
"num"
));
realNameAuthDO
.
setAddress
(
faceResultJson
.
getString
(
"address"
));
realNameAuthDO
.
setNationality
(
faceResultJson
.
getString
(
"nationality"
));
realNameAuthDO
.
setIssue
(
backResultJson
.
getString
(
"issue"
));
if
(
faceResultJson
.
getString
(
"sex"
).
equals
(
"男"
))
{
realNameAuthDO
.
setSex
(
1
);
}
else
if
(
faceResultJson
.
getString
(
"sex"
).
equals
(
"女"
))
{
realNameAuthDO
.
setSex
(
2
);
}
else
{
realNameAuthDO
.
setSex
(
0
);
}
if
(
faceResultJson
.
getString
(
"is_fake"
).
equals
(
false
))
{
realNameAuthDO
.
setFakeFront
(
1
);
}
else
{
realNameAuthDO
.
setFakeFront
(
0
);
}
if
(
backResultJson
.
getString
(
"is_fake"
).
equals
(
false
))
{
realNameAuthDO
.
setFakeBack
(
1
);
}
else
{
realNameAuthDO
.
setFakeBack
(
0
);
}
realNameAuthDO
.
setBirthday
(
this
.
getDate
(
faceResultJson
.
getString
(
"birth"
),
"yyyyMMdd"
));
realNameAuthDO
.
setStartDate
(
this
.
getDate
(
backResultJson
.
getString
(
"start_date"
),
"yyyyMMdd"
));
if
(
backResultJson
.
getString
(
"end_date"
).
equals
(
"长期"
))
{
realNameAuthDO
.
setEndDate
(
null
);
}
else
{
realNameAuthDO
.
setEndDate
(
this
.
getDate
(
backResultJson
.
getString
(
"end_date"
),
"yyyyMMdd"
));
}
// 记录到数据库
// 判断之前有没有认证成功
RealNameAuthDO
beforeRealNameAuthDO
=
realNameAuthDao
.
getRealNameAuthByUnionId
(
realNameAuthVO
.
getUnionId
());
if
(
beforeRealNameAuthDO
==
null
)
{
realNameAuthDao
.
addRealNameAuth
(
realNameAuthDO
);
}
else
{
Date
date
=
new
Date
();
realNameAuthDO
.
setCreateTime
(
date
);
realNameAuthDO
.
setId
(
beforeRealNameAuthDO
.
getId
());
realNameAuthDao
.
updateRealNameAuth
(
realNameAuthDO
);
}
return
ResultBody
.
success
();
}
else
{
return
ResultBody
.
error
(
ResultEnum
.
PHOTO_FORMAT_ERROR
);
}
}
@Override
public
ResultBody
<
RealNameAuthDTO
>
detail
(
Integer
id
)
{
RealNameAuthDO
realNameAuthDO
=
realNameAuthDao
.
getRealNameAuthById
(
id
);
if
(
realNameAuthDO
!=
null
)
{
return
ResultBody
.
success
(
realNameAuthDO
.
buildRealNameAuthDTO
());
}
return
ResultBody
.
success
();
}
@Override
public
ResultBody
listPage
(
RealNameAuthQO
realNameAuthQO
)
{
int
count
=
realNameAuthDao
.
countListRealNameAuth
(
realNameAuthQO
);
if
(
count
==
0
)
{
return
ResultBody
.
success
(
PageResult
.
buildPage
(
realNameAuthQO
.
getPageNo
(),
realNameAuthQO
.
getPageSize
(),
count
));
}
int
pageNo
=
realNameAuthQO
.
getPageNo
();
realNameAuthQO
.
buildCurrentPage
();
List
<
RealNameAuthDO
>
list
=
realNameAuthDao
.
listRealNameAuth
(
realNameAuthQO
);
List
<
RealNameAuthDTO
>
pageList
=
list
.
stream
().
map
(
d
->
{
return
d
.
buildRealNameAuthDTO
();
}).
collect
(
Collectors
.
toList
());
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
realNameAuthQO
.
getPageSize
(),
count
,
pageList
));
}
@Override
public
ResultBody
<
RealNameAuthDTO
>
userDetail
(
Integer
userAccountId
)
{
RealNameAuthDO
realNameAuthDO
=
realNameAuthDao
.
userDetail
(
userAccountId
);
if
(
realNameAuthDO
!=
null
)
{
return
ResultBody
.
success
(
realNameAuthDO
.
buildRealNameAuthDTO
());
}
return
ResultBody
.
success
();
}
public
Date
getDate
(
String
str
,
String
format
)
{
Date
date
=
null
;
try
{
// 设置日期格式
SimpleDateFormat
df
=
new
SimpleDateFormat
(
format
);
// String dates=df.format(new Date());// new Date()为获取当前系统时间
date
=
df
.
parse
(
str
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
date
;
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/util/RealNameAuthUtil.java
0 → 100644
浏览文件 @
bfe05eb3
package
com
.
mmc
.
iuav
.
user
.
util
;
import
com.alibaba.fastjson2.JSON
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.response.ResultEnum
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.http.HttpResponse
;
import
org.apache.http.client.HttpClient
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.conn.ClientConnectionManager
;
import
org.apache.http.conn.scheme.Scheme
;
import
org.apache.http.conn.scheme.SchemeRegistry
;
import
org.apache.http.conn.ssl.SSLSocketFactory
;
import
org.apache.http.entity.StringEntity
;
import
org.apache.http.impl.client.DefaultHttpClient
;
import
org.apache.http.util.EntityUtils
;
import
javax.net.ssl.SSLContext
;
import
javax.net.ssl.TrustManager
;
import
javax.net.ssl.X509TrustManager
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLEncoder
;
import
java.security.KeyManagementException
;
import
java.security.NoSuchAlgorithmException
;
import
java.security.cert.X509Certificate
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author: zj
* @Date: 2023/7/27 14:54
*/
public
class
RealNameAuthUtil
{
public
static
ResultBody
deal
(
String
idCardUrl
,
String
side
)
{
Map
<
String
,
String
>
headers
=
new
HashMap
<
String
,
String
>();
//最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
headers
.
put
(
"Authorization"
,
"APPCODE "
+
"524b1864a88f47458c1061bae3811570"
);
//根据API的要求,定义相对应的Content-Type
headers
.
put
(
"Content-Type"
,
"application/json; charset=UTF-8"
);
Map
<
String
,
String
>
querys
=
new
HashMap
<
String
,
String
>();
//configure配置
JSONObject
configObj
=
new
JSONObject
();
configObj
.
put
(
"side"
,
side
);
String
config_str
=
configObj
.
toString
();
// 拼装请求body的json字符串
JSONObject
requestObj
=
new
JSONObject
();
requestObj
.
put
(
"image"
,
idCardUrl
);
if
(
configObj
.
size
()
>
0
)
{
requestObj
.
put
(
"configure"
,
config_str
);
}
String
bodys
=
requestObj
.
toString
();
return
PhotoMessgHandle
(
idCardUrl
,
side
,
querys
,
headers
,
bodys
);
}
//印刷文字识别
public
static
String
PRINT_HOST
=
"http://dm-51.data.aliyun.com"
;
public
static
String
PRINT_PATH
=
"/rest/160601/ocr/ocr_idcard.json"
;
//信息处理
public
static
ResultBody
PhotoMessgHandle
(
String
idCardUrl
,
String
side
,
Map
<
String
,
String
>
querys
,
Map
<
String
,
String
>
headers
,
String
bodys
)
{
JSONObject
messg
=
null
;
try
{
HttpResponse
response
=
RealNameAuthUtil
.
doPost
(
PRINT_HOST
,
PRINT_PATH
,
"POST"
,
headers
,
querys
,
bodys
);
int
stat
=
response
.
getStatusLine
().
getStatusCode
();
if
(
stat
!=
200
)
{
//输出异常信息
System
.
out
.
println
(
"Http code: "
+
stat
);
System
.
out
.
println
(
"http header error msg: "
+
response
.
getFirstHeader
(
"X-Ca-Error-Message"
));
System
.
out
.
println
(
"Http body error msg:"
+
EntityUtils
.
toString
(
response
.
getEntity
()));
return
ResultBody
.
error
(
ResultEnum
.
EXPTION_ID_CARD_THOTO_MESSAGE_ERROR
.
getResultMsg
());
}
//这是正常的情况
String
res
=
EntityUtils
.
toString
(
response
.
getEntity
());
JSONObject
res_obj
=
JSON
.
parseObject
(
res
);
res_obj
.
remove
(
"face_rect"
);
res_obj
.
remove
(
"card_region"
);
res_obj
.
remove
(
"face_rect_vertices"
);
messg
=
res_obj
;
return
ResultBody
.
success
(
res_obj
);
}
catch
(
Exception
e
)
{
return
ResultBody
.
error
(
ResultEnum
.
ID_CARD_THOTO_MESSAGE_ERROR
.
getResultMsg
());
}
}
/**
* Post String
*
* @param host
* @param path
* @param method
* @param headers
* @param querys
* @param body
* @return
* @throws Exception
*/
public
static
HttpResponse
doPost
(
String
host
,
String
path
,
String
method
,
Map
<
String
,
String
>
headers
,
Map
<
String
,
String
>
querys
,
String
body
)
throws
Exception
{
HttpClient
httpClient
=
wrapClient
(
host
);
HttpPost
request
=
new
HttpPost
(
buildUrl
(
host
,
path
,
querys
));
for
(
Map
.
Entry
<
String
,
String
>
e
:
headers
.
entrySet
())
{
request
.
addHeader
(
e
.
getKey
(),
e
.
getValue
());
}
if
(
StringUtils
.
isNotBlank
(
body
))
{
request
.
setEntity
(
new
StringEntity
(
body
,
"utf-8"
));
}
return
httpClient
.
execute
(
request
);
}
private
static
HttpClient
wrapClient
(
String
host
)
{
HttpClient
httpClient
=
new
DefaultHttpClient
();
if
(
host
.
startsWith
(
"https://"
))
{
sslClient
(
httpClient
);
}
return
httpClient
;
}
private
static
void
sslClient
(
HttpClient
httpClient
)
{
try
{
SSLContext
ctx
=
SSLContext
.
getInstance
(
"TLS"
);
X509TrustManager
tm
=
new
X509TrustManager
()
{
@Override
public
X509Certificate
[]
getAcceptedIssuers
()
{
return
null
;
}
@Override
public
void
checkClientTrusted
(
X509Certificate
[]
xcs
,
String
str
)
{
}
@Override
public
void
checkServerTrusted
(
X509Certificate
[]
xcs
,
String
str
)
{
}
};
ctx
.
init
(
null
,
new
TrustManager
[]{
tm
},
null
);
SSLSocketFactory
ssf
=
new
SSLSocketFactory
(
ctx
);
ssf
.
setHostnameVerifier
(
SSLSocketFactory
.
ALLOW_ALL_HOSTNAME_VERIFIER
);
ClientConnectionManager
ccm
=
httpClient
.
getConnectionManager
();
SchemeRegistry
registry
=
ccm
.
getSchemeRegistry
();
registry
.
register
(
new
Scheme
(
"https"
,
443
,
ssf
));
}
catch
(
KeyManagementException
ex
)
{
throw
new
RuntimeException
(
ex
);
}
catch
(
NoSuchAlgorithmException
ex
)
{
throw
new
RuntimeException
(
ex
);
}
}
private
static
String
buildUrl
(
String
host
,
String
path
,
Map
<
String
,
String
>
querys
)
throws
UnsupportedEncodingException
{
StringBuilder
sbUrl
=
new
StringBuilder
();
sbUrl
.
append
(
host
);
if
(!
StringUtils
.
isBlank
(
path
))
{
sbUrl
.
append
(
path
);
}
if
(
null
!=
querys
)
{
StringBuilder
sbQuery
=
new
StringBuilder
();
for
(
Map
.
Entry
<
String
,
String
>
query
:
querys
.
entrySet
())
{
if
(
0
<
sbQuery
.
length
())
{
sbQuery
.
append
(
"&"
);
}
if
(
StringUtils
.
isBlank
(
query
.
getKey
())
&&
!
StringUtils
.
isBlank
(
query
.
getValue
()))
{
sbQuery
.
append
(
query
.
getValue
());
}
if
(!
StringUtils
.
isBlank
(
query
.
getKey
()))
{
sbQuery
.
append
(
query
.
getKey
());
if
(!
StringUtils
.
isBlank
(
query
.
getValue
()))
{
sbQuery
.
append
(
"="
);
sbQuery
.
append
(
URLEncoder
.
encode
(
query
.
getValue
(),
"utf-8"
));
}
}
}
if
(
0
<
sbQuery
.
length
())
{
sbUrl
.
append
(
"?"
).
append
(
sbQuery
);
}
}
return
sbUrl
.
toString
();
}
}
csm-service/cms-service-user/src/main/resources/mapper/RealNameAuthDao.xml
0 → 100644
浏览文件 @
bfe05eb3
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.mmc.iuav.user.dao.RealNameAuthDao"
>
<insert
id=
"addRealNameAuth"
parameterType=
"com.mmc.iuav.user.entity.RealNameAuthDO"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into real_name_auth(user_account_id, union_id, front_id_img, back_id_img, id_number, user_name, sex, nationality,
birthday, address, issue,
start_date, end_date, is_fake_front, is_fake_back, check_status, remark, create_time)
values (#{userAccountId}, #{unionId}, #{frontIdImg}, #{backIdImg}, #{idNumber}, #{userName}, #{sex}, #{nationality},
#{birthday}, #{address}, #{issue},
#{startDate}, #{endDate}, #{fakeFront}, #{fakeBack}, #{checkStatus}, #{remark}, NOW())
</insert>
<update
id=
"updateRealNameAuth"
parameterType=
"com.mmc.iuav.user.entity.RealNameAuthDO"
>
update real_name_auth
<set>
<if
test=
" frontIdImg != null and frontIdImg != '' "
>
front_id_img = #{frontIdImg},
</if>
<if
test=
" backIdImg != null and backIdImg != '' "
>
back_id_img = #{backIdImg},
</if>
<if
test=
" idNumber != null and idNumber != '' "
>
id_number = #{idNumber},
</if>
<if
test=
" userName != null and userName != '' "
>
user_name = #{userName},
</if>
<if
test=
" sex != null "
>
sex = #{sex},
</if>
<if
test=
" nationality != null and nationality != '' "
>
nationality = #{nationality},
</if>
<if
test=
" birthday != null "
>
birthday = #{birthday},
</if>
<if
test=
" address != null and address != '' "
>
address = #{address},
</if>
<if
test=
" issue != null and issue != '' "
>
issue = #{issue},
</if>
<if
test=
" startDate != null "
>
start_date = #{startDate},
</if>
<if
test=
" fakeFront != null "
>
is_fake_front = #{fakeFront},
</if>
<if
test=
" fakeBack != null "
>
is_fake_back = #{fakeBack},
</if>
<if
test=
" checkStatus != null "
>
check_status = #{checkStatus},
</if>
<if
test=
" endDate != null "
>
end_date = #{endDate},
</if>
<if
test=
" remark != null and remark != '' "
>
remark = #{remark},
</if>
<if
test=
"createTime !=null"
>
create_time = NOW(),
</if>
</set>
where id = #{id}
</update>
<select
id=
"existHasBeenAuth"
resultType=
"java.lang.Integer"
>
select count(*) from real_name_auth where union_id
<![CDATA[<>]]>
#{unionId} and id_number = #{idNumber} and check_status = 1
</select>
<select
id=
"getRealNameAuthByUnionId"
resultType=
"com.mmc.iuav.user.entity.RealNameAuthDO"
>
select rna.id, rna.user_account_id, rna.union_id, rna.front_id_img, rna.back_id_img, rna.id_number, rna.user_name, rna.sex, rna.nationality,
rna.birthday, rna.address, rna.issue, rna.start_date, rna.end_date, rna.is_fake_front, rna.is_fake_back, rna.check_status, rna.remark,
rna.create_time
from real_name_auth rna
where rna.union_id = #{unionId} and rna.is_deleted = 0
</select>
<select
id=
"getRealNameAuthBakByUnionId"
resultType=
"com.mmc.iuav.user.entity.RealNameAuthDO"
>
select rna.id, rna.user_account_id, rna.union_id, rna.front_id_img, rna.back_id_img, rna.id_number, rna.user_name, rna.sex, rna.nationality,
rna.birthday, rna.address, rna.issue, rna.start_date, rna.end_date, rna.is_fake_front, rna.is_fake_back, rna.check_status, rna.remark,
rna.create_time
from real_name_auth rna
where rna.union_id = #{unionId} and rna.is_deleted = 0 and rna.check_status = 1
</select>
<select
id=
"getRealNameAuthByUId"
resultType=
"com.mmc.iuav.user.entity.RealNameAuthDO"
>
select rna.id,rna.union_id,rna.user_name,rna.id_number,rna.check_status,rna.sex
from real_name_auth rna
where rna.user_account_id = #{userAccountId} and rna.is_deleted = 0
</select>
<select
id=
"getRealNameAuthById"
resultType=
"com.mmc.iuav.user.entity.RealNameAuthDO"
>
select rna.id, rna.user_account_id, rna.union_id, rna.front_id_img, rna.back_id_img, rna.id_number, rna.user_name, rna.sex, rna.nationality,
rna.birthday, rna.address, rna.issue, rna.start_date, rna.end_date, rna.is_fake_front, rna.is_fake_back, rna.check_status, rna.remark,
rna.create_time
from real_name_auth rna
where rna.id = #{id} and rna.is_deleted = 0
</select>
<select
id=
"countListRealNameAuth"
resultType=
"java.lang.Integer"
>
select count(*) from real_name_auth where is_deleted = 0 and check_status = 1
</select>
<select
id=
"listRealNameAuth"
resultType=
"com.mmc.iuav.user.entity.RealNameAuthDO"
parameterType=
"com.mmc.iuav.user.model.qo.RealNameAuthQO"
>
select
rna.id,rna.user_account_id,ua.nick_name,rna.user_name,ua.phone_num,rna.check_status,rna.create_time,ua.remark
from user_account ua inner join real_name_auth rna on
ua.id=rna.user_account_id
where ua.`disable` = 0
<if
test=
"keyword != null and keyword != '' "
>
and ( ua.id like concat('%',#{keyword},'%')
or
ua.user_name like concat('%',#{keyword},'%')
or ua.phone_num like
concat('%',#{keyword},'%')
)
</if>
<if
test=
"checkStatus != null "
>
and rna.check_status = #{checkStatus}
</if>
order by rna.create_time DESC
limit #{pageNo},#{pageSize}
</select>
<select
id=
"userDetail"
resultType=
"com.mmc.iuav.user.entity.RealNameAuthDO"
>
select rna.id, rna.user_account_id, rna.union_id, rna.front_id_img, rna.back_id_img, rna.id_number, rna.user_name, rna.sex, rna.nationality,
rna.birthday, rna.address, rna.issue, rna.start_date, rna.end_date, rna.is_fake_front, rna.is_fake_back, rna.check_status, rna.remark,
rna.create_time
from real_name_auth rna
where rna.user_account_id = #{userAccountId} and rna.is_deleted = 0
</select>
</mapper>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论