Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
6f912c60
提交
6f912c60
authored
8月 15, 2024
作者:
jiangwujie
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'v21.1_jianzhuang_20240807' into test
# Conflicts: # performance-web/src/main/java/com/clx/performance/constant/RedisConstants.java
上级
11ad7a47
4063a07b
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
59 行增加
和
43 行删除
+59
-43
RedisConstants.java
...ain/java/com/clx/performance/constant/RedisConstants.java
+9
-0
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+22
-7
OrderChildSqlProvider.java
...om/clx/performance/sqlProvider/OrderChildSqlProvider.java
+28
-36
没有找到文件。
performance-web/src/main/java/com/clx/performance/constant/RedisConstants.java
浏览文件 @
6f912c60
...
@@ -48,4 +48,13 @@ public class RedisConstants {
...
@@ -48,4 +48,13 @@ public class RedisConstants {
*/
*/
public
static
final
String
ORDER_LAST_TRUCK_CHILD
=
"clx-performance:order:last:truck:child:"
;
public
static
final
String
ORDER_LAST_TRUCK_CHILD
=
"clx-performance:order:last:truck:child:"
;
/**
* 电子围栏短信通知 未装车
*/
public
static
final
String
NOTICE_MESSAGE_LIMIT_UNLOAD
=
"clx-performance:notice_message_limit_unload:"
;
/**
* 电子围栏短信通知 未监装
*/
public
static
final
String
NOTICE_MESSAGE_LIMIT_UNSUPERVISED
=
"clx-performance:notice_message_limit_unsupervised:"
;
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
6f912c60
...
@@ -1789,7 +1789,6 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1789,7 +1789,6 @@ public class OrderChildServiceImpl implements OrderChildService {
}
}
/**
/**
* todo 要改成两个
* 获取监装
* 获取监装
* @param orderNo
* @param orderNo
* @param childNo
* @param childNo
...
@@ -1815,7 +1814,6 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1815,7 +1814,6 @@ public class OrderChildServiceImpl implements OrderChildService {
if
(
Objects
.
isNull
(
supervisionLoadInfo
))
{
//有监装信息
if
(
Objects
.
isNull
(
supervisionLoadInfo
))
{
//有监装信息
return
null
;
return
null
;
}
}
//通过运单号查询监装监卸子任务状态
return
new
SuperviseInfo
(
supervisionLoadInfo
.
getTaskContracts
(),
supervisionLoadInfo
.
getTaskMobile
(),
supervisionLoadInfo
.
getTaskAddress
());
return
new
SuperviseInfo
(
supervisionLoadInfo
.
getTaskContracts
(),
supervisionLoadInfo
.
getTaskMobile
(),
supervisionLoadInfo
.
getTaskAddress
());
}
}
...
@@ -1825,7 +1823,7 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1825,7 +1823,7 @@ public class OrderChildServiceImpl implements OrderChildService {
* @param childNo
* @param childNo
* @return
* @return
*/
*/
private
SuperviseInfo
getSuperviseInfoWithSubStatus
(
String
orderNo
,
String
childNo
)
{
private
SuperviseInfo
getSuperviseInfoWithSubStatus
(
String
orderNo
,
String
childNo
,
String
truckNo
)
{
NeedAlertSuperviseInfoResultVO
result
=
new
NeedAlertSuperviseInfoResultVO
();
NeedAlertSuperviseInfoResultVO
result
=
new
NeedAlertSuperviseInfoResultVO
();
App
app
=
appConfig
.
getPurchaseManageApp
();
//对接马上来供应链配置信息
App
app
=
appConfig
.
getPurchaseManageApp
();
//对接马上来供应链配置信息
//组装配置信息
//组装配置信息
...
@@ -1853,10 +1851,15 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -1853,10 +1851,15 @@ public class OrderChildServiceImpl implements OrderChildService {
if
(!
supervisionLoadTruckInfoDto
.
succeed
())
{
//接口调用失败
if
(!
supervisionLoadTruckInfoDto
.
succeed
())
{
//接口调用失败
return
null
;
return
null
;
}
}
//监装子任务状态
SupervisionLoadTruckInfoDto
supervisionLoadTruckInfo
=
supervisionLoadTruckInfoDto
.
getData
();
SupervisionLoadTruckInfoDto
supervisionLoadTruckInfo
=
supervisionLoadTruckInfoDto
.
getData
();
if
(
Objects
.
isNull
(
supervisionLoadTruckInfo
)
||
!
supervisionLoadTruckInfo
.
getLoadStatus
())
{
if
(
Objects
.
isNull
(
supervisionLoadTruckInfo
)
||
!
supervisionLoadTruckInfo
.
getLoadStatus
())
{
return
null
;
return
null
;
}
}
//判断当前卡车是否是监装车辆
if
(!
Objects
.
equals
(
truckNo
,
supervisionLoadTruckInfo
.
getTruckNo
()))
{
return
null
;
}
return
new
SuperviseInfo
(
supervisionLoadInfo
.
getTaskContracts
(),
supervisionLoadInfo
.
getTaskMobile
(),
supervisionLoadInfo
.
getTaskAddress
());
return
new
SuperviseInfo
(
supervisionLoadInfo
.
getTaskContracts
(),
supervisionLoadInfo
.
getTaskMobile
(),
supervisionLoadInfo
.
getTaskAddress
());
}
}
...
@@ -3287,8 +3290,8 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -3287,8 +3290,8 @@ public class OrderChildServiceImpl implements OrderChildService {
truckLatitudeY
=
truckTraceDTO
.
getLocation
()[
1
];
truckLatitudeY
=
truckTraceDTO
.
getLocation
()[
1
];
}
}
if
(
truckLongitudeX
==
null
||
truckLatitudeY
==
null
)
{
if
(
truckLongitudeX
==
null
||
truckLatitudeY
==
null
)
{
BigDecimal
[]
location
=
truckTraceService
.
get
TruckCurrentPosition
(
truck
No
);
BigDecimal
[]
location
=
truckTraceService
.
get
CurrentPosition
(
truckNo
,
driverUser
No
);
log
.
info
(
"运单号:{},卡车:{},卡车经纬度:{}"
,
childNo
,
truckNo
,
location
);
log
.
info
(
"运单号:{},卡车:{},卡车
/司机
经纬度:{}"
,
childNo
,
truckNo
,
location
);
if
(
location
!=
null
&&
location
.
length
>=
2
)
{
if
(
location
!=
null
&&
location
.
length
>=
2
)
{
truckLongitudeX
=
location
[
0
];
truckLongitudeX
=
location
[
0
];
truckLatitudeY
=
location
[
1
];
truckLatitudeY
=
location
[
1
];
...
@@ -3300,10 +3303,10 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -3300,10 +3303,10 @@ public class OrderChildServiceImpl implements OrderChildService {
BigDecimal
siteLongitudeX
=
orderGoods
.
getSendLongitude
();
BigDecimal
siteLongitudeX
=
orderGoods
.
getSendLongitude
();
BigDecimal
siteLatitudeY
=
orderGoods
.
getSendLatitude
();
BigDecimal
siteLatitudeY
=
orderGoods
.
getSendLatitude
();
log
.
info
(
"运单号:{},卡车:{},status:{},站点经度:{},站点纬度:{},卡车经度:{},卡车纬度:{}"
,
childNo
,
truckNo
,
child
.
getStatus
(),
siteLongitudeX
,
siteLatitudeY
,
truckLongitudeX
,
truckLatitudeY
);
log
.
info
(
"运单号:{},卡车:{},status:{},站点经度:{},站点纬度:{},卡车经度:{},卡车纬度:{}"
,
childNo
,
truckNo
,
child
.
getStatus
(),
siteLongitudeX
,
siteLatitudeY
,
truckLongitudeX
,
truckLatitudeY
);
//调高德获取距离
if
(
Objects
.
isNull
(
truckLongitudeX
)
||
Objects
.
isNull
(
truckLatitudeY
))
{
if
(
Objects
.
isNull
(
truckLongitudeX
)
||
Objects
.
isNull
(
truckLatitudeY
))
{
continue
;
continue
;
}
}
//调高德获取距离
Integer
distance
=
getGdRoute
(
truckNo
,
truckLongitudeX
,
truckLatitudeY
,
siteLongitudeX
,
Integer
distance
=
getGdRoute
(
truckNo
,
truckLongitudeX
,
truckLatitudeY
,
siteLongitudeX
,
siteLatitudeY
);
siteLatitudeY
);
if
(
distance
==
null
)
{
if
(
distance
==
null
)
{
...
@@ -3319,16 +3322,28 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -3319,16 +3322,28 @@ public class OrderChildServiceImpl implements OrderChildService {
//超出货源地x公里范围了,且通知状态为未通知
//超出货源地x公里范围了,且通知状态为未通知
// 到达货源地
// 到达货源地
if
(
Objects
.
equals
(
child
.
getStatus
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
()))
{
if
(
Objects
.
equals
(
child
.
getStatus
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
()))
{
Integer
count
=
(
Integer
)
redisTemplate
.
opsForValue
().
get
(
RedisConstants
.
NOTICE_MESSAGE_LIMIT_UNLOAD
+
childNo
);
if
(
count
!=
null
&&
count
>
3
)
{
log
.
info
(
"{}超出货源地x公里范围了,运单{}为到达货源地状态,运单已发送短信次数:{},不进行短信通知"
,
truckNo
,
childNo
,
count
);
continue
;
}
log
.
info
(
"{}超出货源地x公里范围了,运单{}为到达货源地状态,发送短信"
,
truckNo
,
childNo
);
log
.
info
(
"{}超出货源地x公里范围了,运单{}为到达货源地状态,发送短信"
,
truckNo
,
childNo
);
sendLoadSms
(
child
.
getDriverMobile
(),
child
.
getTruckNo
(),
child
.
getChildNo
());
sendLoadSms
(
child
.
getDriverMobile
(),
child
.
getTruckNo
(),
child
.
getChildNo
());
redisTemplate
.
opsForValue
().
increment
(
RedisConstants
.
NOTICE_MESSAGE_LIMIT_UNLOAD
+
childNo
);
}
}
// 已装货
// 已装货
if
(
Objects
.
equals
(
child
.
getStatus
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
()))
{
if
(
Objects
.
equals
(
child
.
getStatus
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
()))
{
SuperviseInfo
superviseInfo
=
getSuperviseInfoWithSubStatus
(
child
.
getOrderNo
(),
child
.
getChildNo
());
SuperviseInfo
superviseInfo
=
getSuperviseInfoWithSubStatus
(
child
.
getOrderNo
(),
child
.
getChildNo
()
,
child
.
getTruckNo
()
);
log
.
info
(
"运单号:{},卡车:{},监装信息{}"
,
childNo
,
truckNo
,
superviseInfo
);
log
.
info
(
"运单号:{},卡车:{},监装信息{}"
,
childNo
,
truckNo
,
superviseInfo
);
if
(
superviseInfo
!=
null
)
{
if
(
superviseInfo
!=
null
)
{
Integer
count
=
(
Integer
)
redisTemplate
.
opsForValue
().
get
(
RedisConstants
.
NOTICE_MESSAGE_LIMIT_UNSUPERVISED
+
childNo
);
if
(
count
!=
null
&&
count
>
3
)
{
log
.
info
(
"{}超出货源地x公里范围了,运单{}为装货成功状态,运单已发送短信次数:{},不进行短信通知"
,
truckNo
,
childNo
,
count
);
continue
;
}
log
.
info
(
"{}超出货源地x公里范围了,运单{}为装货成功状态,发送短信"
,
truckNo
,
childNo
);
log
.
info
(
"{}超出货源地x公里范围了,运单{}为装货成功状态,发送短信"
,
truckNo
,
childNo
);
sendSupervisionSms
(
child
.
getDriverMobile
(),
child
.
getTruckNo
(),
child
.
getChildNo
(),
superviseInfo
.
getTaskAddress
());
sendSupervisionSms
(
child
.
getDriverMobile
(),
child
.
getTruckNo
(),
child
.
getChildNo
(),
superviseInfo
.
getTaskAddress
());
redisTemplate
.
opsForValue
().
increment
(
RedisConstants
.
NOTICE_MESSAGE_LIMIT_UNSUPERVISED
+
childNo
);
}
}
}
}
// 修改 通知状态 为已通知
// 修改 通知状态 为已通知
...
...
performance-web/src/main/java/com/clx/performance/sqlProvider/OrderChildSqlProvider.java
浏览文件 @
6f912c60
...
@@ -16,8 +16,6 @@ import org.apache.ibatis.annotations.Param;
...
@@ -16,8 +16,6 @@ import org.apache.ibatis.annotations.Param;
import
org.apache.ibatis.jdbc.SQL
;
import
org.apache.ibatis.jdbc.SQL
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Objects
;
import
java.util.StringJoiner
;
import
java.util.StringJoiner
;
...
@@ -181,40 +179,34 @@ public class OrderChildSqlProvider {
...
@@ -181,40 +179,34 @@ public class OrderChildSqlProvider {
return
sql
;
return
sql
;
}
}
public
String
findArtificialCancelOrder
(
@Param
(
"param"
)
ArtificialCancelOrderQueryParam
param
)
{
public
String
findArtificialCancelOrder
(
ArtificialCancelOrderQueryParam
param
)
{
//todo jiangwujie 改成 new SQL()形式
return
new
SQL
()
{{
StringBuilder
sql
=
new
StringBuilder
();
SELECT
(
"child_no, goods_name, freight_price, order_no, "
+
sql
.
append
(
"SELECT child_no, goods_name, freight_price, order_no, "
);
"send_address, receive_address, "
+
sql
.
append
(
"send_address, receive_address, "
);
"driver_user_no, driver_name, driver_mobile, "
+
sql
.
append
(
"driver_user_no, driver_name, driver_mobile, "
);
"truck_no, unload_pound_no, weight, "
+
sql
.
append
(
"truck_no, unload_pound_no, weight, "
);
"cancel_remark, pound_status, status, "
+
sql
.
append
(
"cancel_remark, pound_status, status, "
);
"DATE_FORMAT(load_deadline, '%Y-%m-%d %H:%i:%s') AS loadDeadline, "
+
sql
.
append
(
"DATE_FORMAT(load_deadline, '%Y-%m-%d %H:%i:%s') AS loadDeadline, "
);
"DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') AS createTime, "
+
sql
.
append
(
"DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') AS createTime, "
);
"DATE_FORMAT(unload_time, '%Y-%m-%d %H:%i:%s') AS unloadTime "
);
sql
.
append
(
"DATE_FORMAT(unload_time, '%Y-%m-%d %H:%i:%s') AS unloadTime "
);
FROM
(
"order_child "
);
sql
.
append
(
"FROM order_child "
);
if
(
StringUtils
.
isNotBlank
(
param
.
getOrderChildNo
()))
{
sql
.
append
(
"WHERE 1=1 "
);
WHERE
(
"child_no = #{param.orderChildNo,jdbcType=VARCHAR}"
);
}
List
<
String
>
conditions
=
new
ArrayList
<>();
if
(
StringUtils
.
isNotBlank
(
param
.
getTruckNo
()))
{
if
(
StringUtils
.
isNotBlank
(
param
.
getOrderChildNo
()))
{
WHERE
(
"truck_no = #{param.truckNo,jdbcType=VARCHAR}"
);
conditions
.
add
(
"child_no = #{param.orderChildNo}"
);
}
}
//支付状态 可以忽略
if
(
StringUtils
.
isNotBlank
(
param
.
getTruckNo
()))
{
WHERE
(
"status >="
+
OrderChildEnum
.
Status
.
CREATED
.
getCode
());
conditions
.
add
(
"truck_no = #{param.truckNo}"
);
WHERE
(
"status <="
+
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
());
}
}}.
toString
();
//todo :jiangwujie 支付状态 可以忽略 ,还是使用<= >=
}
List
<
Integer
>
statuses
=
Arrays
.
asList
(
OrderChildEnum
.
Status
.
CREATED
.
getCode
(),
public
static
void
main
(
String
[]
args
)
{
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
(),
ArtificialCancelOrderQueryParam
param
=
new
ArtificialCancelOrderQueryParam
();
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
(),
param
.
setTruckNo
(
"A123456"
);
OrderChildEnum
.
Status
.
LOAD
.
getCode
(),
param
.
setOrderChildNo
(
"CYD1234567890"
);
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
(),
System
.
out
.
println
(
new
OrderChildSqlProvider
().
findArtificialCancelOrder
(
param
));
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
()
);
conditions
.
add
(
"status IN ("
+
StringUtils
.
join
(
statuses
,
", "
)
+
")"
);
sql
.
append
(
"AND "
);
sql
.
append
(
StringUtils
.
join
(
conditions
,
" AND "
));
return
sql
.
toString
();
}
}
public
String
orderChildCancelRecord
(
@Param
(
"page"
)
Page
<
OrderChildVO
>
page
,
@Param
(
"param"
)
OrderChildCancelRecordParam
param
)
{
public
String
orderChildCancelRecord
(
@Param
(
"page"
)
Page
<
OrderChildVO
>
page
,
@Param
(
"param"
)
OrderChildCancelRecordParam
param
)
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论