Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
657cf9f1
提交
657cf9f1
authored
12月 14, 2023
作者:
liuhaiquan
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/master' into v7.8_listenAndComplaint_20231208
# Conflicts: # performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
上级
19f0db01
691daed9
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
95 行增加
和
36 行删除
+95
-36
RabbitKeyConstants.java
...java/com/clx/performance/constant/RabbitKeyConstants.java
+7
-0
OrderGoodsTruckBindDao.java
.../java/com/clx/performance/dao/OrderGoodsTruckBindDao.java
+1
-1
OrderGoodsTruckBindDaoImpl.java
.../clx/performance/dao/impl/OrderGoodsTruckBindDaoImpl.java
+2
-5
OwnerInfoServiceImpl.java
.../performance/extranal/user/impl/OwnerInfoServiceImpl.java
+1
-1
OrderGoodsTruckBindMapper.java
...com/clx/performance/mapper/OrderGoodsTruckBindMapper.java
+2
-2
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+27
-12
OrderGoodsServiceImpl.java
...m/clx/performance/service/impl/OrderGoodsServiceImpl.java
+7
-6
OwnerAccountServiceImpl.java
...clx/performance/service/impl/OwnerAccountServiceImpl.java
+31
-2
OrderGoodsTruckBindSqlProvider.java
...rformance/sqlProvider/OrderGoodsTruckBindSqlProvider.java
+11
-0
GoodsOrderStrategy.java
...java/com/clx/performance/strategy/GoodsOrderStrategy.java
+6
-7
没有找到文件。
performance-web/src/main/java/com/clx/performance/constant/RabbitKeyConstants.java
浏览文件 @
657cf9f1
...
@@ -63,4 +63,11 @@ public class RabbitKeyConstants {
...
@@ -63,4 +63,11 @@ public class RabbitKeyConstants {
public
static
final
String
ORDER_LARGE_SCREEN_QUEUE
=
"clx-order.order.large.screen.queue"
;
public
static
final
String
ORDER_LARGE_SCREEN_QUEUE
=
"clx-order.order.large.screen.queue"
;
// 预付运费和保证金 自动冻结 触发消息队列
public
static
final
String
FREEZE_TRIGGER_EXCHANGE
=
"clx-order.freeze.trigger.exchange"
;
public
static
final
String
FREEZE_TRIGGER_QUEUE
=
"clx-order.freeze.trigger.queue"
;
public
static
final
String
FREEZE_TRIGGER_ROUTING_KEY
=
"clx-order.freeze.trigger.routing.key"
;
}
}
performance-web/src/main/java/com/clx/performance/dao/OrderGoodsTruckBindDao.java
浏览文件 @
657cf9f1
...
@@ -27,7 +27,7 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
...
@@ -27,7 +27,7 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
Optional
<
OrderGoodsTruckBind
>
getValidByOrderGoodsNoAndTruckNo
(
String
truckNo
);
Optional
<
OrderGoodsTruckBind
>
getValidByOrderGoodsNoAndTruckNo
(
String
truckNo
);
Optional
<
List
<
OrderGoodsTruckBind
>>
getValidByTruckNo
(
String
truckNo
);
Optional
<
List
<
OrderGoodsTruckBind
>>
getValidByTruckNo
(
String
truckNo
);
Optional
<
List
<
OrderGoodsTruckBind
>
>
selectListByTruckNo
(
List
<
String
>
truckList
);
List
<
String
>
selectListByTruckNo
(
List
<
String
>
truckList
);
void
updateOrderGoodsBindStatus
(
String
orderGoodsNo
,
Integer
code
);
void
updateOrderGoodsBindStatus
(
String
orderGoodsNo
,
Integer
code
);
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/OrderGoodsTruckBindDaoImpl.java
浏览文件 @
657cf9f1
...
@@ -2,7 +2,6 @@ package com.clx.performance.dao.impl;
...
@@ -2,7 +2,6 @@ package com.clx.performance.dao.impl;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.clx.performance.dao.OrderGoodsTruckBindDao
;
import
com.clx.performance.dao.OrderGoodsTruckBindDao
;
import
com.clx.performance.enums.OrderGoodsTruckBindEnum
;
import
com.clx.performance.enums.OrderGoodsTruckBindEnum
;
import
com.clx.performance.mapper.OrderGoodsTruckBindMapper
;
import
com.clx.performance.mapper.OrderGoodsTruckBindMapper
;
...
@@ -75,10 +74,8 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
...
@@ -75,10 +74,8 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
@Override
@Override
public
Optional
<
List
<
OrderGoodsTruckBind
>>
selectListByTruckNo
(
List
<
String
>
truckList
)
{
public
List
<
String
>
selectListByTruckNo
(
List
<
String
>
truckList
)
{
return
Optional
.
ofNullable
(
baseMapper
.
selectList
(
new
QueryWrapper
<
OrderGoodsTruckBind
>().
lambda
()
return
baseMapper
.
selectListByTruckNo
(
truckList
);
.
eq
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
NORMAL
.
getCode
())
.
in
(
OrderGoodsTruckBind:
:
getTruckNo
,
truckList
).
select
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
)));
}
}
@Override
@Override
...
...
performance-web/src/main/java/com/clx/performance/extranal/user/impl/OwnerInfoServiceImpl.java
浏览文件 @
657cf9f1
...
@@ -20,7 +20,7 @@ public class OwnerInfoServiceImpl implements OwnerInfoService {
...
@@ -20,7 +20,7 @@ public class OwnerInfoServiceImpl implements OwnerInfoService {
@Override
@Override
public
OwnerInfoFeignVO
getOwnerInfo
(
Long
userNo
)
{
public
OwnerInfoFeignVO
getOwnerInfo
(
Long
userNo
)
{
return
Optional
.
ofNullable
(
ownerInfoFeign
.
getOwnerInfo
(
userNo
))
return
Optional
.
ofNullable
(
ownerInfoFeign
.
getOwnerInfo
(
userNo
))
.
filter
(
Result:
:
succeed
).
map
(
item
->
item
.
getData
()).
orElseThrow
(
ResultCodeEnum
.
FAIL
);
.
filter
(
Result:
:
succeed
).
map
(
Result:
:
getData
).
orElseThrow
(
ResultCodeEnum
.
FAIL
,
"未查询到对应的货主信息"
);
}
}
}
}
performance-web/src/main/java/com/clx/performance/mapper/OrderGoodsTruckBindMapper.java
浏览文件 @
657cf9f1
package
com
.
clx
.
performance
.
mapper
;
package
com
.
clx
.
performance
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.clx.performance.model.OrderGoodsDriverTruck
;
import
com.clx.performance.model.OrderGoodsTruckBind
;
import
com.clx.performance.model.OrderGoodsTruckBind
;
import
com.clx.performance.sqlProvider.OrderGoodsTruckBindSqlProvider
;
import
com.clx.performance.sqlProvider.OrderGoodsTruckBindSqlProvider
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
...
@@ -27,7 +26,8 @@ public interface OrderGoodsTruckBindMapper extends BaseMapper<OrderGoodsTruckBin
...
@@ -27,7 +26,8 @@ public interface OrderGoodsTruckBindMapper extends BaseMapper<OrderGoodsTruckBin
@Select
(
"select truck_no from order_goods_truck_bind where order_goods_no=#{orderGoodsNo}"
)
@Select
(
"select truck_no from order_goods_truck_bind where order_goods_no=#{orderGoodsNo}"
)
List
<
Integer
>
getTrucksByOrderGoodsNo
(
@Param
(
"orderGoodsNo"
)
String
orderGoodsNo
);
List
<
Integer
>
getTrucksByOrderGoodsNo
(
@Param
(
"orderGoodsNo"
)
String
orderGoodsNo
);
List
<
OrderGoodsDriverTruck
>
selectListByTruckNo
(
List
<
OrderGoodsDriverTruck
>
truckList
);
@SelectProvider
(
type
=
OrderGoodsTruckBindSqlProvider
.
class
,
method
=
"selectListByTruckNo"
)
List
<
String
>
selectListByTruckNo
(
List
<
String
>
truckList
);
@SelectProvider
(
type
=
OrderGoodsTruckBindSqlProvider
.
class
,
method
=
"findUnreleasedTruck"
)
@SelectProvider
(
type
=
OrderGoodsTruckBindSqlProvider
.
class
,
method
=
"findUnreleasedTruck"
)
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
657cf9f1
...
@@ -3,6 +3,7 @@ package com.clx.performance.service.impl;
...
@@ -3,6 +3,7 @@ package com.clx.performance.service.impl;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.order.enums.OrderEnum
;
import
com.clx.order.enums.OrderEnum
;
import
com.clx.order.enums.VehicleUsageEnum
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.vo.feign.FeignAddressVO
;
import
com.clx.order.vo.feign.FeignAddressVO
;
import
com.clx.order.vo.feign.FeignOrderInfoVO
;
import
com.clx.order.vo.feign.FeignOrderInfoVO
;
...
@@ -381,8 +382,9 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -381,8 +382,9 @@ public class OrderChildServiceImpl implements OrderChildService {
// 更新货单数据
// 更新货单数据
updateOrderGoodsAmount
(
orderGoods
,
orderChild
);
updateOrderGoodsAmount
(
orderGoods
,
orderChild
);
// 更新定向单状态
// 更新定向平台车状态,自由车状态不更新
updateOrderGoodsDirect
(
bind
);
updateOrderGoodsDirect
(
orderGoods
,
bind
);
// 新增运单
// 新增运单
orderChildDao
.
saveEntity
(
orderChild
);
orderChildDao
.
saveEntity
(
orderChild
);
...
@@ -477,7 +479,7 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -477,7 +479,7 @@ public class OrderChildServiceImpl implements OrderChildService {
}
}
// 更新定向派单
// 更新定向派单
updateOrderGoodsDirectReject
(
orderGoodsTruckBind
);
updateOrderGoodsDirectReject
(
orderGoods
,
orderGoods
TruckBind
);
}
}
@Override
@Override
...
@@ -858,9 +860,12 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -858,9 +860,12 @@ public class OrderChildServiceImpl implements OrderChildService {
// 更新出车状态
// 更新出车状态
updateDriverOrderStatusUnload
(
orderChild
.
getDriverUserNo
(),
orderChild
.
getTruckId
());
updateDriverOrderStatusUnload
(
orderChild
.
getDriverUserNo
(),
orderChild
.
getTruckId
());
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
//释放车辆
//释放车辆
goodsOrderTruckRecordComponent
.
releaseDriverCard
(
orderChild
.
getOrderGoodsNo
(),
orderChild
.
getTruckNo
());
//非自有车辆配货的进行车辆释放
if
(!
Objects
.
equals
(
orderGoods
.
getVehicleUsage
(),
VehicleUsageEnum
.
Status
.
OWN
.
getCode
())){
goodsOrderTruckRecordComponent
.
releaseDriverCard
(
orderChild
.
getOrderGoodsNo
(),
orderChild
.
getTruckNo
());
}
// 发送mq 卸车
// 发送mq 卸车
orderChildMqService
.
orderChildUnload
(
orderChild
.
getChildNo
());
orderChildMqService
.
orderChildUnload
(
orderChild
.
getChildNo
());
}
}
...
@@ -1150,8 +1155,8 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1150,8 +1155,8 @@ public class OrderChildServiceImpl implements OrderChildService {
// 返回吨数
// 返回吨数
updateOrderGoodsAmountReturn
(
orderChild
,
orderGoods
);
updateOrderGoodsAmountReturn
(
orderChild
,
orderGoods
);
//
取消定向
//
取消车辆绑定
updateOrderGoodsDirectCancel
(
orderGoodsTruckBind
);
updateOrderGoodsDirectCancel
(
orderGoods
,
orderGoods
TruckBind
);
orderChildDao
.
updateCancel
(
orderChild
);
orderChildDao
.
updateCancel
(
orderChild
);
...
@@ -1210,7 +1215,7 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1210,7 +1215,7 @@ public class OrderChildServiceImpl implements OrderChildService {
updateOrderGoodsAmountReturn
(
orderChild
,
orderGoods
);
updateOrderGoodsAmountReturn
(
orderChild
,
orderGoods
);
// 取消定向
// 取消定向
updateOrderGoodsDirectCancel
(
orderGoodsTruckBind
);
updateOrderGoodsDirectCancel
(
orderGoods
,
orderGoods
TruckBind
);
orderChildDao
.
updateCancel
(
orderChild
);
orderChildDao
.
updateCancel
(
orderChild
);
...
@@ -1447,11 +1452,13 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1447,11 +1452,13 @@ public class OrderChildServiceImpl implements OrderChildService {
/**
/**
* 更新定向单状态 (接单)
* 更新定向单状态 (接单)
*/
*/
private
void
updateOrderGoodsDirect
(
OrderGoodsTruckBind
orderGoodsTruckBind
)
{
private
void
updateOrderGoodsDirect
(
OrderGoods
orderGoods
,
OrderGoods
TruckBind
orderGoodsTruckBind
)
{
if
(
orderGoodsTruckBind
==
null
)
{
if
(
orderGoodsTruckBind
==
null
)
{
return
;
return
;
}
}
if
(
Objects
.
equals
(
orderGoods
.
getVehicleUsage
(),
VehicleUsageEnum
.
Status
.
OWN
.
getCode
())){
return
;
}
orderGoodsTruckBind
.
setStatus
(
OrderGoodsTruckBind
.
Status
.
ORDER
.
getCode
());
orderGoodsTruckBind
.
setStatus
(
OrderGoodsTruckBind
.
Status
.
ORDER
.
getCode
());
orderGoodsTruckBindDao
.
updateStatus
(
orderGoodsTruckBind
);
orderGoodsTruckBindDao
.
updateStatus
(
orderGoodsTruckBind
);
}
}
...
@@ -1459,7 +1466,11 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1459,7 +1466,11 @@ public class OrderChildServiceImpl implements OrderChildService {
/**
/**
* 更新定向派单状态 (拒绝)
* 更新定向派单状态 (拒绝)
*/
*/
private
void
updateOrderGoodsDirectReject
(
OrderGoodsTruckBind
orderGoodsTruckBind
)
{
private
void
updateOrderGoodsDirectReject
(
OrderGoods
orderGoods
,
OrderGoodsTruckBind
orderGoodsTruckBind
)
{
if
(
Objects
.
equals
(
orderGoods
.
getVehicleUsage
(),
VehicleUsageEnum
.
Status
.
OWN
.
getCode
())){
//定向平台车辆取消绑定,自由车辆状态绑定状态不变
return
;
}
orderGoodsTruckBind
.
setStatus
(
OrderGoodsTruckBind
.
Status
.
CANCEL
.
getCode
());
orderGoodsTruckBind
.
setStatus
(
OrderGoodsTruckBind
.
Status
.
CANCEL
.
getCode
());
orderGoodsTruckBindDao
.
updateStatus
(
orderGoodsTruckBind
);
orderGoodsTruckBindDao
.
updateStatus
(
orderGoodsTruckBind
);
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
orderGoodsTruckBind
.
getOrderGoodsNo
(),
orderGoodsTruckBind
.
getTruckNo
());
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
orderGoodsTruckBind
.
getOrderGoodsNo
(),
orderGoodsTruckBind
.
getTruckNo
());
...
@@ -1468,10 +1479,14 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1468,10 +1479,14 @@ public class OrderChildServiceImpl implements OrderChildService {
/**
/**
* 更新定向派单状态 (取消)
* 更新定向派单状态 (取消)
*/
*/
private
void
updateOrderGoodsDirectCancel
(
OrderGoodsTruckBind
orderGoodsTruckBind
)
{
private
void
updateOrderGoodsDirectCancel
(
OrderGoods
orderGoods
,
OrderGoods
TruckBind
orderGoodsTruckBind
)
{
if
(
orderGoodsTruckBind
==
null
)
{
if
(
orderGoodsTruckBind
==
null
)
{
return
;
return
;
}
}
if
(
Objects
.
equals
(
orderGoods
.
getVehicleUsage
(),
VehicleUsageEnum
.
Status
.
OWN
.
getCode
())){
//定向平台车辆取消绑定,自由车辆状态绑定状态不变
return
;
}
orderGoodsTruckBind
.
setStatus
(
OrderGoodsTruckBind
.
Status
.
CANCEL
.
getCode
());
orderGoodsTruckBind
.
setStatus
(
OrderGoodsTruckBind
.
Status
.
CANCEL
.
getCode
());
orderGoodsTruckBindDao
.
updateStatus
(
orderGoodsTruckBind
);
orderGoodsTruckBindDao
.
updateStatus
(
orderGoodsTruckBind
);
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderGoodsServiceImpl.java
浏览文件 @
657cf9f1
...
@@ -159,7 +159,9 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -159,7 +159,9 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
@Override
@Override
public
void
updateOrderGoodsReduceWeightAndStatus
(
OrderGoods
orderGoods
,
OrderChild
orderChild
,
Integer
orderGoodsStatus
)
{
public
void
updateOrderGoodsReduceWeightAndStatus
(
OrderGoods
orderGoods
,
OrderChild
orderChild
,
Integer
orderGoodsStatus
)
{
orderGoodsDao
.
updateOrderGoodsReduceWeightAndStatus
(
orderGoods
.
getId
(),
orderChild
.
getWeight
(),
orderGoodsStatus
);
orderGoodsDao
.
updateOrderGoodsReduceWeightAndStatus
(
orderGoods
.
getId
(),
orderChild
.
getWeight
(),
orderGoodsStatus
);
if
(
orderGoods
.
getResidueTransportWeight
().
compareTo
(
orderChild
.
getWeight
())
<=
0
)
{
//货单没有辆,并且货单用车非自有车
if
(
orderGoods
.
getResidueTransportWeight
().
compareTo
(
orderChild
.
getWeight
())
<=
0
&&
!
Objects
.
equals
(
orderGoods
.
getVehicleUsage
(),
VehicleUsageEnum
.
Status
.
OWN
.
getCode
()))
{
//释放其他车辆
//释放其他车辆
goodsOrderTruckRecordComponent
.
releaseDriverAndTruckBind
(
orderGoods
.
getOrderGoodsNo
(),
orderChild
.
getTruckNo
());
goodsOrderTruckRecordComponent
.
releaseDriverAndTruckBind
(
orderGoods
.
getOrderGoodsNo
(),
orderChild
.
getTruckNo
());
}
}
...
@@ -176,7 +178,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -176,7 +178,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
List
<
String
>
truckNoList
=
new
ArrayList
<>();
List
<
String
>
truckNoList
=
new
ArrayList
<>();
//查询当前用户是否是
货
主
//查询当前用户是否是
车
主
Long
driverUserNo
=
orderGoodsListParam
.
getDriverUserNo
();
Long
driverUserNo
=
orderGoodsListParam
.
getDriverUserNo
();
Result
<
List
<
String
>>
ownTruckByUserNo
=
userClxFeign
.
getOwnTruckByUserNo
(
driverUserNo
);
Result
<
List
<
String
>>
ownTruckByUserNo
=
userClxFeign
.
getOwnTruckByUserNo
(
driverUserNo
);
log
.
info
(
"通过用户编号:{} 查询本人车辆,查询结果:{}"
,
driverUserNo
,
JSON
.
toJSONString
(
ownTruckByUserNo
));
log
.
info
(
"通过用户编号:{} 查询本人车辆,查询结果:{}"
,
driverUserNo
,
JSON
.
toJSONString
(
ownTruckByUserNo
));
...
@@ -192,14 +194,13 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
...
@@ -192,14 +194,13 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
log
.
warn
(
"用户编号:{},查询车主车辆和作为司机的车辆全未查询到数据"
,
driverUserNo
);
log
.
warn
(
"用户编号:{},查询车主车辆和作为司机的车辆全未查询到数据"
,
driverUserNo
);
return
new
Page
<>();
return
new
Page
<>();
}
}
Optional
<
List
<
OrderGoodsTruckBind
>>
orderGoodsDriverTrucks
=
orderGoodsTruckBindDao
.
selectListByTruckNo
(
//自有车辆的货单接单之后还可以再次看到
List
<
String
>
orderGoodsNoList
=
orderGoodsTruckBindDao
.
selectListByTruckNo
(
truckNoList
);
truckNoList
);
if
(
!
orderGoodsDriverTrucks
.
isPresent
()
||
orderGoodsDriverTrucks
.
get
().
isEmpty
(
))
{
if
(
CollectionUtils
.
isEmpty
(
orderGoodsNoList
))
{
log
.
warn
(
"用户编号:{},无专属单"
,
driverUserNo
);
log
.
warn
(
"用户编号:{},无专属单"
,
driverUserNo
);
return
new
Page
<>();
return
new
Page
<>();
}
}
List
<
String
>
orderGoodsNoList
=
orderGoodsDriverTrucks
.
get
().
stream
().
map
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
).
collect
(
Collectors
.
toList
());
return
orderGoodsDao
.
exclusiveOrderPageGoodsList
(
orderGoodsListParam
,
orderGoodsNoList
);
return
orderGoodsDao
.
exclusiveOrderPageGoodsList
(
orderGoodsListParam
,
orderGoodsNoList
);
}
}
}
}
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OwnerAccountServiceImpl.java
浏览文件 @
657cf9f1
...
@@ -4,16 +4,21 @@ import cn.hutool.core.collection.CollectionUtil;
...
@@ -4,16 +4,21 @@ import cn.hutool.core.collection.CollectionUtil;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.json.JSONObject
;
import
cn.hutool.json.JSONObject
;
import
cn.hutool.json.JSONUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.message.feign.ClxMessageOpenapiFeign
;
import
com.clx.message.feign.ClxMessageOpenapiFeign
;
import
com.clx.message.req.message.AliSmsMessageReq
;
import
com.clx.message.req.message.AliSmsMessageReq
;
import
com.clx.order.param.mq.FreezeTriggerMqParam
;
import
com.clx.performance.common.MqWrapper
;
import
com.clx.performance.component.IdGenerateSnowFlake
;
import
com.clx.performance.component.IdGenerateSnowFlake
;
import
com.clx.performance.config.ClxMessageConfig
;
import
com.clx.performance.config.ClxMessageConfig
;
import
com.clx.performance.constant.RedisConstants
;
import
com.clx.performance.constant.RedisConstants
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.*
;
import
com.clx.performance.dao.*
;
import
com.clx.performance.enums.IdTypeEnum
;
import
com.clx.performance.enums.IdTypeEnum
;
import
com.clx.performance.enums.OwnerAccountEnum
;
import
com.clx.performance.enums.OwnerAccountEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.extranal.user.OwnerInfoService
;
import
com.clx.performance.model.*
;
import
com.clx.performance.model.*
;
import
com.clx.performance.param.app.CheckMobileParam
;
import
com.clx.performance.param.app.CheckMobileParam
;
import
com.clx.performance.param.app.InformationParam
;
import
com.clx.performance.param.app.InformationParam
;
...
@@ -37,6 +42,7 @@ import com.clx.performance.vo.pc.OwnerAccountAllVO;
...
@@ -37,6 +42,7 @@ import com.clx.performance.vo.pc.OwnerAccountAllVO;
import
com.clx.performance.vo.pc.OwnerAccountRunningWaterRecordVO
;
import
com.clx.performance.vo.pc.OwnerAccountRunningWaterRecordVO
;
import
com.clx.performance.vo.pc.OwnerAccountVO
;
import
com.clx.performance.vo.pc.OwnerAccountVO
;
import
com.clx.user.feign.OwnerFeign
;
import
com.clx.user.feign.OwnerFeign
;
import
com.clx.user.enums.owner.FreezeSettingEnum
;
import
com.clx.user.feign.OwnerInfoFeign
;
import
com.clx.user.feign.OwnerInfoFeign
;
import
com.clx.user.param.pc.owner.UpdateOwnerBindCardFeignParam
;
import
com.clx.user.param.pc.owner.UpdateOwnerBindCardFeignParam
;
import
com.clx.user.vo.feign.OwnerInfoFeignVO
;
import
com.clx.user.vo.feign.OwnerInfoFeignVO
;
...
@@ -52,6 +58,9 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -52,6 +58,9 @@ import lombok.extern.slf4j.Slf4j;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.RedisTemplate
;
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
;
...
@@ -62,6 +71,9 @@ import java.time.LocalDateTime;
...
@@ -62,6 +71,9 @@ import java.time.LocalDateTime;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.UUID
;
import
java.util.UUID
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
@Slf4j
@Slf4j
@Service
@Service
...
@@ -97,6 +109,10 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
...
@@ -97,6 +109,10 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
private
final
OwnerAccountPasswordDao
ownerAccountPasswordDao
;
private
final
OwnerAccountPasswordDao
ownerAccountPasswordDao
;
private
final
RabbitTemplate
rabbitTemplate
;
private
final
OwnerInfoService
ownerInfoService
;
@Override
@Override
public
IPage
<
OwnerAccountVO
>
pageList
(
PageOwnerAccountListParam
param
)
{
public
IPage
<
OwnerAccountVO
>
pageList
(
PageOwnerAccountListParam
param
)
{
return
ownerAccountDao
.
pageList
(
param
);
return
ownerAccountDao
.
pageList
(
param
);
...
@@ -353,8 +369,12 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
...
@@ -353,8 +369,12 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
//给对应账户增加金额
//给对应账户增加金额
BigDecimal
topUpBalance
=
ownerTopUp
.
getTopUpBalance
();
BigDecimal
topUpBalance
=
ownerTopUp
.
getTopUpBalance
();
LocalDateTime
now
=
LocalDateTime
.
now
();
LocalDateTime
now
=
LocalDateTime
.
now
();
Long
ownerUserNo
;
String
ownerUserName
;
while
(
true
)
{
while
(
true
)
{
OwnerAccount
account
=
ownerAccountDao
.
getAccountByOwnerUserNoAndAccountType
(
ownerTopUp
.
getOwnerUserNo
(),
param
.
getAccountType
());
OwnerAccount
account
=
ownerAccountDao
.
getAccountByOwnerUserNoAndAccountType
(
ownerTopUp
.
getOwnerUserNo
(),
param
.
getAccountType
());
ownerUserNo
=
account
.
getOwnerUserNo
();
ownerUserName
=
account
.
getOwnerUserName
();
OwnerAccount
update
=
new
OwnerAccount
();
OwnerAccount
update
=
new
OwnerAccount
();
update
.
setAccountBalance
(
topUpBalance
);
update
.
setAccountBalance
(
topUpBalance
);
update
.
setUsableBalance
(
topUpBalance
);
update
.
setUsableBalance
(
topUpBalance
);
...
@@ -387,8 +407,17 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
...
@@ -387,8 +407,17 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
break
;
break
;
}
}
}
}
OwnerInfoFeignVO
ownerInfo
=
ownerInfoService
.
getOwnerInfo
(
ownerUserNo
);
//充值成功并且当前货主是冻结方式是自动冻结,则触发自动冻结的mq监听
if
(
Objects
.
equals
(
ownerInfo
.
getFreezeSetting
(),
FreezeSettingEnum
.
AUTO
.
getCode
())){
log
.
info
(
"货主编码:{},货主姓名:{},充值成功金额:{},发送自动冻结的mq消息"
,
ownerUserNo
,
ownerUserName
,
topUpBalance
);
FreezeTriggerMqParam
mq
=
new
FreezeTriggerMqParam
();
mq
.
setUserNo
(
ownerUserNo
);
Message
message
=
MessageBuilder
.
withBody
(
JSON
.
toJSONString
(
new
MqWrapper
<>(
mq
)).
getBytes
()).
build
();
//设置延时5秒处理,防止事务未提交
message
.
getMessageProperties
().
setExpiration
(
"5000"
);
rabbitTemplate
.
send
(
RabbitKeyConstants
.
FREEZE_TRIGGER_EXCHANGE
,
RabbitKeyConstants
.
FREEZE_TRIGGER_ROUTING_KEY
,
message
);
}
}
}
}
}
...
...
performance-web/src/main/java/com/clx/performance/sqlProvider/OrderGoodsTruckBindSqlProvider.java
浏览文件 @
657cf9f1
package
com
.
clx
.
performance
.
sqlProvider
;
package
com
.
clx
.
performance
.
sqlProvider
;
import
com.clx.order.enums.VehicleUsageEnum
;
import
com.clx.performance.enums.OrderGoodsTruckBindEnum
;
import
com.clx.performance.enums.OrderGoodsTruckBindEnum
;
import
org.apache.ibatis.jdbc.SQL
;
import
org.apache.ibatis.jdbc.SQL
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
public
class
OrderGoodsTruckBindSqlProvider
{
public
class
OrderGoodsTruckBindSqlProvider
{
...
@@ -33,5 +35,14 @@ public class OrderGoodsTruckBindSqlProvider {
...
@@ -33,5 +35,14 @@ public class OrderGoodsTruckBindSqlProvider {
}}.
toString
();
}}.
toString
();
}
}
public
String
selectListByTruckNo
(
List
<
String
>
truckList
){
return
new
SQL
(){{
SELECT
(
" a.order_goods_no "
);
FROM
(
"order_goods_truck_bind a"
);
LEFT_OUTER_JOIN
(
"order_goods b on a.order_goods_no = b.order_goods_no"
);
WHERE
(
"a.truck_no IN ("
+
truckList
.
stream
().
map
(
code
->
"'"
+
code
+
"'"
).
collect
(
Collectors
.
joining
(
","
))+
")"
);
WHERE
(
"b.vehicle_usage = "
+
VehicleUsageEnum
.
Status
.
OWN
.
getCode
()
+
" or a.`status` ="
+
OrderGoodsTruckBindEnum
.
Status
.
NORMAL
.
getCode
());
}}.
toString
();
}
}
}
performance-web/src/main/java/com/clx/performance/strategy/GoodsOrderStrategy.java
浏览文件 @
657cf9f1
package
com
.
clx
.
performance
.
strategy
;
package
com
.
clx
.
performance
.
strategy
;
import
com.clx.order.enums.VehicleUsageEnum
;
import
com.clx.performance.param.pc.OrderGoodsChildParams
;
import
com.clx.performance.param.pc.OrderGoodsChildParams
;
import
com.clx.performance.param.pc.OrderGoodsParams
;
import
com.clx.performance.param.pc.OrderGoodsParams
;
import
com.clx.order.enums.OrderStopEnum
;
import
com.clx.order.enums.OrderStopEnum
;
...
@@ -12,15 +13,13 @@ import com.clx.performance.utils.SpringContextUtils;
...
@@ -12,15 +13,13 @@ import com.clx.performance.utils.SpringContextUtils;
import
com.msl.common.exception.ServiceSystemException
;
import
com.msl.common.exception.ServiceSystemException
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.core.MessageBuilder
;
import
org.springframework.amqp.core.MessageBuilder
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.HashSet
;
import
java.util.*
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@Slf4j
@Slf4j
...
@@ -48,7 +47,8 @@ public abstract class GoodsOrderStrategy {
...
@@ -48,7 +47,8 @@ public abstract class GoodsOrderStrategy {
List
<
OrderGoodsChildParams
>
orderGoodsChildParams
=
orderGoodsParams
.
getOrderGoodsChildParams
();
List
<
OrderGoodsChildParams
>
orderGoodsChildParams
=
orderGoodsParams
.
getOrderGoodsChildParams
();
Set
<
String
>
set
=
new
HashSet
<>();
Set
<
String
>
set
=
new
HashSet
<>();
for
(
OrderGoodsChildParams
item
:
orderGoodsChildParams
)
{
for
(
OrderGoodsChildParams
item
:
orderGoodsChildParams
)
{
if
(
CollectionUtils
.
isNotEmpty
(
item
.
getTruckList
()))
{
//定向车自由车辆不做拦截操作
if
(!
StringUtils
.
equals
(
item
.
getVehicleUsage
(),
String
.
valueOf
(
VehicleUsageEnum
.
Status
.
OWN
.
getCode
()))
&&
CollectionUtils
.
isNotEmpty
(
item
.
getTruckList
()))
{
int
lastSize
=
set
.
size
()
+
item
.
getTruckList
().
size
();
int
lastSize
=
set
.
size
()
+
item
.
getTruckList
().
size
();
set
.
addAll
(
item
.
getTruckList
());
set
.
addAll
(
item
.
getTruckList
());
if
(!
Objects
.
equals
(
lastSize
,
set
.
size
()))
{
if
(!
Objects
.
equals
(
lastSize
,
set
.
size
()))
{
...
@@ -63,8 +63,7 @@ public abstract class GoodsOrderStrategy {
...
@@ -63,8 +63,7 @@ public abstract class GoodsOrderStrategy {
if
(
CollectionUtils
.
isNotEmpty
(
binds
))
{
if
(
CollectionUtils
.
isNotEmpty
(
binds
))
{
List
<
String
>
repeatBind
=
binds
.
stream
().
map
(
OrderGoodsTruckBind:
:
getTruckNo
).
collect
(
Collectors
.
toList
());
List
<
String
>
repeatBind
=
binds
.
stream
().
map
(
OrderGoodsTruckBind:
:
getTruckNo
).
collect
(
Collectors
.
toList
());
String
trucks
=
String
.
join
(
", "
,
repeatBind
);
String
trucks
=
String
.
join
(
", "
,
repeatBind
);
throw
new
ServiceSystemException
(
ResultEnum
.
DATA_ERROR
,
"已被定向单绑定车辆:"
+
trucks
);
throw
new
ServiceSystemException
(
ResultEnum
.
DATA_ERROR
,
"已被定向单绑定车辆:"
+
trucks
);
}
}
}
}
//根据不同的订单类型创建不同的货单
//根据不同的订单类型创建不同的货单
LocalDateTime
sendLazyTime
=
goodsOrderProcess
(
orderGoodsParams
,
orderInfo
,
now
);
LocalDateTime
sendLazyTime
=
goodsOrderProcess
(
orderGoodsParams
,
orderInfo
,
now
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论