Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
af2a1ea8
提交
af2a1ea8
authored
10月 26, 2023
作者:
huyufan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
取消接口
上级
a2abf0cc
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
156 行增加
和
8 行删除
+156
-8
PerformanceFeign.java
...main/java/com/clx/performance/feign/PerformanceFeign.java
+8
-0
OrderCancelParam.java
...n/java/com/clx/performance/param/pc/OrderCancelParam.java
+18
-0
RabbitBeanConfig.java
...ain/java/com/clx/performance/config/RabbitBeanConfig.java
+26
-0
RabbitKeyConstants.java
...java/com/clx/performance/constant/RabbitKeyConstants.java
+6
-0
OrderCancelFeignController.java
...formance/controller/feign/OrderCancelFeignController.java
+34
-0
OrderChildDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
+1
-1
OrderCancelHandler.java
...java/com/clx/performance/listener/OrderCancelHandler.java
+34
-0
OrderCancelService.java
.../java/com/clx/performance/service/OrderCancelService.java
+4
-0
OrderCancelServiceImpl.java
.../clx/performance/service/impl/OrderCancelServiceImpl.java
+15
-1
OrderGoodsServiceImpl.java
...m/clx/performance/service/impl/OrderGoodsServiceImpl.java
+1
-1
JobTest.java
...rmance-web/src/test/java/com/clx/performance/JobTest.java
+9
-5
没有找到文件。
performance-api/src/main/java/com/clx/performance/feign/PerformanceFeign.java
浏览文件 @
af2a1ea8
package
com
.
clx
.
performance
.
feign
;
package
com
.
clx
.
performance
.
feign
;
import
com.clx.performance.param.pc.OrderCancelParam
;
import
com.clx.performance.vo.feign.OrderGoodsFeignVO
;
import
com.clx.performance.vo.feign.OrderGoodsFeignVO
;
import
com.msl.common.result.Result
;
import
com.msl.common.result.Result
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
...
@@ -49,4 +52,9 @@ public interface PerformanceFeign {
...
@@ -49,4 +52,9 @@ public interface PerformanceFeign {
Result
<
List
<
String
>>
getPrivateTruckList
(
@RequestParam
(
"orderGoodsNo"
)
@NotBlank
(
message
=
"货单编号不可为空"
)
String
orderGoodsNo
,
Result
<
List
<
String
>>
getPrivateTruckList
(
@RequestParam
(
"orderGoodsNo"
)
@NotBlank
(
message
=
"货单编号不可为空"
)
String
orderGoodsNo
,
@RequestParam
(
"userNo"
)
@NotNull
(
message
=
"用户编号不可为空"
)
Long
userNo
);
@RequestParam
(
"userNo"
)
@NotNull
(
message
=
"用户编号不可为空"
)
Long
userNo
);
@PostMapping
(
value
=
{
"clx-performance/feign/order/orderCancel"
})
Result
<
Object
>
orderCancel
(
@RequestBody
OrderCancelParam
param
);
}
}
performance-api/src/main/java/com/clx/performance/param/pc/OrderCancelParam.java
0 → 100644
浏览文件 @
af2a1ea8
package
com
.
clx
.
performance
.
param
.
pc
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
javax.validation.constraints.NotNull
;
@Getter
@Setter
public
class
OrderCancelParam
{
@NotNull
(
message
=
"订单编号不能为空"
)
@ApiModelProperty
(
"订单编号"
)
private
String
orderNo
;
}
performance-web/src/main/java/com/clx/performance/config/RabbitBeanConfig.java
浏览文件 @
af2a1ea8
...
@@ -144,4 +144,30 @@ public class RabbitBeanConfig {
...
@@ -144,4 +144,30 @@ public class RabbitBeanConfig {
public
Binding
orderGoodsDeadExchangeBind
()
{
public
Binding
orderGoodsDeadExchangeBind
()
{
return
BindingBuilder
.
bind
(
orderGoodsOnDeadQueue
()).
to
(
orderGoodsOnDeadExchange
()).
with
(
RabbitKeyConstants
.
ORDER_GOODS_ON_DEAD_ROUTE_KEY
);
return
BindingBuilder
.
bind
(
orderGoodsOnDeadQueue
()).
to
(
orderGoodsOnDeadExchange
()).
with
(
RabbitKeyConstants
.
ORDER_GOODS_ON_DEAD_ROUTE_KEY
);
}
}
/**
* 订单取消队列
* @return
*/
@Bean
public
Queue
orderCancelQueue
()
{
return
new
Queue
(
RabbitKeyConstants
.
ORDER_CANCEL_QUEUE
,
true
,
false
,
false
,
params
);
}
/**
* 订单取消队列交换机
**/
@Bean
public
DirectExchange
orderCancelExchange
()
{
return
new
DirectExchange
(
RabbitKeyConstants
.
ORDER_CANCEL_EXCHANGE
);
}
/**
* 订单取消队列绑定
*/
@Bean
public
Binding
orderCancelExchangeBind
()
{
return
BindingBuilder
.
bind
(
orderCancelQueue
()).
to
(
orderCancelExchange
()).
with
(
RabbitKeyConstants
.
ORDER_CANCEL_ROUTE_KEY
);
}
}
}
performance-web/src/main/java/com/clx/performance/constant/RabbitKeyConstants.java
浏览文件 @
af2a1ea8
...
@@ -52,4 +52,10 @@ public class RabbitKeyConstants {
...
@@ -52,4 +52,10 @@ public class RabbitKeyConstants {
public
static
final
String
ORDER_GOODS_ON_DEAD_ROUTE_KEY
=
"clx-order.order.goods.on.dead.route.key"
;
public
static
final
String
ORDER_GOODS_ON_DEAD_ROUTE_KEY
=
"clx-order.order.goods.on.dead.route.key"
;
public
static
final
String
ORDER_CANCEL_QUEUE
=
"clx-order.order.cancel.queue"
;
public
static
final
String
ORDER_CANCEL_EXCHANGE
=
"clx-order.order.cancel.exchange"
;
public
static
final
String
ORDER_CANCEL_ROUTE_KEY
=
"clx-order.order.cancel.route.key"
;
}
}
performance-web/src/main/java/com/clx/performance/controller/feign/OrderCancelFeignController.java
0 → 100644
浏览文件 @
af2a1ea8
package
com
.
clx
.
performance
.
controller
.
feign
;
import
com.clx.performance.param.pc.OrderCancelParam
;
import
com.clx.performance.service.OrderCancelService
;
import
com.msl.common.result.Result
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@Slf4j
@RestController
@RequestMapping
(
"/feign/order"
)
@Validated
@AllArgsConstructor
@Api
(
tags
=
"PC-订单取消"
)
public
class
OrderCancelFeignController
{
private
final
OrderCancelService
orderCancelService
;
@ApiOperation
(
value
=
"查看货单列表"
,
notes
=
"<br>By:胡宇帆"
)
@PostMapping
(
"/orderCancel"
)
public
Result
<
Object
>
orderCancel
(
@RequestBody
OrderCancelParam
param
)
{
orderCancelService
.
ownerCancelOrderPre
(
param
.
getOrderNo
());
return
Result
.
ok
();
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
浏览文件 @
af2a1ea8
...
@@ -260,7 +260,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
...
@@ -260,7 +260,7 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
@Override
@Override
public
List
<
OrderChild
>
selectResidueWeight
(
String
orderNo
)
{
public
List
<
OrderChild
>
selectResidueWeight
(
String
orderNo
)
{
return
baseMapper
.
selectList
(
l
ambdaQuery
().
eq
(
OrderChild:
:
getOrderNo
,
orderNo
)
return
baseMapper
.
selectList
(
l
QrWrapper
().
eq
(
OrderChild:
:
getOrderNo
,
orderNo
)
.
lt
(
OrderChild:
:
getStatus
,
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
())
.
lt
(
OrderChild:
:
getStatus
,
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
())
);
);
}
}
...
...
performance-web/src/main/java/com/clx/performance/listener/OrderCancelHandler.java
0 → 100644
浏览文件 @
af2a1ea8
package
com
.
clx
.
performance
.
listener
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.enums.OrderGoodsStatusEnum
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.service.IntegralMqService
;
import
com.clx.performance.service.OrderCancelService
;
import
com.msl.common.base.Optional
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* 处理货单取消吨数回填
*/
@Slf4j
@Component
public
class
OrderCancelHandler
{
@Autowired
private
OrderCancelService
orderCancelService
;
@RabbitListener
(
queues
=
RabbitKeyConstants
.
ORDER_GOODS_ON_DEAD_QUEUE
)
public
void
onMessage
(
String
message
)
{
log
.
info
(
"处理订单取消监听器执行,订单No为{}"
,
message
);
if
(
StringUtils
.
isBlank
(
message
))
{
return
;
}
orderCancelService
.
ownerCancelOrder
(
message
);
}
}
performance-web/src/main/java/com/clx/performance/service/OrderCancelService.java
浏览文件 @
af2a1ea8
package
com
.
clx
.
performance
.
service
;
package
com
.
clx
.
performance
.
service
;
public
interface
OrderCancelService
{
public
interface
OrderCancelService
{
void
ownerCancelOrderPre
(
String
orderNo
);
void
ownerCancelOrder
(
String
orderNo
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderCancelServiceImpl.java
浏览文件 @
af2a1ea8
...
@@ -5,6 +5,7 @@ import com.clx.order.enums.OrderEnum;
...
@@ -5,6 +5,7 @@ import com.clx.order.enums.OrderEnum;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.param.feign.UpdateOrderInfoResidueWeightParam
;
import
com.clx.order.param.feign.UpdateOrderInfoResidueWeightParam
;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.enums.OrderChildEnum
;
...
@@ -16,6 +17,9 @@ import com.clx.performance.service.OrderCancelService;
...
@@ -16,6 +17,9 @@ import com.clx.performance.service.OrderCancelService;
import
com.msl.common.result.Result
;
import
com.msl.common.result.Result
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
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.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
@@ -37,7 +41,10 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -37,7 +41,10 @@ public class OrderCancelServiceImpl implements OrderCancelService {
private
final
OrderGoodsDao
orderGoodsDao
;
private
final
OrderGoodsDao
orderGoodsDao
;
private
final
RabbitTemplate
rabbitTemplate
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
ownerCancelOrderPre
(
String
orderNo
)
{
public
void
ownerCancelOrderPre
(
String
orderNo
)
{
FeignOrderVO
orderInfoFeign
=
orderFeign
.
getOrderInfoFeign
(
orderNo
);
FeignOrderVO
orderInfoFeign
=
orderFeign
.
getOrderInfoFeign
(
orderNo
);
...
@@ -87,11 +94,18 @@ public class OrderCancelServiceImpl implements OrderCancelService {
...
@@ -87,11 +94,18 @@ public class OrderCancelServiceImpl implements OrderCancelService {
}
}
}
}
}
log
.
info
(
"执行订单取消前置:更改相关状态完毕,开始执行吨数回填,发送MQ消息,订单No {}"
,
orderNo
);
Message
message
=
MessageBuilder
.
withBody
(
orderNo
.
getBytes
()).
build
();
rabbitTemplate
.
send
(
RabbitKeyConstants
.
ORDER_CANCEL_EXCHANGE
,
RabbitKeyConstants
.
ORDER_CANCEL_ROUTE_KEY
,
message
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
ownerCancelOrder
(
String
orderNo
)
{
public
void
ownerCancelOrder
(
String
orderNo
)
{
log
.
info
(
"开始执行订单取消吨数回填"
);
FeignOrderVO
orderInfoFeignVO
=
orderFeign
.
getOrderInfoFeign
(
orderNo
);
FeignOrderVO
orderInfoFeignVO
=
orderFeign
.
getOrderInfoFeign
(
orderNo
);
List
<
OrderGoods
>
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
List
<
OrderGoods
>
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
);
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderGoodsServiceImpl.java
浏览文件 @
af2a1ea8
...
@@ -218,7 +218,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -218,7 +218,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
}
else
{
}
else
{
String
residueWeight
=
orderInfoFeign
.
getResidueWeight
();
String
residueWeight
=
orderInfoFeign
.
getResidueWeight
();
List
<
OrderChild
>
orderChildList
=
orderChildDao
.
selectResidueWeight
(
orderNo
);
List
<
OrderChild
>
orderChildList
=
orderChildDao
.
selectResidueWeight
(
orderNo
);
BigDecimal
childResidueWeight
=
orderChildList
.
stream
().
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
:
:
add
).
get
(
);
BigDecimal
childResidueWeight
=
orderChildList
.
stream
().
map
(
OrderChild:
:
getWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
BigDecimal
orderGoodsResidueWeight
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
).
stream
().
map
(
OrderGoods:
:
getResidueTransportWeight
).
reduce
(
BigDecimal:
:
add
).
get
();
BigDecimal
orderGoodsResidueWeight
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
orderNo
).
stream
().
map
(
OrderGoods:
:
getResidueTransportWeight
).
reduce
(
BigDecimal:
:
add
).
get
();
return
childResidueWeight
.
add
(
new
BigDecimal
(
residueWeight
)).
add
(
orderGoodsResidueWeight
);
return
childResidueWeight
.
add
(
new
BigDecimal
(
residueWeight
)).
add
(
orderGoodsResidueWeight
);
...
...
performance-web/src/test/java/com/clx/performance/JobTest.java
浏览文件 @
af2a1ea8
...
@@ -5,6 +5,7 @@ import com.clx.order.vo.feign.OrderOwnTruckVo;
...
@@ -5,6 +5,7 @@ import com.clx.order.vo.feign.OrderOwnTruckVo;
import
com.clx.performance.component.GoodsOrderTruckRecordComponent
;
import
com.clx.performance.component.GoodsOrderTruckRecordComponent
;
import
com.clx.performance.component.OrderGoodsStatusLazyComponent
;
import
com.clx.performance.component.OrderGoodsStatusLazyComponent
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.service.OrderCancelService
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.junit.runner.RunWith
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
...
@@ -40,13 +41,16 @@ public class JobTest {
...
@@ -40,13 +41,16 @@ public class JobTest {
@Autowired
@Autowired
private
GoodsOrderTruckRecordComponent
recordComponent
;
private
GoodsOrderTruckRecordComponent
recordComponent
;
@Autowired
private
OrderCancelService
orderCancelService
;
@Test
@Test
public
void
test1
()
{
public
void
test1
()
{
List
<
String
>
list
=
new
ArrayList
<>();
//CX2023092600223 平台已承接的订单,没有产生货单
list
.
add
(
"晋A99999"
);
//CX2023101600386 truckDemand 类型是2,且有货单,有运单, 没有未到达货源地的运单
//PT2023092600207 类型都是1,且有运单
recordComponent
.
saveTruckRecord
(
"123"
,
list
);
//orderCancelService.ownerCancelOrderPre("PT2023102600466"
);
recordComponent
.
getPrivateTruckList
(
"123"
,
1001183036834771013L
);
orderCancelService
.
ownerCancelOrder
(
"PT2023102600466"
);
System
.
out
.
println
();
System
.
out
.
println
();
}
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论