Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
6dfa8116
提交
6dfa8116
authored
10月 20, 2023
作者:
aiqingguo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
结算
上级
b4c05d0e
隐藏空白字符变更
内嵌
并排
正在显示
44 个修改的文件
包含
1279 行增加
和
6 行删除
+1279
-6
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
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
SettlementDriverDetailDaoImpl.java
...rmance/dao/impl/settle/SettlementDriverDetailDaoImpl.java
+16
-0
SettlementOwnerDaoImpl.java
...x/performance/dao/impl/settle/SettlementOwnerDaoImpl.java
+27
-0
SettlementOwnerDetailDaoImpl.java
...ormance/dao/impl/settle/SettlementOwnerDetailDaoImpl.java
+17
-1
SettlementDriverDetailDao.java
...clx/performance/dao/settle/SettlementDriverDetailDao.java
+9
-0
SettlementOwnerDao.java
...va/com/clx/performance/dao/settle/SettlementOwnerDao.java
+12
-0
SettlementOwnerDetailDao.java
.../clx/performance/dao/settle/SettlementOwnerDetailDao.java
+6
-1
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
+2
-0
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
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
+31
-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
+91
-0
SettlementMqServiceImpl.java
...formance/service/impl/settle/SettlementMqServiceImpl.java
+50
-0
SettlementOwnerDetailServiceImpl.java
...service/impl/settle/SettlementOwnerDetailServiceImpl.java
+91
-0
SettlementServiceImpl.java
...erformance/service/impl/settle/SettlementServiceImpl.java
+51
-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
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
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
...
...
@@ -91,5 +91,21 @@ public enum SettlementOwnerEnum {
}
}
@Getter
@AllArgsConstructor
public
enum
SettlementPeriodType
{
IMMEDIATE
(
10
,
"拉运完成结算"
),
MONTH
(
10
,
"月结"
),
;
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/vo/mq/OrderChildAddMqParam.java
0 → 100644
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
...
...
@@ -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
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
...
...
@@ -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
浏览文件 @
6dfa8116
...
...
@@ -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
浏览文件 @
6dfa8116
...
...
@@ -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/dao/impl/settle/SettlementDriverDetailDaoImpl.java
浏览文件 @
6dfa8116
...
...
@@ -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,21 @@ import java.util.Objects;
*/
@Repository
public
class
SettlementDriverDetailDaoImpl
extends
BaseDaoImpl
<
SettlementDriverDetailMapper
,
SettlementDriverDetail
,
Integer
>
implements
SettlementDriverDetailDao
{
@Override
public
boolean
updateInvoiceType
(
SettlementDriverDetail
item
)
{
return
false
;
}
@Override
public
boolean
updateSettlementNo
(
SettlementDriverDetail
item
)
{
return
false
;
}
@Override
public
Optional
<
SettlementDriverDetail
>
getByChildNo
(
String
childNo
)
{
return
null
;
}
@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
浏览文件 @
6dfa8116
...
...
@@ -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,17 @@ import java.util.Objects;
*/
@Repository
public
class
SettlementOwnerDaoImpl
extends
BaseDaoImpl
<
SettlementOwnerMapper
,
SettlementOwner
,
Integer
>
implements
SettlementOwnerDao
{
@Override
public
boolean
updateSettlementPeriodMonth
(
SettlementOwner
item
)
{
return
false
;
}
@Override
public
boolean
updateLock
(
SettlementOwner
item
)
{
return
false
;
}
@Override
public
List
<
SettlementOwner
>
getMergeSettlementNos
(
String
settlementNo
)
{
return
super
.
list
(
lQrWrapper
()
...
...
@@ -94,4 +106,19 @@ 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
null
;
}
@Override
public
Optional
<
SettlementOwner
>
selectUnlockOfSettlementPeriodImmediate
(
String
orderNo
,
Integer
invoiceType
)
{
return
null
;
}
@Override
public
List
<
SettlementOwner
>
listToBeLockOfSettlementPeriodMonth
(
LocalDateTime
settlementPeriodTime
)
{
return
null
;
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementOwnerDetailDaoImpl.java
浏览文件 @
6dfa8116
...
...
@@ -8,7 +8,7 @@ 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.impl.BaseDaoImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Repository
;
...
...
@@ -23,6 +23,22 @@ import java.util.Objects;
*/
@Repository
public
class
SettlementOwnerDetailDaoImpl
extends
BaseDaoImpl
<
SettlementOwnerDetailMapper
,
SettlementOwnerDetail
,
Integer
>
implements
SettlementOwnerDetailDao
{
@Override
public
boolean
updateInvoiceType
(
SettlementOwnerDetail
item
)
{
return
false
;
}
@Override
public
boolean
updateSettlementNo
(
SettlementOwnerDetail
item
)
{
return
false
;
}
@Override
public
Optional
<
SettlementOwnerDetail
>
getByChildNo
(
String
childNo
)
{
return
null
;
}
@Override
public
IPage
<
SettlementOwnerDetail
>
pageSettlementOwnerDetail
(
PageCarrierSettlementOwnerDetailParam
param
)
{
...
...
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementDriverDetailDao.java
浏览文件 @
6dfa8116
...
...
@@ -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
浏览文件 @
6dfa8116
...
...
@@ -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,12 @@ 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
);
}
performance-web/src/main/java/com/clx/performance/dao/settle/SettlementOwnerDetailDao.java
浏览文件 @
6dfa8116
...
...
@@ -5,7 +5,7 @@ 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
;
...
...
@@ -17,6 +17,11 @@ 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
);
IPage
<
SettlementOwnerDetail
>
pageOwnerSettlementOrderDetailList
(
PageOwnerSettlementOwnerDetailParam
param
);
IPage
<
SettlementOwnerDetail
>
pageSettlementOwnerDetail
(
PageCarrierSettlementOwnerDetailParam
param
);
...
...
performance-web/src/main/java/com/clx/performance/listener/child/OrderChildAddListener.java
0 → 100644
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
...
...
@@ -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
;
//实际运费(分)
...
...
performance-web/src/main/java/com/clx/performance/model/settle/SettlementOwnerDetail.java
浏览文件 @
6dfa8116
...
...
@@ -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
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
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/impl/OrderChildMqHandlerServiceImpl.java
0 → 100644
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
...
...
@@ -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
)
{
...
...
@@ -246,6 +255,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 +822,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 +944,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/settle/CarrierSettlementOwnerServiceImpl.java
0 → 100644
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
...
...
@@ -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
浏览文件 @
6dfa8116
package
com
.
clx
.
performance
.
service
.
impl
.
settle
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.extranal.user.OwnerInfoService
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwner
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.service.impl.UniqueOrderNumService
;
import
com.clx.performance.service.settle.SettlementMqHandlerService
;
import
com.clx.performance.vo.mq.SettlementDetailAddMqParam
;
import
com.clx.performance.vo.mq.SettlementDetailInvoiceTypeSyncMqParam
;
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.time.LocalDateTime
;
@Slf4j
@Service
public
class
SettlementMqHandlerServiceImpl
implements
SettlementMqHandlerService
{
@Autowired
private
SettlementOwnerDetailDao
settlementOwnerDetailDao
;
@Autowired
private
SettlementDriverDetailDao
settlementDriverDetailDao
;
@Autowired
private
SettlementOwnerDao
settlementOwnerDao
;
@Autowired
private
OwnerInfoService
ownerInfoService
;
@Autowired
private
UniqueOrderNumService
uniqueOrderNumService
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
settlementDetailInvoiceTypeSync
(
SettlementDetailInvoiceTypeSyncMqParam
mq
)
{
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
settlementDetailAdd
(
SettlementDetailAddMqParam
mq
)
{
}
/**
* 月结初始化
*/
private
void
settlementPeriodMonthInit
(
SettlementOwnerDetail
settlementOwnerDetail
,
LocalDateTime
settlementPeriodTime
){
}
/**
* 月结更新
*/
private
void
settlementPeriodMonthUpdate
(
SettlementOwner
settlementOwner
,
SettlementOwnerDetail
settlementOwnerDetail
){
}
/**
* 拉运完成结 初始化
*/
private
void
settlementPeriodImmediateInit
(
SettlementOwnerDetail
settlementOwnerDetail
){
}
/**
* 拉运完成结 更新
*/
private
void
settlementPeriodImmediateUpdate
(
SettlementOwner
settlementOwner
,
SettlementOwnerDetail
settlementOwnerDetail
){
}
/**
* 创建结算单号
*/
private
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/SettlementMqServiceImpl.java
0 → 100644
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
...
...
@@ -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
(
BigDecimal
.
ZERO
);
//平台运费
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/SettlementServiceImpl.java
0 → 100644
浏览文件 @
6dfa8116
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.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
;
@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
updateInvoiceType
(
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
;}
settlementOwnerDetail
.
setInvoiceType
(
invoiceType
);
settlementDriverDetail
.
setInvoiceType
(
invoiceType
);
settlementOwnerDetailDao
.
updateInvoiceType
(
settlementOwnerDetail
);
settlementDriverDetailDao
.
updateInvoiceType
(
settlementDriverDetail
);
// 发送mq 通过开票标识
settlementMqService
.
invoiceTypeSync
(
childNo
,
invoiceType
);
}
}
performance-web/src/main/java/com/clx/performance/service/settle/CarrierSettlementOwnerService.java
0 → 100644
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
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
浏览文件 @
6dfa8116
...
...
@@ -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/SettlementService.java
0 → 100644
浏览文件 @
6dfa8116
package
com
.
clx
.
performance
.
service
.
settle
;
public
interface
SettlementService
{
void
updateInvoiceType
(
String
childNo
,
Integer
invoiceType
);
}
performance-web/src/main/java/com/clx/performance/utils/JobHandlerService.java
0 → 100644
浏览文件 @
6dfa8116
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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论