Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
cae685e7
提交
cae685e7
authored
8月 08, 2024
作者:
李瑞鑫
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'v20.3-yundan-renzheng-0730-pure'
上级
8ab6f9bf
275c77e4
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
297 行增加
和
17 行删除
+297
-17
yundan_renzheng.http
http/yundan_renzheng.http
+15
-0
OrderGoodsEnum.java
...c/main/java/com/clx/performance/enums/OrderGoodsEnum.java
+61
-0
PerformanceResultEnum.java
...java/com/clx/performance/enums/PerformanceResultEnum.java
+14
-0
OrderChildVO.java
...rc/main/java/com/clx/performance/vo/app/OrderChildVO.java
+29
-2
OrderGoodsVO.java
...src/main/java/com/clx/performance/vo/pc/OrderGoodsVO.java
+29
-0
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+143
-14
OrderGoodsServiceImpl.java
...m/clx/performance/service/impl/OrderGoodsServiceImpl.java
+6
-1
没有找到文件。
http/yundan_renzheng.http
0 → 100644
浏览文件 @
cae685e7
###
GET http://localhost:8081/clx-performance/app/goodsOrder/getOrderGoodsInfo?orderGoodsNo=GK2024073100004
###
GET http://localhost:8081/clx-performance/app/driver/orderChild/getOrderChildInfo?childNo=CYD2024073113994137
productchannel:android_app
imei:22965e13c2e1233cdbc682a56484e2b5e
product-code:carrier-driver-app
content-type:application/json;charset=UTF-8
versioncode:9
platform:1
token:da38733eb052496fb7b4991bf643c626
producttype:carrier-driver-app
versionname:1.0.8
\ No newline at end of file
performance-api/src/main/java/com/clx/performance/enums/OrderGoodsEnum.java
0 → 100644
浏览文件 @
cae685e7
package
com
.
clx
.
performance
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.util.Arrays
;
import
java.util.Optional
;
public
enum
OrderGoodsEnum
{
;
@Getter
@AllArgsConstructor
public
enum
SendWaitModeEnum
{
// 发货-排队系统形式 1:小程序 2:app
WECHAT_PROGRAM
(
1
,
"微信小程序"
),
APP
(
2
,
"app"
);
private
final
Integer
code
;
private
final
String
msg
;
public
static
Optional
<
SendWaitModeEnum
>
getByCode
(
Integer
code
)
{
if
(
code
==
null
)
{
return
Optional
.
empty
();
}
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
.
equals
(
code
)).
findFirst
();
}
public
static
String
getMsgByCode
(
Integer
code
)
{
return
getByCode
(
code
).
map
(
SendWaitModeEnum:
:
getMsg
).
orElse
(
null
);
}
}
@Getter
@AllArgsConstructor
public
enum
SendWaitSystemMsgEnum
{
YES
(
1
,
"需要"
),
NO
(
0
,
"不需要"
);
private
final
Integer
code
;
private
final
String
msg
;
public
static
Optional
<
SendWaitSystemMsgEnum
>
getByCode
(
Integer
code
)
{
if
(
code
==
null
)
{
return
Optional
.
empty
();
}
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
.
equals
(
code
)).
findFirst
();
}
public
static
String
getMsgByCode
(
Integer
code
)
{
return
getByCode
(
code
).
map
(
SendWaitSystemMsgEnum:
:
getMsg
).
orElse
(
null
);
}
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
SendWaitModeEnum
.
getMsgByCode
(
null
));
}
}
performance-api/src/main/java/com/clx/performance/enums/PerformanceResultEnum.java
浏览文件 @
cae685e7
...
@@ -101,6 +101,20 @@ public enum PerformanceResultEnum implements ResultEnum {
...
@@ -101,6 +101,20 @@ public enum PerformanceResultEnum implements ResultEnum {
APP_POP_UP_DRIVER_RESIDUE_ERROR
(-
500
,
"app弹窗提示"
),
APP_POP_UP_DRIVER_RESIDUE_ERROR
(-
500
,
"app弹窗提示"
),
/**车主提示语 **/
/**车主提示语 **/
APP_POP_UP_OWNER_RESIDUE_ERROR
(-
499
,
"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
(-
494
,
"司机钱包不存在"
),
/**车主钱包不存在提示语 **/
APP_POP_UP_OWNER_WALLET_NULL_NOT_EXIST_ERROR
(-
493
,
"车主钱包不存在"
),
/**司机未实名 **/
APP_POP_UP_DRIVER_NOT_AUTH
(-
496
,
"司机钱包不存在"
),
/**车主未实名 **/
APP_POP_UP_OWNER_NOT_AUTH
(-
495
,
"车主钱包不存在"
),
WALLET_CODE_IS_NULL
(
1704
,
"用户钱包不存在"
),
WALLET_CODE_IS_NULL
(
1704
,
"用户钱包不存在"
),
ORDER_GOODS_SAVE_FAIL
(
1801
,
"保存货单失败,请稍后再试"
),
ORDER_GOODS_SAVE_FAIL
(
1801
,
"保存货单失败,请稍后再试"
),
...
...
performance-api/src/main/java/com/clx/performance/vo/app/OrderChildVO.java
浏览文件 @
cae685e7
package
com
.
clx
.
performance
.
vo
.
app
;
package
com
.
clx
.
performance
.
vo
.
app
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.enums.OrderGoodsEnum
;
import
com.msl.common.convertor.type.MoneyOutConvert
;
import
com.msl.common.convertor.type.MoneyOutConvert
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
...
@@ -230,4 +231,31 @@ public class OrderChildVO {
...
@@ -230,4 +231,31 @@ public class OrderChildVO {
@ApiModelProperty
(
"接单保证金 平台服务费费率 弹窗和文案显示 0 不显示 1 显示"
)
@ApiModelProperty
(
"接单保证金 平台服务费费率 弹窗和文案显示 0 不显示 1 显示"
)
private
Integer
goodsOrderDetailShow
=
0
;
private
Integer
goodsOrderDetailShow
=
0
;
}
/* 20240730 增加货源地信息 */
\ No newline at end of file
@ApiModelProperty
(
value
=
"货源地现场联系人"
)
private
String
sendContact
;
@ApiModelProperty
(
value
=
"货源地联系人手机号"
)
private
String
sendContactPhone
;
@ApiModelProperty
(
value
=
"发货-是否需要系统排队 0 否 1 是"
)
private
Integer
sendWaitSystem
;
@ApiModelProperty
(
value
=
"发货-是否需要系统排队 描述: 需要 不需要"
)
public
String
getSendWaitSystemMsg
()
{
return
OrderGoodsEnum
.
SendWaitSystemMsgEnum
.
getMsgByCode
(
sendWaitSystem
);
}
@ApiModelProperty
(
value
=
"发货-排队系统名称"
)
private
String
sendWaitSystemName
;
@ApiModelProperty
(
value
=
"发货-排队系统形式 1:小程序 2:app"
)
private
Integer
sendWaitMode
;
@ApiModelProperty
(
value
=
"发货-排队系统形式 描述: 微信小程序 app"
)
public
String
getSendWaitModeMsg
()
{
return
OrderGoodsEnum
.
SendWaitModeEnum
.
getMsgByCode
(
sendWaitMode
);
}
}
performance-api/src/main/java/com/clx/performance/vo/pc/OrderGoodsVO.java
浏览文件 @
cae685e7
package
com
.
clx
.
performance
.
vo
.
pc
;
package
com
.
clx
.
performance
.
vo
.
pc
;
import
com.clx.performance.enums.OrderGoodsEnum
;
import
com.msl.common.convertor.type.MoneyOutConvert
;
import
com.msl.common.convertor.type.MoneyOutConvert
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Getter
;
...
@@ -169,4 +170,31 @@ public class OrderGoodsVO {
...
@@ -169,4 +170,31 @@ public class OrderGoodsVO {
@ApiModelProperty
(
"已派单数"
)
@ApiModelProperty
(
"已派单数"
)
private
Integer
dispatchedOrders
;
private
Integer
dispatchedOrders
;
/* 20240730 增加货源地信息 */
@ApiModelProperty
(
value
=
"货源地现场联系人"
)
private
String
sendContact
;
@ApiModelProperty
(
value
=
"货源地联系人手机号"
)
private
String
sendContactPhone
;
@ApiModelProperty
(
value
=
"发货-是否需要系统排队 0 否 1 是"
)
private
Integer
sendWaitSystem
;
@ApiModelProperty
(
value
=
"发货-是否需要系统排队 描述: 需要 不需要"
)
public
String
getSendWaitSystemMsg
()
{
return
OrderGoodsEnum
.
SendWaitSystemMsgEnum
.
getMsgByCode
(
sendWaitSystem
);
}
@ApiModelProperty
(
value
=
"发货-排队系统名称"
)
private
String
sendWaitSystemName
;
@ApiModelProperty
(
value
=
"发货-排队系统形式 1:小程序 2:app"
)
private
Integer
sendWaitMode
;
@ApiModelProperty
(
value
=
"发货-排队系统形式 描述: 微信小程序 app"
)
public
String
getSendWaitModeMsg
()
{
return
OrderGoodsEnum
.
SendWaitModeEnum
.
getMsgByCode
(
sendWaitMode
);
}
}
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
cae685e7
...
@@ -59,12 +59,13 @@ import com.clx.performance.utils.zjxl.ZjxlGpsService;
...
@@ -59,12 +59,13 @@ import com.clx.performance.utils.zjxl.ZjxlGpsService;
import
com.clx.performance.vo.app.*
;
import
com.clx.performance.vo.app.*
;
import
com.clx.performance.vo.app.owner.OwnerOrderChildVO
;
import
com.clx.performance.vo.app.owner.OwnerOrderChildVO
;
import
com.clx.performance.vo.pc.*
;
import
com.clx.performance.vo.pc.*
;
import
com.clx.performance.vo.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverVO
;
import
com.clx.performance.vo.pc.carrier.settle.CarrierPagePlatformServiceFeeConfigVO
;
import
com.clx.user.enums.driver.DriverInfoEnum
;
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.DocumentFeign
;
import
com.clx.user.feign.UserClxFeign
;
import
com.clx.user.vo.feign.DriverTruckInfoFeignVo
;
import
com.clx.user.vo.feign.DriverTruckInfoFeignVo
;
import
com.clx.user.vo.feign.OwnerInfoFeignVO
;
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.Optional
;
import
com.msl.common.base.PageParam
;
import
com.msl.common.base.PageParam
;
import
com.msl.common.enums.ResultCodeEnum
;
import
com.msl.common.enums.ResultCodeEnum
;
...
@@ -82,13 +83,15 @@ import com.tencentcloudapi.ocr.v20181119.models.GroupInfo;
...
@@ -82,13 +83,15 @@ import com.tencentcloudapi.ocr.v20181119.models.GroupInfo;
import
com.tencentcloudapi.ocr.v20181119.models.ItemInfo
;
import
com.tencentcloudapi.ocr.v20181119.models.ItemInfo
;
import
com.tencentcloudapi.ocr.v20181119.models.SmartStructuralOCRV2Request
;
import
com.tencentcloudapi.ocr.v20181119.models.SmartStructuralOCRV2Request
;
import
com.tencentcloudapi.ocr.v20181119.models.SmartStructuralOCRV2Response
;
import
com.tencentcloudapi.ocr.v20181119.models.SmartStructuralOCRV2Response
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.exception.ExceptionUtils
;
import
org.apache.commons.lang.exception.ExceptionUtils
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
import
org.apache.commons.lang3.math.NumberUtils
;
import
org.apache.commons.lang3.math.NumberUtils
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
import
org.redisson.api.RLock
;
import
org.redisson.api.RLock
;
import
org.redisson.api.RedissonClient
;
import
org.redisson.api.RedissonClient
;
import
org.springframework.amqp.core.AmqpTemplate
;
import
org.springframework.amqp.core.AmqpTemplate
;
...
@@ -238,6 +241,8 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -238,6 +241,8 @@ public class OrderChildServiceImpl implements OrderChildService {
private
Environment
environment
;
private
Environment
environment
;
@Autowired
@Autowired
private
DocumentFeign
documentFeign
;
private
DocumentFeign
documentFeign
;
@Autowired
private
UserClxFeign
userClxFeign
;
@PostConstruct
@PostConstruct
public
void
init
(){
public
void
init
(){
...
@@ -324,6 +329,15 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -324,6 +329,15 @@ public class OrderChildServiceImpl implements OrderChildService {
param
.
getTruckId
()).
orElseThrow
(
ResultCodeEnum
.
FAIL
);
param
.
getTruckId
()).
orElseThrow
(
ResultCodeEnum
.
FAIL
);
BigDecimal
truckLoad
=
driverTruckInfo
.
getLoad
();
BigDecimal
truckLoad
=
driverTruckInfo
.
getLoad
();
String
truckNo
=
driverTruckInfo
.
getTruckNo
();
String
truckNo
=
driverTruckInfo
.
getTruckNo
();
Long
truckOwnerUserNo
=
driverTruckInfo
.
getTruckOwnUserNo
();
boolean
isOwner
=
Objects
.
equals
(
userNo
,
truckOwnerUserNo
);
// 司机实名认证校验
// 这里之所以在check后再次增加较验,是为了避免老版本的应用无法识别新的错误码导致无法正常校验的问题
PerformanceResultEnum
checkRealName
=
checkRealName
(
param
.
getDriverUserNo
(),
isOwner
);
if
(
Objects
.
nonNull
(
checkRealName
))
{
throw
new
ServiceSystemException
(
checkRealName
);
}
// 司机接单限制
// 司机接单限制
driverTakeOrderLimit
(
driverTruckInfo
.
getUserNo
());
driverTakeOrderLimit
(
driverTruckInfo
.
getUserNo
());
...
@@ -347,7 +361,7 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -347,7 +361,7 @@ public class OrderChildServiceImpl implements OrderChildService {
deposit
=
orderGoods
.
getDeposit
();
//接单保证金
deposit
=
orderGoods
.
getDeposit
();
//接单保证金
}
}
//接单钱包限制
//接单钱包限制
driverTakeOrderPaymentLimit
(
driverTruckInfo
.
getWalletCode
(),
driverTruckInfo
.
getTruckOwnWalletCode
(),
deposit
);
driverTakeOrderPaymentLimit
(
driverTruckInfo
.
getWalletCode
(),
driverTruckInfo
.
getTruckOwnWalletCode
(),
deposit
,
isOwner
);
// 状态验证
// 状态验证
if
(!
Objects
.
equals
(
orderGoods
.
getOrderGoodsStatus
(),
OrderGoodsStatusEnum
.
Status
.
PAYING
.
getCode
())
&&
if
(!
Objects
.
equals
(
orderGoods
.
getOrderGoodsStatus
(),
OrderGoodsStatusEnum
.
Status
.
PAYING
.
getCode
())
&&
...
@@ -1706,6 +1720,13 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1706,6 +1720,13 @@ public class OrderChildServiceImpl implements OrderChildService {
result
.
setLoadBeginTime
(
orderInfoFeign
.
getLoadBeginTime
());
result
.
setLoadBeginTime
(
orderInfoFeign
.
getLoadBeginTime
());
result
.
setLoadEndTime
(
orderInfoFeign
.
getLoadEndTime
());
result
.
setLoadEndTime
(
orderInfoFeign
.
getLoadEndTime
());
//货源地信息
result
.
setSendContact
(
orderInfoFeign
.
getSendContact
());
result
.
setSendContactPhone
(
orderInfoFeign
.
getSendContactPhone
());
result
.
setSendWaitSystem
(
orderInfoFeign
.
getSendWaitSystem
());
result
.
setSendWaitSystemName
(
orderInfoFeign
.
getSendWaitSystemName
());
result
.
setSendWaitMode
(
orderInfoFeign
.
getSendWaitMode
());
//查询结算信息
//查询结算信息
Optional
<
SettlementOwnerDetail
>
optional
=
settlementOwnerDetailDao
.
getByChildNo
(
childNo
);
Optional
<
SettlementOwnerDetail
>
optional
=
settlementOwnerDetailDao
.
getByChildNo
(
childNo
);
if
(
optional
.
isPresent
()){
if
(
optional
.
isPresent
()){
...
@@ -1808,6 +1829,31 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1808,6 +1829,31 @@ public class OrderChildServiceImpl implements OrderChildService {
}
}
private
int
check
(
OrderChildCheckParam
param
)
{
private
int
check
(
OrderChildCheckParam
param
)
{
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
Long
loginUserNo
=
loginUserInfo
.
getUserNo
();
// 查询司机车辆信息
DriverTruckInfoFeignVo
driverTruckInfo
=
driverService
.
getUserDetailInfo
(
param
.
getDriverUserNo
(),
param
.
getTruckId
()).
orElseThrow
(
ResultCodeEnum
.
FAIL
);
Long
truckOwnerUserNo
=
driverTruckInfo
.
getTruckOwnUserNo
();
Integer
driverWalletCode
=
driverTruckInfo
.
getWalletCode
();
Integer
truckWalletCode
=
driverTruckInfo
.
getTruckOwnWalletCode
();
log
.
info
(
"司机钱包信息:{}-{},driverWalletCode:{},truckWalletCode:{}"
,
driverTruckInfo
.
getUserNo
(),
driverTruckInfo
.
getName
(),
driverWalletCode
,
truckWalletCode
);
//是否车主
boolean
isOwner
=
Objects
.
equals
(
loginUserNo
,
truckOwnerUserNo
);
//验证是否实名认证
PerformanceResultEnum
checkRealName
=
checkRealName
(
param
.
getDriverUserNo
(),
isOwner
);
if
(
Objects
.
nonNull
(
checkRealName
))
{
return
checkRealName
.
getCode
();
}
// 验证是否绑卡
PerformanceResultEnum
checkBankCard
=
checkBankCard
(
param
,
driverWalletCode
,
truckWalletCode
,
isOwner
);
if
(
Objects
.
nonNull
(
checkBankCard
))
{
return
checkBankCard
.
getCode
();
}
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
param
.
getOrderGoodsNo
()).
get
();
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
param
.
getOrderGoodsNo
()).
get
();
BigDecimal
sendLatitude
=
orderGoods
.
getSendLatitude
();
BigDecimal
sendLatitude
=
orderGoods
.
getSendLatitude
();
BigDecimal
sendLongitude
=
orderGoods
.
getSendLongitude
();
BigDecimal
sendLongitude
=
orderGoods
.
getSendLongitude
();
...
@@ -1851,13 +1897,89 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1851,13 +1897,89 @@ public class OrderChildServiceImpl implements OrderChildService {
if
(
localDateTime
.
isAfter
(
beginLocalDateTime
)
&&
localDateTime
.
isBefore
(
endLocalDateTime
))
{
if
(
localDateTime
.
isAfter
(
beginLocalDateTime
)
&&
localDateTime
.
isBefore
(
endLocalDateTime
))
{
log
.
info
(
"不用弹"
);
log
.
info
(
"不用弹"
);
return
0
;
return
CheckResult
.
OK
.
code
;
}
else
{
}
else
{
log
.
info
(
"需要弹"
);
log
.
info
(
"需要弹"
);
return
1
;
return
CheckResult
.
FAIL
.
code
;
}
}
}
}
return
0
;
return
CheckResult
.
OK
.
code
;
}
/**
* 校验实名认证
* @param param
* @param driverWallCode
* @param truckWalletCode
* @return
*/
private
PerformanceResultEnum
checkBankCard
(
OrderChildCheckParam
param
,
Integer
driverWallCode
,
Integer
truckWalletCode
,
boolean
isOwner
)
{
//接单校验 必须两个都有钱包
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
=
isOwner
?
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
isOwner
?
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
,
"需要弹"
),
DRIVER_NOT_REAL_NAME
(
APP_POP_UP_DRIVER_NOT_AUTH
.
getCode
(),
"未实名认证"
),
OWENR_NOT_REAL_NAME
(
APP_POP_UP_OWNER_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
;
}
/**
* 校验实名认证
*
* @param
* @return
*/
private
PerformanceResultEnum
checkRealName
(
Long
driverUserNo
,
boolean
isOwner
)
{
//判断当前账号是否车主
Result
<
AuthVo
>
authResult
=
userClxFeign
.
getAuthInfo
(
driverUserNo
);
if
(!
authResult
.
succeed
())
{
log
.
info
(
"获取司机{}实名认证信息失败"
,
driverUserNo
);
return
isOwner
?
PerformanceResultEnum
.
APP_POP_UP_DRIVER_NOT_AUTH
:
PerformanceResultEnum
.
APP_POP_UP_OWNER_NOT_AUTH
;
}
else
{
AuthVo
authVo
=
authResult
.
getData
();
if
(!
Objects
.
equals
(
authVo
.
getAuthStatus
(),
IdCardEnum
.
AuthStatus
.
ALREADY_REAL_NAME
.
getCode
()))
{
log
.
info
(
"司机{}实名状态非已实名:{}"
,
driverUserNo
,
authVo
.
getAuthStatus
());
return
isOwner
?
PerformanceResultEnum
.
APP_POP_UP_DRIVER_NOT_AUTH
:
PerformanceResultEnum
.
APP_POP_UP_OWNER_NOT_AUTH
;
}
}
return
null
;
}
}
//计算亏吨吨数
//计算亏吨吨数
...
@@ -2093,10 +2215,13 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -2093,10 +2215,13 @@ public class OrderChildServiceImpl implements OrderChildService {
/**
/**
* 司机接单支付校验
* 司机接单支付校验
*/
*/
private
void
driverTakeOrderPaymentLimit
(
Integer
driverWallCode
,
Integer
truckWalletCode
,
BigDecimal
deposit
)
{
private
void
driverTakeOrderPaymentLimit
(
Integer
driverWallCode
,
Integer
truckWalletCode
,
BigDecimal
deposit
,
boolean
isOwner
)
{
//判断是司机还是车主 接单校验 必须两个都有钱包
//判断是司机还是车主 接单校验 必须两个都有钱包
if
(
Objects
.
isNull
(
driverWallCode
)
||
Objects
.
isNull
(
truckWalletCode
))
{
if
(
Objects
.
isNull
(
driverWallCode
))
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
WALLET_CODE_IS_NULL
);
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
APP_POP_UP_DRIVER_WALLET_NULL_NOT_EXIST_ERROR
);
}
if
(
Objects
.
isNull
(
truckWalletCode
))
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
APP_POP_UP_OWNER_WALLET_NULL_NOT_EXIST_ERROR
);
}
}
boolean
truckOwnerFlag
=
Objects
.
equals
(
driverWallCode
,
truckWalletCode
);
boolean
truckOwnerFlag
=
Objects
.
equals
(
driverWallCode
,
truckWalletCode
);
...
@@ -2118,7 +2243,7 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -2118,7 +2243,7 @@ public class OrderChildServiceImpl implements OrderChildService {
//判断余额是否能够缴纳保证金
//判断余额是否能够缴纳保证金
if
(
data
.
getResidue
()
<
deposit
.
longValue
())
{
if
(
data
.
getResidue
()
<
deposit
.
longValue
())
{
String
remark
=
truckOwnerFlag
?
"账户可用余额不足,接单保证金冻结失败,请尽快充值,本次需充值"
+
deposit
.
movePointLeft
(
2
)
+
"元"
:
"车主钱包余额不足,保证金冻结失败请联系车主充值"
;
String
remark
=
truckOwnerFlag
?
"账户可用余额不足,接单保证金冻结失败,请尽快充值,本次需充值"
+
deposit
.
movePointLeft
(
2
)
+
"元"
:
"车主钱包余额不足,保证金冻结失败请联系车主充值"
;
if
(
truckOwnerFlag
){
if
(
isOwner
){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
APP_POP_UP_OWNER_RESIDUE_ERROR
,
remark
);
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
APP_POP_UP_OWNER_RESIDUE_ERROR
,
remark
);
}
else
{
}
else
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
APP_POP_UP_DRIVER_RESIDUE_ERROR
,
remark
);
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
APP_POP_UP_DRIVER_RESIDUE_ERROR
,
remark
);
...
@@ -2126,14 +2251,18 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -2126,14 +2251,18 @@ public class OrderChildServiceImpl implements OrderChildService {
}
}
//有效银行卡数量 不能为空
//有效银行卡数量 不能为空
if
(
Objects
.
isNull
(
data
.
getCardCount
())
||
data
.
getCardCount
()
<=
0
)
{
if
(
data
.
getCardCount
()
<=
0
)
{
String
remark
=
truckOwnerFlag
?
"还没有绑定银行卡,请先绑定银行卡"
:
"车主还没有绑定银行卡,请先绑定银行卡"
;
String
remark
=
truckOwnerFlag
?
"还没有绑定银行卡,请先绑定银行卡"
:
"车主还没有绑定银行卡,请先绑定银行卡"
;
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
APP_POP_UP_ERROR
,
remark
);
if
(
isOwner
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
APP_POP_UP_DRIVER_NO_BANKCARD_ERROR
,
remark
);
}
else
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
APP_POP_UP_OWNER_NO_BANKCARD_ERROR
,
remark
);
}
}
}
//必须设置交易密码 是否设置交易密码0没有1有
//必须设置交易密码 是否设置交易密码0没有1有
if
(
Objects
.
isNull
(
data
.
getPwd
())
||
Objects
.
equals
(
data
.
getPwd
(),
"0"
))
{
if
(
Objects
.
isNull
(
data
.
getPwd
())
||
Objects
.
equals
(
data
.
getPwd
(),
"0"
))
{
String
remark
=
truckOwnerFlag
?
"还没有设置交易密码,请先设置交易密码"
:
"车主还没有设置交易密码,请先设置交易密码"
;
String
remark
=
isOwner
?
"还没有设置交易密码,请先设置交易密码"
:
"车主还没有设置交易密码,请先设置交易密码"
;
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
APP_POP_UP_ERROR
,
remark
);
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
APP_POP_UP_ERROR
,
remark
);
}
}
}
else
{
}
else
{
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderGoodsServiceImpl.java
浏览文件 @
cae685e7
...
@@ -163,6 +163,12 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
...
@@ -163,6 +163,12 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
orderGoodsVO
.
setLoadBeginTime
(
orderInfoFeign
.
getLoadBeginTime
());
orderGoodsVO
.
setLoadBeginTime
(
orderInfoFeign
.
getLoadBeginTime
());
orderGoodsVO
.
setLoadEndTime
(
orderInfoFeign
.
getLoadEndTime
());
orderGoodsVO
.
setLoadEndTime
(
orderInfoFeign
.
getLoadEndTime
());
orderGoodsVO
.
setResidueTransportWeight
(
BigDecimal
.
ZERO
.
compareTo
(
orderGoodsVO
.
getResidueTransportWeight
())
>
0
?
BigDecimal
.
ZERO
:
orderGoodsVO
.
getResidueTransportWeight
());
orderGoodsVO
.
setResidueTransportWeight
(
BigDecimal
.
ZERO
.
compareTo
(
orderGoodsVO
.
getResidueTransportWeight
())
>
0
?
BigDecimal
.
ZERO
:
orderGoodsVO
.
getResidueTransportWeight
());
//货源地信息
orderGoodsVO
.
setSendContact
(
orderInfoFeign
.
getSendContact
());
orderGoodsVO
.
setSendContactPhone
(
orderInfoFeign
.
getSendContactPhone
());
orderGoodsVO
.
setSendWaitSystem
(
orderInfoFeign
.
getSendWaitSystem
());
orderGoodsVO
.
setSendWaitSystemName
(
orderInfoFeign
.
getSendWaitSystemName
());
orderGoodsVO
.
setSendWaitMode
(
orderInfoFeign
.
getSendWaitMode
());
//获取订单配置的违约金方案
//获取订单配置的违约金方案
OwnerQuotationDetailVO
quotationDetailVO
=
quotationService
.
getQuotationByOrderNo
(
orderNo
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
OwnerQuotationDetailVO
quotationDetailVO
=
quotationService
.
getQuotationByOrderNo
(
orderNo
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
...
@@ -177,7 +183,6 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
...
@@ -177,7 +183,6 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
InvoicingCompanyEnum
.
TaxType
.
TAX_EXCLUDED
.
getCode
()))
{
InvoicingCompanyEnum
.
TaxType
.
TAX_EXCLUDED
.
getCode
()))
{
orderGoodsVO
.
setGoodsOrderDetailShow
(
1
);
orderGoodsVO
.
setGoodsOrderDetailShow
(
1
);
}
}
return
orderGoodsVO
;
return
orderGoodsVO
;
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论