Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
33a92a84
提交
33a92a84
authored
1月 10, 2024
作者:
liruixin
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/release' into release
上级
791d2270
b386ba2e
隐藏空白字符变更
内嵌
并排
正在显示
35 个修改的文件
包含
386 行增加
和
59 行删除
+386
-59
SettlementDriverEnum.java
...om/clx/performance/enums/settle/SettlementDriverEnum.java
+15
-0
SettlementOwnerEnum.java
...com/clx/performance/enums/settle/SettlementOwnerEnum.java
+22
-0
JudgeTruckStatusParam.java
...a/com/clx/performance/param/pc/JudgeTruckStatusParam.java
+25
-0
NetworkDriverAccountParam.java
...erformance/param/pc/driver/NetworkDriverAccountParam.java
+4
-0
MergeOwnerSettlementParam.java
...performance/param/pc/owner/MergeOwnerSettlementParam.java
+25
-0
SettlementMergeDetailVO.java
...ormance/vo/pc/carrier/settle/SettlementMergeDetailVO.java
+30
-0
TruckController.java
...va/com/clx/performance/controller/pc/TruckController.java
+9
-4
CarrierBreakContractDriverRecordController.java
...t/carrier/CarrierBreakContractDriverRecordController.java
+11
-4
CarrierSettlementOwnerController.java
...ntroller/pc/carrier/CarrierSettlementOwnerController.java
+6
-2
OwnerSettlementOwnerController.java
...e/controller/pc/owner/OwnerSettlementOwnerController.java
+0
-3
SettlementOwnerDaoImpl.java
...x/performance/dao/impl/settle/SettlementOwnerDaoImpl.java
+18
-3
SettlementOwnerDetailDaoImpl.java
...ormance/dao/impl/settle/SettlementOwnerDetailDaoImpl.java
+9
-0
SettlementOwnerDao.java
...va/com/clx/performance/dao/settle/SettlementOwnerDao.java
+4
-2
SettlementOwnerDetailDao.java
.../clx/performance/dao/settle/SettlementOwnerDetailDao.java
+2
-0
NetworkDriverAccountSyncJob.java
.../com/clx/performance/job/NetworkDriverAccountSyncJob.java
+7
-0
NetworkDriverAccountMapper.java
...performance/mapper/settle/NetworkDriverAccountMapper.java
+2
-1
SettlementOwnerMapper.java
.../clx/performance/mapper/settle/SettlementOwnerMapper.java
+0
-3
SettlementOwner.java
...ava/com/clx/performance/model/settle/SettlementOwner.java
+1
-0
TruckService.java
...c/main/java/com/clx/performance/service/TruckService.java
+3
-4
BreakContractDriverRecordService.java
...rvice/breakcontract/BreakContractDriverRecordService.java
+1
-0
OwnerAccountServiceImpl.java
...clx/performance/service/impl/OwnerAccountServiceImpl.java
+4
-0
TruckServiceImpl.java
...va/com/clx/performance/service/impl/TruckServiceImpl.java
+16
-7
BreakContractDriverRecordServiceImpl.java
...l/breakcontract/BreakContractDriverRecordServiceImpl.java
+31
-2
BreakContractSettlementDriverServiceImpl.java
...eakcontract/BreakContractSettlementDriverServiceImpl.java
+1
-1
NetworkDriverAccountServiceImpl.java
.../service/impl/settle/NetworkDriverAccountServiceImpl.java
+1
-0
NetworkDriverRunningWaterRecordServiceImpl.java
...pl/settle/NetworkDriverRunningWaterRecordServiceImpl.java
+15
-12
SettlementDriverServiceImpl.java
...ance/service/impl/settle/SettlementDriverServiceImpl.java
+1
-1
SettlementMqHandlerServiceImpl.java
...e/service/impl/settle/SettlementMqHandlerServiceImpl.java
+3
-3
SettlementOwnerServiceImpl.java
...mance/service/impl/settle/SettlementOwnerServiceImpl.java
+88
-0
SettlementServiceImpl.java
...erformance/service/impl/settle/SettlementServiceImpl.java
+7
-6
SettlementMqHandlerService.java
...erformance/service/settle/SettlementMqHandlerService.java
+2
-0
SettlementOwnerService.java
...lx/performance/service/settle/SettlementOwnerService.java
+2
-0
NetworkDriverAccountProvider.java
...ance/sqlProvider/settle/NetworkDriverAccountProvider.java
+3
-1
SettlementOwnerSqlProvider.java
...rmance/sqlProvider/settle/SettlementOwnerSqlProvider.java
+12
-0
SettlementOwnerStruct.java
.../clx/performance/struct/settle/SettlementOwnerStruct.java
+6
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/settle/SettlementDriverEnum.java
浏览文件 @
33a92a84
...
...
@@ -47,6 +47,21 @@ public enum SettlementDriverEnum {
}
}
@Getter
@AllArgsConstructor
public
enum
PrepayFreightFlag
{
PAYED
(
1
,
"已预付"
),
NO_PAY
(
0
,
"未预付"
);
private
final
Integer
code
;
private
final
String
msg
;
public
static
Optional
<
PrepayFreightFlag
>
getByCode
(
int
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
Objects
.
equals
(
e
.
getCode
(),
code
)).
findFirst
();
}
public
static
String
getMsgByCode
(
int
code
)
{
return
getByCode
(
code
).
map
(
PrepayFreightFlag:
:
getMsg
).
orElse
(
null
);
}
}
}
performance-api/src/main/java/com/clx/performance/enums/settle/SettlementOwnerEnum.java
浏览文件 @
33a92a84
...
...
@@ -111,4 +111,26 @@ public enum SettlementOwnerEnum {
}
}
@Getter
@AllArgsConstructor
public
enum
MergeSettlementFlag
{
//1:普通结算单 2:合并结算单
COMMON
(
1
,
"普通结算单"
),
MERGE
(
2
,
"合并结算单"
),
;
private
final
int
code
;
private
final
String
name
;
public
static
Optional
<
MergeSettlementFlag
>
getByCode
(
int
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
==
code
).
findFirst
();
}
}
}
performance-api/src/main/java/com/clx/performance/param/pc/JudgeTruckStatusParam.java
0 → 100644
浏览文件 @
33a92a84
package
com
.
clx
.
performance
.
param
.
pc
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
/**
* @ClassName JudgeTruckStatusParam
* @Description
* @Author kavin
* @Date 2023/12/15 14:11
* @Version 1.0
*/
@Getter
@Setter
public
class
JudgeTruckStatusParam
{
@NotNull
(
message
=
"车牌号集合不能为空"
)
@ApiModelProperty
(
"车牌号集合"
)
List
<
String
>
truckNoList
;
}
performance-api/src/main/java/com/clx/performance/param/pc/driver/NetworkDriverAccountParam.java
浏览文件 @
33a92a84
...
...
@@ -5,6 +5,8 @@ import lombok.NoArgsConstructor;
import
lombok.Setter
;
import
lombok.ToString
;
import
java.time.LocalDateTime
;
@Getter
@Setter
...
...
@@ -18,4 +20,6 @@ public class NetworkDriverAccountParam {
private
String
mobile
;
private
LocalDateTime
creteTime
;
}
performance-api/src/main/java/com/clx/performance/param/pc/owner/MergeOwnerSettlementParam.java
0 → 100644
浏览文件 @
33a92a84
package
com
.
clx
.
performance
.
param
.
pc
.
owner
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
/**
* @ClassName MergeOwnerSettlementParam
* @Description
* @Author kavin
* @Date 2023/12/18 17:29
* @Version 1.0
*/
@Getter
@Setter
public
class
MergeOwnerSettlementParam
{
@NotNull
(
message
=
"合并结算单id集合不能为空"
)
@ApiModelProperty
(
"合并结算单id集合"
)
List
<
Integer
>
list
;
}
performance-api/src/main/java/com/clx/performance/vo/pc/carrier/settle/SettlementMergeDetailVO.java
0 → 100644
浏览文件 @
33a92a84
package
com
.
clx
.
performance
.
vo
.
pc
.
carrier
.
settle
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* @ClassName SettlementMergeDetailVO
* @Description
* @Author kavin
* @Date 2023/12/19 14:18
* @Version 1.0
*/
@Getter
@Setter
public
class
SettlementMergeDetailVO
{
@ApiModelProperty
(
"id"
)
private
Integer
id
;
@ApiModelProperty
(
"结算子单号"
)
private
String
settlementNo
;
//结算单编号
@ApiModelProperty
(
"结算单号"
)
private
String
settlementSubNo
;
//结算子单号
@ApiModelProperty
(
"操作人"
)
private
String
mergedBy
;
//合并人
@ApiModelProperty
(
"合并结算单时间"
)
private
String
mergeTime
;
//合并结算单时间
}
performance-web/src/main/java/com/clx/performance/controller/pc/TruckController.java
浏览文件 @
33a92a84
package
com
.
clx
.
performance
.
controller
.
pc
;
import
com.clx.performance.dto.zjxl.TruckTraceDTO
;
import
com.clx.performance.param.pc.OrderGoodsTruckListParam
;
import
com.clx.performance.param.pc.PageTruckListParam
;
import
com.clx.performance.param.pc.PageVicinityTruckListParam
;
import
com.clx.performance.param.pc.TruckTraceParam
;
import
com.clx.performance.param.pc.*
;
import
com.clx.performance.service.TruckService
;
import
com.clx.performance.vo.pc.OrderGoodsTruckListVO
;
import
com.clx.performance.vo.pc.PageTruckListVO
;
...
...
@@ -84,4 +81,12 @@ public class TruckController {
List
<
TruckTraceVO
>
list
=
truckService
.
getTruckTrace
(
param
);
return
Result
.
ok
(
list
);
}
@ApiOperation
(
value
=
"判断车辆状态"
,
notes
=
"<br>By:刘海泉"
)
@PostMapping
(
"/judgeTruckStatus"
)
public
Result
<
List
<
String
>>
judgeTruckStatus
(
@RequestBody
@Validated
JudgeTruckStatusParam
param
)
{
List
<
String
>
list
=
truckService
.
judgeTruckStatus
(
param
);
return
Result
.
ok
(
list
);
}
}
performance-web/src/main/java/com/clx/performance/controller/pc/breakcontract/carrier/CarrierBreakContractDriverRecordController.java
浏览文件 @
33a92a84
...
...
@@ -10,14 +10,13 @@ import com.msl.common.convertor.aspect.UnitCovert;
import
com.msl.common.result.Result
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotBlank
;
@Slf4j
@RestController
...
...
@@ -47,4 +46,12 @@ public class CarrierBreakContractDriverRecordController {
return
Result
.
page
(
page
.
getRecords
(),
page
.
getTotal
(),
page
.
getPages
());
}
@ApiOperation
(
value
=
"获取运单的用车需求(是否自由车辆)"
,
notes
=
"<br>By:刘海泉"
)
@GetMapping
(
"/getChildTruckDemand"
)
public
Result
<
Integer
>
getChildTruckDemand
(
@ApiParam
(
"运单编号"
)
@NotBlank
(
message
=
"运单编号不能为空"
)
String
childNo
)
{
return
Result
.
ok
(
breakContractDriverRecordService
.
getChildTruckDemand
(
childNo
));
}
}
performance-web/src/main/java/com/clx/performance/controller/pc/carrier/CarrierSettlementOwnerController.java
浏览文件 @
33a92a84
...
...
@@ -22,7 +22,6 @@ import org.springframework.web.bind.annotation.*;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.constraints.NotNull
;
@Slf4j
@RestController
@RequestMapping
(
value
=
"/pc/carrier/settlementOwner"
)
...
...
@@ -129,5 +128,10 @@ public class CarrierSettlementOwnerController {
return
Result
.
ok
(
settlementOwnerService
.
getCarrierSettlementPlatformAccount
(
settlementNo
));
}
@ApiOperation
(
value
=
"合并结算单"
,
notes
=
"<br>By:刘海泉"
)
@PostMapping
(
"/mergeOwnerSettlement"
)
public
Result
<
Object
>
mergeOwnerSettlement
(
@RequestBody
@Validated
MergeOwnerSettlementParam
param
)
{
settlementOwnerService
.
mergeOwnerSettlement
(
param
);
return
Result
.
ok
();
}
}
performance-web/src/main/java/com/clx/performance/controller/pc/owner/OwnerSettlementOwnerController.java
浏览文件 @
33a92a84
...
...
@@ -27,7 +27,6 @@ import org.springframework.web.bind.annotation.*;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.constraints.NotNull
;
@Slf4j
@RestController
@RequestMapping
(
value
=
"/pc/owner/settlementOwner"
)
...
...
@@ -105,6 +104,4 @@ public class OwnerSettlementOwnerController {
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementOwnerDaoImpl.java
浏览文件 @
33a92a84
...
...
@@ -12,6 +12,7 @@ import com.msl.common.base.Optional;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementParam
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.time.LocalDateTime
;
...
...
@@ -53,9 +54,8 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
@Override
public
List
<
SettlementOwner
>
getMergeSettlementNos
(
String
settlementNo
)
{
return
super
.
list
(
lQrWrapper
()
.
eq
(
SettlementOwner:
:
getSettlementNo
,
settlementNo
)
.
eq
(
SettlementOwner:
:
getMergeStatus
,
SettlementOwnerEnum
.
MergeStatus
.
YES
.
getCode
())
.
orderByDesc
(
SettlementOwner:
:
getId
));
.
eq
(
SettlementOwner:
:
getSettlementSubNo
,
settlementNo
)
.
orderByDesc
(
SettlementOwner:
:
getCreateTime
));
}
@Override
...
...
@@ -98,6 +98,7 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
@Override
public
IPage
<
SettlementOwner
>
pageCarrierSettlementOwner
(
PageCarrierSettlementOwnerParam
param
)
{
LambdaQueryWrapper
<
SettlementOwner
>
query
=
new
LambdaQueryWrapper
<>();
query
.
eq
(
SettlementOwner
::
getMergeStatus
,
SettlementOwnerEnum
.
MergeStatus
.
NO
.
getCode
());
if
(
Objects
.
nonNull
(
param
.
getOwnerUserNo
())){
query
.
eq
(
SettlementOwner
::
getOwnerUserNo
,
param
.
getOwnerUserNo
());
}
...
...
@@ -134,6 +135,7 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
public
IPage
<
SettlementOwner
>
pageSettlementOwner
(
Long
userNo
,
PageOwnerSettlementParam
param
)
{
LambdaQueryWrapper
<
SettlementOwner
>
query
=
new
LambdaQueryWrapper
<>();
query
.
eq
(
SettlementOwner
::
getOwnerUserNo
,
userNo
);
query
.
eq
(
SettlementOwner
::
getMergeStatus
,
SettlementOwnerEnum
.
MergeStatus
.
NO
.
getCode
());
if
(
StringUtils
.
isNotBlank
(
param
.
getOrderNo
())){
query
.
eq
(
SettlementOwner
::
getOrderNo
,
param
.
getOrderNo
());
}
...
...
@@ -227,4 +229,17 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
);
}
@Override
public
void
updateSettlementMerge
(
@Param
(
"settlementNo"
)
String
settlementNo
,
@Param
(
"settlementNos"
)
List
<
String
>
settlementNos
,
@Param
(
"mergedBy"
)
String
mergedBy
,
@Param
(
"mergeTime"
)
LocalDateTime
mergeTime
)
{
update
(
lUdWrapper
()
.
in
(
SettlementOwner
::
getSettlementNo
,
settlementNos
)
.
set
(
SettlementOwner:
:
getSettlementSubNo
,
settlementNo
)
.
set
(
SettlementOwner:
:
getMergeStatus
,
SettlementOwnerEnum
.
MergeStatus
.
YES
.
getCode
())
.
set
(
SettlementOwner:
:
getMergedBy
,
mergedBy
)
.
set
(
SettlementOwner:
:
getMergeTime
,
mergeTime
)
);
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementOwnerDetailDaoImpl.java
浏览文件 @
33a92a84
...
...
@@ -144,4 +144,13 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
query
.
eq
(
StringUtils
.
isNotBlank
(
param
.
getSettlementSubNo
()),
SettlementOwnerDetail
::
getSettlementSubNo
,
param
.
getSettlementSubNo
());
return
baseMapper
.
selectPage
(
Page
.
of
(
param
.
getPage
(),
param
.
getPageSize
()),
query
);
}
@Override
public
void
updateSettlementMerge
(
String
settlementNo
,
List
<
String
>
settlementNos
)
{
update
(
lUdWrapper
()
.
in
(
SettlementOwnerDetail:
:
getSettlementNo
,
settlementNos
)
.
setSql
(
"settlement_sub_no = settlement_no"
)
.
set
(
SettlementOwnerDetail
::
getSettlementNo
,
settlementNo
)
);
}
}
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementOwnerDao.java
浏览文件 @
33a92a84
...
...
@@ -61,6 +61,8 @@ public interface SettlementOwnerDao extends BaseDao<SettlementOwnerMapper, Settl
@Param
(
"fromStatus"
)
Integer
fromStatus
,
@Param
(
"toStatus"
)
Integer
toStatus
);
void
updateSettlementMerge
(
@Param
(
"settlementNo"
)
String
settlementNo
,
@Param
(
"settlementNos"
)
List
<
String
>
settlementNos
,
@Param
(
"mergedBy"
)
String
mergedBy
,
@Param
(
"mergeTime"
)
LocalDateTime
mergeTime
);
}
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementOwnerDetailDao.java
浏览文件 @
33a92a84
...
...
@@ -44,4 +44,6 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM
void
updateFinalPaymentStatusBySettlementNoForOnline
(
String
settlementNo
,
Integer
finalPaymentStatus
);
List
<
SettlementOwnerDetail
>
selectListByOrderNo
(
String
orderNo
);
void
updateSettlementMerge
(
String
settlementNo
,
List
<
String
>
settlementNos
);
}
performance-web/src/main/java/com/clx/performance/job/NetworkDriverAccountSyncJob.java
浏览文件 @
33a92a84
...
...
@@ -13,6 +13,7 @@ import lombok.AllArgsConstructor;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
java.time.LocalDateTime
;
import
java.util.List
;
@Slf4j
...
...
@@ -43,7 +44,13 @@ public class NetworkDriverAccountSyncJob {
param
.
setDriverUserName
(
vo
.
getName
());
param
.
setDriverUserNo
(
vo
.
getUserNo
());
param
.
setMobile
(
vo
.
getMobile
());
try
{
Thread
.
sleep
(
2000L
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
networkDriverAccountService
.
createNetworkDriverAccount
(
param
);
}
}
...
...
performance-web/src/main/java/com/clx/performance/mapper/settle/NetworkDriverAccountMapper.java
浏览文件 @
33a92a84
...
...
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.clx.performance.model.settle.NetworkDriverAccount
;
import
com.clx.performance.param.pc.PageNetworkAccountListParam
;
import
com.clx.performance.sqlProvider.settle.NetworkDriverAccountProvider
;
import
com.clx.performance.vo.pc.IntegralRecordVO
;
import
com.clx.performance.vo.pc.NetworkDriverAccountVO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.SelectProvider
;
...
...
@@ -19,7 +20,7 @@ import org.apache.ibatis.annotations.Update;
public
interface
NetworkDriverAccountMapper
extends
BaseMapper
<
NetworkDriverAccount
>
{
@SelectProvider
(
type
=
NetworkDriverAccountProvider
.
class
,
method
=
"networkAccountList"
)
IPage
<
NetworkDriverAccountVO
>
networkAccountList
(
Page
<
NetworkDriverAccountVO
>
page
,
PageNetworkAccountListParam
param
);
IPage
<
NetworkDriverAccountVO
>
networkAccountList
(
@Param
(
"page"
)
Page
<
NetworkDriverAccountVO
>
page
,
@Param
(
"param"
)
PageNetworkAccountListParam
param
);
@Update
(
"update network_driver_account set usable_balance = usable_balance + #{account.usableBalance}"
+
",account_balance = account_balance + #{account.accountBalance}"
...
...
performance-web/src/main/java/com/clx/performance/mapper/settle/SettlementOwnerMapper.java
浏览文件 @
33a92a84
package
com
.
clx
.
performance
.
mapper
.
settle
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.clx.performance.model.settle.SettlementOwner
;
import
org.apache.ibatis.annotations.Mapper
;
@Mapper
public
interface
SettlementOwnerMapper
extends
BaseMapper
<
SettlementOwner
>
{
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/model/settle/SettlementOwner.java
浏览文件 @
33a92a84
...
...
@@ -66,6 +66,7 @@ public class SettlementOwner implements HasKey<Integer> {
private
Integer
status
;
//状态
private
String
remark
;
//备注
private
Integer
mergeStatus
;
//是否合并 0-否,1-是
private
Integer
mergeSettlementFlag
;
//合并结算单标志 1:普通结算单 2:合并结算单
private
String
mergedBy
;
//合并人
private
LocalDateTime
mergeTime
;
//合并结算单时间
private
LocalDateTime
createTime
;
//创建时间
...
...
performance-web/src/main/java/com/clx/performance/service/TruckService.java
浏览文件 @
33a92a84
...
...
@@ -2,10 +2,7 @@ package com.clx.performance.service;
import
com.clx.performance.dto.zjxl.TruckCoordinateDTO
;
import
com.clx.performance.dto.zjxl.TruckTraceDTO
;
import
com.clx.performance.param.pc.OrderGoodsTruckListParam
;
import
com.clx.performance.param.pc.PageTruckListParam
;
import
com.clx.performance.param.pc.PageVicinityTruckListParam
;
import
com.clx.performance.param.pc.TruckTraceParam
;
import
com.clx.performance.param.pc.*
;
import
com.clx.performance.vo.pc.OrderGoodsTruckListVO
;
import
com.clx.performance.vo.pc.PageTruckListVO
;
import
com.clx.performance.vo.pc.TruckTraceVO
;
...
...
@@ -37,4 +34,6 @@ public interface TruckService {
List
<
OrderGoodsTruckListVO
>
getOrderGoodsTruckList
(
OrderGoodsTruckListParam
param
);
List
<
TruckTraceVO
>
getTruckTrace
(
TruckTraceParam
param
);
List
<
String
>
judgeTruckStatus
(
JudgeTruckStatusParam
param
);
}
performance-web/src/main/java/com/clx/performance/service/breakcontract/BreakContractDriverRecordService.java
浏览文件 @
33a92a84
...
...
@@ -32,4 +32,5 @@ public interface BreakContractDriverRecordService {
BigDecimal
getBreakContractFigure
(
String
childNo
);
Integer
getChildTruckDemand
(
String
childNo
);
}
performance-web/src/main/java/com/clx/performance/service/impl/OwnerAccountServiceImpl.java
浏览文件 @
33a92a84
...
...
@@ -68,6 +68,10 @@ import java.math.BigDecimal;
import
java.time.LocalDateTime
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.UUID
;
@Slf4j
@Service
...
...
performance-web/src/main/java/com/clx/performance/service/impl/TruckServiceImpl.java
浏览文件 @
33a92a84
...
...
@@ -11,10 +11,7 @@ import com.clx.performance.enums.DriverTruckEnum;
import
com.clx.performance.enums.OrderGoodsTruckBindEnum
;
import
com.clx.performance.job.TruckTraceJob
;
import
com.clx.performance.model.OrderGoodsTruckBind
;
import
com.clx.performance.param.pc.OrderGoodsTruckListParam
;
import
com.clx.performance.param.pc.PageTruckListParam
;
import
com.clx.performance.param.pc.PageVicinityTruckListParam
;
import
com.clx.performance.param.pc.TruckTraceParam
;
import
com.clx.performance.param.pc.*
;
import
com.clx.performance.service.TruckService
;
import
com.clx.performance.utils.RedisGeoUntil
;
import
com.clx.performance.utils.zjxl.ZjxlGpsService
;
...
...
@@ -268,9 +265,7 @@ public class TruckServiceImpl implements TruckService {
}
Map
<
String
,
Integer
>
truckStatusMap
=
new
HashMap
<>();
result
.
getData
().
stream
().
forEach
(
item
->{
truckStatusMap
.
put
(
item
.
getTruckNo
(),
item
.
getTruckOrderStatus
());
});
result
.
getData
().
forEach
(
item
->
truckStatusMap
.
put
(
item
.
getTruckNo
(),
item
.
getTruckOrderStatus
()));
return
truckStatusMap
;
}
...
...
@@ -399,4 +394,18 @@ public class TruckServiceImpl implements TruckService {
}
return
result
;
}
@Override
public
List
<
String
>
judgeTruckStatus
(
JudgeTruckStatusParam
param
)
{
Map
<
String
,
Integer
>
truckStatusMap
=
this
.
getTruckStatusMap
();
Set
<
String
>
set
=
new
HashSet
<>(
param
.
getTruckNoList
());
List
<
OrderGoodsTruckBind
>
binds
=
orderGoodsTruckBindDao
.
judgeTruckIsBindDxOrder
(
set
);
List
<
String
>
occupyTruckList
=
binds
.
stream
().
map
(
OrderGoodsTruckBind:
:
getTruckNo
).
collect
(
Collectors
.
toList
());
param
.
getTruckNoList
().
forEach
(
truckNo
->{
if
(!
occupyTruckList
.
contains
(
truckNo
)
&&
Objects
.
equals
(
DriverTruckEnum
.
TruckOrderStatus
.
ORDER_HEAVY
.
getCode
(),
truckStatusMap
.
get
(
truckNo
)))
{
occupyTruckList
.
add
(
truckNo
);
}
});
return
occupyTruckList
;
}
}
performance-web/src/main/java/com/clx/performance/service/impl/breakcontract/BreakContractDriverRecordServiceImpl.java
浏览文件 @
33a92a84
...
...
@@ -8,6 +8,7 @@ import com.clx.performance.dao.breakcontract.BreakContractDriverRecordDao;
import
com.clx.performance.dao.breakcontract.BreakContractDriverRuleDao
;
import
com.clx.performance.enums.BreakContractRecordEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.TruckDemandEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.breakcontract.BreakContractDriverRecord
;
...
...
@@ -134,6 +135,12 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
@Override
public
void
saveDriverRecordOfOrderChildCancel
(
OrderChild
orderChild
,
Long
createBy
,
String
createName
)
{
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
())
.
orElseThrow
(
PerformanceResultEnum
.
ORDER_GOODS_NO_FOUND
);
//自由车辆的货单,不产生违约
if
(
Objects
.
equals
(
orderGoods
.
getTruckDemand
(),
TruckDemandEnum
.
TruckType
.
OWNER_CAR
.
getCode
())){
return
;
}
BreakContractDriverRecord
record
=
new
BreakContractDriverRecord
();
BreakContractDriverRule
rule
=
breakContractDriverRuleDao
.
getEntityByKey
(
1
).
orNull
();
...
...
@@ -170,7 +177,11 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
BreakContractDriverRecord
record
=
new
BreakContractDriverRecord
();
// 1小时内不违约
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
PerformanceResultEnum
.
ORDER_GOODS_NO_FOUND
);
//自由车辆的货单,不产生违约
if
(
Objects
.
equals
(
orderGoods
.
getTruckDemand
(),
TruckDemandEnum
.
TruckType
.
OWNER_CAR
.
getCode
())){
return
;
}
if
(!
orderChild
.
getPayTime
().
plusHours
(
1
).
isBefore
(
orderGoods
.
getLastArriveReceiveTime
())){
return
;}
BreakContractDriverRule
rule
=
breakContractDriverRuleDao
.
getEntityByKey
(
1
).
orNull
();
...
...
@@ -204,7 +215,11 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
@Override
public
void
saveDriverRecordOfArriveReceiveAddress
(
OrderChild
orderChild
,
Long
createBy
,
String
createName
)
{
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
PerformanceResultEnum
.
ORDER_GOODS_NO_FOUND
);
//自由车辆的货单,不产生违约
if
(
Objects
.
equals
(
orderGoods
.
getTruckDemand
(),
TruckDemandEnum
.
TruckType
.
OWNER_CAR
.
getCode
())){
return
;
}
if
(!
orderChild
.
getArriveReceiveTime
().
isAfter
(
orderGoods
.
getLastArriveReceiveTime
()))
{
return
;}
BreakContractDriverRule
rule
=
breakContractDriverRuleDao
.
getEntityByKey
(
1
).
orNull
();
...
...
@@ -239,6 +254,11 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
@Override
public
BigDecimal
getBreakContractFigure
(
String
childNo
)
{
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
//自由车辆违约金额返回0元
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
PerformanceResultEnum
.
ORDER_GOODS_NO_FOUND
);
if
(
Objects
.
equals
(
TruckDemandEnum
.
TruckType
.
OWNER_CAR
.
getCode
(),
orderGoods
.
getTruckDemand
())){
return
new
BigDecimal
(
"0.00"
);
}
BreakContractDriverRule
rule
=
breakContractDriverRuleDao
.
getEntityByKey
(
1
).
orNull
();
if
(
rule
==
null
)
{
return
BigDecimal
.
ZERO
;}
...
...
@@ -292,4 +312,13 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
return
money
.
movePointRight
(
2
);
}
@Override
public
Integer
getChildTruckDemand
(
String
childNo
)
{
OrderChild
child
=
orderChildDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
child
.
getOrderGoodsNo
()).
orElseThrow
(
PerformanceResultEnum
.
ORDER_GOODS_NO_FOUND
);
if
(
Objects
.
equals
(
orderGoods
.
getTruckDemand
(),
TruckDemandEnum
.
TruckType
.
OWNER_CAR
.
getCode
())){
return
1
;
}
return
0
;
}
}
performance-web/src/main/java/com/clx/performance/service/impl/breakcontract/BreakContractSettlementDriverServiceImpl.java
浏览文件 @
33a92a84
...
...
@@ -140,7 +140,7 @@ public class BreakContractSettlementDriverServiceImpl implements BreakContractSe
}
public
static
String
formatPayMsg
(
Integer
settlementStatus
,
String
payMsg
)
{
if
(!
Objects
.
equals
(
settlementStatus
,
BreakContractSettlementDriverEnum
.
SettleStatus
.
YES
.
getCode
()))
{
if
(!
Objects
.
equals
(
settlementStatus
,
BreakContractSettlementDriverEnum
.
SettleStatus
.
YES
.
getCode
())
||
StringUtils
.
equals
(
"success"
,
payMsg
)
)
{
return
null
;
}
return
payMsg
;
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/NetworkDriverAccountServiceImpl.java
浏览文件 @
33a92a84
...
...
@@ -21,6 +21,7 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* @author kavin
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/NetworkDriverRunningWaterRecordServiceImpl.java
浏览文件 @
33a92a84
...
...
@@ -73,9 +73,9 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
NetworkDriverAccount
networkDriverAccount
=
networkDriverAccountDao
.
getOneByField
(
NetworkDriverAccount:
:
getDriverUserNo
,
settlementDriverDetail
.
getDriverUserNo
()).
get
();
log
.
info
(
"查询出NetworkDriverAccount{}"
,
JSONUtil
.
parse
(
networkDriverAccount
));
NetworkDriverAccount
build
=
NetworkDriverAccount
.
builder
().
id
(
networkDriverAccount
.
getId
())
.
usableBalance
(
settlementDriverDetail
.
getFreight
())
.
usableBalance
(
settlementDriverDetail
.
get
Settlement
Freight
())
.
frozenBalance
(
BigDecimal
.
ZERO
)
.
accountBalance
(
settlementDriverDetail
.
getFreight
()).
build
();
.
accountBalance
(
settlementDriverDetail
.
get
Settlement
Freight
()).
build
();
while
(
true
)
{
NetworkDriverAccount
account
=
networkDriverAccountDao
.
getEntityByKey
(
build
.
getId
()).
get
();
build
.
setModifiedTime
(
account
.
getModifiedTime
());
...
...
@@ -86,7 +86,8 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
NetworkDriverRunningWaterRecord
entity
=
NetworkDriverRunningWaterRecord
.
builder
()
.
mobile
(
networkDriverAccount
.
getMobile
())
.
usableBalance
(
account
.
getUsableBalance
())
.
alterationBalance
(
settlementDriverDetail
.
getFreight
()).
accountBalance
(
account
.
getAccountBalance
())
.
alterationBalance
(
settlementDriverDetail
.
getSettlementFreight
())
.
accountBalance
(
account
.
getAccountBalance
())
.
frozenBalance
(
account
.
getFrozenBalance
()).
createBy
(
"系统"
)
.
fundType
(
NetworkDriverAccountEnum
.
FundType
.
INCOME
.
getCode
())
.
fundTypeMsg
(
NetworkDriverAccountEnum
.
FundType
.
INCOME
.
getMsg
())
...
...
@@ -118,9 +119,9 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
NetworkDriverAccount
networkDriverAccount
=
networkDriverAccountDao
.
getOneByField
(
NetworkDriverAccount:
:
getDriverUserNo
,
settlementDriverDetail
.
getDriverUserNo
()).
get
();
log
.
info
(
"查询出NetworkDriverAccount{}"
,
JSONUtil
.
parse
(
networkDriverAccount
));
NetworkDriverAccount
build
=
NetworkDriverAccount
.
builder
().
id
(
networkDriverAccount
.
getId
())
.
frozenBalance
(
settlementDriverDetail
.
getFreight
())
.
frozenBalance
(
settlementDriverDetail
.
get
Settlement
Freight
())
.
accountBalance
(
BigDecimal
.
ZERO
)
.
usableBalance
(
settlementDriverDetail
.
getFreight
()).
build
();
.
usableBalance
(
settlementDriverDetail
.
get
Settlement
Freight
()).
build
();
while
(
true
)
{
NetworkDriverAccount
account
=
networkDriverAccountDao
.
getEntityByKey
(
build
.
getId
()).
get
();
build
.
setModifiedTime
(
account
.
getModifiedTime
());
...
...
@@ -131,7 +132,8 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
NetworkDriverRunningWaterRecord
entity
=
NetworkDriverRunningWaterRecord
.
builder
()
.
usableBalance
(
account
.
getUsableBalance
())
.
mobile
(
networkDriverAccount
.
getMobile
())
.
alterationBalance
(
settlementDriverDetail
.
getFreight
()).
accountBalance
(
account
.
getAccountBalance
())
.
alterationBalance
(
settlementDriverDetail
.
getSettlementFreight
())
.
accountBalance
(
account
.
getAccountBalance
())
.
frozenBalance
(
account
.
getFrozenBalance
()).
createBy
(
"系统"
)
.
fundType
(
NetworkDriverAccountEnum
.
FundType
.
FROZEN
.
getCode
())
.
fundTypeMsg
(
NetworkDriverAccountEnum
.
FundType
.
FROZEN
.
getMsg
())
...
...
@@ -159,9 +161,9 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
NetworkDriverAccount
networkDriverAccount
=
networkDriverAccountDao
.
getOneByField
(
NetworkDriverAccount:
:
getDriverUserNo
,
settlementDriverDetail
.
getDriverUserNo
()).
get
();
log
.
info
(
"查询出NetworkDriverAccount{}"
,
JSONUtil
.
parse
(
networkDriverAccount
));
NetworkDriverAccount
build
=
NetworkDriverAccount
.
builder
().
id
(
networkDriverAccount
.
getId
())
.
frozenBalance
(
settlementDriverDetail
.
getFreight
().
negate
())
.
frozenBalance
(
settlementDriverDetail
.
get
Settlement
Freight
().
negate
())
.
usableBalance
(
BigDecimal
.
ZERO
)
.
accountBalance
(
settlementDriverDetail
.
getFreight
()).
build
();
.
accountBalance
(
settlementDriverDetail
.
get
Settlement
Freight
()).
build
();
while
(
true
)
{
NetworkDriverAccount
account
=
networkDriverAccountDao
.
getEntityByKey
(
build
.
getId
()).
get
();
build
.
setModifiedTime
(
account
.
getModifiedTime
());
...
...
@@ -174,7 +176,8 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
NetworkDriverRunningWaterRecord
entity
=
NetworkDriverRunningWaterRecord
.
builder
()
.
usableBalance
(
account
.
getUsableBalance
())
.
mobile
(
networkDriverAccount
.
getMobile
())
.
alterationBalance
(
settlementDriverDetail
.
getFreight
()).
accountBalance
(
account
.
getAccountBalance
())
.
alterationBalance
(
settlementDriverDetail
.
getSettlementFreight
())
.
accountBalance
(
account
.
getAccountBalance
())
.
frozenBalance
(
account
.
getFrozenBalance
()).
createBy
(
"系统"
)
.
fundType
(
NetworkDriverAccountEnum
.
FundType
.
EXPENDITURE
.
getCode
())
.
fundTypeMsg
(
NetworkDriverAccountEnum
.
FundType
.
EXPENDITURE
.
getMsg
())
...
...
@@ -197,7 +200,7 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
@Override
public
void
generateNetworkDriverRunningWaterRecord
(
SettlementDriverDetail
settlementDriverDetail
,
Integer
runningWaterType
)
{
if
(
NetworkDriverAccountEnum
.
RunningWaterStatus
.
SETTLEMENT
.
getCode
().
equals
(
runningWaterType
))
{
log
.
info
(
"执行生成网络货运钱包相关,参数userNo:{},money{},runningWaterType:{}"
,
settlementDriverDetail
.
getDriverUserNo
(),
settlementDriverDetail
.
get
Prepay
Freight
(),
runningWaterType
);
log
.
info
(
"执行生成网络货运钱包相关,参数userNo:{},money{},runningWaterType:{}"
,
settlementDriverDetail
.
getDriverUserNo
(),
settlementDriverDetail
.
get
Settlement
Freight
(),
runningWaterType
);
strategyMap
.
get
(
NetworkDriverAccountEnum
.
RunningWaterStatus
.
SETTLEMENT
.
getCode
()).
accept
(
settlementDriverDetail
);
strategyMap
.
get
(
NetworkDriverAccountEnum
.
RunningWaterStatus
.
CASE_OUT_FROZEN
.
getCode
()).
accept
(
settlementDriverDetail
);
}
...
...
@@ -227,8 +230,8 @@ public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriver
.
driverUserName
(
settlementDriverDetail
.
getDriverName
()).
mobile
(
bankCardVO
.
getMobile
())
.
status
(
NetworkDriverAccountEnum
.
CaseOutRecordStatus
.
WAIT_PLATFORM_PAY
.
getCode
())
.
statusMsg
(
NetworkDriverAccountEnum
.
CaseOutRecordStatus
.
WAIT_PLATFORM_PAY
.
getMsg
())
.
bank
(
bankCardVO
.
getBank
()).
collectionBankCode
(
bankCardVO
.
get
BankCode
())
.
payee
(
bankCardVO
.
getName
()).
alterationBalance
(
settlementDriverDetail
.
getFreight
())
.
bank
(
bankCardVO
.
getBank
()).
collectionBankCode
(
bankCardVO
.
get
CardNo
())
.
payee
(
bankCardVO
.
getName
()).
alterationBalance
(
settlementDriverDetail
.
get
Settlement
Freight
())
.
orderNo
(
settlementDriverDetail
.
getOrderNo
()).
orderGoodsNo
(
settlementDriverDetail
.
getOrderGoodsNo
())
.
childNo
(
settlementDriverDetail
.
getChildNo
())
.
platform
(
"网运平台"
).
createBy
(
"系统"
).
build
();
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementDriverServiceImpl.java
浏览文件 @
33a92a84
...
...
@@ -71,7 +71,7 @@ public class SettlementDriverServiceImpl implements SettlementDriverService {
}
public
static
String
formatPayMsg
(
Integer
settlementStatus
,
String
payMsg
)
{
if
(!
Objects
.
equals
(
settlementStatus
,
SettlementDriverEnum
.
Status
.
SETTLED
.
getCode
()))
{
if
(!
Objects
.
equals
(
settlementStatus
,
SettlementDriverEnum
.
Status
.
SETTLED
.
getCode
())
||
StringUtils
.
equals
(
"success"
,
payMsg
)
)
{
return
null
;
}
return
payMsg
;
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementMqHandlerServiceImpl.java
浏览文件 @
33a92a84
...
...
@@ -18,7 +18,6 @@ import com.clx.performance.enums.settle.SettlementOwnerEnum;
import
com.clx.performance.enums.settle.SettlementPlatformEnum
;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.performance.extranal.user.OwnerInfoService
;
import
com.clx.performance.feign.TransportFeignService
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.settle.SettlementDriver
;
...
...
@@ -149,7 +148,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
if
(!
settlementDriverDetail
.
getInvoiceType
().
equals
(
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
()))
{
paySettlementDriver
(
settlementDriverDetail
);
}
else
{
if
(
settlementDriverDetail
.
getPrepayFreight
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
if
(
settlementDriverDetail
.
getPrepayFreightFlag
().
equals
(
SettlementDriverEnum
.
PrepayFreightFlag
.
PAYED
.
getCode
())
&&
settlementDriverDetail
.
getPrepayFreight
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
settlementDriverDetail
.
setSettlementNo
(
settlementNo
);
//插入同步网络货运待支付记录
childSyncTransportRecordService
.
addOrderChildSyncTransportRecord
(
settlementDriverDetail
);
...
...
@@ -449,7 +449,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
/**
* 创建结算单号
*/
p
rivate
String
settlementNoGenerate
(){
p
ublic
String
settlementNoGenerate
(){
return
uniqueOrderNumService
.
getUniqueOrderNum
(
com
.
msl
.
common
.
utils
.
LocalDateTimeUtils
.
convertLocalDateTimeToString
(
LocalDateTime
.
now
(),
com
.
msl
.
common
.
utils
.
LocalDateTimeUtils
.
DATE_DAY
));
}
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOwnerServiceImpl.java
浏览文件 @
33a92a84
...
...
@@ -19,6 +19,7 @@ import com.clx.performance.model.settle.SettlementPlatformAccount;
import
com.clx.performance.param.pc.owner.*
;
import
com.clx.performance.service.OwnerAccountService
;
import
com.clx.performance.service.settle.SettlementLogService
;
import
com.clx.performance.service.settle.SettlementMqHandlerService
;
import
com.clx.performance.service.settle.SettlementOwnerService
;
import
com.clx.performance.struct.settle.SettlementLogStruct
;
import
com.clx.performance.struct.settle.SettlementOwnerStruct
;
...
...
@@ -40,6 +41,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
...
...
@@ -71,6 +73,9 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
private
final
OwnerAccountService
ownerAccountService
;
private
final
NetworkSyncComponent
networkSyncComponent
;
private
final
SettlementMqHandlerService
settlementMqHandlerService
;
@Override
public
CarrierSettlementOwnerDetailVO
getCarrierSettlementOwnerDetail
(
Integer
id
)
{
...
...
@@ -535,6 +540,89 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
settlementOwnerDao
.
updateInvoiceStatusBySettlementNo
(
settlementNo
,
SettlementOwnerEnum
.
InvoiceStatus
.
NO_NEED_INVOICE
.
getCode
());
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
mergeOwnerSettlement
(
MergeOwnerSettlementParam
param
)
{
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
LocalDateTime
now
=
LocalDateTime
.
now
();
if
(
param
.
getList
().
size
()
<
2
){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
DATA_NOT_FIND
,
"请选择至少两条记录"
);
}
//查询结算单数据
List
<
SettlementOwner
>
settlementOwnersList
=
settlementOwnerDao
.
listInField
(
SettlementOwner
::
getId
,
param
.
getList
());
if
(!
Objects
.
equals
(
param
.
getList
().
size
(),
settlementOwnersList
.
size
())){
log
.
warn
(
"查询的货主结算单数据和实际查询出来的货主结算单数量不一致,结算单id集合:{}"
,
param
.
getList
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
}
//同一货主,同一开票标识,同一结算方式的结算单可支持手动合并
List
<
String
>
settlementNos
=
new
ArrayList
<>();
//货主编码
Long
ownerUserNo
=
null
;
//开票标识:1网运单 2普通单
Integer
invoiceType
=
null
;
//结算方式 1装车净重 2卸车净重
Integer
settlementWay
=
null
;
String
tip
=
"数据错误,结算单状态“待对账”且同一货主,同一开票标识,同一结算方式的结算单支持合并"
;
SettlementOwner
merge
=
null
;
String
settlementNo
=
settlementMqHandlerService
.
settlementNoGenerate
();
for
(
SettlementOwner
item
:
settlementOwnersList
)
{
if
(
Objects
.
equals
(
SettlementOwnerEnum
.
MergeSettlementFlag
.
MERGE
.
getCode
(),
item
.
getMergeSettlementFlag
())
||
Objects
.
equals
(
SettlementOwnerEnum
.
MergeStatus
.
YES
.
getCode
(),
item
.
getMergeStatus
())){
log
.
warn
(
"货主结算单号:{} 结算单不允许二次合并"
,
item
.
getSettlementNo
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
DATA_REPEAT
,
"结算单不允许二次合并"
);
}
if
(!
Objects
.
equals
(
SettlementOwnerEnum
.
Status
.
TO_BE_ACCOUNT
.
getCode
(),
item
.
getStatus
())){
log
.
warn
(
"货主结算单号:{} 的结算状态非待对账"
,
item
.
getSettlementNo
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
DATA_REPEAT
,
tip
);
}
if
(
Objects
.
nonNull
(
ownerUserNo
)
&&
!
Objects
.
equals
(
ownerUserNo
,
item
.
getOwnerUserNo
())){
log
.
warn
(
"货主结算单号:{} 在本批次中不属于同一货主"
,
item
.
getSettlementNo
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
DATA_REPEAT
,
tip
);
}
if
(
Objects
.
nonNull
(
invoiceType
)
&&
!
Objects
.
equals
(
invoiceType
,
item
.
getInvoiceType
())){
log
.
warn
(
"货主结算单号:{} 在本批次中不属于同一开票标志"
,
item
.
getSettlementNo
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
DATA_REPEAT
,
tip
);
}
if
(
Objects
.
nonNull
(
settlementWay
)
&&
!
Objects
.
equals
(
settlementWay
,
item
.
getSettlementWay
())){
log
.
warn
(
"货主结算单号:{} 在本批次中不属于同一结算方式"
,
item
.
getSettlementNo
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
DATA_REPEAT
,
tip
);
}
ownerUserNo
=
item
.
getOwnerUserNo
();
invoiceType
=
item
.
getInvoiceType
();
settlementWay
=
item
.
getSettlementWay
();
settlementNos
.
add
(
item
.
getSettlementNo
());
//合并数据
if
(
Objects
.
nonNull
(
merge
)){
merge
.
setWeight
(
merge
.
getWeight
().
add
(
item
.
getWeight
()));
merge
.
setFreight
(
merge
.
getFreight
().
add
(
item
.
getFreight
()));
merge
.
setLossFreight
(
merge
.
getLossFreight
().
add
(
item
.
getLossFreight
()));
merge
.
setLossWeight
(
merge
.
getLossWeight
().
add
(
item
.
getLossWeight
()));
merge
.
setPrepayFreight
(
merge
.
getPrepayFreight
().
add
(
item
.
getPrepayFreight
()));
merge
.
setSettlementFreight
(
merge
.
getSettlementFreight
().
add
(
item
.
getSettlementFreight
()));
merge
.
setInvoiceFreight
(
merge
.
getInvoiceFreight
().
add
(
item
.
getInvoiceFreight
()));
}
else
{
merge
=
item
;
merge
.
setId
(
null
);
merge
.
setId
(
null
);
merge
.
setOrderNo
(
""
);
merge
.
setSettlementNo
(
settlementNo
);
merge
.
setSettlementSubNo
(
null
);
merge
.
setMergedBy
(
loginUserInfo
.
getUserName
());
merge
.
setMergeTime
(
LocalDateTime
.
now
());
merge
.
setMergeSettlementFlag
(
SettlementOwnerEnum
.
MergeSettlementFlag
.
MERGE
.
getCode
());
}
}
//更新结算单
settlementOwnerDao
.
updateSettlementMerge
(
settlementNo
,
settlementNos
,
loginUserInfo
.
getUserName
(),
now
);
//插入合并单
settlementOwnerDao
.
saveEntity
(
merge
);
//更新货主运单计费明细
settlementOwnerDetailDao
.
updateSettlementMerge
(
settlementNo
,
settlementNos
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementServiceImpl.java
浏览文件 @
33a92a84
...
...
@@ -15,6 +15,7 @@ import com.clx.performance.enums.IdTypeEnum;
import
com.clx.performance.enums.NetworkDriverAccountEnum
;
import
com.clx.performance.enums.OwnerAccountEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.settle.SettlementDriverEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerDetailEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.enums.settle.SettlementWayEnum
;
...
...
@@ -90,9 +91,9 @@ public class SettlementServiceImpl implements SettlementService {
}
// 开票金额
settlementOwnerDetail
.
setInvoiceFreight
(
invoiceFreightCalc
(
orderChild
.
getSettlementWay
(),
settlementOwnerDetail
));
if
(
settlementDriverDetail
.
getSettlementFreight
().
compareTo
(
BigDecimal
.
ZERO
)
<
0
)
{
if
(
settlementDriverDetail
.
getSettlementFreight
().
compareTo
(
BigDecimal
.
ZERO
)
<
=
0
)
{
invoiceType
=
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
();
settlementDriverDetail
.
setPrepayFreightFlag
(
0
);
settlementDriverDetail
.
setPrepayFreightFlag
(
SettlementDriverEnum
.
PrepayFreightFlag
.
NO_PAY
.
getCode
()
);
settlementOwnerDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
}
else
{
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
get
();
...
...
@@ -127,7 +128,7 @@ public class SettlementServiceImpl implements SettlementService {
//冻结的预付运费为0 或者 此刻预付运费也可能为0,那么就不用生成扣除相关流水逻辑
if
(
subtract
.
compareTo
(
BigDecimal
.
ZERO
)
<=
0
||
ans
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
settlementOwnerDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
settlementDriverDetail
.
setPrepayFreightFlag
(
0
);
settlementDriverDetail
.
setPrepayFreightFlag
(
SettlementDriverEnum
.
PrepayFreightFlag
.
NO_PAY
.
getCode
()
);
}
else
{
if
(
subtract
.
subtract
(
ans
).
compareTo
(
BigDecimal
.
ZERO
)
>=
0
)
{
//账户扣钱并生成扣除流水
...
...
@@ -146,13 +147,13 @@ public class SettlementServiceImpl implements SettlementService {
}
else
{
settlementOwnerDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
settlementDriverDetail
.
setPrepayFreightFlag
(
0
);
settlementDriverDetail
.
setPrepayFreightFlag
(
SettlementDriverEnum
.
PrepayFreightFlag
.
NO_PAY
.
getCode
()
);
}
}
}
else
{
settlementDriverDetail
.
setPrepayFreightFlag
(
0
);
settlementDriverDetail
.
setPrepayFreightFlag
(
SettlementDriverEnum
.
PrepayFreightFlag
.
NO_PAY
.
getCode
()
);
settlementOwnerDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
settlementOwnerDetail
.
setFinalPaymentStatus
(
SettlementOwnerDetailEnum
.
FinalPaymentStatus
.
NO
.
getCode
());
}
...
...
@@ -204,7 +205,7 @@ public class SettlementServiceImpl implements SettlementService {
OwnerAccountEnum
.
AccountTypeStatus
.
PREPAID_FREIGHT_ACCOUNT
.
getCode
());
settlementOwnerDetail
.
setPrepayFreight
(
ans
);
settlementDriverDetail
.
setPrepayFreightFlag
(
1
);
settlementDriverDetail
.
setPrepayFreightFlag
(
SettlementDriverEnum
.
PrepayFreightFlag
.
PAYED
.
getCode
()
);
settlementOwnerDetail
.
setFinalPaymentStatus
(
SettlementOwnerDetailEnum
.
FinalPaymentStatus
.
NO_REQUIRE
.
getCode
());
...
...
performance-web/src/main/java/com/clx/performance/service/settle/SettlementMqHandlerService.java
浏览文件 @
33a92a84
...
...
@@ -14,4 +14,6 @@ public interface SettlementMqHandlerService {
String
paySettlementDriver
(
SettlementDriverDetail
detail
);
String
settlementNoGenerate
();
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementOwnerService.java
浏览文件 @
33a92a84
...
...
@@ -54,4 +54,6 @@ public interface SettlementOwnerService {
void
payeeConfirm
(
String
settlementNo
);
void
invoicingStatusNotify
(
InvoicingStatusNotifyDTO
invoicingStatusNotifyDTO
);
void
mergeOwnerSettlement
(
MergeOwnerSettlementParam
param
);
}
performance-web/src/main/java/com/clx/performance/sqlProvider/settle/NetworkDriverAccountProvider.java
浏览文件 @
33a92a84
package
com
.
clx
.
performance
.
sqlProvider
.
settle
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.param.pc.PageNetworkAccountListParam
;
import
com.clx.performance.vo.pc.NetworkDriverAccountVO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.jdbc.SQL
;
public
class
NetworkDriverAccountProvider
{
public
String
networkAccountList
(
@Param
(
"param"
)
PageNetworkAccountListParam
param
)
{
public
String
networkAccountList
(
@Param
(
"pa
ge"
)
Page
<
NetworkDriverAccountVO
>
page
,
@Param
(
"pa
ram"
)
PageNetworkAccountListParam
param
)
{
String
sql
=
new
SQL
()
{{
SELECT
(
"a.id, a.driver_user_no,"
+
" a.driver_user_name, a.mobile, a.account_balance, "
+
...
...
performance-web/src/main/java/com/clx/performance/sqlProvider/settle/SettlementOwnerSqlProvider.java
0 → 100644
浏览文件 @
33a92a84
package
com
.
clx
.
performance
.
sqlProvider
.
settle
;
/**
* @ClassName SettlementOwnerSqlProvider
* @Description
* @Author kavin
* @Date 2023/12/19 10:34
* @Version 1.0
*/
public
class
SettlementOwnerSqlProvider
{
}
performance-web/src/main/java/com/clx/performance/struct/settle/SettlementOwnerStruct.java
浏览文件 @
33a92a84
...
...
@@ -23,6 +23,8 @@ public interface SettlementOwnerStruct {
CarrierSettlementOwnerDetailVO
convertToDetail
(
SettlementOwner
settlementOwner
);
@Mapping
(
target
=
"settlementNo"
,
source
=
"settlementSubNo"
)
@Mapping
(
target
=
"settlementSubNo"
,
source
=
"settlementNo"
)
List
<
SettlementMergeVO
>
convertToMergeList
(
List
<
SettlementOwner
>
settlementOwners
);
List
<
CarrierPageSettlementOwnerVO
>
convertCarrierList
(
List
<
SettlementOwner
>
settlementOwners
);
...
...
@@ -38,4 +40,8 @@ public interface SettlementOwnerStruct {
CarrierSettlementOwnerExpressVO
convertToExpress
(
SettlementOwner
settlementOwner
);
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论