Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
61eec59f
提交
61eec59f
authored
9月 27, 2023
作者:
huyufan
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/v4.9_create_goods_child_20230918' into test
上级
c39b9645
c773065f
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
72 行增加
和
20 行删除
+72
-20
PendingOrderWayStatusEnum.java
.../com/clx/performance/enums/PendingOrderWayStatusEnum.java
+30
-0
OrderGoodsIdGenerate.java
...a/com/clx/performance/component/OrderGoodsIdGenerate.java
+4
-2
RabbitKeyConstants.java
...java/com/clx/performance/constant/RabbitKeyConstants.java
+2
-0
GoodsOrderController.java
...m/clx/performance/controller/pc/GoodsOrderController.java
+2
-2
OneGoodsOrderStrategy.java
.../clx/performance/strategy/impl/OneGoodsOrderStrategy.java
+5
-2
ThreeGoodsOrderStrategy.java
...lx/performance/strategy/impl/ThreeGoodsOrderStrategy.java
+5
-6
TwoGoodsOrderStrategy.java
.../clx/performance/strategy/impl/TwoGoodsOrderStrategy.java
+4
-2
JobTest.java
...rmance-web/src/test/java/com/clx/performance/JobTest.java
+20
-6
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/PendingOrderWayStatusEnum.java
0 → 100644
浏览文件 @
61eec59f
package
com
.
clx
.
performance
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.util.Arrays
;
import
java.util.Optional
;
public
enum
PendingOrderWayStatusEnum
{
;
@Getter
@AllArgsConstructor
public
enum
Status
{
GK
(
1
,
"GK"
),
DX
(
2
,
"DX"
)
;
private
final
Integer
code
;
private
final
String
name
;
public
static
Optional
<
Status
>
getByCode
(
Integer
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
==
code
).
findFirst
();
}
}
}
performance-web/src/main/java/com/clx/performance/component/OrderGoodsIdGenerate.java
浏览文件 @
61eec59f
...
@@ -19,15 +19,17 @@ public class OrderGoodsIdGenerate {
...
@@ -19,15 +19,17 @@ public class OrderGoodsIdGenerate {
@Autowired
@Autowired
private
OrderGoodsDao
orderGoodsDao
;
private
OrderGoodsDao
orderGoodsDao
;
private
static
final
String
type
=
"id"
;
public
long
getOrderGoodsId
(
String
type
,
Integer
size
)
{
public
long
getOrderGoodsId
(
Integer
size
)
{
long
baseStart
=
Long
.
parseLong
(
DateUtils
.
formatDate
(
LocalDate
.
now
(),
"yyyyMMdd"
).
get
()
+
"00001"
);
long
baseStart
=
Long
.
parseLong
(
DateUtils
.
formatDate
(
LocalDate
.
now
(),
"yyyyMMdd"
).
get
()
+
"00001"
);
Object
o
=
redisTemplate
.
opsForHash
().
get
(
RedisConstants
.
ORDER_GOODS_ID
,
type
);
Object
o
=
redisTemplate
.
opsForHash
().
get
(
RedisConstants
.
ORDER_GOODS_ID
,
type
);
if
(
o
==
null
)
{
if
(
o
==
null
)
{
Long
maxOrderGoodsId
=
null
;
Long
maxOrderGoodsId
=
null
;
String
maxID
=
orderGoodsDao
.
getMaxOrderGoodsId
(
type
);
String
maxID
=
orderGoodsDao
.
getMaxOrderGoodsId
(
type
);
if
(
StringUtils
.
isNotBlank
(
maxID
))
{
if
(
StringUtils
.
isNotBlank
(
maxID
))
{
maxOrderGoodsId
=
Long
.
valueOf
(
maxID
.
substring
(
0
,
2
)
);
maxOrderGoodsId
=
Long
.
valueOf
(
maxID
);
}
}
if
(
maxOrderGoodsId
==
null
)
{
if
(
maxOrderGoodsId
==
null
)
{
...
...
performance-web/src/main/java/com/clx/performance/constant/RabbitKeyConstants.java
浏览文件 @
61eec59f
...
@@ -4,6 +4,7 @@ public class RabbitKeyConstants {
...
@@ -4,6 +4,7 @@ public class RabbitKeyConstants {
public
static
final
String
ORDER_POSTED_QUEUE
=
"clx-order.order.posted.queue"
;
public
static
final
String
ORDER_POSTED_QUEUE
=
"clx-order.order.posted.queue"
;
//改订单状态为已挂单
public
static
final
String
ORDER_POSTED_EXCHANGE
=
"clx-order.order.posted.exchange"
;
public
static
final
String
ORDER_POSTED_EXCHANGE
=
"clx-order.order.posted.exchange"
;
public
static
final
String
ORDER_POSTED_ROUTE_KEY
=
"clx-order.order.posted.route.key"
;
public
static
final
String
ORDER_POSTED_ROUTE_KEY
=
"clx-order.order.posted.route.key"
;
...
@@ -17,6 +18,7 @@ public class RabbitKeyConstants {
...
@@ -17,6 +18,7 @@ public class RabbitKeyConstants {
public
static
final
String
ORDER_ON_EXCHANGE
=
"clx-order.order.on.exchange"
;
public
static
final
String
ORDER_ON_EXCHANGE
=
"clx-order.order.on.exchange"
;
//更改订单状态为挂单中
public
static
final
String
ORDER_ON_DEAD_EXCHANGE
=
"clx-order.order.on.dead.exchange"
;
public
static
final
String
ORDER_ON_DEAD_EXCHANGE
=
"clx-order.order.on.dead.exchange"
;
public
static
final
String
ORDER_ON_DEAD_QUEUE
=
"clx-order.order.on.dead.queue"
;
public
static
final
String
ORDER_ON_DEAD_QUEUE
=
"clx-order.order.on.dead.queue"
;
...
...
performance-web/src/main/java/com/clx/performance/controller/pc/GoodsOrderController.java
浏览文件 @
61eec59f
...
@@ -111,7 +111,7 @@ public class GoodsOrderController {
...
@@ -111,7 +111,7 @@ public class GoodsOrderController {
epochMilli
=
sendLazyTime
.
minusMinutes
(
now
.
getMinute
()).
getMinute
()
*
60
*
1000
;
epochMilli
=
sendLazyTime
.
minusMinutes
(
now
.
getMinute
()).
getMinute
()
*
60
*
1000
;
log
.
info
(
"执行订单状态更改,选择时间在当前时间之后,则设置延迟队列时间,时间为:{}"
,
epochMilli
);
log
.
info
(
"执行订单状态更改,选择时间在当前时间之后,则设置延迟队列时间,时间为:{}"
,
epochMilli
);
//选择时间在当前时间之后,则设置延迟队列时间
}
}
if
(
epochMilli
==
0L
)
{
if
(
epochMilli
==
0L
)
{
log
.
info
(
"执行订单状态更改,epochMilli时间为0,时间为:{}"
,
epochMilli
);
log
.
info
(
"执行订单状态更改,epochMilli时间为0,时间为:{}"
,
epochMilli
);
...
@@ -121,7 +121,7 @@ public class GoodsOrderController {
...
@@ -121,7 +121,7 @@ public class GoodsOrderController {
);
);
}
else
{
}
else
{
log
.
info
(
"执行订单状态更改,epochMilli时间不为0,时间为:{}"
,
epochMilli
);
log
.
info
(
"执行订单状态更改,epochMilli时间不为0,时间为:{}"
,
epochMilli
);
rabbitTemplate
.
send
(
RabbitKeyConstants
.
ORDER_POSTED_EXCHANGE
,
RabbitKeyConstants
.
ORDER_POSTED_ROUTE_KEY
,
MessageBuilder
.
withBody
(
orderNo
.
toString
().
getBytes
()).
build
());
rabbitTemplate
.
send
(
RabbitKeyConstants
.
ORDER_POSTED_EXCHANGE
,
RabbitKeyConstants
.
ORDER_POSTED_ROUTE_KEY
,
MessageBuilder
.
withBody
(
orderNo
.
getBytes
()).
build
());
message
.
getMessageProperties
().
setExpiration
(
String
.
valueOf
(
epochMilli
));
message
.
getMessageProperties
().
setExpiration
(
String
.
valueOf
(
epochMilli
));
rabbitTemplate
.
send
(
rabbitTemplate
.
send
(
...
...
performance-web/src/main/java/com/clx/performance/strategy/impl/OneGoodsOrderStrategy.java
浏览文件 @
61eec59f
...
@@ -82,7 +82,7 @@ public class OneGoodsOrderStrategy implements GoodsOrderStrategy, InitializingBe
...
@@ -82,7 +82,7 @@ public class OneGoodsOrderStrategy implements GoodsOrderStrategy, InitializingBe
if
(
residueWeight
.
compareTo
(
childSum
)
<
0
)
{
if
(
residueWeight
.
compareTo
(
childSum
)
<
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前货单总吨数已超订单总吨数"
);
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前货单总吨数已超订单总吨数"
);
}
}
long
beginOrderGoodsId
=
orderGoodsIdGenerate
.
getOrderGoodsId
(
OrderGoodsTypeEnum
.
Status
.
PLATFORM
.
getCode
(),
childParamsList
.
size
());
long
beginOrderGoodsId
=
orderGoodsIdGenerate
.
getOrderGoodsId
(
childParamsList
.
size
());
Map
<
String
,
LocalDateTime
>
mqMap
=
new
HashMap
<>();
Map
<
String
,
LocalDateTime
>
mqMap
=
new
HashMap
<>();
List
<
OrderGoods
>
orderGoodsList
=
new
LinkedList
<>();
List
<
OrderGoods
>
orderGoodsList
=
new
LinkedList
<>();
...
@@ -130,7 +130,10 @@ public class OneGoodsOrderStrategy implements GoodsOrderStrategy, InitializingBe
...
@@ -130,7 +130,10 @@ public class OneGoodsOrderStrategy implements GoodsOrderStrategy, InitializingBe
orderGoods
.
setSeniorLogisticsManagerName
(
child
.
getSeniorLogisticsManagerName
());
orderGoods
.
setSeniorLogisticsManagerName
(
child
.
getSeniorLogisticsManagerName
());
orderGoods
.
setOrderNo
(
orderNo
);
orderGoods
.
setOrderNo
(
orderNo
);
orderGoods
.
setOrderGoodsNo
(
OrderGoodsTypeEnum
.
Status
.
PLATFORM
.
getCode
()
+
beginOrderGoodsId
);
Integer
pendingOrderWay
=
orderGoods
.
getPendingOrderWay
();
String
orderNoPrefix
=
PendingOrderWayStatusEnum
.
Status
.
GK
.
getCode
().
equals
(
pendingOrderWay
)
?
PendingOrderWayStatusEnum
.
Status
.
GK
.
getName
()
:
PendingOrderWayStatusEnum
.
Status
.
DX
.
getName
();
orderGoods
.
setOrderGoodsNo
(
orderNoPrefix
+
beginOrderGoodsId
);
orderGoods
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CREATED
.
getCode
());
orderGoods
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CREATED
.
getCode
());
orderGoods
.
setSendAddressId
(
orderInfo
.
getSendAddressId
());
orderGoods
.
setSendAddressId
(
orderInfo
.
getSendAddressId
());
orderGoods
.
setSendAddressShorter
(
orderInfo
.
getSendAddressShorter
());
orderGoods
.
setSendAddressShorter
(
orderInfo
.
getSendAddressShorter
());
...
...
performance-web/src/main/java/com/clx/performance/strategy/impl/ThreeGoodsOrderStrategy.java
浏览文件 @
61eec59f
...
@@ -12,10 +12,7 @@ import com.clx.performance.component.OrderGoodsStatusLazyComponent;
...
@@ -12,10 +12,7 @@ import com.clx.performance.component.OrderGoodsStatusLazyComponent;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OrderGoodsTruckBindDao
;
import
com.clx.performance.dao.OrderGoodsTruckBindDao
;
import
com.clx.performance.enums.OrderGoodsStatusEnum
;
import
com.clx.performance.enums.*
;
import
com.clx.performance.enums.OrderGoodsTypeEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.TruckDemandEnum
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.service.OrderGoodsService
;
import
com.clx.performance.service.OrderGoodsService
;
import
com.clx.performance.strategy.GoodsOrderStrategy
;
import
com.clx.performance.strategy.GoodsOrderStrategy
;
...
@@ -87,7 +84,7 @@ public class ThreeGoodsOrderStrategy implements GoodsOrderStrategy, Initializing
...
@@ -87,7 +84,7 @@ public class ThreeGoodsOrderStrategy implements GoodsOrderStrategy, Initializing
}
}
Map
<
String
,
LocalDateTime
>
mqMap
=
new
HashMap
<>();
Map
<
String
,
LocalDateTime
>
mqMap
=
new
HashMap
<>();
long
beginOrderGoodsId
=
orderGoodsIdGenerate
.
getOrderGoodsId
(
OrderGoodsTypeEnum
.
Status
.
PLATFORM
.
getCode
(),
childParamsList
.
size
());
long
beginOrderGoodsId
=
orderGoodsIdGenerate
.
getOrderGoodsId
(
childParamsList
.
size
());
List
<
OrderGoods
>
orderGoodsList
=
new
LinkedList
<>();
List
<
OrderGoods
>
orderGoodsList
=
new
LinkedList
<>();
for
(
OrderGoodsChildParams
child
:
childParamsList
)
{
for
(
OrderGoodsChildParams
child
:
childParamsList
)
{
...
@@ -129,7 +126,9 @@ public class ThreeGoodsOrderStrategy implements GoodsOrderStrategy, Initializing
...
@@ -129,7 +126,9 @@ public class ThreeGoodsOrderStrategy implements GoodsOrderStrategy, Initializing
orderGoods
.
setSeniorLogisticsManagerName
(
child
.
getSeniorLogisticsManagerName
());
orderGoods
.
setSeniorLogisticsManagerName
(
child
.
getSeniorLogisticsManagerName
());
orderGoods
.
setOrderNo
(
orderNo
);
orderGoods
.
setOrderNo
(
orderNo
);
orderGoods
.
setOrderGoodsNo
(
OrderGoodsTypeEnum
.
Status
.
PLATFORM
.
getCode
()
+
beginOrderGoodsId
);
Integer
pendingOrderWay
=
orderGoods
.
getPendingOrderWay
();
String
orderNoPrefix
=
PendingOrderWayStatusEnum
.
Status
.
GK
.
getCode
().
equals
(
pendingOrderWay
)
?
PendingOrderWayStatusEnum
.
Status
.
GK
.
getName
()
:
PendingOrderWayStatusEnum
.
Status
.
DX
.
getName
();
orderGoods
.
setOrderGoodsNo
(
orderNoPrefix
+
beginOrderGoodsId
);
orderGoods
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CREATED
.
getCode
());
orderGoods
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CREATED
.
getCode
());
orderGoods
.
setSendAddressId
(
orderInfo
.
getSendAddressId
());
orderGoods
.
setSendAddressId
(
orderInfo
.
getSendAddressId
());
...
...
performance-web/src/main/java/com/clx/performance/strategy/impl/TwoGoodsOrderStrategy.java
浏览文件 @
61eec59f
...
@@ -92,7 +92,7 @@ public class TwoGoodsOrderStrategy implements GoodsOrderStrategy, InitializingBe
...
@@ -92,7 +92,7 @@ public class TwoGoodsOrderStrategy implements GoodsOrderStrategy, InitializingBe
Map
<
String
,
LocalDateTime
>
mqMap
=
new
HashMap
<>();
Map
<
String
,
LocalDateTime
>
mqMap
=
new
HashMap
<>();
List
<
OrderGoods
>
orderGoodsList
=
new
LinkedList
<>();
List
<
OrderGoods
>
orderGoodsList
=
new
LinkedList
<>();
long
beginOrderGoodsId
=
orderGoodsIdGenerate
.
getOrderGoodsId
(
OrderGoodsTypeEnum
.
Status
.
PLATFORM
.
getCode
(),
childParamsList
.
size
());
long
beginOrderGoodsId
=
orderGoodsIdGenerate
.
getOrderGoodsId
(
childParamsList
.
size
());
for
(
OrderGoodsChildParams
child
:
childParamsList
)
{
for
(
OrderGoodsChildParams
child
:
childParamsList
)
{
if
(
child
.
getPendingOrderWay
().
equals
(
2
))
{
if
(
child
.
getPendingOrderWay
().
equals
(
2
))
{
if
(
child
.
getNeedTruckNum
()
==
null
)
{
if
(
child
.
getNeedTruckNum
()
==
null
)
{
...
@@ -139,7 +139,9 @@ public class TwoGoodsOrderStrategy implements GoodsOrderStrategy, InitializingBe
...
@@ -139,7 +139,9 @@ public class TwoGoodsOrderStrategy implements GoodsOrderStrategy, InitializingBe
orderGoods
.
setSeniorLogisticsManagerName
(
child
.
getSeniorLogisticsManagerName
());
orderGoods
.
setSeniorLogisticsManagerName
(
child
.
getSeniorLogisticsManagerName
());
orderGoods
.
setOrderNo
(
orderNo
);
orderGoods
.
setOrderNo
(
orderNo
);
orderGoods
.
setOrderGoodsNo
(
OrderGoodsTypeEnum
.
Status
.
PLATFORM
.
getCode
()
+
beginOrderGoodsId
);
Integer
pendingOrderWay
=
orderGoods
.
getPendingOrderWay
();
String
orderNoPrefix
=
PendingOrderWayStatusEnum
.
Status
.
GK
.
getCode
().
equals
(
pendingOrderWay
)
?
PendingOrderWayStatusEnum
.
Status
.
GK
.
getName
()
:
PendingOrderWayStatusEnum
.
Status
.
DX
.
getName
();
orderGoods
.
setOrderGoodsNo
(
orderNoPrefix
+
beginOrderGoodsId
);
orderGoods
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CREATED
.
getCode
());
orderGoods
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
CREATED
.
getCode
());
orderGoods
.
setSendAddressId
(
orderInfo
.
getSendAddressId
());
orderGoods
.
setSendAddressId
(
orderInfo
.
getSendAddressId
());
...
...
performance-web/src/test/java/com/clx/performance/JobTest.java
浏览文件 @
61eec59f
...
@@ -2,7 +2,9 @@ package com.clx.performance;
...
@@ -2,7 +2,9 @@ package com.clx.performance;
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.performance.component.OrderGoodsStatusLazyComponent
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.constant.RedisConstants
;
import
com.clx.performance.mapper.OrderGoodsMapper
;
import
com.clx.performance.mapper.OrderGoodsMapper
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.junit.runner.RunWith
;
...
@@ -11,9 +13,13 @@ import org.springframework.amqp.core.MessageBuilder;
...
@@ -11,9 +13,13 @@ import org.springframework.amqp.core.MessageBuilder;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.data.redis.core.ZSetOperations
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.Set
;
@SpringBootTest
@SpringBootTest
@RunWith
(
SpringRunner
.
class
)
@RunWith
(
SpringRunner
.
class
)
...
@@ -25,14 +31,22 @@ public class JobTest {
...
@@ -25,14 +31,22 @@ public class JobTest {
@Autowired
@Autowired
private
RabbitTemplate
rabbitTemplate
;
private
RabbitTemplate
rabbitTemplate
;
@Autowired
private
StringRedisTemplate
stringRedisTemplate
;
@Autowired
private
OrderGoodsStatusLazyComponent
orderGoodsStatusLazyComponent
;
@Test
@Test
public
void
test1
()
{
public
void
test1
()
{
orderGoodsStatusLazyComponent
.
consuming
();
UpdateOrderInfoResidueWeightParam
param
=
new
UpdateOrderInfoResidueWeightParam
();
System
.
out
.
println
();
param
.
setOrderId
(
150
);
param
.
setUpdateType
(
"1"
);
// UpdateOrderInfoResidueWeightParam param = new UpdateOrderInfoResidueWeightParam();
param
.
setResidueWeight
(
new
BigDecimal
(
200
));
// param.setOrderId(150);
orderFeign
.
updateOrderInfoResidueWeight
(
param
);
// param.setUpdateType("1");
// param.setResidueWeight(new BigDecimal(200));
// orderFeign.updateOrderInfoResidueWeight(param);
// Message message = MessageBuilder.withBody("PT2023091900049".getBytes()).build();
// Message message = MessageBuilder.withBody("PT2023091900049".getBytes()).build();
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论