Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
d77f15e4
提交
d77f15e4
authored
9月 25, 2023
作者:
huyufan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
处理部分平台承接
上级
bb937806
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
113 行增加
和
24 行删除
+113
-24
OrderGoodsChildParams.java
...main/java/com/clx/order/params/OrderGoodsChildParams.java
+3
-0
OrderGoodsParams.java
.../src/main/java/com/clx/order/params/OrderGoodsParams.java
+0
-3
OrderGoodsDao.java
.../src/main/java/com/clx/performance/dao/OrderGoodsDao.java
+2
-0
OrderGoodsDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderGoodsDaoImpl.java
+5
-0
OrderGoodsMapper.java
...ain/java/com/clx/performance/mapper/OrderGoodsMapper.java
+5
-0
OrderGoodsSqlProvider.java
...om/clx/performance/sqlProvider/OrderGoodsSqlProvider.java
+32
-0
OneGoodsOrderStrategy.java
.../clx/performance/strategy/impl/OneGoodsOrderStrategy.java
+12
-4
ThreeGoodsOrderStrategy.java
...lx/performance/strategy/impl/ThreeGoodsOrderStrategy.java
+13
-3
TwoGoodsOrderStrategy.java
.../clx/performance/strategy/impl/TwoGoodsOrderStrategy.java
+41
-14
没有找到文件。
performance-api/src/main/java/com/clx/order/params/OrderGoodsChildParams.java
浏览文件 @
d77f15e4
...
...
@@ -12,6 +12,9 @@ import java.util.List;
@Setter
public
class
OrderGoodsChildParams
{
@ApiModelProperty
(
"用车方式 1:平台车辆配货 2:自有车辆配货"
)
private
String
vehicleUsage
;
@MoneyInConvert
@ApiModelProperty
(
"挂单运费"
)
...
...
performance-api/src/main/java/com/clx/order/params/OrderGoodsParams.java
浏览文件 @
d77f15e4
...
...
@@ -14,9 +14,6 @@ public class OrderGoodsParams {
@NotBlank
(
message
=
"订单编号不能为空"
)
private
String
orderNo
;
@ApiModelProperty
(
"用车方式 1:平台车辆配货 2:自有车辆配货"
)
private
String
vehicleUsage
;
@Converted
(
isDynamic
=
true
)
private
List
<
OrderGoodsChildParams
>
orderGoodsChildParams
;
}
performance-web/src/main/java/com/clx/performance/dao/OrderGoodsDao.java
浏览文件 @
d77f15e4
...
...
@@ -40,4 +40,6 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
IPage
<
OrderGoodsAPPVO
>
exclusiveOrderPageGoodsList
(
OrderGoodsListPageParam
orderGoodsListPageParam
,
List
<
String
>
orderGoodsNoList
);
void
updateOrderGoodsStatusByOrderGoodsNo
(
String
orderGoodsNo
,
Integer
code
);
void
saveBatchEntity
(
List
<
OrderGoods
>
orderGoodsList
);
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderGoodsDaoImpl.java
浏览文件 @
d77f15e4
...
...
@@ -92,5 +92,10 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
baseMapper
.
updateOrderGoodsStatusByOrderGoodsNo
(
orderGoodsNo
,
code
);
}
@Override
public
void
saveBatchEntity
(
List
<
OrderGoods
>
orderGoodsList
)
{
baseMapper
.
saveBatchEntity
(
orderGoodsList
);
}
}
performance-web/src/main/java/com/clx/performance/mapper/OrderGoodsMapper.java
浏览文件 @
d77f15e4
...
...
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.clx.order.params.PageOrderGoodsListParam
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.sqlProvider.OrderGoodsSqlProvider
;
import
com.clx.performance.sqlProvider.OrderGoodsTruckBindSqlProvider
;
import
com.clx.performance.vo.app.OrderGoodsAPPVO
;
import
com.clx.performance.vo.pc.OrderGoodsVO
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -50,4 +51,8 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
" order_goods_status = #{code} "
+
" where order_goods_no = #{orderGoodsNo}"
)
void
updateOrderGoodsStatusByOrderGoodsNo
(
@Param
(
"orderGoodsNo"
)
String
orderGoodsNo
,
@Param
(
"code"
)
Integer
code
);
@SelectProvider
(
type
=
OrderGoodsTruckBindSqlProvider
.
class
,
method
=
"saveBatchEntity"
)
void
saveBatchEntity
(
List
<
OrderGoods
>
orderGoodsList
);
}
performance-web/src/main/java/com/clx/performance/sqlProvider/OrderGoodsSqlProvider.java
浏览文件 @
d77f15e4
...
...
@@ -5,6 +5,8 @@ import com.clx.order.params.PageOrderGoodsListParam;
import
com.clx.order.vo.feign.FeignPageOrderVO
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.enums.OrderGoodsStatusEnum
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.OrderGoodsTruckBind
;
import
com.clx.performance.vo.app.OrderGoodsAPPVO
;
import
com.clx.performance.vo.pc.OrderGoodsVO
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -136,4 +138,34 @@ public class OrderGoodsSqlProvider {
return
sqlList
.
toString
();
}
public
String
saveBatchEntity
(
List
<
OrderGoods
>
orderGoodsList
)
{
StringBuffer
sqlList
=
new
StringBuffer
();
sqlList
.
append
(
"INSERT INTO order_goods(extract_weight,residue_transport_weight,already_transport_weight,loss_price,truck_demand,extract_way,\n"
+
"need_truck_num,pending_order_way,pending_order_time,pending_order_freight,last_arrive_send_time,senior_logistics_manager_id,\n"
+
"senior_logistics_manager_name,order_no,order_goods_no,order_goods_status,send_address_id,send_address_shorter,send_longitude,\n"
+
"send_latitude,receive_latitude,receive_longitude,receive_address_id,receive_address_shorter,goods_name,goods_id,create_time,modified_time,\n"
+
"user_name,user_no VALUES "
);
for
(
int
i
=
0
;
i
<
orderGoodsList
.
size
();
i
++)
{
OrderGoods
o
=
orderGoodsList
.
get
(
i
);
sqlList
.
append
(
" ('"
).
append
(
o
.
getExtractWeight
()).
append
(
"','"
).
append
(
o
.
getResidueTransportWeight
()).
append
(
"','"
).
append
(
o
.
getAlreadyTransportWeight
()).
append
(
"','"
)
.
append
(
o
.
getLossPrice
()).
append
(
"','"
).
append
(
o
.
getTruckDemand
()).
append
(
"','"
).
append
(
o
.
getExtractWay
()).
append
(
"','"
)
.
append
(
o
.
getNeedTruckNum
()).
append
(
"','"
).
append
(
o
.
getPendingOrderWay
()).
append
(
"','"
).
append
(
o
.
getPendingOrderTime
()).
append
(
"','"
)
.
append
(
o
.
getPendingOrderFreight
()).
append
(
"','"
).
append
(
o
.
getLastArriveSendTime
()).
append
(
"','"
).
append
(
o
.
getSeniorLogisticsManagerId
()).
append
(
"','"
)
.
append
(
o
.
getSeniorLogisticsManagerName
()).
append
(
"','"
).
append
(
o
.
getOrderNo
()).
append
(
"','"
).
append
(
o
.
getOrderGoodsNo
()).
append
(
"','"
)
.
append
(
o
.
getOrderGoodsStatus
()).
append
(
"','"
).
append
(
o
.
getSendAddressId
()).
append
(
"','"
).
append
(
o
.
getSendAddressShorter
()).
append
(
"','"
)
.
append
(
o
.
getSendLongitude
()).
append
(
"','"
).
append
(
o
.
getReceiveLatitude
()).
append
(
"','"
).
append
(
o
.
getReceiveLongitude
()).
append
(
"','"
)
.
append
(
o
.
getReceiveAddressId
()).
append
(
"','"
).
append
(
o
.
getReceiveAddressShorter
()).
append
(
"','"
).
append
(
o
.
getGoodsName
()).
append
(
"','"
)
.
append
(
o
.
getGoodsId
()).
append
(
"','"
).
append
(
o
.
getCreateTime
()).
append
(
"','"
).
append
(
o
.
getModifiedTime
()).
append
(
"','"
)
.
append
(
"')"
);
if
(
i
<
orderGoodsList
.
size
()
-
1
)
{
sqlList
.
append
(
","
);
}
}
return
sqlList
.
toString
();
}
}
performance-web/src/main/java/com/clx/performance/strategy/impl/OneGoodsOrderStrategy.java
浏览文件 @
d77f15e4
...
...
@@ -2,12 +2,14 @@ package com.clx.performance.strategy.impl;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.param.feign.UpdateOrderInfoResidueWeightParam
;
import
com.clx.order.params.OrderGoodsChildParams
;
import
com.clx.order.params.OrderGoodsParams
;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.performance.component.GoodsOrderStrategyContext
;
import
com.clx.performance.component.OrderGoodsIdGenerate
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OrderGoodsTruckBindDao
;
import
com.clx.performance.enums.*
;
import
com.clx.performance.mapper.OrderGoodsMapper
;
...
...
@@ -30,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.HashMap
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -53,7 +56,7 @@ public class OneGoodsOrderStrategy implements GoodsOrderStrategy, InitializingBe
OrderGoodsService
orderGoodsService
;
@Autowired
OrderGoods
Mapper
orderGoodsMapper
;
OrderGoods
Dao
orderGoodsDao
;
@Autowired
private
GoodsOrderStrategyContext
goodsOrderStrategyContext
;
...
...
@@ -78,6 +81,7 @@ public class OneGoodsOrderStrategy implements GoodsOrderStrategy, InitializingBe
long
beginOrderGoodsId
=
orderGoodsIdGenerate
.
getOrderGoodsId
(
OrderGoodsTypeEnum
.
Status
.
PLATFORM
.
getCode
(),
childParamsList
.
size
());
Map
<
String
,
LocalDateTime
>
mqMap
=
new
HashMap
<>();
List
<
OrderGoods
>
orderGoodsList
=
new
LinkedList
<>();
for
(
OrderGoodsChildParams
child
:
childParamsList
)
{
if
(
child
.
getPendingOrderWay
().
equals
(
2
))
{
if
(
child
.
getNeedTruckNum
()
==
null
)
{
...
...
@@ -145,10 +149,14 @@ public class OneGoodsOrderStrategy implements GoodsOrderStrategy, InitializingBe
}
mqMap
.
put
(
OrderGoodsTypeEnum
.
Status
.
PLATFORM
.
getCode
()
+
beginOrderGoodsId
,
postedTime
);
beginOrderGoodsId
=
beginOrderGoodsId
+
1
;
orderGoods
Mapper
.
insert
(
orderGoods
);
orderGoods
List
.
add
(
orderGoods
);
}
orderFeign
.
updateOrderInfoResidueWeight
(
orderInfo
.
getId
(),
1
,
null
,
residueWeight
.
subtract
(
childSum
));
orderGoodsDao
.
saveBatchEntity
(
orderGoodsList
);
UpdateOrderInfoResidueWeightParam
param
=
new
UpdateOrderInfoResidueWeightParam
();
param
.
setOrderId
(
orderInfo
.
getId
());
param
.
setUpdateType
(
"1"
);
param
.
setResidueWeight
(
residueWeight
.
subtract
(
childSum
));
orderFeign
.
updateOrderInfoResidueWeight
(
param
);
sendMq
(
mqMap
,
now
);
return
sendLazyTime
;
...
...
performance-web/src/main/java/com/clx/performance/strategy/impl/ThreeGoodsOrderStrategy.java
浏览文件 @
d77f15e4
...
...
@@ -2,12 +2,14 @@ package com.clx.performance.strategy.impl;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.param.feign.UpdateOrderInfoResidueWeightParam
;
import
com.clx.order.params.OrderGoodsChildParams
;
import
com.clx.order.params.OrderGoodsParams
;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.performance.component.GoodsOrderStrategyContext
;
import
com.clx.performance.component.OrderGoodsIdGenerate
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OrderGoodsTruckBindDao
;
import
com.clx.performance.enums.OrderGoodsStatusEnum
;
import
com.clx.performance.enums.OrderGoodsTypeEnum
;
...
...
@@ -33,6 +35,7 @@ import org.springframework.transaction.annotation.Transactional;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.HashMap
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -54,7 +57,7 @@ public class ThreeGoodsOrderStrategy implements GoodsOrderStrategy, Initializing
OrderGoodsService
orderGoodsService
;
@Autowired
OrderGoods
Mapper
orderGoodsMapper
;
OrderGoods
Dao
orderGoodsDao
;
@Autowired
private
GoodsOrderStrategyContext
goodsOrderStrategyContext
;
...
...
@@ -85,6 +88,8 @@ public class ThreeGoodsOrderStrategy implements GoodsOrderStrategy, Initializing
Map
<
String
,
LocalDateTime
>
mqMap
=
new
HashMap
<>();
long
beginOrderGoodsId
=
orderGoodsIdGenerate
.
getOrderGoodsId
(
OrderGoodsTypeEnum
.
Status
.
PLATFORM
.
getCode
(),
childParamsList
.
size
());
List
<
OrderGoods
>
orderGoodsList
=
new
LinkedList
<>();
for
(
OrderGoodsChildParams
child
:
childParamsList
)
{
OrderGoods
orderGoods
=
new
OrderGoods
();
...
...
@@ -150,10 +155,15 @@ public class ThreeGoodsOrderStrategy implements GoodsOrderStrategy, Initializing
beginOrderGoodsId
=
beginOrderGoodsId
+
1
;
orderGoods
Mapper
.
insert
(
orderGoods
);
orderGoods
List
.
add
(
orderGoods
);
}
orderGoodsDao
.
saveBatchEntity
(
orderGoodsList
);
orderFeign
.
updateOrderInfoResidueWeight
(
orderInfo
.
getId
(),
1
,
null
,
residueWeight
.
subtract
(
childSum
));
UpdateOrderInfoResidueWeightParam
param
=
new
UpdateOrderInfoResidueWeightParam
();
param
.
setOrderId
(
orderInfo
.
getId
());
param
.
setUpdateType
(
"1"
);
param
.
setResidueWeight
(
residueWeight
.
subtract
(
childSum
));
orderFeign
.
updateOrderInfoResidueWeight
(
param
);
sendMq
(
mqMap
,
now
);
return
sendLazyTime
;
}
...
...
performance-web/src/main/java/com/clx/performance/strategy/impl/TwoGoodsOrderStrategy.java
浏览文件 @
d77f15e4
...
...
@@ -2,12 +2,14 @@ package com.clx.performance.strategy.impl;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.param.feign.UpdateOrderInfoResidueWeightParam
;
import
com.clx.order.params.OrderGoodsChildParams
;
import
com.clx.order.params.OrderGoodsParams
;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.performance.component.GoodsOrderStrategyContext
;
import
com.clx.performance.component.OrderGoodsIdGenerate
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OrderGoodsTruckBindDao
;
import
com.clx.performance.enums.OrderGoodsStatusEnum
;
import
com.clx.performance.enums.OrderGoodsTypeEnum
;
...
...
@@ -34,6 +36,7 @@ import org.springframework.transaction.annotation.Transactional;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.HashMap
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -55,7 +58,7 @@ public class TwoGoodsOrderStrategy implements GoodsOrderStrategy, InitializingBe
OrderGoodsService
orderGoodsService
;
@Autowired
OrderGoods
Mapper
orderGoodsMapper
;
OrderGoods
Dao
orderGoodsDao
;
@Autowired
private
OrderFeign
orderFeign
;
...
...
@@ -75,13 +78,20 @@ public class TwoGoodsOrderStrategy implements GoodsOrderStrategy, InitializingBe
LocalDateTime
sendLazyTime
=
null
;
List
<
OrderGoodsChildParams
>
childParamsList
=
orderGoodsParams
.
getOrderGoodsChildParams
();
BigDecimal
childSum
=
childParamsList
.
stream
(
).
map
(
OrderGoodsChildParams:
:
getExtractWeight
).
reduce
(
BigDecimal
platSum
=
childParamsList
.
stream
().
filter
(
i
->
"1"
.
equals
(
i
.
getVehicleUsage
())
).
map
(
OrderGoodsChildParams:
:
getExtractWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
BigDecimal
residueWeight
=
new
BigDecimal
(
orderInfo
.
getResidueWeight
());
if
(
residueWeight
.
compareTo
(
childSum
)
<
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前货单总吨数已超订单总吨数"
);
BigDecimal
ownSum
=
childParamsList
.
stream
().
filter
(
i
->
!
"1"
.
equals
(
i
.
getVehicleUsage
())).
map
(
OrderGoodsChildParams:
:
getExtractWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
BigDecimal
platformCarryWeight
=
new
BigDecimal
(
orderInfo
.
getPlatformCarryWeight
());
if
(
platformCarryWeight
.
compareTo
(
platSum
)
<
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前平台承运货单总吨数已超平台承运订单总吨数"
);
}
BigDecimal
ownCarryWeight
=
new
BigDecimal
(
orderInfo
.
getOwnCarryWeight
());
if
(
ownCarryWeight
.
compareTo
(
ownSum
)
<
0
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
HTTP_ERROR
,
"当前自有承运货单总吨数已超自有承运订单总吨数"
);
}
Map
<
String
,
LocalDateTime
>
mqMap
=
new
HashMap
<>();
List
<
OrderGoods
>
orderGoodsList
=
new
LinkedList
<>();
long
beginOrderGoodsId
=
orderGoodsIdGenerate
.
getOrderGoodsId
(
OrderGoodsTypeEnum
.
Status
.
PLATFORM
.
getCode
(),
childParamsList
.
size
());
for
(
OrderGoodsChildParams
child
:
childParamsList
)
{
...
...
@@ -155,17 +165,34 @@ public class TwoGoodsOrderStrategy implements GoodsOrderStrategy, InitializingBe
mqMap
.
put
(
OrderGoodsTypeEnum
.
Status
.
PLATFORM
.
getCode
()
+
beginOrderGoodsId
,
postedTime
);
beginOrderGoodsId
=
beginOrderGoodsId
+
1
;
orderGoods
Mapper
.
insert
(
orderGoods
);
orderGoods
List
.
add
(
orderGoods
);
}
//选平台车辆拉运扣除平台承接吨数
if
(
StringUtils
.
equals
(
orderGoodsParams
.
getVehicleUsage
(),
"1"
))
{
orderFeign
.
updateOrderInfoResidueWeight
(
orderInfo
.
getId
(),
2
,
new
BigDecimal
(
orderInfo
.
getPlatformResidueCarryWeight
()).
subtract
(
childSum
),
residueWeight
.
subtract
(
childSum
));
}
else
{
//选自有车辆拉运扣除平台承接吨数
orderFeign
.
updateOrderInfoResidueWeight
(
orderInfo
.
getId
(),
3
,
new
BigDecimal
(
orderInfo
.
getOwnResidueCarryWeight
()).
subtract
(
childSum
),
residueWeight
.
subtract
(
childSum
));
orderGoodsDao
.
saveBatchEntity
(
orderGoodsList
);
BigDecimal
residueWeight
=
new
BigDecimal
(
orderInfo
.
getResidueWeight
());
if
(
platSum
!=
null
&&
ownSum
!=
null
)
{
UpdateOrderInfoResidueWeightParam
param
=
new
UpdateOrderInfoResidueWeightParam
();
param
.
setOrderId
(
orderInfo
.
getId
());
param
.
setUpdateType
(
"4"
);
param
.
setResidueWeight
(
residueWeight
.
subtract
(
platSum
).
subtract
(
ownSum
));
param
.
setOwnWeight
(
ownSum
);
param
.
setPlatWeight
(
platSum
);
orderFeign
.
updateOrderInfoResidueWeight
(
param
);
}
else
if
(
platSum
!=
null
&&
ownSum
==
null
)
{
UpdateOrderInfoResidueWeightParam
param
=
new
UpdateOrderInfoResidueWeightParam
();
param
.
setOrderId
(
orderInfo
.
getId
());
param
.
setUpdateType
(
"2"
);
param
.
setResidueWeight
(
residueWeight
.
subtract
(
platSum
));
param
.
setPlatWeight
(
platSum
);
orderFeign
.
updateOrderInfoResidueWeight
(
param
);
}
else
if
(
platSum
!=
null
&&
ownSum
==
null
)
{
UpdateOrderInfoResidueWeightParam
param
=
new
UpdateOrderInfoResidueWeightParam
();
param
.
setOrderId
(
orderInfo
.
getId
());
param
.
setUpdateType
(
"3"
);
param
.
setResidueWeight
(
residueWeight
.
subtract
(
ownSum
));
param
.
setOwnWeight
(
ownSum
);
orderFeign
.
updateOrderInfoResidueWeight
(
param
);
}
sendMq
(
mqMap
,
now
);
return
sendLazyTime
;
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论