Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
cb6c121c
提交
cb6c121c
authored
8月 01, 2024
作者:
wejack639
提交者:
jiangwujie
8月 07, 2024
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feature(接单实名认证):抢单验证接口拉回实名认证和绑银行卡验证,生成运单接口增加实名认证接口,调整未绑卡返回的错误
上级
358f4456
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
113 行增加
和
5 行删除
+113
-5
PerformanceResultEnum.java
...java/com/clx/performance/enums/PerformanceResultEnum.java
+10
-0
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+103
-5
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/PerformanceResultEnum.java
浏览文件 @
cb6c121c
...
...
@@ -101,6 +101,16 @@ public enum PerformanceResultEnum implements ResultEnum {
APP_POP_UP_DRIVER_RESIDUE_ERROR
(-
500
,
"app弹窗提示"
),
/**车主提示语 **/
APP_POP_UP_OWNER_RESIDUE_ERROR
(-
499
,
"app弹窗提示"
),
/**司机未绑卡提示语 **/
APP_POP_UP_DRIVER_NO_BANKCARD_ERROR
(-
498
,
"司机未绑卡"
),
/**车主未绑卡提示语 **/
APP_POP_UP_OWNER_NO_BANKCARD_ERROR
(-
497
,
"车主未绑卡"
),
/**司机钱包不存在提示语 **/
APP_POP_UP_DRIVER_WALLET_NULL_NOT_EXIST_ERROR
(-
498
,
"司机钱包不存在"
),
/**车主钱包不存在提示语 **/
APP_POP_UP_OWNER_WALLET_NULL_NOT_EXIST_ERROR
(-
497
,
"车主钱包不存在"
),
WALLET_CODE_IS_NULL
(
1704
,
"用户钱包不存在"
),
ORDER_GOODS_SAVE_FAIL
(
1801
,
"保存货单失败,请稍后再试"
),
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
cb6c121c
...
...
@@ -60,9 +60,12 @@ import com.clx.performance.vo.app.*;
import
com.clx.performance.vo.app.owner.OwnerOrderChildVO
;
import
com.clx.performance.vo.pc.*
;
import
com.clx.user.enums.driver.DriverInfoEnum
;
import
com.clx.user.enums.idcard.IdCardEnum
;
import
com.clx.user.feign.DocumentFeign
;
import
com.clx.user.feign.UserClxFeign
;
import
com.clx.user.vo.feign.DriverTruckInfoFeignVo
;
import
com.clx.user.vo.feign.OwnerInfoFeignVO
;
import
com.clx.user.vo.pc.auth.AuthVo
;
import
com.msl.common.base.Optional
;
import
com.msl.common.base.PageParam
;
import
com.msl.common.enums.ResultCodeEnum
;
...
...
@@ -80,6 +83,8 @@ import com.tencentcloudapi.ocr.v20181119.models.GroupInfo;
import
com.tencentcloudapi.ocr.v20181119.models.ItemInfo
;
import
com.tencentcloudapi.ocr.v20181119.models.SmartStructuralOCRV2Request
;
import
com.tencentcloudapi.ocr.v20181119.models.SmartStructuralOCRV2Response
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.exception.ExceptionUtils
;
...
...
@@ -236,6 +241,8 @@ public class OrderChildServiceImpl implements OrderChildService {
private
Environment
environment
;
@Autowired
private
DocumentFeign
documentFeign
;
@Autowired
private
UserClxFeign
userClxFeign
;
@PostConstruct
public
void
init
(){
...
...
@@ -323,6 +330,13 @@ public class OrderChildServiceImpl implements OrderChildService {
BigDecimal
truckLoad
=
driverTruckInfo
.
getLoad
();
String
truckNo
=
driverTruckInfo
.
getTruckNo
();
// 司机实名认证校验
// 这里之所以在check后再次增加较验,是为了避免老版本的应用无法识别新的错误码导致无法正常校验的问题
PerformanceResultEnum
checkRealName
=
checkRealName
(
driverTruckInfo
.
getUserNo
());
if
(
Objects
.
nonNull
(
checkRealName
))
{
throw
new
ServiceSystemException
(
checkRealName
);
}
// 司机接单限制
driverTakeOrderLimit
(
driverTruckInfo
.
getUserNo
());
...
...
@@ -1813,6 +1827,18 @@ public class OrderChildServiceImpl implements OrderChildService {
}
private
int
check
(
OrderChildCheckParam
param
)
{
//验证是否实名认证
PerformanceResultEnum
checkRealName
=
checkRealName
(
param
.
getDriverUserNo
());
if
(
Objects
.
nonNull
(
checkRealName
))
{
return
checkRealName
.
getCode
();
}
// 验证是否绑卡
PerformanceResultEnum
checkBankCard
=
checkBankCard
(
param
);
if
(
Objects
.
nonNull
(
checkBankCard
))
{
return
checkBankCard
.
getCode
();
}
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
param
.
getOrderGoodsNo
()).
get
();
BigDecimal
sendLatitude
=
orderGoods
.
getSendLatitude
();
BigDecimal
sendLongitude
=
orderGoods
.
getSendLongitude
();
...
...
@@ -1856,13 +1882,81 @@ public class OrderChildServiceImpl implements OrderChildService {
if
(
localDateTime
.
isAfter
(
beginLocalDateTime
)
&&
localDateTime
.
isBefore
(
endLocalDateTime
))
{
log
.
info
(
"不用弹"
);
return
0
;
return
CheckResult
.
OK
.
code
;
}
else
{
log
.
info
(
"需要弹"
);
return
1
;
return
CheckResult
.
FAIL
.
code
;
}
}
return
0
;
return
CheckResult
.
OK
.
code
;
}
private
PerformanceResultEnum
checkBankCard
(
OrderChildCheckParam
param
)
{
// 查询司机车辆信息
DriverTruckInfoFeignVo
driverTruckInfo
=
driverService
.
getUserDetailInfo
(
param
.
getDriverUserNo
(),
param
.
getTruckId
()).
orElseThrow
(
ResultCodeEnum
.
FAIL
);
Integer
driverWallCode
=
driverTruckInfo
.
getWalletCode
();
Integer
truckWalletCode
=
driverTruckInfo
.
getTruckOwnWalletCode
();
//接单校验 必须两个都有钱包
if
(
Objects
.
isNull
(
driverWallCode
))
{
log
.
info
(
"{}-{}司机没有钱包"
,
param
.
getDriverUserNo
(),
param
.
getTruckId
());
return
PerformanceResultEnum
.
APP_POP_UP_DRIVER_WALLET_NULL_NOT_EXIST_ERROR
;
}
if
(
Objects
.
isNull
(
truckWalletCode
))
{
log
.
info
(
"{}-{}车主没有钱包"
,
param
.
getDriverUserNo
(),
param
.
getTruckId
());
return
PerformanceResultEnum
.
APP_POP_UP_OWNER_WALLET_NULL_NOT_EXIST_ERROR
;
}
//判断是司机还是车主
//司机和车主钱包相同,说明是车主
boolean
truckOwnerFlag
=
Objects
.
equals
(
driverWallCode
,
truckWalletCode
);
Integer
checkWalletCode
=
truckOwnerFlag
?
driverWallCode
:
truckWalletCode
;
Result
<
WalletResidueCardDTO
>
result
=
feignPaymentService
.
getWallet
(
checkWalletCode
);
if
(
result
!=
null
&&
Objects
.
equals
(
result
.
getCode
(),
0
)
&&
result
.
getData
()
!=
null
)
{
WalletResidueCardDTO
data
=
result
.
getData
();
//有效银行卡数量 不能为空
if
(
data
.
getCardCount
()
<=
0
)
{
PerformanceResultEnum
returnResult
=
truckOwnerFlag
?
PerformanceResultEnum
.
APP_POP_UP_DRIVER_NO_BANKCARD_ERROR
:
PerformanceResultEnum
.
APP_POP_UP_OWNER_NO_BANKCARD_ERROR
;
log
.
info
(
"{}"
,
returnResult
.
getMsg
());
return
returnResult
;
}
}
else
{
log
.
info
(
"获取钱包信息失败:{}"
,
checkWalletCode
);
//用户钱包不存在
return
truckOwnerFlag
?
PerformanceResultEnum
.
APP_POP_UP_DRIVER_WALLET_NULL_NOT_EXIST_ERROR
:
PerformanceResultEnum
.
APP_POP_UP_OWNER_WALLET_NULL_NOT_EXIST_ERROR
;
}
return
null
;
}
@Getter
@AllArgsConstructor
public
enum
CheckResult
{
OK
(
0
,
"不用弹窗"
),
FAIL
(
1
,
"需要弹"
),
NOT_REAL_NAME
(
USER_NOT_AUTH
.
getCode
(),
"未实名认证"
),
DRIVER_WALLET_NOT_EXIST
(
APP_POP_UP_DRIVER_WALLET_NULL_NOT_EXIST_ERROR
.
getCode
(),
"司机未绑卡"
),
OWNER_WALLET_NOT_EXIST
(
APP_POP_UP_OWNER_WALLET_NULL_NOT_EXIST_ERROR
.
getCode
(),
"车主未绑卡"
),
DRIVER_NO_BANKCARD
(
APP_POP_UP_DRIVER_NO_BANKCARD_ERROR
.
getCode
(),
"司机未绑卡"
),
OWNER_NO_BANKCARD
(
APP_POP_UP_OWNER_NO_BANKCARD_ERROR
.
getCode
(),
"车主未绑卡"
);
private
final
int
code
;
private
final
String
msg
;
}
private
PerformanceResultEnum
checkRealName
(
Long
driverUserNo
)
{
Result
<
AuthVo
>
authResult
=
userClxFeign
.
getAuthInfo
(
driverUserNo
);
if
(!
authResult
.
succeed
())
{
log
.
info
(
"获取司机{}实名认证信息失败"
,
driverUserNo
);
return
PerformanceResultEnum
.
USER_NOT_AUTH
;
}
else
{
AuthVo
authVo
=
authResult
.
getData
();
if
(!
Objects
.
equals
(
authVo
.
getAuthStatus
(),
IdCardEnum
.
AuthStatus
.
ALREADY_REAL_NAME
.
getCode
())){
log
.
info
(
"司机{}实名状态非已实名:{}"
,
driverUserNo
,
authVo
.
getAuthStatus
());
return
PerformanceResultEnum
.
USER_NOT_AUTH
;
}
}
return
null
;
}
//计算亏吨吨数
...
...
@@ -2131,9 +2225,13 @@ public class OrderChildServiceImpl implements OrderChildService {
}
//有效银行卡数量 不能为空
if
(
Objects
.
isNull
(
data
.
getCardCount
())
||
data
.
getCardCount
()
<=
0
)
{
if
(
data
.
getCardCount
()
<=
0
)
{
String
remark
=
truckOwnerFlag
?
"还没有绑定银行卡,请先绑定银行卡"
:
"车主还没有绑定银行卡,请先绑定银行卡"
;
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
APP_POP_UP_ERROR
,
remark
);
if
(
truckOwnerFlag
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
APP_POP_UP_DRIVER_NO_BANKCARD_ERROR
,
remark
);
}
else
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
APP_POP_UP_OWNER_RESIDUE_ERROR
,
remark
);
}
}
//必须设置交易密码 是否设置交易密码0没有1有
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论