Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
345792ef
提交
345792ef
authored
10月 23, 2023
作者:
liuhaiquan
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/v5.5_settlement_20231011' into v5.5_settlement_20231011
上级
97d53c58
0cbe0bba
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
56 个修改的文件
包含
1639 行增加
和
16 行删除
+1639
-16
MqDelay.java
...api/src/main/java/com/clx/performance/common/MqDelay.java
+27
-0
MqWrapper.java
...i/src/main/java/com/clx/performance/common/MqWrapper.java
+39
-0
SettlementOwnerEnum.java
...com/clx/performance/enums/settle/SettlementOwnerEnum.java
+16
-0
SaveExpressParam.java
.../com/clx/performance/param/pc/owner/SaveExpressParam.java
+21
-0
SavePayeeParam.java
...va/com/clx/performance/param/pc/owner/SavePayeeParam.java
+36
-0
UpdateStatusParam.java
...com/clx/performance/param/pc/owner/UpdateStatusParam.java
+24
-0
UploadInvoiceImgParam.java
...clx/performance/param/pc/owner/UploadInvoiceImgParam.java
+17
-0
OrderChildAddMqParam.java
.../java/com/clx/performance/vo/mq/OrderChildAddMqParam.java
+22
-0
OrderChildDriverConfirmMqParam.java
...clx/performance/vo/mq/OrderChildDriverConfirmMqParam.java
+22
-0
SettlementDetailAddMqParam.java
...com/clx/performance/vo/mq/SettlementDetailAddMqParam.java
+23
-0
SettlementDetailInvoiceTypeSyncMqParam.java
...ormance/vo/mq/SettlementDetailInvoiceTypeSyncMqParam.java
+23
-0
CarrierSettlementOwnerDetailVO.java
.../vo/pc/carrier/settle/CarrierSettlementOwnerDetailVO.java
+5
-0
RabbitOrderChildConfig.java
...va/com/clx/performance/config/RabbitOrderChildConfig.java
+77
-0
RabbitSettlementConfig.java
...va/com/clx/performance/config/RabbitSettlementConfig.java
+13
-1
RabbitKeyOrderChildConstants.java
...lx/performance/constant/RabbitKeyOrderChildConstants.java
+12
-0
RabbitKeySettlementConstants.java
...lx/performance/constant/RabbitKeySettlementConstants.java
+7
-1
CarrierSettlementOwnerController.java
...ntroller/pc/carrier/CarrierSettlementOwnerController.java
+38
-1
CarrierSettlementOwnerDetailController.java
...er/pc/carrier/CarrierSettlementOwnerDetailController.java
+11
-0
TempController.java
...a/com/clx/performance/controller/temp/TempController.java
+15
-0
SettlementDriverDetailDaoImpl.java
...rmance/dao/impl/settle/SettlementDriverDetailDaoImpl.java
+26
-0
SettlementOwnerDaoImpl.java
...x/performance/dao/impl/settle/SettlementOwnerDaoImpl.java
+105
-0
SettlementOwnerDetailDaoImpl.java
...ormance/dao/impl/settle/SettlementOwnerDetailDaoImpl.java
+36
-1
SettlementDriverDetailDao.java
...clx/performance/dao/settle/SettlementDriverDetailDao.java
+9
-0
SettlementOwnerDao.java
...va/com/clx/performance/dao/settle/SettlementOwnerDao.java
+33
-0
SettlementOwnerDetailDao.java
.../clx/performance/dao/settle/SettlementOwnerDetailDao.java
+9
-1
SettlementOwnerMontnJob.java
...java/com/clx/performance/job/SettlementOwnerMontnJob.java
+38
-0
OrderChildAddListener.java
...clx/performance/listener/child/OrderChildAddListener.java
+43
-0
OrderChildDelayListener.java
...x/performance/listener/child/OrderChildDelayListener.java
+43
-0
OrderChildDriverConfirmListener.java
...mance/listener/child/OrderChildDriverConfirmListener.java
+44
-0
SettlementDelayListener.java
.../performance/listener/settle/SettlementDelayListener.java
+43
-0
SettlementDetailAddListener.java
...formance/listener/settle/SettlementDetailAddListener.java
+43
-0
SettlementInvoiceTypeSyncListener.java
...ce/listener/settle/SettlementInvoiceTypeSyncListener.java
+43
-0
SettlementOwner.java
...ava/com/clx/performance/model/settle/SettlementOwner.java
+4
-2
SettlementOwnerDetail.java
...m/clx/performance/model/settle/SettlementOwnerDetail.java
+4
-0
OrderChildMqHandlerService.java
...m/clx/performance/service/OrderChildMqHandlerService.java
+11
-0
OrderChildMqService.java
...java/com/clx/performance/service/OrderChildMqService.java
+9
-0
TempService.java
...rc/main/java/com/clx/performance/service/TempService.java
+7
-0
OrderChildMqHandlerServiceImpl.java
...formance/service/impl/OrderChildMqHandlerServiceImpl.java
+23
-0
OrderChildMqServiceImpl.java
...clx/performance/service/impl/OrderChildMqServiceImpl.java
+46
-0
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+36
-1
TempServiceImpl.java
...ava/com/clx/performance/service/impl/TempServiceImpl.java
+23
-0
CarrierSettlementOwnerServiceImpl.java
...ervice/impl/settle/CarrierSettlementOwnerServiceImpl.java
+45
-0
SettlementDriverDetailServiceImpl.java
...ervice/impl/settle/SettlementDriverDetailServiceImpl.java
+80
-0
SettlementMqHandlerServiceImpl.java
...e/service/impl/settle/SettlementMqHandlerServiceImpl.java
+0
-0
SettlementMqServiceImpl.java
...formance/service/impl/settle/SettlementMqServiceImpl.java
+50
-0
SettlementOwnerDetailServiceImpl.java
...service/impl/settle/SettlementOwnerDetailServiceImpl.java
+91
-0
SettlementOwnerServiceImpl.java
...mance/service/impl/settle/SettlementOwnerServiceImpl.java
+42
-3
SettlementServiceImpl.java
...erformance/service/impl/settle/SettlementServiceImpl.java
+81
-0
CarrierSettlementOwnerService.java
...ormance/service/settle/CarrierSettlementOwnerService.java
+10
-0
SettlementDriverDetailService.java
...ormance/service/settle/SettlementDriverDetailService.java
+4
-0
SettlementMqHandlerService.java
...erformance/service/settle/SettlementMqHandlerService.java
+12
-0
SettlementMqService.java
...m/clx/performance/service/settle/SettlementMqService.java
+9
-0
SettlementOwnerDetailService.java
...formance/service/settle/SettlementOwnerDetailService.java
+3
-2
SettlementOwnerService.java
...lx/performance/service/settle/SettlementOwnerService.java
+11
-3
SettlementService.java
...com/clx/performance/service/settle/SettlementService.java
+6
-0
JobHandlerService.java
...ain/java/com/clx/performance/utils/JobHandlerService.java
+69
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/common/MqDelay.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
common
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
/**
* @Author: aiqingguo
* @Description:
* @Date: 2023-10-12 14:00:14
* @Version: 1.0
*/
@Setter
@Getter
@NoArgsConstructor
public
class
MqDelay
<
T
>
{
private
String
exchange
;
private
String
routerKey
;
private
T
data
;
public
MqDelay
(
String
exchange
,
String
routerKey
,
T
data
)
{
this
.
exchange
=
exchange
;
this
.
routerKey
=
routerKey
;
this
.
data
=
data
;
}
}
performance-api/src/main/java/com/clx/performance/common/MqWrapper.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
common
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
/**
* @Author: aiqingguo
* @Description:
* @Date: 2023-10-12 11:59:33
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
public
class
MqWrapper
<
T
>
{
private
T
data
;
private
String
exchange
;
//交换机
private
String
routeKey
;
//路由键
private
String
createTime
;
//创建时间
public
MqWrapper
(
T
data
)
{
this
.
data
=
data
;
this
.
createTime
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
).
format
(
LocalDateTime
.
now
());
}
public
MqWrapper
(
T
data
,
String
exchange
,
String
routeKey
)
{
this
.
data
=
data
;
this
.
exchange
=
exchange
;
this
.
routeKey
=
routeKey
;
this
.
createTime
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
).
format
(
LocalDateTime
.
now
());
}
}
performance-api/src/main/java/com/clx/performance/enums/settle/SettlementOwnerEnum.java
浏览文件 @
345792ef
...
...
@@ -91,5 +91,21 @@ public enum SettlementOwnerEnum {
}
}
@Getter
@AllArgsConstructor
public
enum
SettlementPeriodType
{
IMMEDIATE
(
1
,
"拉运完成结算"
),
MONTH
(
2
,
"月结"
),
;
private
final
int
code
;
private
final
String
name
;
public
static
Optional
<
SettlementPeriodType
>
getByCode
(
int
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
==
code
).
findFirst
();
}
}
}
performance-api/src/main/java/com/clx/performance/param/pc/owner/SaveExpressParam.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
param
.
pc
.
owner
;
import
com.msl.common.base.PageParam
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
@Getter
@Setter
public
class
SaveExpressParam
{
@ApiModelProperty
(
value
=
"结算编号"
,
example
=
"JS415"
)
private
String
settlementNo
;
@ApiModelProperty
(
value
=
"快递公司"
,
example
=
"顺风"
)
private
String
expressCompany
;
@ApiModelProperty
(
value
=
"快递编号"
,
example
=
"SF145787"
)
private
String
expressNo
;
}
performance-api/src/main/java/com/clx/performance/param/pc/owner/SavePayeeParam.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
param
.
pc
.
owner
;
import
com.msl.common.base.PageParam
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
@Getter
@Setter
public
class
SavePayeeParam
{
@ApiModelProperty
(
value
=
"结算编号"
,
example
=
"JS415"
)
private
String
settlementNo
;
@ApiModelProperty
(
value
=
"收款人"
,
example
=
"收款人"
)
private
String
payee
;
@ApiModelProperty
(
value
=
"收款银行"
,
example
=
"浙江银行"
)
private
String
payeeBankName
;
@ApiModelProperty
(
value
=
"收款银行卡卡号"
,
example
=
"62213545878787"
)
private
String
payeeBankCardNo
;
@ApiModelProperty
(
value
=
"付款凭证"
,
example
=
"/a.png"
)
private
String
paymentImg
;
@ApiModelProperty
(
value
=
"付款银行"
,
example
=
"浙江银行"
)
private
String
paymentBankName
;
@ApiModelProperty
(
value
=
"付款银行卡卡号"
,
example
=
"62213545878787"
)
private
String
paymentBankCardNo
;
@ApiModelProperty
(
value
=
"付款金额"
,
example
=
"123"
)
private
String
paymentAmount
;
}
performance-api/src/main/java/com/clx/performance/param/pc/owner/UpdateStatusParam.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
param
.
pc
.
owner
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
@Getter
@Setter
public
class
UpdateStatusParam
{
@ApiModelProperty
(
value
=
"订单编号"
,
example
=
"JS415"
)
private
String
orderNo
;
@ApiModelProperty
(
value
=
"结算类型:1拉运完成结 2月结"
,
example
=
"收款人"
)
private
Integer
settlementPeriodType
;
@ApiModelProperty
(
value
=
"当前状态"
,
example
=
"收款人"
)
private
Integer
fromStatus
;
@ApiModelProperty
(
value
=
"目标状态"
,
example
=
"收款人"
)
private
Integer
toStatus
;
}
performance-api/src/main/java/com/clx/performance/param/pc/owner/UploadInvoiceImgParam.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
param
.
pc
.
owner
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
@Getter
@Setter
public
class
UploadInvoiceImgParam
{
@ApiModelProperty
(
value
=
"结算编号"
,
example
=
"JS415"
)
private
String
settlementNo
;
@ApiModelProperty
(
value
=
"结算凭证"
,
example
=
"/123.img"
)
private
String
invoiceImg
;
}
performance-api/src/main/java/com/clx/performance/vo/mq/OrderChildAddMqParam.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
vo
.
mq
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* @Author: aiqingguo
* @Description: 新增
* @Date: 2023-10-19 15:45:25
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public
class
OrderChildAddMqParam
{
private
String
childNo
;
//运单编号
}
performance-api/src/main/java/com/clx/performance/vo/mq/OrderChildDriverConfirmMqParam.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
vo
.
mq
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* @Author: aiqingguo
* @Description: 司机确认收货
* @Date: 2023-10-19 15:45:25
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public
class
OrderChildDriverConfirmMqParam
{
private
String
childNo
;
//运单编号
}
performance-api/src/main/java/com/clx/performance/vo/mq/SettlementDetailAddMqParam.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
vo
.
mq
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* @Author: aiqingguo
* @Description: 新增计费明细
* @Date: 2023-10-19 15:45:25
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public
class
SettlementDetailAddMqParam
{
private
Integer
settlementOwnerDetailId
;
//货主计费明细id
private
Integer
settlementDriverDetailId
;
//司机计费明细id
}
performance-api/src/main/java/com/clx/performance/vo/mq/SettlementDetailInvoiceTypeSyncMqParam.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
vo
.
mq
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* @Author: aiqingguo
* @Description: 开票标识同步
* @Date: 2023-10-19 15:45:25
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public
class
SettlementDetailInvoiceTypeSyncMqParam
{
private
String
childNo
;
//运单编号
private
Integer
InvoiceType
;
//司机计费明细id
}
performance-api/src/main/java/com/clx/performance/vo/pc/carrier/settle/CarrierSettlementOwnerDetailVO.java
浏览文件 @
345792ef
...
...
@@ -32,6 +32,11 @@ public class CarrierSettlementOwnerDetailVO {
@ApiModelProperty
(
value
=
"结算子单号"
,
example
=
"JS012"
)
private
String
settlementSubNo
;
@ApiModelProperty
(
value
=
"结算周期类型:1拉运完成结 2月结"
,
example
=
""
)
private
Integer
settlementPeriodType
;
@ApiModelProperty
(
value
=
"结算周期时间(月结)"
,
example
=
""
)
private
String
settlementPeriodTime
;
@ApiModelProperty
(
value
=
"订单编号"
,
example
=
"123"
)
private
String
orderNo
;
...
...
performance-web/src/main/java/com/clx/performance/config/RabbitOrderChildConfig.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
config
;
import
com.clx.performance.constant.RabbitKeyOrderChildConstants
;
import
org.springframework.amqp.core.Binding
;
import
org.springframework.amqp.core.BindingBuilder
;
import
org.springframework.amqp.core.DirectExchange
;
import
org.springframework.amqp.core.Queue
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @Author: aiqingguo
* @Description: 运单 MQ
* @Date: 2023-10-12 16:27:30
* @Version: 1.0
*/
@Configuration
public
class
RabbitOrderChildConfig
{
@Bean
public
DirectExchange
orderChildDefaultExchange
()
{
return
new
DirectExchange
(
RabbitKeyOrderChildConstants
.
DEFAULT_EXCHANGE
);
}
@Bean
public
Queue
orderChildDefaultDelayQueue
()
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>(
8
);
params
.
put
(
"x-message-ttl"
,
15
*
60
*
1000
);
params
.
put
(
"x-max-length"
,
5000000
);
params
.
put
(
"x-dead-letter-exchange"
,
RabbitKeyOrderChildConstants
.
DEFAULT_EXCHANGE
);
params
.
put
(
"x-dead-letter-routing-key"
,
RabbitKeyOrderChildConstants
.
DEFAULT_DEAD_ROUTING_KEY
);
return
new
Queue
(
RabbitKeyOrderChildConstants
.
DEFAULT_DELAY_QUEUE
,
true
,
false
,
false
,
params
);
}
@Bean
public
Binding
orderChildDefaultDelayQueueBinding
()
{
return
BindingBuilder
.
bind
(
orderChildDefaultDelayQueue
()).
to
(
orderChildDefaultExchange
()).
with
(
RabbitKeyOrderChildConstants
.
DEFAULT_DELAY_ROUTING_KEY
);
}
@Bean
public
Queue
orderChildDefaultDeadQueue
()
{
return
new
Queue
(
RabbitKeyOrderChildConstants
.
DEFAULT_DEAD_QUEUE
);
}
@Bean
public
Binding
orderChildDefaultDeadQueueBinding
()
{
return
BindingBuilder
.
bind
(
orderChildDefaultDeadQueue
()).
to
(
orderChildDefaultExchange
()).
with
(
RabbitKeyOrderChildConstants
.
DEFAULT_DEAD_ROUTING_KEY
);
}
/**
* 新增
*/
@Bean
public
Queue
orderChildAddQueue
()
{
return
new
Queue
(
RabbitKeyOrderChildConstants
.
ORDER_CHILD_ADD_QUEUE
);
}
@Bean
public
Binding
orderChildAddQueueBinding
()
{
return
BindingBuilder
.
bind
(
orderChildAddQueue
()).
to
(
orderChildDefaultExchange
()).
with
(
RabbitKeyOrderChildConstants
.
ORDER_CHILD_ADD_ROUTING_KEY
);
}
/**
* 司机确认收货
*/
@Bean
public
Queue
orderChildDriverConfirmQueue
()
{
return
new
Queue
(
RabbitKeyOrderChildConstants
.
ORDER_CHILD_DRIVER_CONFIRM_QUEUE
);
}
@Bean
public
Binding
orderChildDriverConfirmQueueBinding
()
{
return
BindingBuilder
.
bind
(
orderChildDriverConfirmQueue
()).
to
(
orderChildDefaultExchange
()).
with
(
RabbitKeyOrderChildConstants
.
ORDER_CHILD_DRIVER_CONFIRM_ROUTING_KEY
);
}
}
performance-web/src/main/java/com/clx/performance/config/RabbitSettlementConfig.java
浏览文件 @
345792ef
...
...
@@ -58,7 +58,19 @@ public class RabbitSettlementConfig {
}
@Bean
public
Binding
settlementDetailAddQueueBinding
()
{
return
BindingBuilder
.
bind
(
settlementDetailAddQueue
()).
to
(
settlementDefaultExchange
()).
with
(
RabbitKeySettlementConstants
.
SETTLEMENT_DETAIL_ROUTING_KEY
);
return
BindingBuilder
.
bind
(
settlementDetailAddQueue
()).
to
(
settlementDefaultExchange
()).
with
(
RabbitKeySettlementConstants
.
SETTLEMENT_DETAIL_ADD_ROUTING_KEY
);
}
/**
* 计费明细新增
*/
@Bean
public
Queue
settlementDetailInvoiceTypeSyncQueue
()
{
return
new
Queue
(
RabbitKeySettlementConstants
.
SETTLEMENT_DETAIL_INVOICE_TYPE_SYC_QUEUE
);
}
@Bean
public
Binding
settlementDetailInvoiceTypeSyncQueueBinding
()
{
return
BindingBuilder
.
bind
(
settlementDetailInvoiceTypeSyncQueue
()).
to
(
settlementDefaultExchange
()).
with
(
RabbitKeySettlementConstants
.
SETTLEMENT_DETAIL_INVOICE_TYPE_SYC_ROUTING_KEY
);
}
...
...
performance-web/src/main/java/com/clx/performance/constant/RabbitKeyOrderChildConstants.java
浏览文件 @
345792ef
...
...
@@ -33,6 +33,18 @@ public class RabbitKeyOrderChildConstants {
public
static
final
String
DEFAULT_DEAD_QUEUE
=
PREFIX
+
"default"
+
DEAD_QUEUE
;
public
static
final
String
DEFAULT_DEAD_ROUTING_KEY
=
PREFIX
+
"default"
+
DEAD_ROUTING_KEY
;
/**
* 新增
*/
public
static
final
String
ORDER_CHILD_ADD_QUEUE
=
PREFIX
+
"orderChild.add"
+
QUEUE
;
public
static
final
String
ORDER_CHILD_ADD_ROUTING_KEY
=
PREFIX
+
"orderChild.add"
+
QUEUE_ROUTING_KEY
;
/**
* 司机确认
*/
public
static
final
String
ORDER_CHILD_DRIVER_CONFIRM_QUEUE
=
PREFIX
+
"orderChild.driverConfirm"
+
QUEUE
;
public
static
final
String
ORDER_CHILD_DRIVER_CONFIRM_ROUTING_KEY
=
PREFIX
+
"orderChild.driverConfirm"
+
QUEUE_ROUTING_KEY
;
/**
* 运单完成
*/
...
...
performance-web/src/main/java/com/clx/performance/constant/RabbitKeySettlementConstants.java
浏览文件 @
345792ef
...
...
@@ -37,6 +37,12 @@ public class RabbitKeySettlementConstants {
* 新增计费单
*/
public
static
final
String
SETTLEMENT_DETAIL_ADD_QUEUE
=
PREFIX
+
"settlementDetail.add"
+
QUEUE
;
public
static
final
String
SETTLEMENT_DETAIL_ROUTING_KEY
=
PREFIX
+
"settlementDetail.add"
+
QUEUE_ROUTING_KEY
;
public
static
final
String
SETTLEMENT_DETAIL_ADD_ROUTING_KEY
=
PREFIX
+
"settlementDetail.add"
+
QUEUE_ROUTING_KEY
;
/**
* 同步开票标识
*/
public
static
final
String
SETTLEMENT_DETAIL_INVOICE_TYPE_SYC_QUEUE
=
PREFIX
+
"settlementDetailInvoiceType.sync"
+
QUEUE
;
public
static
final
String
SETTLEMENT_DETAIL_INVOICE_TYPE_SYC_ROUTING_KEY
=
PREFIX
+
"settlementDetailInvoiceType.sync"
+
QUEUE_ROUTING_KEY
;
}
performance-web/src/main/java/com/clx/performance/controller/pc/carrier/CarrierSettlementOwnerController.java
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
controller
.
pc
.
carrier
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.param.pc.owner.
PageCarrierSettlementOwnerParam
;
import
com.clx.performance.param.pc.owner.
*
;
import
com.clx.performance.service.settle.SettlementOwnerService
;
import
com.clx.performance.vo.pc.carrier.settle.*
;
import
com.msl.common.base.PageData
;
...
...
@@ -85,4 +85,41 @@ public class CarrierSettlementOwnerController {
return
Result
.
ok
(
settlementOwnerService
.
getCarrierSettlementOwnerExpress
(
id
));
}
@ApiOperation
(
value
=
"货主结算单上传结算凭证"
,
notes
=
"<br>By:姜文业"
)
@PostMapping
(
"/uploadInvoiceImg"
)
public
Result
uploadInvoiceImg
(
@RequestBody
@Validated
UploadInvoiceImgParam
param
)
{
settlementOwnerService
.
uploadInvoiceImg
(
param
);
return
Result
.
ok
();
}
@ApiOperation
(
value
=
"货主结算单填写快递信息"
,
notes
=
"<br>By:姜文业"
)
@PostMapping
(
"/saveExpress"
)
public
Result
saveExpress
(
@RequestBody
@Validated
SaveExpressParam
param
)
{
settlementOwnerService
.
saveExpress
(
param
);
return
Result
.
ok
();
}
@ApiOperation
(
value
=
"货主结算单付款提交"
,
notes
=
"<br>By:姜文业"
)
@PostMapping
(
"/savePayee"
)
public
Result
savePayee
(
@RequestBody
@Validated
SavePayeeParam
param
)
{
settlementOwnerService
.
savePayee
(
param
);
return
Result
.
ok
();
}
@ApiOperation
(
value
=
"编辑结算单状态"
,
notes
=
"<br>By:姜文业"
)
@PostMapping
(
"/updateStatusByOrderNo"
)
public
Result
updateStatusByOrderNo
(
@RequestBody
@Validated
UpdateStatusParam
param
)
{
settlementOwnerService
.
updateStatusByOrderNo
(
param
.
getOrderNo
(),
param
.
getSettlementPeriodType
(),
param
.
getFromStatus
(),
param
.
getToStatus
());
return
Result
.
ok
();
}
@ApiOperation
(
value
=
"货主结算单付款确认"
,
notes
=
"<br>By:姜文业"
)
@GetMapping
(
"/payeeConfirm"
)
@UnitCovert
(
param
=
false
)
public
Result
payeeConfirm
(
@NotNull
(
message
=
"结算单号不能为空"
)
String
settlementNo
)
{
settlementOwnerService
.
payeeConfirm
(
settlementNo
);
return
Result
.
ok
();
}
}
performance-web/src/main/java/com/clx/performance/controller/pc/carrier/CarrierSettlementOwnerDetailController.java
浏览文件 @
345792ef
...
...
@@ -2,8 +2,10 @@ package com.clx.performance.controller.pc.carrier;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam
;
import
com.clx.performance.service.settle.SettlementOwnerDetailService
;
import
com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementOwnerDetailVO
;
import
com.clx.performance.vo.pc.owner.settle.PageOwnerSettlementOwnerDetailVO
;
import
com.msl.common.base.PageData
;
import
com.msl.common.convertor.aspect.UnitCovert
;
import
com.msl.common.result.Result
;
...
...
@@ -33,5 +35,14 @@ public class CarrierSettlementOwnerDetailController {
return
Result
.
page
(
page
.
getRecords
(),
page
.
getTotal
(),
page
.
getPages
());
}
@ApiOperation
(
value
=
"货主结算单运单明细"
,
notes
=
"<br>By:姜文业"
)
@PostMapping
(
"/pageOwnerSettlementOrderDetailList"
)
@UnitCovert
(
param
=
false
)
public
Result
<
PageData
<
PageOwnerSettlementOwnerDetailVO
>>
pageOwnerSettlementOrderDetailList
(
@RequestBody
@Validated
PageOwnerSettlementOwnerDetailParam
param
)
{
IPage
<
PageOwnerSettlementOwnerDetailVO
>
page
=
settlementOwnerDetailService
.
pageOwnerSettlementOrderDetailList
(
param
);
return
Result
.
page
(
page
.
getRecords
(),
page
.
getTotal
(),
page
.
getPages
());
}
}
performance-web/src/main/java/com/clx/performance/controller/temp/TempController.java
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
controller
.
temp
;
import
com.clx.performance.service.TempService
;
import
com.msl.common.result.Result
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -19,6 +21,10 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping
(
value
=
"/temp"
)
public
class
TempController
{
@Autowired
private
TempService
tempService
;
@ApiOperation
(
value
=
"test"
,
notes
=
"<br>By:艾庆国"
)
@RequestMapping
(
value
=
"/test"
,
method
=
RequestMethod
.
GET
)
...
...
@@ -26,4 +32,13 @@ public class TempController {
return
Result
.
ok
();
}
@ApiOperation
(
value
=
"更新网运标识"
,
notes
=
"<br>By:艾庆国"
)
@RequestMapping
(
value
=
"/updateInvoiceType"
,
method
=
RequestMethod
.
POST
)
public
Result
<
Void
>
updateInvoiceType
(
String
childNo
,
Integer
invoiceType
)
{
tempService
.
updateInvoiceType
(
childNo
,
invoiceType
);
return
Result
.
ok
();
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementDriverDetailDaoImpl.java
浏览文件 @
345792ef
...
...
@@ -7,6 +7,7 @@ import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import
com.clx.performance.mapper.settle.SettlementDriverDetailMapper
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.param.pc.driver.PageCarrierSettlementDriverDetailParam
;
import
com.msl.common.base.Optional
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Repository
;
...
...
@@ -21,6 +22,31 @@ import java.util.Objects;
*/
@Repository
public
class
SettlementDriverDetailDaoImpl
extends
BaseDaoImpl
<
SettlementDriverDetailMapper
,
SettlementDriverDetail
,
Integer
>
implements
SettlementDriverDetailDao
{
@Override
public
boolean
updateInvoiceType
(
SettlementDriverDetail
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementDriverDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementDriverDetail:
:
getInvoiceType
,
item
.
getInvoiceType
())
);
}
@Override
public
boolean
updateSettlementNo
(
SettlementDriverDetail
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementDriverDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementDriverDetail:
:
getSettlementNo
,
item
.
getSettlementNo
())
);
}
@Override
public
Optional
<
SettlementDriverDetail
>
getByChildNo
(
String
childNo
)
{
return
Optional
.
of
(
childNo
)
.
map
(
item
->
lQrWrapper
()
.
eq
(
SettlementDriverDetail:
:
getChildNo
,
item
)
)
.
map
(
super
::
getOne
);
}
@Override
public
IPage
<
SettlementDriverDetail
>
pageSettlementDriverDetail
(
PageCarrierSettlementDriverDetailParam
param
)
{
LambdaQueryWrapper
<
SettlementDriverDetail
>
query
=
new
LambdaQueryWrapper
<>();
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementOwnerDaoImpl.java
浏览文件 @
345792ef
...
...
@@ -14,6 +14,7 @@ import com.msl.common.dao.impl.BaseDaoImpl;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Repository
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.Objects
;
...
...
@@ -25,6 +26,29 @@ import java.util.Objects;
*/
@Repository
public
class
SettlementOwnerDaoImpl
extends
BaseDaoImpl
<
SettlementOwnerMapper
,
SettlementOwner
,
Integer
>
implements
SettlementOwnerDao
{
@Override
public
boolean
updateSettlementPeriodMonth
(
SettlementOwner
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwner:
:
getId
,
item
.
getId
())
.
set
(
SettlementOwner:
:
getWeight
,
item
.
getWeight
())
.
set
(
SettlementOwner:
:
getFreight
,
item
.
getFreight
())
.
set
(
SettlementOwner:
:
getLossFreight
,
item
.
getLossFreight
())
.
set
(
SettlementOwner:
:
getSettlementFreight
,
item
.
getSettlementFreight
())
.
set
(
SettlementOwner:
:
getInvoiceFreight
,
item
.
getInvoiceFreight
())
.
set
(
SettlementOwner:
:
getPrepayFreight
,
item
.
getPrepayFreight
())
);
}
@Override
public
boolean
updateLock
(
SettlementOwner
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwner:
:
getId
,
item
.
getId
())
.
eq
(
SettlementOwner:
:
getStatus
,
SettlementOwnerEnum
.
Status
.
TO_BE_LOCKED
.
getCode
())
.
set
(
SettlementOwner:
:
getStatus
,
item
.
getStatus
())
);
}
@Override
public
List
<
SettlementOwner
>
getMergeSettlementNos
(
String
settlementNo
)
{
return
super
.
list
(
lQrWrapper
()
...
...
@@ -94,4 +118,85 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
query
.
orderByDesc
(
SettlementOwner
::
getCreateTime
);
return
baseMapper
.
selectPage
(
Page
.
of
(
param
.
getPage
(),
param
.
getPageSize
()),
query
);
}
@Override
public
Optional
<
SettlementOwner
>
selectUnlockOfSettlementPeriodMonth
(
String
orderNo
,
LocalDateTime
settlementPeriodTime
,
Integer
invoiceType
)
{
return
Optional
.
of
(
lQrWrapper
()
.
eq
(
SettlementOwner:
:
getOrderNo
,
orderNo
)
.
eq
(
SettlementOwner:
:
getSettlementPeriodType
,
SettlementOwnerEnum
.
SettlementPeriodType
.
MONTH
.
getCode
())
.
eq
(
SettlementOwner:
:
getSettlementPeriodTime
,
settlementPeriodTime
)
.
eq
(
SettlementOwner:
:
getInvoiceType
,
invoiceType
)
.
eq
(
SettlementOwner:
:
getStatus
,
SettlementOwnerEnum
.
Status
.
TO_BE_LOCKED
.
getCode
())
)
.
map
(
super
::
getOne
);
}
@Override
public
Optional
<
SettlementOwner
>
selectUnlockOfSettlementPeriodImmediate
(
String
orderNo
,
Integer
invoiceType
)
{
return
Optional
.
of
(
lQrWrapper
()
.
eq
(
SettlementOwner:
:
getOrderNo
,
orderNo
)
.
eq
(
SettlementOwner:
:
getSettlementPeriodType
,
SettlementOwnerEnum
.
SettlementPeriodType
.
IMMEDIATE
.
getCode
())
.
eq
(
SettlementOwner:
:
getInvoiceType
,
invoiceType
)
.
eq
(
SettlementOwner:
:
getStatus
,
SettlementOwnerEnum
.
Status
.
TO_BE_LOCKED
.
getCode
())
)
.
map
(
super
::
getOne
);
}
@Override
public
List
<
SettlementOwner
>
listToBeLockOfSettlementPeriodMonth
(
LocalDateTime
settlementPeriodTime
)
{
return
list
(
lQrWrapper
()
.
eq
(
SettlementOwner:
:
getSettlementPeriodType
,
SettlementOwnerEnum
.
SettlementPeriodType
.
MONTH
.
getCode
())
.
lt
(
SettlementOwner:
:
getSettlementPeriodTime
,
settlementPeriodTime
)
.
le
(
SettlementOwner:
:
getStatus
,
SettlementOwnerEnum
.
Status
.
TO_BE_LOCKED
.
getCode
())
);
}
@Override
public
boolean
uploadInvoiceImg
(
String
settlementNo
,
String
invoiceImg
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwner:
:
getSettlementNo
,
settlementNo
)
.
set
(
SettlementOwner:
:
getInvoiceImg
,
invoiceImg
)
);
}
@Override
public
boolean
saveExpress
(
String
settlementNo
,
String
expressCompany
,
String
expressNo
){
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwner:
:
getSettlementNo
,
settlementNo
)
.
set
(
SettlementOwner:
:
getExpressCompany
,
expressCompany
)
.
set
(
SettlementOwner:
:
getExpressNo
,
expressNo
)
);
}
@Override
public
boolean
savePayee
(
String
settlementNo
,
String
payee
,
String
payeeBankName
,
String
payeeBankCardNo
,
String
paymentImg
,
String
paymentBankCardNo
,
String
paymentBankName
,
String
paymentAmount
){
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwner:
:
getSettlementNo
,
settlementNo
)
.
set
(
SettlementOwner:
:
getPayee
,
payee
)
.
set
(
SettlementOwner:
:
getPayeeBankName
,
payeeBankName
)
.
set
(
SettlementOwner:
:
getPayeeBankCardNo
,
payeeBankCardNo
)
.
set
(
SettlementOwner:
:
getPaymentImg
,
paymentImg
)
.
set
(
SettlementOwner:
:
getPaymentBankCardNo
,
paymentBankCardNo
)
.
set
(
SettlementOwner:
:
getPaymentBankName
,
paymentBankName
)
.
set
(
SettlementOwner:
:
getPaymentAmount
,
paymentAmount
)
);
}
@Override
public
boolean
updateStatusByOrderNo
(
String
orderNo
,
Integer
settlementPeriodType
,
Integer
fromStatus
,
Integer
toStatus
){
return
update
(
lUdWrapper
()
.
eq
(
Objects
.
nonNull
(
orderNo
),
SettlementOwner:
:
getOrderNo
,
orderNo
)
.
eq
(
SettlementOwner:
:
getSettlementPeriodType
,
settlementPeriodType
)
.
eq
(
SettlementOwner:
:
getStatus
,
fromStatus
)
.
set
(
SettlementOwner:
:
getStatus
,
toStatus
)
);
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementOwnerDetailDaoImpl.java
浏览文件 @
345792ef
...
...
@@ -4,15 +4,18 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.mapper.settle.SettlementOwnerDetailMapper
;
import
com.clx.performance.model.settle.SettlementOwner
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam
;
import
com.
clx.performance.vo.pc.owner.settle.PageOwnerSettlementOwnerDetailVO
;
import
com.
msl.common.base.Optional
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.Objects
;
/**
...
...
@@ -23,6 +26,38 @@ import java.util.Objects;
*/
@Repository
public
class
SettlementOwnerDetailDaoImpl
extends
BaseDaoImpl
<
SettlementOwnerDetailMapper
,
SettlementOwnerDetail
,
Integer
>
implements
SettlementOwnerDetailDao
{
@Override
public
boolean
updateInvoiceType
(
SettlementOwnerDetail
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwnerDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementOwnerDetail:
:
getInvoiceType
,
item
.
getInvoiceType
())
.
set
(
SettlementOwnerDetail:
:
getPrepayFreight
,
item
.
getPrepayFreight
())
);
}
@Override
public
boolean
updateSettlementNo
(
SettlementOwnerDetail
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwnerDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementOwnerDetail:
:
getSettlementNo
,
item
.
getSettlementNo
())
);
}
@Override
public
Optional
<
SettlementOwnerDetail
>
getByChildNo
(
String
childNo
)
{
return
Optional
.
of
(
childNo
)
.
map
(
item
->
lQrWrapper
()
.
eq
(
SettlementOwnerDetail:
:
getChildNo
,
item
)
)
.
map
(
super
::
getOne
);
}
@Override
public
List
<
SettlementOwnerDetail
>
getBySettlementNo
(
String
settlementNo
)
{
return
list
(
lQrWrapper
().
eq
(
SettlementOwnerDetail:
:
getSettlementNo
,
settlementNo
));
}
@Override
public
IPage
<
SettlementOwnerDetail
>
pageSettlementOwnerDetail
(
PageCarrierSettlementOwnerDetailParam
param
)
{
...
...
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementDriverDetailDao.java
浏览文件 @
345792ef
...
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.clx.performance.mapper.settle.SettlementDriverDetailMapper
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.param.pc.driver.PageCarrierSettlementDriverDetailParam
;
import
com.msl.common.base.Optional
;
import
com.msl.common.dao.BaseDao
;
/**
...
...
@@ -13,5 +14,13 @@ import com.msl.common.dao.BaseDao;
* @Version: 1.0
*/
public
interface
SettlementDriverDetailDao
extends
BaseDao
<
SettlementDriverDetailMapper
,
SettlementDriverDetail
,
Integer
>
{
boolean
updateInvoiceType
(
SettlementDriverDetail
item
);
boolean
updateSettlementNo
(
SettlementDriverDetail
item
);
Optional
<
SettlementDriverDetail
>
getByChildNo
(
String
childNo
);
IPage
<
SettlementDriverDetail
>
pageSettlementDriverDetail
(
PageCarrierSettlementDriverDetailParam
param
);
}
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementOwnerDao.java
浏览文件 @
345792ef
...
...
@@ -9,10 +9,14 @@ import com.clx.performance.param.pc.owner.PageOwnerSettlementParam;
import
com.msl.common.dao.BaseDao
;
import
org.apache.ibatis.annotations.Param
;
import
java.time.LocalDateTime
;
import
java.util.List
;
public
interface
SettlementOwnerDao
extends
BaseDao
<
SettlementOwnerMapper
,
SettlementOwner
,
Integer
>
{
boolean
updateSettlementPeriodMonth
(
SettlementOwner
item
);
boolean
updateLock
(
SettlementOwner
item
);
List
<
SettlementOwner
>
getMergeSettlementNos
(
@Param
(
"settlementNo"
)
String
settlementNo
);
...
...
@@ -25,4 +29,33 @@ public interface SettlementOwnerDao extends BaseDao<SettlementOwnerMapper, Settl
Optional
<
SettlementOwner
>
selectBySettlementNo
(
@Param
(
"settlementNo"
)
String
settlementNo
);
IPage
<
SettlementOwner
>
pageSettlementOwner
(
Long
userNo
,
PageOwnerSettlementParam
param
);
Optional
<
SettlementOwner
>
selectUnlockOfSettlementPeriodMonth
(
@Param
(
"orderNo"
)
String
orderNo
,
@Param
(
"settlementPeriodTime"
)
LocalDateTime
settlementPeriodTime
,
@Param
(
"invoiceType"
)
Integer
invoiceType
);
Optional
<
SettlementOwner
>
selectUnlockOfSettlementPeriodImmediate
(
@Param
(
"orderNo"
)
String
orderNo
,
@Param
(
"invoiceType"
)
Integer
invoiceType
);
List
<
SettlementOwner
>
listToBeLockOfSettlementPeriodMonth
(
@Param
(
"settlementPeriodTime"
)
LocalDateTime
settlementPeriodTime
);
boolean
uploadInvoiceImg
(
@Param
(
"settlementNo"
)
String
settlementNo
,
@Param
(
"invoiceImg"
)
String
invoiceImg
);
boolean
saveExpress
(
@Param
(
"settlementNo"
)
String
settlementNo
,
@Param
(
"expressCompany"
)
String
expressCompany
,
@Param
(
"expressNo"
)
String
expressNo
);
boolean
savePayee
(
@Param
(
"settlementNo"
)
String
settlementNo
,
@Param
(
"payee"
)
String
payee
,
@Param
(
"payeeBankName"
)
String
payeeBankName
,
@Param
(
"payeeBankCardNo"
)
String
payeeBankCardNo
,
@Param
(
"paymentImg"
)
String
paymentImg
,
@Param
(
"paymentBankCardNo"
)
String
paymentBankCardNo
,
@Param
(
"paymentBankName"
)
String
paymentBankName
,
@Param
(
"paymentAmount"
)
String
paymentAmount
);
boolean
updateStatusByOrderNo
(
@Param
(
"orderNo"
)
String
orderNo
,
@Param
(
"settlementPeriodType"
)
Integer
settlementPeriodType
,
@Param
(
"fromStatus"
)
Integer
fromStatus
,
@Param
(
"toStatus"
)
Integer
toStatus
);
}
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementOwnerDetailDao.java
浏览文件 @
345792ef
...
...
@@ -5,9 +5,11 @@ import com.clx.performance.mapper.settle.SettlementOwnerDetailMapper;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam
;
import
com.
clx.performance.vo.pc.owner.settle.PageOwnerSettlementOwnerDetailVO
;
import
com.
msl.common.base.Optional
;
import
com.msl.common.dao.BaseDao
;
import
java.util.List
;
/**
* @Author: aiqinguo
...
...
@@ -17,6 +19,12 @@ import com.msl.common.dao.BaseDao;
*/
public
interface
SettlementOwnerDetailDao
extends
BaseDao
<
SettlementOwnerDetailMapper
,
SettlementOwnerDetail
,
Integer
>
{
boolean
updateInvoiceType
(
SettlementOwnerDetail
item
);
boolean
updateSettlementNo
(
SettlementOwnerDetail
item
);
Optional
<
SettlementOwnerDetail
>
getByChildNo
(
String
childNo
);
List
<
SettlementOwnerDetail
>
getBySettlementNo
(
String
settlementNo
);
IPage
<
SettlementOwnerDetail
>
pageOwnerSettlementOrderDetailList
(
PageOwnerSettlementOwnerDetailParam
param
);
IPage
<
SettlementOwnerDetail
>
pageSettlementOwnerDetail
(
PageCarrierSettlementOwnerDetailParam
param
);
...
...
performance-web/src/main/java/com/clx/performance/job/SettlementOwnerMontnJob.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
job
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.service.settle.SettlementOwnerService
;
import
com.msl.common.job.JobLog
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
@Slf4j
@Component
public
class
SettlementOwnerMontnJob
{
@Autowired
SettlementOwnerService
settlementOwnerService
;
/**
* 月结货主结算单状态变更为锁定
*/
@XxlJob
(
"settlementOwnerMontnInit"
)
public
void
settlementOwnerMontnInit
()
{
try
{
//所有月结的待锁定的货主结算单修改状态为锁定
settlementOwnerService
.
updateStatusByOrderNo
(
null
,
SettlementOwnerEnum
.
SettlementPeriodType
.
MONTH
.
getCode
(),
SettlementOwnerEnum
.
Status
.
TO_BE_LOCKED
.
getCode
(),
SettlementOwnerEnum
.
Status
.
TO_BE_ACCOUNT
.
getCode
());
}
catch
(
Exception
e
)
{
log
.
warn
(
"月结货主结算单状态变更为锁定,异常原因:{}"
,
e
);
JobLog
.
error
(
"月结货主结算单状态变更为锁定,异常原因====================="
,
e
);
}
}
}
performance-web/src/main/java/com/clx/performance/listener/child/OrderChildAddListener.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
listener
.
child
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.clx.performance.common.MqWrapper
;
import
com.clx.performance.constant.RabbitKeyOrderChildConstants
;
import
com.clx.performance.service.OrderChildMqHandlerService
;
import
com.clx.performance.vo.mq.OrderChildAddMqParam
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* @Author: 艾庆国
* @Description: 运单新增 mq
* @Date: 2023-10-20 16:34:40
* @Version: 1.0
*/
@Slf4j
@Component
public
class
OrderChildAddListener
{
@Autowired
private
OrderChildMqHandlerService
orderChildMqHandlerService
;
@RabbitListener
(
queues
=
RabbitKeyOrderChildConstants
.
ORDER_CHILD_ADD_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"运单-新增, message:{}"
,
new
String
(
message
.
getBody
()));
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
OrderChildAddMqParam
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"运单-新增 失败"
,
e
);
}
}
private
void
process
(
OrderChildAddMqParam
mq
){
orderChildMqHandlerService
.
orderChildAdd
(
mq
);
}
}
performance-web/src/main/java/com/clx/performance/listener/child/OrderChildDelayListener.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
listener
.
child
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.clx.performance.common.MqDelay
;
import
com.clx.performance.common.MqWrapper
;
import
com.clx.performance.constant.RabbitKeyOrderChildConstants
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.core.MessageBuilder
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* @Author: 艾庆国
* @Description: 运单 mq
* @Date: 2023-10-20 10:30:49
* @Version: 1.0
*/
@Slf4j
@Component
public
class
OrderChildDelayListener
{
@Autowired
private
RabbitTemplate
rabbitTemplate
;
@RabbitListener
(
queues
=
RabbitKeyOrderChildConstants
.
DEFAULT_DEAD_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"运单-延迟, message:{}"
,
message
);
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
MqDelay
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"运单-延迟 失败"
,
e
);
}
}
void
process
(
MqDelay
mq
){
Message
message
=
MessageBuilder
.
withBody
(
JSON
.
toJSONString
(
mq
.
getData
()).
getBytes
()).
build
();
rabbitTemplate
.
send
(
mq
.
getExchange
(),
mq
.
getRouterKey
(),
message
);
}
}
performance-web/src/main/java/com/clx/performance/listener/child/OrderChildDriverConfirmListener.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
listener
.
child
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.clx.performance.common.MqWrapper
;
import
com.clx.performance.constant.RabbitKeyOrderChildConstants
;
import
com.clx.performance.service.OrderChildMqHandlerService
;
import
com.clx.performance.vo.mq.OrderChildDriverConfirmMqParam
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* @Author: 艾庆国
* @Description: 运单司机确认收货 mq
* @Date: 2023-10-20 17:39:27
* @Version: 1.0
*/
@Slf4j
@Component
public
class
OrderChildDriverConfirmListener
{
@Autowired
private
OrderChildMqHandlerService
orderChildMqHandlerService
;
@RabbitListener
(
queues
=
RabbitKeyOrderChildConstants
.
ORDER_CHILD_ADD_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"运单-司机确认收货, message:{}"
,
new
String
(
message
.
getBody
()));
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
OrderChildDriverConfirmMqParam
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"运单-司机确认收货 失败"
,
e
);
}
}
private
void
process
(
OrderChildDriverConfirmMqParam
mq
){
orderChildMqHandlerService
.
orderChildDriverConfirm
(
mq
);
}
}
performance-web/src/main/java/com/clx/performance/listener/settle/SettlementDelayListener.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
listener
.
settle
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.clx.performance.common.MqDelay
;
import
com.clx.performance.common.MqWrapper
;
import
com.clx.performance.constant.RabbitKeySettlementConstants
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.core.MessageBuilder
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* @Author: 艾庆国
* @Description: 结算 mq
* @Date: 2023-10-20 16:14:30
* @Version: 1.0
*/
@Slf4j
@Component
public
class
SettlementDelayListener
{
@Autowired
private
RabbitTemplate
rabbitTemplate
;
@RabbitListener
(
queues
=
RabbitKeySettlementConstants
.
DEFAULT_DEAD_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"结算-延迟, message:{}"
,
message
);
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
MqDelay
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"结算-延迟 失败"
,
e
);
}
}
void
process
(
MqDelay
mq
){
Message
message
=
MessageBuilder
.
withBody
(
JSON
.
toJSONString
(
mq
.
getData
()).
getBytes
()).
build
();
rabbitTemplate
.
send
(
mq
.
getExchange
(),
mq
.
getRouterKey
(),
message
);
}
}
performance-web/src/main/java/com/clx/performance/listener/settle/SettlementDetailAddListener.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
listener
.
settle
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.clx.performance.common.MqWrapper
;
import
com.clx.performance.constant.RabbitKeySettlementConstants
;
import
com.clx.performance.service.settle.SettlementMqHandlerService
;
import
com.clx.performance.vo.mq.SettlementDetailAddMqParam
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* @Author: 艾庆国
* @Description: 计费明细新增 mq
* @Date: 2023-10-20 11:45:08
* @Version: 1.0
*/
@Slf4j
@Component
public
class
SettlementDetailAddListener
{
@Autowired
private
SettlementMqHandlerService
settlementMqHandlerService
;
@RabbitListener
(
queues
=
RabbitKeySettlementConstants
.
SETTLEMENT_DETAIL_ADD_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"结算-计费明细新增, message:{}"
,
new
String
(
message
.
getBody
()));
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
SettlementDetailAddMqParam
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"结算-计费明细新增 失败"
,
e
);
}
}
private
void
process
(
SettlementDetailAddMqParam
mq
){
settlementMqHandlerService
.
settlementDetailAdd
(
mq
);
}
}
performance-web/src/main/java/com/clx/performance/listener/settle/SettlementInvoiceTypeSyncListener.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
listener
.
settle
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.clx.performance.common.MqWrapper
;
import
com.clx.performance.constant.RabbitKeySettlementConstants
;
import
com.clx.performance.service.settle.SettlementMqHandlerService
;
import
com.clx.performance.vo.mq.SettlementDetailInvoiceTypeSyncMqParam
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* @Author: 艾庆国
* @Description: 开票标识同步 mq
* @Date: 2023-10-20 11:45:08
* @Version: 1.0
*/
@Slf4j
@Component
public
class
SettlementInvoiceTypeSyncListener
{
@Autowired
private
SettlementMqHandlerService
settlementMqHandlerService
;
@RabbitListener
(
queues
=
RabbitKeySettlementConstants
.
SETTLEMENT_DETAIL_INVOICE_TYPE_SYC_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"结算-开票标识同步, message:{}"
,
new
String
(
message
.
getBody
()));
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
SettlementDetailInvoiceTypeSyncMqParam
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"结算-开票标识同步 失败"
,
e
);
}
}
private
void
process
(
SettlementDetailInvoiceTypeSyncMqParam
mq
){
settlementMqHandlerService
.
settlementDetailInvoiceTypeSync
(
mq
);
}
}
performance-web/src/main/java/com/clx/performance/model/settle/SettlementOwner.java
浏览文件 @
345792ef
...
...
@@ -31,6 +31,8 @@ public class SettlementOwner implements HasKey<Integer> {
private
String
ownerName
;
//货主名称
private
String
settlementNo
;
//结算单编号
private
String
settlementSubNo
;
//结算子单号
private
Integer
settlementPeriodType
;
//结算周期类型:1拉运完成结 2月结
private
LocalDateTime
settlementPeriodTime
;
//结算周期时间(月结)
private
String
orderNo
;
//订单编号
private
BigDecimal
weight
;
//实际净重(吨)
private
BigDecimal
freight
;
//实际运费(分)
...
...
@@ -47,6 +49,7 @@ public class SettlementOwner implements HasKey<Integer> {
private
String
paymentImg
;
//付款凭证
private
String
paymentBankName
;
//付款银行
private
String
paymentBankCardNo
;
//付款银行卡卡号
private
String
paymentAmount
;
//付款金额
private
String
companyName
;
//公司名称
private
String
companyTaxCode
;
//企业税号
private
String
companyAddress
;
//公司地址
...
...
@@ -72,4 +75,4 @@ public class SettlementOwner implements HasKey<Integer> {
public
Integer
gainKey
()
{
return
id
;
}
}
\ No newline at end of file
}
performance-web/src/main/java/com/clx/performance/model/settle/SettlementOwnerDetail.java
浏览文件 @
345792ef
...
...
@@ -34,6 +34,10 @@ public class SettlementOwnerDetail implements HasKey<Integer> {
private
String
childNo
;
//运单编号
private
String
orderGoodsNo
;
//货单编号
private
String
orderNo
;
//订单编号
private
Integer
sendAddressId
;
//发货地址id
private
String
sendAddress
;
//发货地址
private
Integer
receiveAddressId
;
//收货地址id
private
String
receiveAddress
;
//收货地址
private
Integer
goodsId
;
//货物id
private
String
goodsName
;
//货物名称
private
BigDecimal
freightPrice
;
//平台运费单价(分)
...
...
performance-web/src/main/java/com/clx/performance/service/OrderChildMqHandlerService.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
service
;
import
com.clx.performance.vo.mq.OrderChildAddMqParam
;
import
com.clx.performance.vo.mq.OrderChildDriverConfirmMqParam
;
public
interface
OrderChildMqHandlerService
{
void
orderChildAdd
(
OrderChildAddMqParam
mq
);
void
orderChildDriverConfirm
(
OrderChildDriverConfirmMqParam
mq
);
}
performance-web/src/main/java/com/clx/performance/service/OrderChildMqService.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
service
;
public
interface
OrderChildMqService
{
void
orderChildAdd
(
String
childNo
);
void
orderChildDriverConfirm
(
String
childNo
);
}
performance-web/src/main/java/com/clx/performance/service/TempService.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
service
;
public
interface
TempService
{
void
updateInvoiceType
(
String
childNo
,
Integer
InvoiceType
);
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildMqHandlerServiceImpl.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.clx.performance.service.OrderChildMqHandlerService
;
import
com.clx.performance.vo.mq.OrderChildAddMqParam
;
import
com.clx.performance.vo.mq.OrderChildDriverConfirmMqParam
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
@Slf4j
@Service
public
class
OrderChildMqHandlerServiceImpl
implements
OrderChildMqHandlerService
{
@Override
public
void
orderChildAdd
(
OrderChildAddMqParam
mq
)
{
}
@Override
public
void
orderChildDriverConfirm
(
OrderChildDriverConfirmMqParam
mq
)
{
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildMqServiceImpl.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.clx.performance.common.MqDelay
;
import
com.clx.performance.common.MqWrapper
;
import
com.clx.performance.constant.RabbitKeyOrderChildConstants
;
import
com.clx.performance.service.OrderChildMqService
;
import
com.clx.performance.vo.mq.OrderChildAddMqParam
;
import
com.clx.performance.vo.mq.OrderChildDriverConfirmMqParam
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.core.MessageBuilder
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
@Slf4j
@Service
public
class
OrderChildMqServiceImpl
implements
OrderChildMqService
{
@Autowired
private
RabbitTemplate
rabbitTemplate
;
@Override
public
void
orderChildAdd
(
String
childNo
)
{
OrderChildAddMqParam
mq
=
new
OrderChildAddMqParam
();
mq
.
setChildNo
(
childNo
);
MqDelay
<
MqWrapper
<
OrderChildAddMqParam
>>
delay
=
new
MqDelay
<>(
RabbitKeyOrderChildConstants
.
DEFAULT_EXCHANGE
,
RabbitKeyOrderChildConstants
.
ORDER_CHILD_ADD_ROUTING_KEY
,
new
MqWrapper
<>(
mq
));
Message
message
=
MessageBuilder
.
withBody
(
JSON
.
toJSONString
(
new
MqWrapper
<>(
delay
)).
getBytes
()).
build
();
message
.
getMessageProperties
().
setExpiration
(
"5000"
);
rabbitTemplate
.
send
(
RabbitKeyOrderChildConstants
.
DEFAULT_EXCHANGE
,
RabbitKeyOrderChildConstants
.
DEFAULT_DELAY_ROUTING_KEY
,
message
);
}
@Override
public
void
orderChildDriverConfirm
(
String
childNo
)
{
OrderChildDriverConfirmMqParam
mq
=
new
OrderChildDriverConfirmMqParam
();
mq
.
setChildNo
(
childNo
);
MqDelay
<
MqWrapper
<
OrderChildDriverConfirmMqParam
>>
delay
=
new
MqDelay
<>(
RabbitKeyOrderChildConstants
.
DEFAULT_EXCHANGE
,
RabbitKeyOrderChildConstants
.
ORDER_CHILD_DRIVER_CONFIRM_ROUTING_KEY
,
new
MqWrapper
<>(
mq
));
Message
message
=
MessageBuilder
.
withBody
(
JSON
.
toJSONString
(
new
MqWrapper
<>(
delay
)).
getBytes
()).
build
();
message
.
getMessageProperties
().
setExpiration
(
"5000"
);
rabbitTemplate
.
send
(
RabbitKeyOrderChildConstants
.
DEFAULT_EXCHANGE
,
RabbitKeyOrderChildConstants
.
DEFAULT_DELAY_ROUTING_KEY
,
message
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
345792ef
...
...
@@ -20,6 +20,10 @@ 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.*
;
import
com.clx.performance.service.settle.SettlementDriverDetailService
;
import
com.clx.performance.service.settle.SettlementMqService
;
import
com.clx.performance.service.settle.SettlementOwnerDetailService
;
import
com.clx.performance.struct.*
;
import
com.clx.performance.utils.spring.ApplicationContextUtils
;
import
com.clx.performance.vo.app.*
;
...
...
@@ -91,6 +95,11 @@ public class OrderChildServiceImpl implements OrderChildService {
private
final
OrderFeign
orderFeign
;
private
final
RedissonClient
redissonClient
;
private
final
SettlementDriverDetailService
settlementDriverDetailService
;
private
final
SettlementOwnerDetailService
settlementOwnerDetailService
;
private
final
SettlementMqService
settlementMqService
;
private
final
OrderChildMqService
orderChildMqService
;
@Override
public
SaveOrderChildVO
saveOrderChild
(
OrderChildSaveParam
param
)
{
...
...
@@ -155,6 +164,7 @@ public class OrderChildServiceImpl implements OrderChildService {
String
childNo
=
childNoGenerate
();
// 查询司机车辆信息
DriverTruckInfoFeignVo
driverTruckInfo
=
driverService
.
getUserDetailInfo
(
param
.
getDriverUserNo
(),
param
.
getTruckId
()).
orElseThrow
(
ResultCodeEnum
.
FAIL
);
BigDecimal
truckLoad
=
driverTruckInfo
.
getLoad
();
...
...
@@ -168,6 +178,9 @@ public class OrderChildServiceImpl implements OrderChildService {
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_INVALID1
);
}
FeignOrderInfoVO
orderInfo
=
orderService
.
getOrderInfo
(
orderGoods
.
getOrderNo
()).
orElseThrow
(
PerformanceResultEnum
.
ORDER_INVALID
);
// // 车型限制
// FeignOrderInfoVO orderInfo = orderService.getOrderInfo(orderGoods.getOrderNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// if (StringUtils.isNotBlank(orderInfo.getTruckModelList())){
...
...
@@ -206,7 +219,7 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild
.
setOrderGoodsNo
(
orderGoods
.
getOrderGoodsNo
());
orderChild
.
setFreightPrice
(
orderGoods
.
getPendingOrderFreight
());
orderChild
.
setLossPrice
(
orderGoods
.
getLossPrice
());
orderChild
.
setOrderFreightPrice
(
BigDecimal
.
ZERO
);
orderChild
.
setOrderFreightPrice
(
orderInfo
.
getValidFreightPrice
()
);
orderChild
.
setGoodsId
(
orderGoods
.
getGoodsId
());
orderChild
.
setGoodsName
(
orderGoods
.
getGoodsName
());
...
...
@@ -246,6 +259,9 @@ public class OrderChildServiceImpl implements OrderChildService {
// 更新出车状态
updateDriverOrderStatusLock
(
orderChild
.
getDriverUserNo
(),
orderChild
.
getTruckId
());
// 发送mq 新增运单
orderChildMqService
.
orderChildAdd
(
orderChild
.
getChildNo
());
// 新增日志
orderChildLogService
.
saveDriverOrderChildLog
(
childNo
,
OrderChildLogEnum
.
Type
.
CREATED
.
getCode
(),
OrderChildLogEnum
.
Type
.
CREATED
.
getMsg
(),
loginUserInfo
.
getUserNo
(),
loginUserInfo
.
getUserName
());
...
...
@@ -810,6 +826,12 @@ public class OrderChildServiceImpl implements OrderChildService {
// 更新车辆状态
updateDriverOrderStatusDriverConfirm
(
orderChild
.
getTruckId
());
// 生成计费单
saveSettlementDetail
(
orderChild
);
// 发送mq 司机确认收货
orderChildMqService
.
orderChildDriverConfirm
(
orderChild
.
getChildNo
());
// 日志
orderChildLogService
.
saveDriverOrderChildLog
(
childNo
,
OrderChildLogEnum
.
Type
.
DRIVER_CONFIRM
.
getCode
(),
OrderChildLogEnum
.
Type
.
DRIVER_CONFIRM
.
getMsg
(),
loginUserInfo
.
getUserNo
(),
loginUserInfo
.
getUserName
());
...
...
@@ -926,6 +948,19 @@ public class OrderChildServiceImpl implements OrderChildService {
loginUserInfo
.
getUserNo
(),
loginUserInfo
.
getUserName
());
}
/**
* 生成计费单
*/
private
void
saveSettlementDetail
(
OrderChild
orderChild
){
Integer
settlementDriverDetailId
=
settlementDriverDetailService
.
saveSettlementDetail
(
orderChild
);
Integer
settlementOwnerDetailId
=
settlementOwnerDetailService
.
saveSettlementDetail
(
orderChild
);
settlementMqService
.
settlementDetailAdd
(
settlementDriverDetailId
,
settlementOwnerDetailId
);
}
@Override
public
OrderChildVO
getOrderChildInfo
(
String
childNo
)
{
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
...
...
performance-web/src/main/java/com/clx/performance/service/impl/TempServiceImpl.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.clx.performance.service.TempService
;
import
com.clx.performance.service.settle.SettlementService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
@Slf4j
@Service
public
class
TempServiceImpl
implements
TempService
{
@Autowired
private
SettlementService
settlementService
;
@Override
public
void
updateInvoiceType
(
String
childNo
,
Integer
invoiceType
)
{
settlementService
.
updateSettlementDetailInvoiceType
(
childNo
,
invoiceType
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/settle/CarrierSettlementOwnerServiceImpl.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
service
.
impl
.
settle
;
import
com.clx.performance.dao.settle.SettlementOwnerDao
;
import
com.clx.performance.model.settle.SettlementOwner
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.service.settle.CarrierSettlementOwnerService
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
@Slf4j
@Service
@AllArgsConstructor
public
class
CarrierSettlementOwnerServiceImpl
implements
CarrierSettlementOwnerService
{
private
final
SettlementOwnerDao
settlementOwnerDao
;
@Override
public
void
saveSettlement
(
SettlementOwnerDetail
settlementDetail
)
{
SettlementOwner
settlementOwner
=
new
SettlementOwner
();
settlementOwner
.
setSettlementNo
(
""
);
settlementOwner
.
setOwnerUserNo
(
settlementDetail
.
getOwnerUserNo
());
settlementOwner
.
setOwnerName
(
settlementDetail
.
getOwnerName
());
settlementOwner
.
setOrderNo
(
settlementDetail
.
getOrderNo
());
settlementOwner
.
setWeight
(
BigDecimal
.
ZERO
);
settlementOwner
.
setFreight
(
BigDecimal
.
ZERO
);
settlementOwner
.
setLossFreight
(
BigDecimal
.
ZERO
);
settlementOwner
.
setSettlementFreight
(
BigDecimal
.
ZERO
);
settlementOwner
.
setInvoiceType
(
settlementDetail
.
getInvoiceType
());
settlementOwner
.
setInvoiceFreight
(
BigDecimal
.
ZERO
);
settlementOwner
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
settlementOwnerDao
.
saveEntity
(
settlementOwner
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementDriverDetailServiceImpl.java
浏览文件 @
345792ef
...
...
@@ -3,6 +3,7 @@ package com.clx.performance.service.impl.settle;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.param.pc.driver.PageCarrierSettlementDriverDetailParam
;
import
com.clx.performance.service.settle.SettlementDriverDetailService
;
...
...
@@ -12,6 +13,8 @@ import lombok.AllArgsConstructor;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.List
;
/**
...
...
@@ -27,6 +30,83 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai
private
final
SettlementDriverDetailDao
settlementDriverDetailDao
;
private
final
SettlementDriverDetailStruct
settlementOwnerDetailStruct
;
@Override
public
Integer
saveSettlementDetail
(
OrderChild
orderChild
)
{
SettlementDriverDetail
settlementDriverDetail
=
new
SettlementDriverDetail
();
settlementDriverDetail
.
setChildNo
(
orderChild
.
getChildNo
());
settlementDriverDetail
.
setOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
());
settlementDriverDetail
.
setOrderNo
(
orderChild
.
getOrderNo
());
settlementDriverDetail
.
setDriverUserNo
(
orderChild
.
getTruckOwnUserNo
());
settlementDriverDetail
.
setDriverName
(
orderChild
.
getOwnerName
());
settlementDriverDetail
.
setTruckNo
(
orderChild
.
getTruckNo
());
settlementDriverDetail
.
setGoodsId
(
orderChild
.
getGoodsId
());
settlementDriverDetail
.
setGoodsName
(
orderChild
.
getGoodsName
());
// 运费
settlementDriverDetail
.
setFreightPrice
(
orderChild
.
getFreightPrice
());
//平台运费
settlementDriverDetail
.
setWeight
(
weightCalc
(
orderChild
.
getLoadNet
(),
orderChild
.
getUnloadNet
()));
settlementDriverDetail
.
setFreight
(
freightCalc
(
settlementDriverDetail
.
getFreightPrice
(),
settlementDriverDetail
.
getWeight
()));
// 亏吨
settlementDriverDetail
.
setLossPrice
(
orderChild
.
getLossPrice
());
settlementDriverDetail
.
setLossWeight
(
lossWeightCalc
(
orderChild
.
getLoadNet
(),
orderChild
.
getUnloadNet
()));
settlementDriverDetail
.
setLossFreight
(
lossFreightCalc
(
settlementDriverDetail
.
getLossPrice
(),
settlementDriverDetail
.
getLossWeight
()));
// 预付运费
settlementDriverDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
// 结算金额
settlementDriverDetail
.
setSettlementFreight
(
settlementFreightCalc
(
settlementDriverDetail
.
getFreight
(),
settlementDriverDetail
.
getLossFreight
()));
settlementDriverDetailDao
.
saveEntity
(
settlementDriverDetail
);
return
settlementDriverDetail
.
getId
();
}
private
BigDecimal
weightCalc
(
BigDecimal
loadNet
,
BigDecimal
unLoadNet
){
return
unLoadNet
.
compareTo
(
loadNet
)
<
0
?
unLoadNet
:
loadNet
;
}
/**
* 运费计算
*/
public
BigDecimal
freightCalc
(
BigDecimal
freightPrice
,
BigDecimal
weight
){
return
freightPrice
.
multiply
(
weight
).
setScale
(
0
,
RoundingMode
.
HALF_UP
);
}
/**
* 亏吨计算
*/
private
BigDecimal
lossWeightCalc
(
BigDecimal
loadNet
,
BigDecimal
unLoadNet
){
return
unLoadNet
.
compareTo
(
loadNet
)
<
0
?
unLoadNet
.
subtract
(
loadNet
)
:
BigDecimal
.
ZERO
;
}
/**
* 亏吨运费
*/
private
BigDecimal
lossFreightCalc
(
BigDecimal
freightPrice
,
BigDecimal
weight
){
return
freightPrice
.
multiply
(
weight
).
setScale
(
0
,
RoundingMode
.
HALF_UP
);
}
/**
* 开票金额
*/
private
BigDecimal
invoiceFreightCalc
(
BigDecimal
freight
,
BigDecimal
lossFreight
){
return
freight
.
subtract
(
lossFreight
);
}
/**
* 结算金额
*/
private
BigDecimal
settlementFreightCalc
(
BigDecimal
freight
,
BigDecimal
lossFreight
){
return
freight
.
subtract
(
lossFreight
);
}
@Override
public
IPage
<
CarrierPageSettlementDriverDetailVO
>
pageSettlementDriverDetail
(
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementMqHandlerServiceImpl.java
0 → 100644
浏览文件 @
345792ef
差异被折叠。
点击展开。
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementMqServiceImpl.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
service
.
impl
.
settle
;
import
com.alibaba.fastjson.JSON
;
import
com.clx.performance.common.MqDelay
;
import
com.clx.performance.common.MqWrapper
;
import
com.clx.performance.constant.RabbitKeySettlementConstants
;
import
com.clx.performance.service.settle.SettlementMqService
;
import
com.clx.performance.vo.mq.SettlementDetailAddMqParam
;
import
com.clx.performance.vo.mq.SettlementDetailInvoiceTypeSyncMqParam
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.core.MessageBuilder
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
@Slf4j
@Service
public
class
SettlementMqServiceImpl
implements
SettlementMqService
{
@Autowired
private
RabbitTemplate
rabbitTemplate
;
@Override
public
void
settlementDetailAdd
(
Integer
settlementDriverDetailId
,
Integer
settlementOwnerDetailId
)
{
SettlementDetailAddMqParam
mq
=
new
SettlementDetailAddMqParam
();
mq
.
setSettlementDriverDetailId
(
settlementDriverDetailId
);
mq
.
setSettlementOwnerDetailId
(
settlementOwnerDetailId
);
MqDelay
<
MqWrapper
<
SettlementDetailAddMqParam
>>
delay
=
new
MqDelay
<>(
RabbitKeySettlementConstants
.
DEFAULT_EXCHANGE
,
RabbitKeySettlementConstants
.
SETTLEMENT_DETAIL_ADD_ROUTING_KEY
,
new
MqWrapper
<>(
mq
));
Message
message
=
MessageBuilder
.
withBody
(
JSON
.
toJSONString
(
new
MqWrapper
<>(
delay
)).
getBytes
()).
build
();
message
.
getMessageProperties
().
setExpiration
(
"5000"
);
rabbitTemplate
.
send
(
RabbitKeySettlementConstants
.
DEFAULT_EXCHANGE
,
RabbitKeySettlementConstants
.
DEFAULT_DELAY_ROUTING_KEY
,
message
);
}
@Override
public
void
invoiceTypeSync
(
String
childNo
,
Integer
invoiceType
)
{
SettlementDetailInvoiceTypeSyncMqParam
mq
=
new
SettlementDetailInvoiceTypeSyncMqParam
();
mq
.
setChildNo
(
childNo
);
mq
.
setInvoiceType
(
invoiceType
);
MqDelay
<
MqWrapper
<
SettlementDetailInvoiceTypeSyncMqParam
>>
delay
=
new
MqDelay
<>(
RabbitKeySettlementConstants
.
DEFAULT_EXCHANGE
,
RabbitKeySettlementConstants
.
SETTLEMENT_DETAIL_INVOICE_TYPE_SYC_ROUTING_KEY
,
new
MqWrapper
<>(
mq
));
Message
message
=
MessageBuilder
.
withBody
(
JSON
.
toJSONString
(
new
MqWrapper
<>(
delay
)).
getBytes
()).
build
();
message
.
getMessageProperties
().
setExpiration
(
"5000"
);
rabbitTemplate
.
send
(
RabbitKeySettlementConstants
.
DEFAULT_EXCHANGE
,
RabbitKeySettlementConstants
.
DEFAULT_DELAY_ROUTING_KEY
,
message
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOwnerDetailServiceImpl.java
浏览文件 @
345792ef
...
...
@@ -3,6 +3,7 @@ package com.clx.performance.service.impl.settle;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam
;
...
...
@@ -19,6 +20,8 @@ import lombok.extern.slf4j.Slf4j;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -35,6 +38,94 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
private
final
SettlementOwnerDetailDao
settlementOwnerDetailDao
;
private
final
SettlementOwnerDetailStruct
settlementOwnerDetailStruct
;
@Override
public
Integer
saveSettlementDetail
(
OrderChild
orderChild
)
{
SettlementOwnerDetail
settlementOwnerDetail
=
new
SettlementOwnerDetail
();
settlementOwnerDetail
.
setChildNo
(
orderChild
.
getChildNo
());
settlementOwnerDetail
.
setOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
());
settlementOwnerDetail
.
setOrderNo
(
orderChild
.
getOrderNo
());
settlementOwnerDetail
.
setOwnerUserNo
(
orderChild
.
getOwnerUserNo
());
settlementOwnerDetail
.
setOwnerName
(
orderChild
.
getOwnerName
());
settlementOwnerDetail
.
setSendAddressId
(
orderChild
.
getSendAddressId
());
settlementOwnerDetail
.
setSendAddress
(
orderChild
.
getSendAddress
());
settlementOwnerDetail
.
setReceiveAddressId
(
orderChild
.
getReceiveAddressId
());
settlementOwnerDetail
.
setReceiveAddress
(
orderChild
.
getReceiveAddress
());
settlementOwnerDetail
.
setGoodsId
(
orderChild
.
getGoodsId
());
settlementOwnerDetail
.
setGoodsName
(
orderChild
.
getGoodsName
());
// 运费
settlementOwnerDetail
.
setFreightPrice
(
orderChild
.
getOrderFreightPrice
());
//平台运费
settlementOwnerDetail
.
setWeight
(
weightCalc
(
orderChild
.
getLoadNet
(),
orderChild
.
getUnloadNet
()));
settlementOwnerDetail
.
setFreight
(
freightCalc
(
settlementOwnerDetail
.
getFreightPrice
(),
settlementOwnerDetail
.
getWeight
()));
// 亏吨
settlementOwnerDetail
.
setLossPrice
(
orderChild
.
getLossPrice
());
settlementOwnerDetail
.
setLossWeight
(
lossWeightCalc
(
orderChild
.
getLoadNet
(),
orderChild
.
getUnloadNet
()));
settlementOwnerDetail
.
setLossFreight
(
lossFreightCalc
(
settlementOwnerDetail
.
getLossPrice
(),
settlementOwnerDetail
.
getLossWeight
()));
// 预付运费
settlementOwnerDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
// 开票金额
settlementOwnerDetail
.
setInvoiceFreight
(
invoiceFreightCalc
(
settlementOwnerDetail
.
getFreight
(),
settlementOwnerDetail
.
getLossFreight
()));
// 结算金额
settlementOwnerDetail
.
setSettlementFreight
(
settlementFreightCalc
(
settlementOwnerDetail
.
getFreight
(),
settlementOwnerDetail
.
getLossFreight
()));
settlementOwnerDetailDao
.
saveEntity
(
settlementOwnerDetail
);
return
settlementOwnerDetail
.
getId
();
}
/**
* 吨数计算
*/
private
BigDecimal
weightCalc
(
BigDecimal
loadNet
,
BigDecimal
unLoadNet
){
return
unLoadNet
.
compareTo
(
loadNet
)
<
0
?
unLoadNet
:
loadNet
;
}
/**
* 运费计算
*/
public
BigDecimal
freightCalc
(
BigDecimal
freightPrice
,
BigDecimal
weight
){
return
freightPrice
.
multiply
(
weight
).
setScale
(
0
,
RoundingMode
.
HALF_UP
);
}
/**
* 亏吨计算
*/
private
BigDecimal
lossWeightCalc
(
BigDecimal
loadNet
,
BigDecimal
unLoadNet
){
return
unLoadNet
.
compareTo
(
loadNet
)
<
0
?
unLoadNet
.
subtract
(
loadNet
)
:
BigDecimal
.
ZERO
;
}
/**
* 亏吨运费
*/
private
BigDecimal
lossFreightCalc
(
BigDecimal
freightPrice
,
BigDecimal
weight
){
return
freightPrice
.
multiply
(
weight
).
setScale
(
0
,
RoundingMode
.
HALF_UP
);
}
/**
* 开票金额
*/
private
BigDecimal
invoiceFreightCalc
(
BigDecimal
freight
,
BigDecimal
lossFreight
){
return
freight
.
subtract
(
lossFreight
);
}
/**
* 结算金额
*/
private
BigDecimal
settlementFreightCalc
(
BigDecimal
freight
,
BigDecimal
lossFreight
){
return
freight
.
subtract
(
lossFreight
);
}
@Override
public
IPage
<
CarrierPageSettlementOwnerDetailVO
>
pageSettlementOwnerDetail
(
PageCarrierSettlementOwnerDetailParam
param
)
{
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOwnerServiceImpl.java
浏览文件 @
345792ef
...
...
@@ -12,9 +12,7 @@ import com.clx.performance.enums.settle.SettlementOwnerEnum;
import
com.clx.performance.model.settle.SettlementLog
;
import
com.clx.performance.model.settle.SettlementOwner
;
import
com.clx.performance.model.settle.SettlementPlatformAccount
;
import
com.clx.performance.param.pc.owner.OwnerPaymentSettlementParam
;
import
com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerParam
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementParam
;
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.SettlementOwnerService
;
...
...
@@ -292,5 +290,46 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
CarrierSettlementOwnerExpressVO
detail
=
settlementOwnerStruct
.
convertToExpress
(
settlementOwner
);
return
detail
;
}
@Override
public
void
uploadInvoiceImg
(
UploadInvoiceImgParam
param
){
settlementOwnerDao
.
uploadInvoiceImg
(
param
.
getSettlementNo
(),
param
.
getInvoiceImg
());
settlementOwnerDao
.
updateStatusBySettlementNo
(
param
.
getSettlementNo
()
,
SettlementOwnerEnum
.
Status
.
OWNER_TO_BE_CONFIRMED
.
getCode
());
}
@Override
public
void
saveExpress
(
SaveExpressParam
param
){
settlementOwnerDao
.
saveExpress
(
param
.
getSettlementNo
(),
param
.
getExpressCompany
(),
param
.
getExpressNo
());
settlementOwnerDao
.
updateStatusBySettlementNo
(
param
.
getSettlementNo
()
,
SettlementOwnerEnum
.
Status
.
COMPLETED
.
getCode
());
}
@Override
public
void
savePayee
(
SavePayeeParam
param
){
settlementOwnerDao
.
savePayee
(
param
.
getSettlementNo
(),
param
.
getPayee
(),
param
.
getPayeeBankName
(),
param
.
getPayeeBankCardNo
(),
param
.
getPaymentImg
(),
param
.
getPaymentBankCardNo
(),
param
.
getPaymentBankName
(),
param
.
getPaymentAmount
());
settlementOwnerDao
.
updateStatusBySettlementNo
(
param
.
getSettlementNo
()
,
SettlementOwnerEnum
.
Status
.
PLATFORM_CONFIRMED_OWNER_PAYMENT
.
getCode
());
}
@Override
public
void
updateStatusByOrderNo
(
String
orderNo
,
Integer
settlementPeriodType
,
Integer
fromStatus
,
Integer
toStatus
){
settlementOwnerDao
.
updateStatusByOrderNo
(
orderNo
,
settlementPeriodType
,
fromStatus
,
toStatus
);
}
@Override
public
void
payeeConfirm
(
String
settlementNo
){
settlementOwnerDao
.
updateStatusBySettlementNo
(
settlementNo
,
SettlementOwnerEnum
.
Status
.
PLATFORM_TO_PAYMENT
.
getCode
());
}
}
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementServiceImpl.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
service
.
impl
.
settle
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.service.settle.SettlementMqService
;
import
com.clx.performance.service.settle.SettlementService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.util.Objects
;
@Slf4j
@Service
public
class
SettlementServiceImpl
implements
SettlementService
{
@Autowired
private
OrderChildDao
orderChildDao
;
@Autowired
private
SettlementOwnerDetailDao
settlementOwnerDetailDao
;
@Autowired
private
SettlementDriverDetailDao
settlementDriverDetailDao
;
@Autowired
private
SettlementMqService
settlementMqService
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
updateSettlementDetailInvoiceType
(
String
childNo
,
Integer
invoiceType
)
{
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
if
(
settlementOwnerDetail
.
getInvoiceType
()
!=
null
)
{
return
;}
// 结算金额<0走普通单
if
(
settlementDriverDetail
.
getSettlementFreight
().
compareTo
(
BigDecimal
.
ZERO
)
<
0
){
invoiceType
=
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
();
}
settlementOwnerDetail
.
setInvoiceType
(
invoiceType
);
settlementDriverDetail
.
setInvoiceType
(
invoiceType
);
// 网运单更新预付运费
if
(
Objects
.
equals
(
settlementOwnerDetail
.
getInvoiceType
(),
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
()))
{
settlementOwnerDetail
.
setPrepayFreight
(
updatePrepayFreightPay
(
settlementOwnerDetail
.
getChildNo
(),
settlementOwnerDetail
.
getFreight
(),
settlementOwnerDetail
.
getLossFreight
()));
}
settlementOwnerDetailDao
.
updateInvoiceType
(
settlementOwnerDetail
);
settlementDriverDetailDao
.
updateInvoiceType
(
settlementDriverDetail
);
// 发送mq 通过开票标识
settlementMqService
.
invoiceTypeSync
(
childNo
,
invoiceType
);
}
/**
* 预付运费支付
*/
private
BigDecimal
updatePrepayFreightPay
(
String
childNo
,
BigDecimal
freight
,
BigDecimal
lossFreight
){
BigDecimal
prepayFreight
=
freight
.
subtract
(
lossFreight
);
if
(
prepayFreight
.
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
return
BigDecimal
.
ZERO
;}
//扣减预付运费
return
prepayFreight
;
}
}
performance-web/src/main/java/com/clx/performance/service/settle/CarrierSettlementOwnerService.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
service
.
settle
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
public
interface
CarrierSettlementOwnerService
{
void
saveSettlement
(
SettlementOwnerDetail
settlementDetail
);
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementDriverDetailService.java
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
service
.
settle
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.param.pc.driver.PageCarrierSettlementDriverDetailParam
;
import
com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementDriverDetailVO
;
...
...
@@ -10,5 +11,8 @@ import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementDriverDetai
* Time 09:43
*/
public
interface
SettlementDriverDetailService
{
Integer
saveSettlementDetail
(
OrderChild
orderChild
);
IPage
<
CarrierPageSettlementDriverDetailVO
>
pageSettlementDriverDetail
(
PageCarrierSettlementDriverDetailParam
param
);
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementMqHandlerService.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
service
.
settle
;
import
com.clx.performance.vo.mq.SettlementDetailAddMqParam
;
import
com.clx.performance.vo.mq.SettlementDetailInvoiceTypeSyncMqParam
;
public
interface
SettlementMqHandlerService
{
void
settlementDetailAdd
(
SettlementDetailAddMqParam
mq
);
void
settlementDetailInvoiceTypeSync
(
SettlementDetailInvoiceTypeSyncMqParam
mq
);
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementMqService.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
service
.
settle
;
public
interface
SettlementMqService
{
void
settlementDetailAdd
(
Integer
settlementOwnerDetailId
,
Integer
settlementDriverDetailId
);
void
invoiceTypeSync
(
String
childNo
,
Integer
invoiceType
);
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementOwnerDetailService.java
浏览文件 @
345792ef
...
...
@@ -2,11 +2,10 @@ package com.clx.performance.service.settle;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementParam
;
import
com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementOwnerDetailVO
;
import
com.clx.performance.vo.pc.owner.settle.OwnerPageSettlementOwnerVO
;
import
com.clx.performance.vo.pc.owner.settle.PageOwnerSettlementOwnerDetailVO
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
...
...
@@ -17,6 +16,8 @@ import org.apache.poi.xssf.streaming.SXSSFWorkbook;
*/
public
interface
SettlementOwnerDetailService
{
Integer
saveSettlementDetail
(
OrderChild
orderChild
);
IPage
<
PageOwnerSettlementOwnerDetailVO
>
pageOwnerSettlementOrderDetailList
(
PageOwnerSettlementOwnerDetailParam
param
);
IPage
<
CarrierPageSettlementOwnerDetailVO
>
pageSettlementOwnerDetail
(
PageCarrierSettlementOwnerDetailParam
param
);
...
...
performance-web/src/main/java/com/clx/performance/service/settle/SettlementOwnerService.java
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
service
.
settle
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.param.pc.owner.OwnerPaymentSettlementParam
;
import
com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerParam
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementParam
;
import
com.clx.performance.param.pc.owner.*
;
import
com.clx.performance.vo.pc.carrier.settle.*
;
import
com.clx.performance.vo.pc.owner.settle.OwnerPageSettlementOwnerVO
;
import
com.clx.performance.vo.pc.owner.settle.SettlementPlatformAccountVO
;
...
...
@@ -42,5 +40,15 @@ public interface SettlementOwnerService {
CarrierSettlementOwnerExpressVO
getCarrierSettlementOwnerExpress
(
Integer
id
);
void
uploadInvoiceImg
(
UploadInvoiceImgParam
param
);
void
saveExpress
(
SaveExpressParam
param
);
void
savePayee
(
SavePayeeParam
param
);
void
updateStatusByOrderNo
(
String
orderNo
,
Integer
settlementPeriodType
,
Integer
fromStatus
,
Integer
toStatus
);
void
payeeConfirm
(
String
settlementNo
);
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementService.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
service
.
settle
;
public
interface
SettlementService
{
void
updateSettlementDetailInvoiceType
(
String
childNo
,
Integer
invoiceType
);
}
performance-web/src/main/java/com/clx/performance/utils/JobHandlerService.java
0 → 100644
浏览文件 @
345792ef
package
com
.
clx
.
performance
.
utils
;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.common.job.JobLog
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.StopWatch
;
import
java.util.function.Consumer
;
/**
* @Author: aiqingguo
* @Description:
* @Date: 2023-10-12 19:38:41
* @Version: 1.0
*/
@Component
public
class
JobHandlerService
{
protected
Logger
logger
=
LoggerFactory
.
getLogger
(
this
.
getClass
());
public
<
T
>
void
handler
(
String
title
,
Runnable
target
)
{
handler
(
title
,
null
,
target
);
}
public
<
T
>
void
handler
(
String
title
,
T
data
,
Runnable
target
)
{
StopWatch
stopWatch
=
new
StopWatch
();
stopWatch
.
start
();
logger
.
info
(
"{}, 主任务开始, data:{}"
,
title
,
data
);
try
{
target
.
run
();
}
catch
(
ServiceSystemException
e
){
logger
.
info
(
"{}, 主任务执行失败, data:{}, error:{}, detail:{}"
,
title
,
data
,
e
.
getResultEnum
().
getMsg
(),
e
.
getDetail
());
JobLog
.
error
(
title
+
"定时任务处理失败"
,
e
);
}
catch
(
Exception
e
){
logger
.
error
(
"{}, 主任务执行异常, data:{}, error:{}"
,
title
,
data
,
e
.
getMessage
());
JobLog
.
error
(
title
+
"定时任务处理失败"
,
e
);
}
stopWatch
.
stop
();
logger
.
info
(
"{}, 主任务结束, data:{}, duration:{}"
,
title
,
data
,
stopWatch
.
getTotalTimeMillis
());
}
public
<
T
>
void
subHandler
(
String
title
,
T
data
,
Consumer
<
T
>
target
)
{
StopWatch
stopWatch
=
new
StopWatch
();
stopWatch
.
start
();
logger
.
info
(
"{}, 子任务开始, data:{}"
,
title
,
data
);
try
{
target
.
accept
(
data
);
}
catch
(
ServiceSystemException
e
){
logger
.
info
(
"{}, 子任务执行失败, data:{}, error:{}, detail:{}"
,
title
,
data
,
e
.
getResultEnum
().
getMsg
(),
e
.
getDetail
());
JobLog
.
error
(
title
+
"定时任务处理失败"
,
e
);
}
catch
(
Exception
e
){
logger
.
error
(
"{}, 子任务执行异常, data:{}, error:{}"
,
title
,
data
,
e
.
getMessage
());
JobLog
.
error
(
title
+
"定时任务处理失败"
,
e
);
}
stopWatch
.
stop
();
logger
.
info
(
"{}, 子任务结束, data:{}, duration:{}"
,
title
,
data
,
stopWatch
.
getTotalTimeMillis
());
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论