Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
f85afbc2
提交
f85afbc2
authored
11月 08, 2023
作者:
liuhaiquan
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/test' into test
上级
8a10ea3f
881db313
显示空白字符变更
内嵌
并排
正在显示
16 个修改的文件
包含
191 行增加
和
115 行删除
+191
-115
PerformanceResultEnum.java
...java/com/clx/performance/enums/PerformanceResultEnum.java
+1
-1
OrderCancelComponent.java
...a/com/clx/performance/component/OrderCancelComponent.java
+15
-7
OrderGoodsStatusLazyComponent.java
.../performance/component/OrderGoodsStatusLazyComponent.java
+14
-8
OrderChildDao.java
.../src/main/java/com/clx/performance/dao/OrderChildDao.java
+1
-1
OrderChildDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
+2
-2
OrderChildMapper.java
...ain/java/com/clx/performance/mapper/OrderChildMapper.java
+3
-2
OrderChildService.java
...n/java/com/clx/performance/service/OrderChildService.java
+2
-0
OrderCancelServiceImpl.java
.../clx/performance/service/impl/OrderCancelServiceImpl.java
+15
-14
OrderChildPoundAuditServiceImpl.java
...ormance/service/impl/OrderChildPoundAuditServiceImpl.java
+9
-7
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+82
-44
OrderGoodsServiceImpl.java
...m/clx/performance/service/impl/OrderGoodsServiceImpl.java
+20
-6
TruckServiceImpl.java
...va/com/clx/performance/service/impl/TruckServiceImpl.java
+0
-1
BreakContractSettlementDriverDetailServiceImpl.java
...tract/BreakContractSettlementDriverDetailServiceImpl.java
+6
-4
BreakContractSettlementDriverServiceImpl.java
...eakcontract/BreakContractSettlementDriverServiceImpl.java
+10
-8
BreakContractSettlementOwnerServiceImpl.java
...reakcontract/BreakContractSettlementOwnerServiceImpl.java
+3
-2
OrderChildSqlProvider.java
...om/clx/performance/sqlProvider/OrderChildSqlProvider.java
+8
-8
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/PerformanceResultEnum.java
浏览文件 @
f85afbc2
...
...
@@ -84,7 +84,7 @@ public enum PerformanceResultEnum implements ResultEnum {
SETTLEMENT_NO_FOUND
(
1401
,
"结算单不存在"
),
MONEY_NO_SAME
(
1501
,
"货主提现金额和平台支付金额不一致"
),
ORDER_
CHILD_WEIGHT_NOT_EQ
(
1601
,
"磅单吨数和运单拉运吨数不一致
"
)
ORDER_
GOODS_WEIGHT_NOT_HAVE
(
1601
,
"货单可拉运吨数不足
"
)
;
private
final
int
code
;
...
...
performance-web/src/main/java/com/clx/performance/component/OrderCancelComponent.java
浏览文件 @
f85afbc2
...
...
@@ -13,12 +13,14 @@ import com.clx.performance.extranal.user.DriverService;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.param.pc.OrderCancelParam
;
import
com.clx.performance.service.IntegralMqService
;
import
com.clx.performance.service.OrderChildService
;
import
com.clx.performance.service.OrderGoodsTruckBindService
;
import
com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService
;
import
com.clx.user.enums.driver.DriverInfoEnum
;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.common.result.Result
;
import
com.msl.common.utils.DateUtils
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.InitializingBean
;
...
...
@@ -54,11 +56,15 @@ public class OrderCancelComponent implements InitializingBean {
public
static
Map
<
Integer
,
String
>
statusCodeMap
=
new
HashMap
<>();
private
final
IntegralMqService
integralMqService
;
public
void
ownerProcess
(
OrderCancelParam
param
)
{
String
orderNo
=
param
.
getOrderNo
();
List
<
OrderGoods
>
orderGoodsList
=
null
;
Integer
orderStatusCode
=
OrderEnum
.
Status
.
CANCELED
.
getCode
();
LocalDateTime
now
=
LocalDateTime
.
now
();
String
now
=
DateUtils
.
formatDateTime
(
LocalDateTime
.
now
(),
"yyyy-MM-dd HH:mm:ss"
).
get
();
List
<
String
>
childNoList
=
new
LinkedList
<>();
switch
(
param
.
getCancelType
())
{
case
1
:
//单纯取消订单
log
.
info
(
"1:货主单纯取消订单"
);
...
...
@@ -110,20 +116,19 @@ public class OrderCancelComponent implements InitializingBean {
List
<
OrderChild
>
orderChildren
=
orderChildDao
.
selectResidueWeight
(
orderNo
,
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
());
log
.
info
(
"执行货主取消未拉运+未到达货源地吨数,当前运单个数"
+
orderChildren
.
size
());
List
<
Integer
>
ids
=
new
LinkedList
<>();
for
(
OrderChild
orderChild
:
orderChildren
)
{
log
.
info
(
"取消的运单:{}"
,
JSONUtil
.
parse
(
orderChild
));
//释放车辆
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
ids
.
add
(
orderChild
.
getId
());
childNoList
.
add
(
orderChild
.
getChildNo
());
}
Map
<
String
,
List
<
OrderChild
>>
orderChildMap
=
new
HashMap
<>();
if
(
CollectionUtil
.
isNotEmpty
(
ids
))
{
log
.
info
(
"
ids:{}"
,
ids
);
if
(
CollectionUtil
.
isNotEmpty
(
childNoList
))
{
log
.
info
(
"
childNoList:{}"
,
childNoList
);
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
OWNER_CANCEL
.
getCode
(),
"货主取消"
,
now
,
now
,
ids
);
now
,
now
,
childNoList
);
orderChildMap
=
orderChildren
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
OrderChild:
:
getOrderGoodsNo
));
...
...
@@ -169,7 +174,9 @@ public class OrderCancelComponent implements InitializingBean {
if
(!
orderFeign
.
updateOrderStatusByOrderNo
(
orderNo
,
orderStatusCode
).
succeed
())
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"货主取消订单失败,原因:远程调用取消订单失败"
);
}
for
(
String
childNo
:
childNoList
)
{
integralMqService
.
orderChildFinish
(
childNo
);
}
}
...
...
@@ -269,6 +276,7 @@ public class OrderCancelComponent implements InitializingBean {
}
@Override
public
void
afterPropertiesSet
()
throws
Exception
{
statusCodeMap
.
put
(
OrderEnum
.
Status
.
QUOTATION_CONFIRMED
.
getCode
(),
OrderEnum
.
Status
.
QUOTATION_CONFIRMED
.
getName
());
...
...
performance-web/src/main/java/com/clx/performance/component/OrderGoodsStatusLazyComponent.java
浏览文件 @
f85afbc2
...
...
@@ -15,13 +15,16 @@ import com.clx.performance.enums.TruckDemandEnum;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.service.OrderChildService
;
import
com.clx.performance.service.breakcontract.BreakContractDriverRecordService
;
import
com.clx.user.enums.driver.DriverInfoEnum
;
import
com.msl.common.base.Optional
;
import
com.msl.common.utils.DateUtils
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.InitializingBean
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.ZSetOperations
;
import
org.springframework.stereotype.Component
;
...
...
@@ -56,6 +59,7 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
private
final
BreakContractDriverRecordService
breakContractDriverRecordService
;
//根据货单最晚接单时间处理
public
void
expireProduceByLastOrderTime
(
LocalDateTime
localDateTime
,
String
orderGoodsNo
)
{
redisTemplate
.
opsForZSet
().
add
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY_LAST_ORDER_TIME
,
orderGoodsNo
,
localDateTime
.
toInstant
(
ZoneOffset
.
of
(
"+8"
)).
toEpochMilli
());
...
...
@@ -168,7 +172,7 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
public
void
consumingLastArriveSendTime
()
{
log
.
info
(
"货单-最晚到达货源地时间-定时器启动"
);
long
nowTimeMillis
=
System
.
currentTimeMillis
();
LocalDateTime
now
=
LocalDateTime
.
now
();
String
now
=
DateUtils
.
formatDateTime
(
LocalDateTime
.
now
(),
"yyyy-MM-dd HH:mm:ss"
).
get
();
Set
<
ZSetOperations
.
TypedTuple
<
String
>>
orderGoodsIds
=
redisTemplate
.
opsForZSet
().
rangeByScoreWithScores
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY_LAST_ARRIVE_SEND_TIME
,
0
,
nowTimeMillis
//延时任务score最小值
...
...
@@ -201,20 +205,20 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
BigDecimal
childSum
=
BigDecimal
.
ZERO
;
List
<
Integer
>
ids
=
new
LinkedList
<>();
List
<
String
>
childNoList
=
new
LinkedList
<>();
for
(
OrderChild
orderChild
:
orderChildrenList
)
{
childSum
=
childSum
.
add
(
orderChild
.
getWeight
());
ids
.
add
(
orderChild
.
getId
());
childNoList
.
add
(
orderChild
.
getChildNo
());
//释放车辆
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
orderChild
.
setCancelTime
(
now
);
orderChild
.
setFinishTime
(
now
);
orderChild
.
setCancelTime
(
DateUtils
.
parseDateTime
(
now
).
get
()
);
orderChild
.
setFinishTime
(
DateUtils
.
parseDateTime
(
now
).
get
()
);
breakContractDriverRecordService
.
saveDriverRecordOfOrderChildCancel
(
orderChild
,
0L
,
"系统"
);
}
log
.
info
(
"取消运单ID集合:{}"
,
ids
);
if
(
CollectionUtil
.
isNotEmpty
(
ids
))
{
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
PLATFORM_CANCEL
.
getCode
(),
"系统取消"
,
now
,
now
,
ids
);
log
.
info
(
"取消运单ID集合:{}"
,
childNoList
);
if
(
CollectionUtil
.
isNotEmpty
(
childNoList
))
{
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
PLATFORM_CANCEL
.
getCode
(),
"系统取消"
,
now
,
now
,
childNoList
);
}
RollbackOrderWeightParam
param
=
new
RollbackOrderWeightParam
();
...
...
@@ -246,6 +250,8 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
orderGoodsDao
.
updateOrderGoodsSetResidueWeightAndAlreadyWeight
(
childSum
,
childSum
,
orderGoods
.
getId
());
}
redisTemplate
.
opsForZSet
().
remove
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY_LAST_ARRIVE_SEND_TIME
,
orderGoodsId
.
getValue
());
}
}
}
...
...
performance-web/src/main/java/com/clx/performance/dao/OrderChildDao.java
浏览文件 @
f85afbc2
...
...
@@ -103,7 +103,7 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
List
<
OrderChild
>
selectArriveSendOrderChildGe
(
String
orderGoodsNo
);
void
batchUpdateOrderChildStatus
(
Integer
status
,
String
remark
,
LocalDateTime
cancelTime
,
LocalDateTime
finishTime
,
List
<
Integer
>
ids
);
void
batchUpdateOrderChildStatus
(
Integer
status
,
String
remark
,
String
cancelTime
,
String
finishTime
,
List
<
String
>
childNoList
);
List
<
OrderChild
>
selectOrderChildListByOrderGoodsNoAndStatusGE
(
String
orderGoodsNo
,
Integer
status
);
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
浏览文件 @
f85afbc2
...
...
@@ -312,8 +312,8 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
}
@Override
public
void
batchUpdateOrderChildStatus
(
Integer
status
,
String
remark
,
LocalDateTime
cancelTime
,
LocalDateTime
finishTime
,
List
<
Integer
>
ids
)
{
baseMapper
.
updateOrderGoodsSetResidueWeight
(
status
,
remark
,
cancelTime
,
finishTime
,
ids
);
public
void
batchUpdateOrderChildStatus
(
Integer
status
,
String
remark
,
String
cancelTime
,
String
finishTime
,
List
<
String
>
childNoList
)
{
baseMapper
.
updateOrderGoodsSetResidueWeight
(
status
,
remark
,
cancelTime
,
finishTime
,
childNoList
);
}
@Override
...
...
performance-web/src/main/java/com/clx/performance/mapper/OrderChildMapper.java
浏览文件 @
f85afbc2
...
...
@@ -49,6 +49,6 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
@UpdateProvider
(
type
=
OrderChildSqlProvider
.
class
,
method
=
"batchUpdateOrderChildStatus"
)
Integer
updateOrderGoodsSetResidueWeight
(
@Param
(
value
=
"status"
)
Integer
status
,
@Param
(
value
=
"remark"
)
String
remark
,
@Param
(
value
=
"cancelTime"
)
LocalDateTime
cancelTime
,
@Param
(
value
=
"finishTime"
)
LocalDateTime
finishTime
,
@Param
(
value
=
"
ids"
)
List
<
Integer
>
ids
);
@Param
(
value
=
"cancelTime"
)
String
cancelTime
,
@Param
(
value
=
"finishTime"
)
String
finishTime
,
@Param
(
value
=
"
childNoList"
)
List
<
String
>
childNoList
);
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/service/OrderChildService.java
浏览文件 @
f85afbc2
...
...
@@ -78,4 +78,6 @@ public interface OrderChildService {
*/
List
<
OrderChild
>
selectInTransitOrderChild
(
String
orderNo
);
void
orderChildFinish
(
String
childNo
);
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderCancelServiceImpl.java
浏览文件 @
f85afbc2
...
...
@@ -27,6 +27,7 @@ import com.clx.user.enums.driver.DriverInfoEnum;
import
com.msl.common.enums.ResultEnum
;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.common.result.Result
;
import
com.msl.common.utils.DateUtils
;
import
com.msl.user.data.UserSessionData
;
import
com.msl.user.utils.TokenUtil
;
import
lombok.AllArgsConstructor
;
...
...
@@ -73,7 +74,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
ownerConfirmCancelOrderPre
(
String
orderNo
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
String
now
=
DateUtils
.
formatDateTime
(
LocalDateTime
.
now
(),
"yyyy-MM-dd HH:mm:ss"
).
get
();
List
<
OrderGoods
>
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
Integer
orderStatusCode
=
OrderEnum
.
Status
.
CANCELED
.
getCode
();
if
(
CollectionUtil
.
isEmpty
(
orderGoodsList
))
{
...
...
@@ -86,7 +87,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
ThawAccountParam
thawAccountParam
=
new
ThawAccountParam
();
thawAccountParam
.
setOrderNo
(
orderNo
);
thawAccountParam
.
setOrderType
(
OwnerAccountEnum
.
OrderChildTypeStatus
.
NETWORK
.
getCode
());
thawAccountParam
.
setOrderType
(
OwnerAccountEnum
.
OrderChildTypeStatus
.
ORDINARY
.
getCode
());
log
.
info
(
"执行解冻账户,参数:{}"
,
JSONUtil
.
parse
(
thawAccountParam
));
ownerAccountService
.
ownerAccountThaw
(
thawAccountParam
);
this
.
ownerConfirmCancelProcess
(
orderNo
);
...
...
@@ -112,17 +113,17 @@ public class OrderCancelServiceImpl implements OrderCancelService {
}
else
{
List
<
OrderChild
>
arriveSendChildList
=
orderChildDao
.
selectResidueWeight
(
orderNo
,
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
());
List
<
Integer
>
ids
=
new
LinkedList
<>();
List
<
String
>
childNoList
=
new
LinkedList
<>();
for
(
OrderChild
orderChild
:
arriveSendChildList
)
{
//释放车辆
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
ids
.
add
(
orderChild
.
getId
());
childNoList
.
add
(
orderChild
.
getChildNo
());
}
if
(
CollectionUtil
.
isNotEmpty
(
ids
))
{
if
(
CollectionUtil
.
isNotEmpty
(
childNoList
))
{
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
PLATFORM_CANCEL
.
getCode
(),
"系统取消"
,
now
,
now
,
ids
);
now
,
now
,
childNoList
);
orderStatusCode
=
OrderEnum
.
Status
.
COMPLETED
.
getCode
();
}
...
...
@@ -170,7 +171,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
ThawAccountParam
thawAccountParam
=
new
ThawAccountParam
();
thawAccountParam
.
setOrderNo
(
orderNo
);
thawAccountParam
.
setOrderType
(
OwnerAccountEnum
.
OrderChildTypeStatus
.
NETWORK
.
getCode
());
thawAccountParam
.
setOrderType
(
OwnerAccountEnum
.
OrderChildTypeStatus
.
ORDINARY
.
getCode
());
log
.
info
(
"执行解冻账户,参数:{}"
,
JSONUtil
.
parse
(
thawAccountParam
));
ownerAccountService
.
ownerAccountThaw
(
thawAccountParam
);
...
...
@@ -329,7 +330,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
ThawAccountParam
thawAccountParam
=
new
ThawAccountParam
();
thawAccountParam
.
setOrderNo
(
orderNo
);
thawAccountParam
.
setOrderType
(
OwnerAccountEnum
.
OrderChildTypeStatus
.
NETWORK
.
getCode
());
thawAccountParam
.
setOrderType
(
OwnerAccountEnum
.
OrderChildTypeStatus
.
ORDINARY
.
getCode
());
log
.
info
(
"执行解冻账户,参数:{}"
,
JSONUtil
.
parse
(
thawAccountParam
));
ownerAccountService
.
ownerAccountThaw
(
thawAccountParam
);
...
...
@@ -352,7 +353,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
String
orderNo
=
param
.
getOrderNo
();
List
<
OrderGoods
>
orderGoodsList
=
null
;
Integer
orderStatusCode
=
OrderEnum
.
Status
.
CANCELED
.
getCode
();
LocalDateTime
now
=
LocalDateTime
.
now
();
String
now
=
DateUtils
.
formatDateTime
(
LocalDateTime
.
now
(),
"yyyy-MM-dd HH:mm:ss"
).
get
();
switch
(
param
.
getCancelType
())
{
case
1
:
//单纯取消订单
if
(
CollectionUtil
.
isNotEmpty
(
orderChildDao
.
getOrderChildByOrderNo
(
orderNo
)))
{
...
...
@@ -402,16 +403,16 @@ public class OrderCancelServiceImpl implements OrderCancelService {
if
(
CollectionUtil
.
isEmpty
(
orderChildren
))
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前订单已发生变化,请重新选择取消方式"
);
}
List
<
Integer
>
ids
=
new
LinkedList
<>();
List
<
String
>
childNoList
=
new
LinkedList
<>();
for
(
OrderChild
orderChild
:
orderChildren
)
{
//释放车辆
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
ids
.
add
(
orderChild
.
getId
());
childNoList
.
add
(
orderChild
.
getChildNo
());
}
if
(
CollectionUtil
.
isNotEmpty
(
ids
))
{
if
(
CollectionUtil
.
isNotEmpty
(
childNoList
))
{
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
OWNER_CANCEL
.
getCode
(),
"平台取消"
,
now
,
now
,
ids
);
now
,
now
,
childNoList
);
}
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
...
...
@@ -462,7 +463,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
//TODO 注意判断普通单还是网运单 普通单类型 1 网运单 2
ThawAccountParam
thawAccountParam
=
new
ThawAccountParam
();
thawAccountParam
.
setOrderNo
(
orderNo
);
thawAccountParam
.
setOrderType
(
OwnerAccountEnum
.
OrderChildTypeStatus
.
NETWORK
.
getCode
());
thawAccountParam
.
setOrderType
(
OwnerAccountEnum
.
OrderChildTypeStatus
.
ORDINARY
.
getCode
());
log
.
info
(
"执行解冻账户,参数:{}"
,
JSONUtil
.
parse
(
thawAccountParam
));
ownerAccountService
.
ownerAccountThaw
(
thawAccountParam
);
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildPoundAuditServiceImpl.java
浏览文件 @
f85afbc2
...
...
@@ -95,11 +95,6 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
BigDecimal
dif
=
param
.
getLoadNet
().
subtract
(
orderChild
.
getLoadNet
());
if
(
dif
.
compareTo
(
BigDecimal
.
ZERO
)
!=
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_WEIGHT_NOT_EQ
);
}
Integer
type
=
OrderChildLogEnum
.
Type
.
POUND_AUDIT
.
getCode
();
if
(
Objects
.
equals
(
param
.
getStatus
(),
OrderChildPoundAuditEnum
.
Status
.
REJECT
.
getCode
())){
type
=
OrderChildLogEnum
.
Type
.
POUND_AUDIT_REJECT
.
getCode
();
...
...
@@ -144,11 +139,18 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
* 装车补偿
*/
private
void
updateOrderGoodsAmountLoad
(
OrderGoods
orderGoods
,
BigDecimal
dif
){
if
(
dif
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
){
return
;}
int
i
=
dif
.
compareTo
(
BigDecimal
.
ZERO
);
if
(
i
==
0
){
return
;
}
else
if
(
i
>
0
)
{
if
(
orderGoods
.
getResidueTransportWeight
().
compareTo
(
dif
)
<
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_GOODS_WEIGHT_NOT_HAVE
);
}
}
int
count
=
orderChildDao
.
countValidByOrderGoodsNo
(
orderGoods
.
getOrderGoodsNo
())-
1
;
Integer
status
=
orderGoods
.
getOrderGoodsStatus
()
;
Integer
status
;
if
(
count
==
0
){
status
=
OrderGoodsStatusEnum
.
Status
.
PAYING
.
getCode
();
}
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
f85afbc2
...
...
@@ -6,8 +6,8 @@ import com.clx.order.enums.OrderEnum;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.vo.feign.FeignAddressVO
;
import
com.clx.order.vo.feign.FeignOrderInfoVO
;
import
com.clx.performance.constant.RedisConstants
;
import
com.clx.performance.component.GoodsOrderTruckRecordComponent
;
import
com.clx.performance.constant.RedisConstants
;
import
com.clx.performance.constant.RedissonConstants
;
import
com.clx.performance.dao.*
;
import
com.clx.performance.dao.breakcontract.BreakContractDriverRecordDao
;
...
...
@@ -27,10 +27,6 @@ import com.clx.performance.param.pc.PageCarrierOrderChildParam;
import
com.clx.performance.param.pc.PageMonitorOrderChildQCParam
;
import
com.clx.performance.param.pc.PagePoundAuditParam
;
import
com.clx.performance.service.*
;
import
com.clx.performance.service.OrderChildLogService
;
import
com.clx.performance.service.OrderChildPoundLogService
;
import
com.clx.performance.service.OrderChildService
;
import
com.clx.performance.service.OrderGoodsService
;
import
com.clx.performance.service.breakcontract.BreakContractDriverRecordService
;
import
com.clx.performance.service.settle.SettlementDriverDetailService
;
import
com.clx.performance.service.settle.SettlementMqService
;
...
...
@@ -51,13 +47,13 @@ import com.msl.common.utils.LocalDateTimeUtils;
import
com.msl.common.utils.gps.GpsUtil
;
import
com.msl.user.data.UserSessionData
;
import
com.msl.user.utils.TokenUtil
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.redisson.api.RLock
;
import
org.redisson.api.RedissonClient
;
import
org.springframework.amqp.core.AmqpTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -78,43 +74,73 @@ import java.util.stream.Collectors;
*/
@Slf4j
@Service
@AllArgsConstructor
public
class
OrderChildServiceImpl
implements
OrderChildService
{
private
final
AmqpTemplate
rabbitTemplate
;
private
final
RedisTemplate
redisTemplate
;
private
final
OrderGoodsDao
orderGoodsDao
;
private
final
OrderGoodsTruckBindDao
orderGoodsTruckBindDao
;
private
final
OrderChildDao
orderChildDao
;
private
final
OrderChildImageDao
orderChildImageDao
;
private
final
OrderChildPoundAuditDao
orderChildPoundAuditDao
;
private
final
OrderChildLogService
orderChildLogService
;
private
final
OrderChildPoundLogService
orderChildPoundLogService
;
private
final
AddressService
addressService
;
private
final
OrderService
orderService
;
private
final
GdService
gdService
;
private
final
DriverService
driverService
;
private
final
OrderChildStruct
orderChildStruct
;
private
final
OrderGoodsService
orderGoodsService
;
private
final
OrderChildPoundStruct
orderChildPoundStruct
;
private
final
OrderChildFreightStruct
orderChildFreightStruct
;
private
final
AddressStruct
addressStruct
;
private
final
OrderChildLogStruct
orderChildLogStruct
;
private
final
UniqueOrderNumService
uniqueOrderNumService
;
private
final
OrderFeign
orderFeign
;
private
final
RedissonClient
redissonClient
;
private
final
IntegralMqService
integralMqService
;
private
final
GoodsOrderTruckRecordComponent
goodsOrderTruckRecordComponent
;
private
final
BreakContractDriverRecordDao
breakContractDriverRecordDao
;
private
final
SettlementDriverDetailService
settlementDriverDetailService
;
private
final
SettlementOwnerDetailService
settlementOwnerDetailService
;
private
final
SettlementMqService
settlementMqService
;
private
final
OrderChildMqService
orderChildMqService
;
private
final
OwnerInfoService
ownerInfoService
;
private
final
BreakContractDriverRecordService
breakContractDriverRecordService
;
@Autowired
private
AmqpTemplate
rabbitTemplate
;
@Autowired
private
RedisTemplate
redisTemplate
;
@Autowired
private
OrderGoodsDao
orderGoodsDao
;
@Autowired
private
OrderGoodsTruckBindDao
orderGoodsTruckBindDao
;
@Autowired
private
OrderChildDao
orderChildDao
;
@Autowired
private
OrderChildImageDao
orderChildImageDao
;
@Autowired
private
OrderChildPoundAuditDao
orderChildPoundAuditDao
;
@Autowired
private
OrderChildLogService
orderChildLogService
;
@Autowired
private
OrderChildPoundLogService
orderChildPoundLogService
;
@Autowired
private
AddressService
addressService
;
@Autowired
private
OrderService
orderService
;
@Autowired
private
GdService
gdService
;
@Autowired
private
DriverService
driverService
;
@Autowired
private
OrderChildStruct
orderChildStruct
;
@Autowired
private
OrderGoodsService
orderGoodsService
;
@Autowired
private
OrderChildPoundStruct
orderChildPoundStruct
;
@Autowired
private
OrderChildFreightStruct
orderChildFreightStruct
;
@Autowired
private
AddressStruct
addressStruct
;
@Autowired
private
OrderChildLogStruct
orderChildLogStruct
;
@Autowired
private
UniqueOrderNumService
uniqueOrderNumService
;
@Autowired
private
OrderFeign
orderFeign
;
@Autowired
private
RedissonClient
redissonClient
;
@Autowired
private
IntegralMqService
integralMqService
;
@Autowired
private
GoodsOrderTruckRecordComponent
goodsOrderTruckRecordComponent
;
@Autowired
private
BreakContractDriverRecordDao
breakContractDriverRecordDao
;
@Autowired
private
SettlementDriverDetailService
settlementDriverDetailService
;
@Autowired
private
SettlementOwnerDetailService
settlementOwnerDetailService
;
@Autowired
private
SettlementMqService
settlementMqService
;
@Autowired
private
OrderChildMqService
orderChildMqService
;
@Autowired
private
OwnerInfoService
ownerInfoService
;
@Autowired
private
BreakContractDriverRecordService
breakContractDriverRecordService
;
@Override
public
SaveOrderChildVO
saveOrderChild
(
OrderChildSaveParam
param
)
{
...
...
@@ -1188,6 +1214,14 @@ public class OrderChildServiceImpl implements OrderChildService {
}
@Override
public
void
orderChildFinish
(
String
childNo
){
// 运单结束 统计积分
integralMqService
.
orderChildFinish
(
childNo
);
}
/**
* 生成计费单
*/
...
...
@@ -1358,10 +1392,14 @@ public class OrderChildServiceImpl implements OrderChildService {
* 装车补偿
*/
private
void
updateOrderGoodsAmountLoad
(
OrderGoods
orderGoods
,
BigDecimal
dif
)
{
if
(
dif
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
int
i
=
dif
.
compareTo
(
BigDecimal
.
ZERO
);
if
(
i
==
0
){
return
;
}
else
if
(
i
>
0
)
{
if
(
orderGoods
.
getResidueTransportWeight
().
compareTo
(
dif
)
<
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_GOODS_WEIGHT_NOT_HAVE
);
}
}
Integer
status
=
OrderGoodsStatusEnum
.
Status
.
GO_TO_SEND
.
getCode
();
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderGoodsServiceImpl.java
浏览文件 @
f85afbc2
...
...
@@ -30,6 +30,8 @@ import com.clx.performance.param.app.OrderGoodsListPageParam;
import
com.clx.performance.param.pc.OrderGoodsCancelParam
;
import
com.clx.performance.param.pc.UpdateEditOrderGoodsParam
;
import
com.clx.performance.param.pc.UpdateOrderGoodsPriceParam
;
import
com.clx.performance.service.IntegralMqService
;
import
com.clx.performance.service.OrderChildService
;
import
com.clx.performance.service.OrderGoodsLogService
;
import
com.clx.performance.service.OrderGoodsService
;
import
com.clx.performance.struct.OrderGoodsStruct
;
...
...
@@ -93,12 +95,15 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
private
GoodsOrderTruckRecordComponent
goodsOrderTruckRecordComponent
;
private
OrderGoodsStatusLazyComponent
orderGoodsStatusLazyComponent
;
private
DriverService
driverService
;
private
OrderCancelComponent
orderCancelComponent
;
private
final
IntegralMqService
integralMqService
;
@Override
public
OrderGoodsVO
getOrderGoodsInfoByOrderGoodsNoForPC
(
String
orderGoodsNo
)
{
OrderGoodsVO
orderGoodsVO
=
orderGoodsDao
.
getOrderGoodsInfoByOrderGoodsNoForPC
(
orderGoodsNo
).
map
(
orderGoodsStruct:
:
convert
).
get
();
...
...
@@ -132,6 +137,9 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
if
(
orderGoods
.
getOrderGoodsStatus
().
equals
(
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
())
||
orderGoods
.
getOrderGoodsStatus
().
equals
(
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
())
)
{
if
(
orderChildWeight
.
compareTo
(
BigDecimal
.
ZERO
)
<
0
)
{
orderChildWeight
=
orderChildWeight
.
negate
();
}
//当前订单已经取消或完结
orderCancelComponent
.
backFillTonnage
(
orderGoods
,
orderChildWeight
);
}
else
{
...
...
@@ -402,6 +410,9 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
for
(
OrderGoodsTruckBind
bind
:
getChildList
)
{
if
(!
truckList
.
contains
(
bind
.
getTruckNo
()))
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前取消的车辆已经接单,车牌号为:"
+
bind
.
getTruckNo
());
}
else
{
//已存在的记录不需要重新创建绑定记录
truckList
.
remove
(
bind
.
getTruckNo
());
}
}
}
...
...
@@ -462,11 +473,11 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
public
void
orderGoodsCancel
(
OrderGoodsCancelParam
goodsCancelParam
)
{
String
orderGoodsNo
=
goodsCancelParam
.
getOrderGoodsNo
();
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderGoodsNo
).
orElseThrow
(
PerformanceResultEnum
.
HTTP_ERROR
,
"数据错误"
);
LocalDateTime
now
=
LocalDateTime
.
now
();
String
now
=
DateUtils
.
formatDateTime
(
LocalDateTime
.
now
(),
"yyyy-MM-dd HH:mm:ss"
).
get
();
List
<
OrderChild
>
orderChildList
=
null
;
BigDecimal
residueWeight
=
null
;
BigDecimal
sum
=
BigDecimal
.
ZERO
;
List
<
Integer
>
ids
=
new
LinkedList
<>();
List
<
String
>
childNoList
=
new
LinkedList
<>();
RollbackOrderWeightParam
param
=
new
RollbackOrderWeightParam
();
Integer
cancelOperateType
=
goodsCancelParam
.
getCancelOperateType
();
...
...
@@ -511,12 +522,12 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
if
(
CollectionUtils
.
isNotEmpty
(
filterOrderChildList
))
{
for
(
OrderChild
orderChild
:
filterOrderChildList
)
{
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
ids
.
add
(
orderChild
.
getId
());
childNoList
.
add
(
orderChild
.
getChildNo
());
sum
=
sum
.
add
(
orderChild
.
getWeight
());
}
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
PLATFORM_CANCEL
.
getCode
(),
"系统取消"
,
now
,
now
,
ids
);
now
,
now
,
childNoList
);
}
orderChildList
.
removeAll
(
filterOrderChildList
);
if
(
CollectionUtil
.
isNotEmpty
(
orderChildList
))
{
...
...
@@ -558,12 +569,12 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
for
(
OrderChild
orderChild
:
filterOrderChildList
)
{
driverService
.
updateOrderStatus
(
orderChild
.
getDriverUserNo
(),
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
(),
orderChild
.
getTruckId
(),
1
);
ids
.
add
(
orderChild
.
getId
());
childNoList
.
add
(
orderChild
.
getChildNo
());
sum
=
sum
.
add
(
orderChild
.
getWeight
());
}
orderChildDao
.
batchUpdateOrderChildStatus
(
OrderChildEnum
.
Status
.
PLATFORM_CANCEL
.
getCode
(),
"系统取消"
,
now
,
now
,
ids
);
now
,
now
,
childNoList
);
orderChildList
.
removeAll
(
filterOrderChildList
);
if
(
CollectionUtil
.
isNotEmpty
(
orderChildList
))
{
orderGoodsStatus
=
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
();
...
...
@@ -607,6 +618,9 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
orderFeign
.
orderCancelReason
(
orderCancelReasonParam
);
for
(
String
childNo
:
childNoList
)
{
integralMqService
.
orderChildFinish
(
childNo
);
}
orderGoodsLogService
.
saveLog
(
orderGoodsNo
,
loginUserInfo
.
getUserNo
(),
loginUserInfo
.
getUserName
(),
OrderGoodsLogsEnum
.
Type
.
CANCEL
.
getName
(),
""
);
}
...
...
performance-web/src/main/java/com/clx/performance/service/impl/TruckServiceImpl.java
浏览文件 @
f85afbc2
...
...
@@ -250,7 +250,6 @@ public class TruckServiceImpl implements TruckService {
private
Map
<
String
,
Integer
>
getTruckStatusMap
(){
//查询平台所有车辆的出车状态信息
Result
<
List
<
TruckUseStatusVO
>>
result
=
userClxFeign
.
getPlatformTruckStatus
();
log
.
info
(
"通过clx-user服务获取平台认证成功车辆出车状态列表,返回结果:{}"
,
JSON
.
toJSONString
(
result
));
if
(!
Objects
.
equals
(
result
.
getCode
(),
ResultCodeEnum
.
SUCCESS
.
getCode
())){
throw
new
ServiceSystemException
(
ResultEnum
.
DATA_NOT_FIND
,
"查询车辆出车状态信息失败"
);
...
...
performance-web/src/main/java/com/clx/performance/service/impl/breakcontract/BreakContractSettlementDriverDetailServiceImpl.java
浏览文件 @
f85afbc2
...
...
@@ -54,9 +54,10 @@ public class BreakContractSettlementDriverDetailServiceImpl implements BreakCon
List
<
ExcelField
>
fieldList
=
new
ArrayList
<>();
fieldList
.
add
(
new
ExcelField
(
0
,
"序号"
,
"index"
,
2000
));
fieldList
.
add
(
new
ExcelField
(
1
,
"违约单号"
,
"breakNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
2
,
"车主编码"
,
"truckOwnUserNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
3
,
"车主名称"
,
"truckOwnUserName"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
4
,
"运单编号"
,
"childNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
2
,
"运单编号"
,
"childNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
3
,
"车主编码"
,
"truckOwnUserNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
4
,
"车主名称"
,
"truckOwnUserName"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
5
,
"司机名称"
,
"driverName"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
6
,
"违约方"
,
"breakContractPartyType"
,
5000
));
...
...
@@ -74,9 +75,10 @@ public class BreakContractSettlementDriverDetailServiceImpl implements BreakCon
rowData
.
add
(
new
ExcelData
(
i
+
1
));
rowData
.
add
(
new
ExcelData
(
dto
.
getBreakNo
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getChildNo
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getTruckOwnUserNo
()+
""
));
rowData
.
add
(
new
ExcelData
(
dto
.
getTruckOwnName
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getChildNo
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getDriverName
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getBreakContractPartyTypeMsg
()));
...
...
performance-web/src/main/java/com/clx/performance/service/impl/breakcontract/BreakContractSettlementDriverServiceImpl.java
浏览文件 @
f85afbc2
...
...
@@ -57,15 +57,16 @@ public class BreakContractSettlementDriverServiceImpl implements BreakContractSe
fieldList
.
add
(
new
ExcelField
(
1
,
"结算单号"
,
"settlementNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
2
,
"运单编号"
,
"childNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
3
,
"车主编号"
,
"truckOwnerNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
4
,
"车主名称"
,
"truckOwnerName"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
4
,
"司机名称"
,
"driverName"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
5
,
"违约方"
,
"breakContractPartyType"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
6
,
"违约金额"
,
"figure"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
7
,
"创建人"
,
"createName"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
8
,
"创建时间"
,
"createTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
9
,
"结算平台"
,
"settlePlatform"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
9
,
"结算状态"
,
"settleStatus"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
9
,
"结算时间"
,
"settleTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
5
,
"司机名称"
,
"driverName"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
6
,
"违约方"
,
"breakContractPartyType"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
7
,
"违约金额"
,
"figure"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
8
,
"创建人"
,
"createName"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
9
,
"创建时间"
,
"createTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
10
,
"结算平台"
,
"settlePlatform"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
11
,
"结算状态"
,
"settleStatus"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
12
,
"结算时间"
,
"settleTime"
,
5000
));
// 组装数据
List
<
List
<
ExcelData
>>
dataList
=
new
ArrayList
<>();
...
...
@@ -78,6 +79,7 @@ public class BreakContractSettlementDriverServiceImpl implements BreakContractSe
rowData
.
add
(
new
ExcelData
(
dto
.
getSettlementNo
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getChildNo
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getTruckOwnUserNo
()+
""
));
rowData
.
add
(
new
ExcelData
(
dto
.
getTruckOwnName
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getDriverName
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getBreakContractPartyTypeMsg
()));
...
...
performance-web/src/main/java/com/clx/performance/service/impl/breakcontract/BreakContractSettlementOwnerServiceImpl.java
浏览文件 @
f85afbc2
...
...
@@ -465,7 +465,8 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
if
(
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
CREATED
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
PAY
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
()))
{
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
())
||
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
OWNER_CANCEL
.
getCode
()))
{
cancelWeight
=
cancelWeight
.
add
(
orderChild
.
getWeight
());
seconds
=
seconds
.
add
(
new
BigDecimal
(
LocalDateTimeUtils
.
getSecondsDiff
(
orderChild
.
getPayTime
(),
now
)));
}
...
...
@@ -477,7 +478,7 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
BigDecimal
baseFigure
=
totalFreight
.
multiply
(
orderCancelRule
.
getAfterRatio
()).
multiply
(
cancelWeight
)
.
divide
(
transportWeight
,
2
,
BigDecimal
.
ROUND_HALF_UP
);
BigDecimal
truckFigure
=
BigDecimal
.
ZERO
;
if
(
Objects
.
equals
(
cancelType
,
CancelOrderEnum
.
Type
.
NOT_ARRIVE
)){
if
(
Objects
.
equals
(
cancelType
,
CancelOrderEnum
.
Type
.
NOT_ARRIVE
.
getCode
()
)){
truckFigure
=
seconds
.
multiply
(
orderCancelRule
.
getAfterFigurePerHour
())
.
divide
(
new
BigDecimal
(
3600
),
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
...
...
performance-web/src/main/java/com/clx/performance/sqlProvider/OrderChildSqlProvider.java
浏览文件 @
f85afbc2
...
...
@@ -128,18 +128,18 @@ public class OrderChildSqlProvider {
public
String
batchUpdateOrderChildStatus
(
@Param
(
value
=
"status"
)
Integer
status
,
@Param
(
value
=
"remark"
)
String
remark
,
@Param
(
value
=
"cancelTime"
)
LocalDateTime
cancelTime
,
@Param
(
value
=
"finishTime"
)
LocalDateTime
finishTime
,
@Param
(
value
=
"
ids"
)
List
<
Integer
>
ids
){
@Param
(
value
=
"cancelTime"
)
String
cancelTime
,
@Param
(
value
=
"finishTime"
)
String
finishTime
,
@Param
(
value
=
"
childNoList"
)
List
<
String
>
childNoList
){
StringBuffer
sqlList
=
new
StringBuffer
();
sqlList
.
append
(
"update order_child set cancel_remark = '"
+
remark
+
"' ,status = "
+
status
+
",cancel_time = "
+
cancelTime
+
"
,finish_time = "
+
finishTime
+
" where id
in ("
);
for
(
int
i
=
0
;
i
<
ids
.
size
();
i
++)
{
Integer
id
=
ids
.
get
(
i
);
sqlList
.
append
(
"update order_child set cancel_remark = '"
+
remark
+
"' ,status = "
+
status
+
",cancel_time =
'
"
+
cancelTime
+
"
',finish_time = '"
+
finishTime
+
"' where child_no
in ("
);
for
(
int
i
=
0
;
i
<
childNoList
.
size
();
i
++)
{
String
childNo
=
childNoList
.
get
(
i
);
sqlList
.
append
(
"'"
).
append
(
id
).
append
(
"'"
);
sqlList
.
append
(
"'"
).
append
(
childNo
).
append
(
"'"
);
if
(
i
<
ids
.
size
()
-
1
)
{
if
(
i
<
childNoList
.
size
()
-
1
)
{
sqlList
.
append
(
","
);
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论