Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
605706a4
提交
605706a4
authored
8月 15, 2024
作者:
jiangwujie
浏览文件
操作
浏览文件
下载
差异文件
merge into release
上级
03f976dc
093eb710
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
67 个修改的文件
包含
2120 行增加
和
62 行删除
+2120
-62
yundan_renzheng.http
http/yundan_renzheng.http
+0
-15
pom.xml
performance-api/pom.xml
+1
-1
AppEnum.java
...-api/src/main/java/com/clx/performance/enums/AppEnum.java
+36
-0
EnabledStatusEnum.java
...ain/java/com/clx/performance/enums/EnabledStatusEnum.java
+28
-0
OrderChildEnum.java
...c/main/java/com/clx/performance/enums/OrderChildEnum.java
+109
-0
PerformanceResultEnum.java
...java/com/clx/performance/enums/PerformanceResultEnum.java
+24
-0
NeedAlertSuperviseInfoParam.java
...lx/performance/param/app/NeedAlertSuperviseInfoParam.java
+26
-0
OrderChildLoadRangeCheckParam.java
.../performance/param/app/OrderChildLoadRangeCheckParam.java
+30
-0
ArtificialCancelOrderQueryParam.java
...performance/param/pc/ArtificialCancelOrderQueryParam.java
+23
-0
SaveDriverNoticeConfigParam.java
...clx/performance/param/pc/SaveDriverNoticeConfigParam.java
+28
-0
SaveOrderChildOperateLimitConfigParam.java
...mance/param/pc/SaveOrderChildOperateLimitConfigParam.java
+25
-0
NeedAlertSuperviseInfoResultVO.java
...lx/performance/vo/app/NeedAlertSuperviseInfoResultVO.java
+26
-0
OrderChildLoadRangeCheckResultVO.java
.../performance/vo/app/OrderChildLoadRangeCheckResultVO.java
+47
-0
OrderChildVO.java
...rc/main/java/com/clx/performance/vo/app/OrderChildVO.java
+30
-0
DriverNoticeConfigVO.java
.../java/com/clx/performance/vo/pc/DriverNoticeConfigVO.java
+35
-0
OrderChildOperateLimitConfigVO.java
...clx/performance/vo/pc/OrderChildOperateLimitConfigVO.java
+34
-0
OrderChildOperateRecordVO.java
.../com/clx/performance/vo/pc/OrderChildOperateRecordVO.java
+55
-0
pom.xml
performance-web/pom.xml
+10
-0
ClxMessageConfig.java
...ain/java/com/clx/performance/config/ClxMessageConfig.java
+8
-0
LoadAppConfig.java
...c/main/java/com/clx/performance/config/LoadAppConfig.java
+32
-0
RedisConstants.java
...ain/java/com/clx/performance/constant/RedisConstants.java
+9
-0
AppDriverOrderChildController.java
...ormance/controller/app/AppDriverOrderChildController.java
+16
-0
DriverNoticeConfigController.java
...rformance/controller/pc/DriverNoticeConfigController.java
+68
-0
OrderCancelController.java
.../clx/performance/controller/pc/OrderCancelController.java
+18
-9
OrderChildOperateLimitConfigController.java
...controller/pc/OrderChildOperateLimitConfigController.java
+70
-0
TempTraceController.java
.../clx/performance/controller/temp/TempTraceController.java
+14
-0
AppDao.java
...nce-web/src/main/java/com/clx/performance/dao/AppDao.java
+11
-0
DriverNoticeConfigDao.java
...n/java/com/clx/performance/dao/DriverNoticeConfigDao.java
+18
-0
OrderChildDao.java
.../src/main/java/com/clx/performance/dao/OrderChildDao.java
+1
-1
OrderChildOperateLimitConfigDao.java
.../clx/performance/dao/OrderChildOperateLimitConfigDao.java
+18
-0
OrderChildOperateRecordDao.java
...a/com/clx/performance/dao/OrderChildOperateRecordDao.java
+18
-0
DriverNoticeConfigDaoImpl.java
...m/clx/performance/dao/impl/DriverNoticeConfigDaoImpl.java
+39
-0
OrderChildDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
+2
-2
OrderChildOperateLimitConfigDaoImpl.java
...ormance/dao/impl/OrderChildOperateLimitConfigDaoImpl.java
+40
-0
OrderChildOperateRecordDaoImpl.java
.../performance/dao/impl/OrderChildOperateRecordDaoImpl.java
+26
-0
OrderChildMessageNoticeJob.java
...a/com/clx/performance/job/OrderChildMessageNoticeJob.java
+39
-0
AppMapper.java
...b/src/main/java/com/clx/performance/mapper/AppMapper.java
+9
-0
DriverNoticeConfigMapper.java
.../com/clx/performance/mapper/DriverNoticeConfigMapper.java
+12
-0
OrderChildMapper.java
...ain/java/com/clx/performance/mapper/OrderChildMapper.java
+2
-5
OrderChildOperateLimitConfigMapper.java
...erformance/mapper/OrderChildOperateLimitConfigMapper.java
+12
-0
OrderChildOperateRecordMapper.java
...clx/performance/mapper/OrderChildOperateRecordMapper.java
+23
-0
App.java
...ance-web/src/main/java/com/clx/performance/model/App.java
+64
-0
DriverNoticeConfig.java
...in/java/com/clx/performance/model/DriverNoticeConfig.java
+56
-0
OrderChild.java
...b/src/main/java/com/clx/performance/model/OrderChild.java
+13
-0
OrderChildOperateLimitConfig.java
...m/clx/performance/model/OrderChildOperateLimitConfig.java
+56
-0
OrderChildOperateRecord.java
...va/com/clx/performance/model/OrderChildOperateRecord.java
+87
-0
DriverNoticeConfigService.java
...om/clx/performance/service/DriverNoticeConfigService.java
+21
-0
OrderCancelService.java
.../java/com/clx/performance/service/OrderCancelService.java
+17
-4
OrderChildOperateLimitConfigService.java
...formance/service/OrderChildOperateLimitConfigService.java
+21
-0
OrderChildOperateRecordService.java
...x/performance/service/OrderChildOperateRecordService.java
+9
-0
OrderChildService.java
...n/java/com/clx/performance/service/OrderChildService.java
+6
-0
DriverNoticeConfigServiceImpl.java
...rformance/service/impl/DriverNoticeConfigServiceImpl.java
+55
-0
OrderCancelServiceImpl.java
.../clx/performance/service/impl/OrderCancelServiceImpl.java
+82
-2
OrderChildOperateLimitConfigServiceImpl.java
...service/impl/OrderChildOperateLimitConfigServiceImpl.java
+55
-0
OrderChildOperateRecordServiceImpl.java
...ance/service/impl/OrderChildOperateRecordServiceImpl.java
+13
-0
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+0
-0
TruckTraceServiceImpl.java
...performance/service/impl/trace/TruckTraceServiceImpl.java
+35
-0
TruckTraceService.java
.../com/clx/performance/service/trace/TruckTraceService.java
+4
-0
OrderChildOperateRecordSqlProvider.java
...mance/sqlProvider/OrderChildOperateRecordSqlProvider.java
+30
-0
OrderChildSqlProvider.java
...om/clx/performance/sqlProvider/OrderChildSqlProvider.java
+29
-19
DriverNoticeConfigStruct.java
.../com/clx/performance/struct/DriverNoticeConfigStruct.java
+12
-0
OrderChildOperateLimitConfigStruct.java
...erformance/struct/OrderChildOperateLimitConfigStruct.java
+12
-0
GdService.java
...src/main/java/com/clx/performance/utils/gd/GdService.java
+22
-4
OrderChildServiceImpl2Test.java
.../performance/service/impl/OrderChildServiceImpl2Test.java
+0
-0
OrderChildServiceImpl3Test.java
.../performance/service/impl/OrderChildServiceImpl3Test.java
+143
-0
OrderChildServiceImplTest.java
...x/performance/service/impl/OrderChildServiceImplTest.java
+133
-0
OrderChildSqlProviderTest.java
...lx/performance/sqlProvider/OrderChildSqlProviderTest.java
+73
-0
没有找到文件。
http/yundan_renzheng.http
deleted
100644 → 0
浏览文件 @
03f976dc
###
GET http://localhost:8081/clx-performance/app/goodsOrder/getOrderGoodsInfo?orderGoodsNo=GK2024073100004
###
GET http://localhost:8081/clx-performance/app/driver/orderChild/getOrderChildInfo?childNo=CYD2024073113994137
productchannel:android_app
imei:22965e13c2e1233cdbc682a56484e2b5e
product-code:carrier-driver-app
content-type:application/json;charset=UTF-8
versioncode:9
platform:1
token:da38733eb052496fb7b4991bf643c626
producttype:carrier-driver-app
versionname:1.0.8
\ No newline at end of file
performance-api/pom.xml
浏览文件 @
605706a4
...
...
@@ -6,7 +6,7 @@
<groupId>
com.clx.cy
</groupId>
<artifactId>
performance-api
</artifactId>
<version>
0.0.1-SNAPSHOT
</version>
<version>
${clx-performance-api.version}
</version>
<name>
performance-api
</name>
<parent>
...
...
performance-api/src/main/java/com/clx/performance/enums/AppEnum.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.concurrent.ConcurrentHashMap
;
public
enum
AppEnum
{
;
@Getter
@AllArgsConstructor
public
enum
UniqueIdentifier
{
SMART_WEIGHT
(
1
,
"场站-smart-weight"
),
PURCHASE_MANAGE
(
2
,
"供应链-purchase-manage"
),
;
private
final
Integer
code
;
private
final
String
name
;
public
static
Optional
<
UniqueIdentifier
>
getByCode
(
Integer
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
.
equals
(
code
)).
findFirst
();
}
public
static
String
getMsgByCode
(
int
code
)
{
return
getByCode
(
code
).
map
(
UniqueIdentifier:
:
getName
).
orElse
(
null
);
}
}
}
performance-api/src/main/java/com/clx/performance/enums/EnabledStatusEnum.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.util.Arrays
;
import
java.util.Objects
;
import
java.util.Optional
;
@Getter
@AllArgsConstructor
public
enum
EnabledStatusEnum
{
ENABLE
(
1
,
"启用"
),
DISABLE
(
0
,
"禁用"
),
;
private
final
Integer
code
;
private
final
String
msg
;
public
static
Optional
<
EnabledStatusEnum
>
getByCode
(
Integer
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
Objects
.
equals
(
e
.
code
,
code
)).
findFirst
();
}
public
static
String
getMsgByCode
(
Integer
code
)
{
return
getByCode
(
code
).
map
(
EnabledStatusEnum:
:
getMsg
).
orElse
(
null
);
}
}
\ No newline at end of file
performance-api/src/main/java/com/clx/performance/enums/OrderChildEnum.java
浏览文件 @
605706a4
...
...
@@ -185,4 +185,113 @@ public enum OrderChildEnum {
}
}
@Getter
@AllArgsConstructor
public
enum
OperateRecordType
{
CANCEL_ORDER
(
1
,
"取消订单"
),
REMOVE_LIMIT
(
2
,
"解除装车限制"
),
;
private
final
int
code
;
private
final
String
msg
;
public
static
Optional
<
OperateRecordType
>
getByCode
(
int
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
==
code
).
findFirst
();
}
public
static
String
getMsgByCode
(
int
code
)
{
return
getByCode
(
code
).
map
(
OperateRecordType:
:
getMsg
).
orElse
(
null
);
}
}
/**
* 驶入驶离货源地状态
*/
@Getter
@AllArgsConstructor
public
enum
EnterExitSendStatus
{
INIT
(
0
,
"到达货源地"
),
DRIVE_IN
(
1
,
"驶入"
),
DRIVE_OUT
(
2
,
"驶离"
);
private
final
Integer
code
;
private
final
String
name
;
public
static
Optional
<
EnterExitSendStatus
>
getByCode
(
Integer
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
.
equals
(
code
)).
findFirst
();
}
public
static
String
getMsgByCode
(
int
code
)
{
return
getByCode
(
code
).
map
(
EnterExitSendStatus:
:
getName
).
orElse
(
null
);
}
}
/**
* 驶离通知状态
*/
@Getter
@AllArgsConstructor
public
enum
ExitNoticeStatus
{
NOT_NOTIFIED
(
0
,
"未通知"
),
NOTIFIED
(
1
,
"已通知"
);
private
final
Integer
code
;
private
final
String
name
;
public
static
Optional
<
ExitNoticeStatus
>
getByCode
(
Integer
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
.
equals
(
code
)).
findFirst
();
}
public
static
String
getMsgByCode
(
int
code
)
{
return
getByCode
(
code
).
map
(
ExitNoticeStatus:
:
getName
).
orElse
(
null
);
}
}
/**
* 驶入驶离货源地状态
*/
@Getter
@AllArgsConstructor
public
enum
RemoveLoadLimitStatus
{
NOT_REMOVED
(
0
,
"未解除"
),
REMOVED
(
1
,
"已解除"
),
;
private
final
Integer
code
;
private
final
String
name
;
public
static
Optional
<
RemoveLoadLimitStatus
>
getByCode
(
Integer
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
.
equals
(
code
)).
findFirst
();
}
public
static
String
getMsgByCode
(
int
code
)
{
return
getByCode
(
code
).
map
(
RemoveLoadLimitStatus:
:
getName
).
orElse
(
null
);
}
}
@Getter
@AllArgsConstructor
public
enum
NeedAlertEnum
{
OK
(
0
,
"不用弹窗"
),
FAIL
(
1
,
"需要弹"
);
private
final
int
code
;
private
final
String
msg
;
}
@Getter
@AllArgsConstructor
public
enum
SuperviseTypeEnum
{
SUPERVISE_LOAD
(
1
,
"监装"
),
SUPERVISE_UNLOAD
(
2
,
"监卸"
);
private
final
int
code
;
private
final
String
msg
;
}
}
performance-api/src/main/java/com/clx/performance/enums/PerformanceResultEnum.java
浏览文件 @
605706a4
...
...
@@ -4,6 +4,9 @@ import com.msl.common.enums.ResultEnum;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.util.Arrays
;
import
java.util.Optional
;
@Getter
@AllArgsConstructor
...
...
@@ -183,7 +186,28 @@ public enum PerformanceResultEnum implements ResultEnum {
UNLOAD_TIME_BEFORE_ARRIVE_RECEIVE_TIME
(
2106
,
"交货时间不可早于到达目的地时间"
),
UNLOAD_TIME_AFTER_NOW
(
2107
,
"交货时间不可晚于当前时间"
),
UNLOAD_TIME_AFTER_FIRST_UNLOAD_TIME
(
2108
,
"交货时间不可晚于首次提交时间"
),
/**
* 运单装车限制配置
*/
ORDER_CHILD_LOAD_LIMIT_CONFIG_ERROR
(
2201
,
"运单装车限制配置错误"
),
TRUCK_LOCATION_OUT_OF_SEND_RANGE
(
2202
,
"请在货源地%.2f公里范围内上传装车信息"
),
ORDER_CHILD_LOAD_LIMIT_CONFIG_DISABLED
(
2203
,
"运单装车限制配置禁用"
),
GAODE_DISTANCE_ERROR
(
2204
,
"调用高德获取货源地距离失败"
),
TRUCK_LOCATION_ERROR
(
2205
,
"获取卡车位置失败"
),
;
private
final
int
code
;
private
final
String
msg
;
public
static
Optional
<
PerformanceResultEnum
>
getByCode
(
Integer
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
==
(
code
)).
findFirst
();
}
public
static
String
getMsgByCode
(
Integer
code
)
{
return
getByCode
(
code
).
map
(
PerformanceResultEnum:
:
getMsg
).
orElse
(
null
);
}
public
static
PerformanceResultEnum
getEnumByCode
(
Integer
code
)
{
return
getByCode
(
code
).
orElse
(
null
);
}
}
performance-api/src/main/java/com/clx/performance/param/app/NeedAlertSuperviseInfoParam.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
param
.
app
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
javax.validation.constraints.NotBlank
;
/**
* 装车范围校验检查参数
*/
@Getter
@Setter
@NoArgsConstructor
public
class
NeedAlertSuperviseInfoParam
{
@ApiModelProperty
(
value
=
"运单编号"
,
example
=
"100000000"
)
@NotBlank
(
message
=
"运单编号不能为空"
)
private
String
childNo
;
@ApiModelProperty
(
value
=
"类型 1-监装 2-监卸"
,
example
=
"1"
)
private
Integer
type
;
}
performance-api/src/main/java/com/clx/performance/param/app/OrderChildLoadRangeCheckParam.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
param
.
app
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.math.BigDecimal
;
/**
* 装车范围校验检查参数
*/
@Getter
@Setter
@NoArgsConstructor
public
class
OrderChildLoadRangeCheckParam
{
@ApiModelProperty
(
value
=
"运单编号"
,
example
=
"100000000"
)
@NotBlank
(
message
=
"运单编号不能为空"
)
private
String
childNo
;
@ApiModelProperty
(
"纬度"
)
private
BigDecimal
latitude
;
@ApiModelProperty
(
"经度"
)
private
BigDecimal
longitude
;
}
performance-api/src/main/java/com/clx/performance/param/pc/ArtificialCancelOrderQueryParam.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
param
.
pc
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
@Data
public
class
ArtificialCancelOrderQueryParam
{
@ApiModelProperty
(
"运单编号"
)
private
String
orderChildNo
;
@ApiModelProperty
(
"车牌号"
)
private
String
truckNo
;
public
void
checkParam
()
{
if
(
orderChildNo
==
null
&&
truckNo
==
null
)
{
throw
new
IllegalArgumentException
(
"运单编号和车牌号不能同时为空"
);
}
}
}
performance-api/src/main/java/com/clx/performance/param/pc/SaveDriverNoticeConfigParam.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
param
.
pc
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.math.BigDecimal
;
/**
* @author jiangwujie
*/
@Getter
@Setter
public
class
SaveDriverNoticeConfigParam
{
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
"配置名称"
)
private
String
name
;
@ApiModelProperty
(
value
=
"通知触发距离:默认1.5,最大9999.9"
)
private
BigDecimal
noticeTriggerDistance
;
@ApiModelProperty
(
value
=
"启用状态 ,0:禁用,1:启用"
)
private
Integer
status
;
}
\ No newline at end of file
performance-api/src/main/java/com/clx/performance/param/pc/SaveOrderChildOperateLimitConfigParam.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
param
.
pc
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.math.BigDecimal
;
/**
* @author jiangwujie
*/
@Getter
@Setter
public
class
SaveOrderChildOperateLimitConfigParam
{
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
"配置名称"
)
private
String
name
;
@ApiModelProperty
(
"可上传装车信息范围"
)
private
BigDecimal
allowUploadDistance
;
}
performance-api/src/main/java/com/clx/performance/vo/app/NeedAlertSuperviseInfoResultVO.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
vo
.
app
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
/**
* 是否需要监装结果VO
*/
@Getter
@Setter
@NoArgsConstructor
public
class
NeedAlertSuperviseInfoResultVO
{
@ApiModelProperty
(
value
=
"是否需要弹信息 0 不需要 1 需要"
,
example
=
"0"
)
private
Integer
needAlert
;
@ApiModelProperty
(
value
=
"监装人"
,
example
=
"张三"
)
private
String
supervisor
;
@ApiModelProperty
(
value
=
"联系方式"
,
example
=
"12345678901"
)
private
String
mobile
;
@ApiModelProperty
(
value
=
"监装位置"
,
example
=
"北业亿林洗煤厂"
)
private
String
location
;
}
\ No newline at end of file
performance-api/src/main/java/com/clx/performance/vo/app/OrderChildLoadRangeCheckResultVO.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
vo
.
app
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.msl.common.result.Result
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
java.util.Objects
;
import
static
com
.
clx
.
performance
.
enums
.
PerformanceResultEnum
.
ORDER_CHILD_LOAD_LIMIT_CONFIG_DISABLED
;
/**
* 是否需要监装结果VO
*/
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public
class
OrderChildLoadRangeCheckResultVO
{
@ApiModelProperty
(
value
=
"是否需要弹信息 0 不需要 1 需要"
,
example
=
"0"
)
private
Integer
needAlert
;
@ApiModelProperty
(
value
=
"错误码"
,
example
=
"-1"
)
private
Integer
code
;
@ApiModelProperty
(
value
=
"错误信息"
,
example
=
"错误"
)
private
String
msg
;
public
Result
<
OrderChildLoadRangeCheckResultVO
>
toResult
()
{
if
(
Objects
.
equals
(
code
,
OrderChildEnum
.
NeedAlertEnum
.
OK
.
getCode
())
//配置禁用也不弹窗
||
(
Objects
.
equals
(
code
,
ORDER_CHILD_LOAD_LIMIT_CONFIG_DISABLED
.
getCode
()))
)
{
return
Result
.
ok
();
}
else
{
Result
<
OrderChildLoadRangeCheckResultVO
>
result
=
Result
.
fail
(
PerformanceResultEnum
.
getEnumByCode
(
code
));
result
.
setData
(
this
);
result
.
setMsg
(
msg
);
return
result
;
}
}
}
\ No newline at end of file
performance-api/src/main/java/com/clx/performance/vo/app/OrderChildVO.java
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
vo
.
app
;
import
cn.hutool.json.JSONUtil
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.enums.OrderGoodsEnum
;
import
com.msl.common.convertor.type.MoneyOutConvert
;
...
...
@@ -9,10 +10,12 @@ import lombok.Getter;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
import
org.apache.commons.lang3.StringUtils
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
...
...
@@ -258,4 +261,31 @@ public class OrderChildVO {
return
OrderGoodsEnum
.
SendWaitModeEnum
.
getMsgByCode
(
sendWaitMode
);
}
@ApiModelProperty
(
value
=
"发货采样位置"
)
private
String
sendQualityPosition
;
@ApiModelProperty
(
value
=
"发货地采样视频"
)
private
String
sendSamplingVideo
;
@ApiModelProperty
(
value
=
"发货地采样照片"
)
private
String
sendSamplingPic
;
@ApiModelProperty
(
value
=
"监装联系人"
)
private
String
superviseContacts
;
@ApiModelProperty
(
value
=
"监装联系人电话"
)
private
String
superviseMobile
;
@ApiModelProperty
(
value
=
"发货地采样照片"
)
public
List
<
String
>
getSendSamplingPicList
()
{
if
(
StringUtils
.
isNotBlank
(
sendSamplingPic
))
{
return
JSONUtil
.
toList
(
sendSamplingPic
,
String
.
class
);
}
return
new
ArrayList
<>();
}
@ApiModelProperty
(
value
=
"发货地采样视频"
)
public
List
<
String
>
getSendSamplingVideoList
()
{
if
(
StringUtils
.
isNotBlank
(
sendSamplingVideo
))
{
return
JSONUtil
.
toList
(
sendSamplingVideo
,
String
.
class
);
}
return
new
ArrayList
<>();
}
}
performance-api/src/main/java/com/clx/performance/vo/pc/DriverNoticeConfigVO.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
vo
.
pc
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
java.math.BigDecimal
;
/**
* 司机通知配置
* @author jiangwujie
*/
@Getter
@Setter
@ToString
public
class
DriverNoticeConfigVO
{
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
"配置名称"
)
private
String
name
;
@ApiModelProperty
(
value
=
"通知触发距离:默认1.5,最大9999.9"
)
private
BigDecimal
noticeTriggerDistance
;
@ApiModelProperty
(
value
=
"启用状态:0禁用 1启用"
)
private
Integer
status
;
public
Integer
getNoticeTriggerDistanceMeter
()
{
return
noticeTriggerDistance
!=
null
?
noticeTriggerDistance
.
multiply
(
new
BigDecimal
(
1000
)).
intValue
()
:
0
;
}
}
performance-api/src/main/java/com/clx/performance/vo/pc/OrderChildOperateLimitConfigVO.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
vo
.
pc
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
import
java.math.BigDecimal
;
/**
* @author yangqifa
*/
@Getter
@Setter
@ToString
public
class
OrderChildOperateLimitConfigVO
{
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
"配置名称"
)
private
String
name
;
@ApiModelProperty
(
"可上传装车信息范围:默认2.0,最大9999.9"
)
private
BigDecimal
allowUploadDistance
;
@ApiModelProperty
(
value
=
"启用状态 0 禁用 1 启用"
)
private
Integer
status
;
public
Integer
allowUploadDistanceMeter
()
{
return
allowUploadDistance
.
multiply
(
new
BigDecimal
(
1000
)).
intValue
();
}
}
performance-api/src/main/java/com/clx/performance/vo/pc/OrderChildOperateRecordVO.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
vo
.
pc
;
import
com.clx.performance.enums.OrderChildEnum
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
@Getter
@Setter
@ToString
@NoArgsConstructor
public
class
OrderChildOperateRecordVO
{
@ApiModelProperty
(
value
=
"运单编号"
,
example
=
"100000000"
)
private
String
childNo
;
@ApiModelProperty
(
value
=
"操作类型 1 取消运单 2 解除装车限制"
,
example
=
"1"
)
private
Integer
type
;
@ApiModelProperty
(
value
=
"主车牌照"
,
example
=
"京A12345"
)
private
String
truckNo
;
@ApiModelProperty
(
value
=
"司机名称"
,
example
=
"张三"
)
private
String
driverName
;
@ApiModelProperty
(
value
=
"联系方式"
,
example
=
"130000000"
)
private
String
driverMobile
;
@ApiModelProperty
(
value
=
"货源地"
,
example
=
"朝阳"
)
private
String
sendAddress
;
@ApiModelProperty
(
value
=
"目的地"
,
example
=
"西城"
)
private
String
receiveAddress
;
@ApiModelProperty
(
value
=
"货物类型名称"
,
example
=
"面煤"
)
public
String
goodTypeName
;
@ApiModelProperty
(
value
=
"备注"
,
example
=
"备注xxxx"
)
public
String
remark
;
@ApiModelProperty
(
value
=
"操作时间"
,
example
=
"2020-01-01 10:10:10"
)
public
String
operateTime
;
@ApiModelProperty
(
value
=
"操作人"
,
example
=
"张三"
)
public
String
operator
;
@ApiModelProperty
(
value
=
"操作类型 取消运单 解除装车限制"
,
example
=
"取消运单"
)
public
String
getTypeMsg
()
{
return
OrderChildEnum
.
OperateRecordType
.
getMsgByCode
(
type
);
}
}
\ No newline at end of file
performance-web/pom.xml
浏览文件 @
605706a4
...
...
@@ -93,6 +93,16 @@
<artifactId>
server-spring-boot-starter
</artifactId>
</dependency>
<dependency>
<groupId>
com.msl
</groupId>
<artifactId>
open-starter
</artifactId>
</dependency>
<dependency>
<groupId>
com.clx.cy
</groupId>
<artifactId>
purchase-manage-sdk
</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.msl</groupId>-->
<!-- <artifactId>cache-spring-boot-starter</artifactId>-->
...
...
performance-web/src/main/java/com/clx/performance/config/ClxMessageConfig.java
浏览文件 @
605706a4
...
...
@@ -35,5 +35,13 @@ public class ClxMessageConfig {
private
Integer
vehicleWarnChannelId
;
//线路报警短信模板
private
String
lineWarnTemplateCode
;
/**
* 上传装货信息短信模板
*/
private
String
uploadLoadInfoTemplateCode
;
/**
* 提示监装信息短信模板
*/
private
String
noticeSupervisionTemplateCode
;
}
performance-web/src/main/java/com/clx/performance/config/LoadAppConfig.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
config
;
import
com.clx.performance.dao.AppDao
;
import
com.clx.performance.enums.AppEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.model.App
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* @Author liruixin
* @create 2024-01-10 13:19
*/
@Component
public
class
LoadAppConfig
{
private
App
purchaseManageApp
;
@Autowired
private
AppDao
appDao
;
public
App
getPurchaseManageApp
()
{
if
(
purchaseManageApp
==
null
)
{
purchaseManageApp
=
appDao
.
getOneByField
(
App:
:
getUniqueIdentifier
,
AppEnum
.
UniqueIdentifier
.
PURCHASE_MANAGE
.
getCode
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);;
}
return
purchaseManageApp
;
}
}
performance-web/src/main/java/com/clx/performance/constant/RedisConstants.java
浏览文件 @
605706a4
...
...
@@ -42,4 +42,13 @@ public class RedisConstants {
*/
public
static
final
String
LINE_WARN_WEATHER
=
"clx-performance:lineWarn:weather:"
;
/**
* 电子围栏短信通知 未装车
*/
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/controller/app/AppDriverOrderChildController.java
浏览文件 @
605706a4
...
...
@@ -195,4 +195,20 @@ public class AppDriverOrderChildController {
return
Result
.
ok
(
orderChildService
.
ocrRecognition
(
param
));
}
@ApiOperation
(
value
=
"司机端装货范围检查拦截"
,
notes
=
"<br>By:姜武杰"
)
@PostMapping
(
"/loadRangeCheck"
)
public
Result
<
OrderChildLoadRangeCheckResultVO
>
loadRangeCheck
(
@RequestBody
@Validated
OrderChildLoadRangeCheckParam
param
)
{
return
orderChildService
.
loadRangeCheck
(
param
).
toResult
();
}
@ApiOperation
(
value
=
"是否需要弹出监装信息"
,
notes
=
"<br>By:姜武杰"
)
@PostMapping
(
"/needAlertSuperviseInfo"
)
public
Result
<
NeedAlertSuperviseInfoResultVO
>
needAlertSuperviseInfo
(
@RequestBody
@Validated
NeedAlertSuperviseInfoParam
param
)
{
// todo :jiangwujie 临时设置type 前端给type后删除
if
(
param
.
getType
()
==
null
)
{
param
.
setType
(
1
);
}
return
Result
.
ok
(
orderChildService
.
needAlertSuperviseInfo
(
param
));
}
}
performance-web/src/main/java/com/clx/performance/controller/pc/DriverNoticeConfigController.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
controller
.
pc
;
import
com.clx.performance.param.pc.SaveDriverNoticeConfigParam
;
import
com.clx.performance.service.DriverNoticeConfigService
;
import
com.clx.performance.vo.pc.DriverNoticeConfigVO
;
import
com.msl.common.convertor.aspect.UnitCovert
;
import
com.msl.common.result.Result
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotNull
;
/**
* @author jiangwujie
*/
@Slf4j
@RestController
@RequestMapping
(
value
=
"/pc/carrier/driverNoticeConfig"
)
@Validated
@Api
(
tags
=
"司机通知配置"
)
@AllArgsConstructor
public
class
DriverNoticeConfigController
{
private
final
DriverNoticeConfigService
driverNoticeConfigService
;
@ApiOperation
(
value
=
"司机通知配置列表"
,
notes
=
"<br>By:姜武杰"
)
@GetMapping
(
"/listConfig"
)
@UnitCovert
(
param
=
false
)
public
Result
<
DriverNoticeConfigVO
>
listConfig
()
{
return
Result
.
ok
(
driverNoticeConfigService
.
listConfig
());
}
@ApiOperation
(
value
=
"司机通知配置详情"
,
notes
=
"<br>By:姜武杰"
)
@GetMapping
(
"/getDetail"
)
@UnitCovert
(
param
=
false
)
public
Result
<
DriverNoticeConfigVO
>
getDetail
(
@NotNull
(
message
=
"id不能为空"
)
Integer
id
)
{
return
Result
.
ok
(
driverNoticeConfigService
.
getDetail
(
id
));
}
@ApiOperation
(
value
=
"编辑司机通知配置"
,
notes
=
"<br>By:姜武杰"
)
@PostMapping
(
"/update"
)
@UnitCovert
public
Result
updateConfig
(
@RequestBody
@Validated
SaveDriverNoticeConfigParam
param
)
{
driverNoticeConfigService
.
updateConfig
(
param
);
return
Result
.
ok
();
}
@ApiOperation
(
value
=
"司机通知配置启用"
,
notes
=
"<br>By:姜武杰"
)
@PostMapping
(
"/enable"
)
@UnitCovert
public
Result
enableConfig
(
@ApiParam
(
"id"
)
@RequestParam
(
"id"
)
@NotNull
(
message
=
"id不能为空"
)
@Validated
Integer
id
)
{
driverNoticeConfigService
.
enableConfig
(
id
);
return
Result
.
ok
();
}
@ApiOperation
(
value
=
"司机通知配置禁用"
,
notes
=
"<br>By:姜武杰"
)
@PostMapping
(
"/disable"
)
@UnitCovert
public
Result
disableConfig
(
@ApiParam
(
"id"
)
@RequestParam
(
"id"
)
@NotNull
(
message
=
"id不能为空"
)
Integer
id
)
{
driverNoticeConfigService
.
disableConfig
(
id
);
return
Result
.
ok
();
}
}
performance-web/src/main/java/com/clx/performance/controller/pc/OrderCancelController.java
浏览文件 @
605706a4
...
...
@@ -2,24 +2,19 @@ package com.clx.performance.controller.pc;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.feign.TransportFeignService
;
import
com.clx.performance.param.pc.ArtificialCancelOrderParam
;
import
com.clx.performance.param.pc.ArtificialCancelOrderQueryParam
;
import
com.clx.performance.param.pc.OrderCancelParam
;
import
com.clx.performance.param.pc.OrderChildCancelRecordParam
;
import
com.clx.performance.service.OrderCancelService
;
import
com.clx.performance.service.TransportSyncService
;
import
com.clx.performance.vo.app.OrderChildVO
;
import
com.clx.performance.vo.pc.OrderChildOperateRecordVO
;
import
com.msl.common.base.PageData
;
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.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -50,8 +45,8 @@ public class OrderCancelController {
@ApiOperation
(
value
=
"客服取消运单查询"
,
notes
=
"<br>By:胡宇帆"
)
@GetMapping
(
"/findArtificialCancelOrder"
)
public
Result
<
OrderChildVO
>
findArtificialCancelOrder
(
@RequestParam
String
orderChildNo
)
{
OrderChildVO
vo
=
orderCancelService
.
findArtificialCancelOrder
(
orderChildNo
);
public
Result
<
OrderChildVO
>
findArtificialCancelOrder
(
ArtificialCancelOrderQueryParam
param
)
{
OrderChildVO
vo
=
orderCancelService
.
findArtificialCancelOrder
(
param
);
return
Result
.
ok
(
vo
);
}
...
...
@@ -70,5 +65,19 @@ public class OrderCancelController {
return
Result
.
page
(
page
.
getRecords
(),
page
.
getTotal
(),
page
.
getPages
());
}
@ApiOperation
(
value
=
"运单处理记录"
,
notes
=
"<br>By:姜武杰"
)
@PostMapping
(
"/orderChildOperateRecord"
)
public
Result
<
PageData
<
OrderChildOperateRecordVO
>>
orderChildOperateRecord
(
@RequestBody
OrderChildCancelRecordParam
param
)
{
IPage
<
OrderChildOperateRecordVO
>
page
=
orderCancelService
.
orderChildOperateRecord
(
param
);
return
Result
.
page
(
page
.
getRecords
(),
page
.
getTotal
(),
page
.
getPages
());
}
@ApiOperation
(
value
=
"客服解除装车限制"
,
notes
=
"<br>By:姜武杰"
)
@PostMapping
(
"/artificialRemoveLoadLimit"
)
public
Result
<
Object
>
artificialRemoveLoadLimit
(
@RequestBody
ArtificialCancelOrderParam
param
)
{
orderCancelService
.
removeLoadLimit
(
param
);
return
Result
.
ok
();
}
}
performance-web/src/main/java/com/clx/performance/controller/pc/OrderChildOperateLimitConfigController.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
controller
.
pc
;
import
com.clx.performance.param.pc.SaveOrderChildOperateLimitConfigParam
;
import
com.clx.performance.service.OrderChildOperateLimitConfigService
;
import
com.clx.performance.vo.pc.OrderChildOperateLimitConfigVO
;
import
com.msl.common.convertor.aspect.UnitCovert
;
import
com.msl.common.result.Result
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotNull
;
/**
* @author jiangwujie
*/
@Slf4j
@RestController
@RequestMapping
(
value
=
"/pc/carrier/orderChildOperateLimitConfig"
)
@Validated
@Api
(
tags
=
"运单操作限制配置"
)
@AllArgsConstructor
public
class
OrderChildOperateLimitConfigController
{
private
final
OrderChildOperateLimitConfigService
orderChildOperateLimitService
;
@ApiOperation
(
value
=
"运单操作限制配置列表"
,
notes
=
"<br>By:姜武杰"
)
@GetMapping
(
"/listConfig"
)
@UnitCovert
(
param
=
false
)
public
Result
<
OrderChildOperateLimitConfigVO
>
listConfig
()
{
return
Result
.
ok
(
orderChildOperateLimitService
.
listConfig
());
}
@ApiOperation
(
value
=
"运单操作限制配置详情"
,
notes
=
"<br>By:姜武杰"
)
@GetMapping
(
"/getDetail"
)
@UnitCovert
(
param
=
false
)
public
Result
<
OrderChildOperateLimitConfigVO
>
getDetail
(
@NotNull
(
message
=
"id不能为空"
)
Integer
id
)
{
return
Result
.
ok
(
orderChildOperateLimitService
.
getDetail
(
id
));
}
@ApiOperation
(
value
=
"编辑运单操作限制配置"
,
notes
=
"<br>By:姜武杰"
)
@PostMapping
(
"/update"
)
@UnitCovert
public
Result
updateConfig
(
@RequestBody
@Validated
SaveOrderChildOperateLimitConfigParam
param
)
{
orderChildOperateLimitService
.
updateConfig
(
param
);
return
Result
.
ok
();
}
@ApiOperation
(
value
=
"运单操作限制配置启用"
,
notes
=
"<br>By:姜武杰"
)
@PostMapping
(
"/enable"
)
@UnitCovert
public
Result
enableConfig
(
@NotNull
(
message
=
"id不能为空"
)
@RequestParam
(
"id"
)
Integer
id
)
{
orderChildOperateLimitService
.
enableConfig
(
id
);
return
Result
.
ok
();
}
@ApiOperation
(
value
=
"运单操作限制配置禁用"
,
notes
=
"<br>By:姜武杰"
)
@PostMapping
(
"/disable"
)
@UnitCovert
public
Result
disableConfig
(
@ApiParam
(
"id"
)
@RequestParam
(
"id"
)
@NotNull
(
message
=
"id不能为空"
)
Integer
id
)
{
orderChildOperateLimitService
.
disableConfig
(
id
);
return
Result
.
ok
();
}
}
performance-web/src/main/java/com/clx/performance/controller/temp/TempTraceController.java
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
controller
.
temp
;
import
com.clx.performance.dto.gd.GdRouteDTO
;
import
com.clx.performance.esplus.model.TruckLatestPosESPlus
;
import
com.clx.performance.param.mq.trace.TruckTraceSyncMqParam
;
import
com.clx.performance.esplus.model.TruckLatestPosESPlus
;
import
com.clx.performance.param.temp.DriverTraceAddParam
;
...
...
@@ -19,6 +20,7 @@ import org.springframework.data.repository.query.Param;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.math.BigDecimal
;
import
java.util.List
;
...
...
@@ -120,4 +122,16 @@ public class TempTraceController {
}
@ApiOperation
(
value
=
"获取车辆最新位置信息"
,
notes
=
"<br>By:姜武杰"
)
@GetMapping
(
"/calDistance"
)
public
Result
<
Integer
>
getTruckLatestPos
(
@RequestParam
(
"l1"
)
@NotNull
(
message
=
"当前经度不能为空"
)
BigDecimal
l1
,
@RequestParam
(
"l2"
)
@NotNull
(
message
=
"当前纬度不能为空"
)
BigDecimal
l2
,
@RequestParam
(
"l3"
)
@NotNull
(
message
=
"货源经度不能为空"
)
BigDecimal
l3
,
@RequestParam
(
"l4"
)
@NotNull
(
message
=
"货源纬度不能为空"
)
BigDecimal
l4
)
{
return
Result
.
ok
(
gdService
.
getShortestRouteDistance
(
l1
,
l2
,
l3
,
l4
));
}
}
performance-web/src/main/java/com/clx/performance/dao/AppDao.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
dao
;
import
com.clx.performance.mapper.AppMapper
;
import
com.clx.performance.model.App
;
import
com.msl.common.dao.BaseDao
;
public
interface
AppDao
extends
BaseDao
<
AppMapper
,
App
,
Integer
>
{
}
performance-web/src/main/java/com/clx/performance/dao/DriverNoticeConfigDao.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
dao
;
import
com.msl.common.dao.BaseDao
;
import
com.clx.performance.mapper.DriverNoticeConfigMapper
;
import
com.clx.performance.model.DriverNoticeConfig
;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
public
interface
DriverNoticeConfigDao
extends
BaseDao
<
DriverNoticeConfigMapper
,
DriverNoticeConfig
,
Integer
>
{
DriverNoticeConfig
listConfig
();
boolean
updateConfig
(
DriverNoticeConfig
config
);
boolean
updateStatus
(
Integer
id
,
Integer
status
);
}
performance-web/src/main/java/com/clx/performance/dao/OrderChildDao.java
浏览文件 @
605706a4
...
...
@@ -151,7 +151,7 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
* @param orderChildNo
* @return
*/
OrderChildVO
findArtificialCancelOrder
(
String
orderChildNo
);
OrderChildVO
findArtificialCancelOrder
(
ArtificialCancelOrderQueryParam
param
);
IPage
<
OrderChildVO
>
orderChildCancelRecord
(
OrderChildCancelRecordParam
param
);
...
...
performance-web/src/main/java/com/clx/performance/dao/OrderChildOperateLimitConfigDao.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
dao
;
import
com.msl.common.dao.BaseDao
;
import
com.clx.performance.mapper.OrderChildOperateLimitConfigMapper
;
import
com.clx.performance.model.OrderChildOperateLimitConfig
;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
public
interface
OrderChildOperateLimitConfigDao
extends
BaseDao
<
OrderChildOperateLimitConfigMapper
,
OrderChildOperateLimitConfig
,
Integer
>
{
OrderChildOperateLimitConfig
listConfig
();
boolean
updateConfig
(
OrderChildOperateLimitConfig
config
);
boolean
updateStatus
(
Integer
id
,
Integer
status
);
}
performance-web/src/main/java/com/clx/performance/dao/OrderChildOperateRecordDao.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
dao
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.mapper.OrderChildOperateRecordMapper
;
import
com.clx.performance.model.OrderChildOperateRecord
;
import
com.clx.performance.param.pc.OrderChildCancelRecordParam
;
import
com.clx.performance.vo.app.OrderChildVO
;
import
com.clx.performance.vo.pc.OrderChildOperateRecordVO
;
import
com.msl.common.dao.BaseDao
;
/**
* @author jiangwujie
* Date 2024-08-08
* Time 11:20
*/
public
interface
OrderChildOperateRecordDao
extends
BaseDao
<
OrderChildOperateRecordMapper
,
OrderChildOperateRecord
,
Integer
>
{
IPage
<
OrderChildOperateRecordVO
>
orderChildOperateRecord
(
OrderChildCancelRecordParam
param
);
}
performance-web/src/main/java/com/clx/performance/dao/impl/DriverNoticeConfigDaoImpl.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
dao
.
impl
;
import
com.clx.performance.dao.DriverNoticeConfigDao
;
import
com.clx.performance.mapper.DriverNoticeConfigMapper
;
import
com.clx.performance.model.DriverNoticeConfig
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Repository
;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
@Repository
public
class
DriverNoticeConfigDaoImpl
extends
BaseDaoImpl
<
DriverNoticeConfigMapper
,
DriverNoticeConfig
,
Integer
>
implements
DriverNoticeConfigDao
{
@Override
public
DriverNoticeConfig
listConfig
()
{
return
list
().
get
(
0
);
}
@Override
public
boolean
updateConfig
(
DriverNoticeConfig
config
)
{
return
update
(
lUdWrapper
()
.
eq
(
DriverNoticeConfig:
:
getId
,
config
.
getId
())
.
set
(
StringUtils
.
isNotBlank
(
config
.
getName
()),
DriverNoticeConfig:
:
getName
,
config
.
getName
())
.
set
(
config
.
getNoticeTriggerDistance
()
!=
null
,
DriverNoticeConfig:
:
getNoticeTriggerDistance
,
config
.
getNoticeTriggerDistance
())
.
set
(
config
.
getStatus
()
!=
null
,
DriverNoticeConfig:
:
getStatus
,
config
.
getStatus
())
);
}
@Override
public
boolean
updateStatus
(
Integer
id
,
Integer
status
)
{
return
update
(
lUdWrapper
()
.
eq
(
DriverNoticeConfig:
:
getId
,
id
)
.
set
(
DriverNoticeConfig:
:
getStatus
,
status
)
);
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
浏览文件 @
605706a4
...
...
@@ -440,8 +440,8 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
}
@Override
public
OrderChildVO
findArtificialCancelOrder
(
String
orderChildNo
)
{
return
baseMapper
.
findArtificialCancelOrder
(
orderChildNo
);
public
OrderChildVO
findArtificialCancelOrder
(
ArtificialCancelOrderQueryParam
param
)
{
return
baseMapper
.
findArtificialCancelOrder
(
param
);
}
@Override
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildOperateLimitConfigDaoImpl.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
dao
.
impl
;
import
com.clx.performance.dao.OrderChildOperateLimitConfigDao
;
import
com.clx.performance.mapper.OrderChildOperateLimitConfigMapper
;
import
com.clx.performance.model.OrderChildOperateLimitConfig
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Repository
;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
@Repository
public
class
OrderChildOperateLimitConfigDaoImpl
extends
BaseDaoImpl
<
OrderChildOperateLimitConfigMapper
,
OrderChildOperateLimitConfig
,
Integer
>
implements
OrderChildOperateLimitConfigDao
{
@Override
public
OrderChildOperateLimitConfig
listConfig
()
{
return
list
().
get
(
0
);
}
@Override
public
boolean
updateConfig
(
OrderChildOperateLimitConfig
config
)
{
return
update
(
lUdWrapper
()
.
eq
(
OrderChildOperateLimitConfig:
:
getId
,
config
.
getId
())
.
set
(
StringUtils
.
isNotBlank
(
config
.
getName
()),
OrderChildOperateLimitConfig:
:
getName
,
config
.
getName
())
.
set
(
config
.
getAllowUploadDistance
()
!=
null
,
OrderChildOperateLimitConfig:
:
getAllowUploadDistance
,
config
.
getAllowUploadDistance
())
.
set
(
config
.
getStatus
()
!=
null
,
OrderChildOperateLimitConfig:
:
getStatus
,
config
.
getStatus
())
);
}
@Override
public
boolean
updateStatus
(
Integer
id
,
Integer
status
)
{
return
update
(
lUdWrapper
()
.
eq
(
OrderChildOperateLimitConfig:
:
getId
,
id
)
.
set
(
OrderChildOperateLimitConfig:
:
getStatus
,
status
)
);
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildOperateRecordDaoImpl.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
dao
.
impl
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dao.OrderChildOperateRecordDao
;
import
com.clx.performance.mapper.OrderChildOperateRecordMapper
;
import
com.clx.performance.model.OrderChildOperateRecord
;
import
com.clx.performance.param.pc.OrderChildCancelRecordParam
;
import
com.clx.performance.vo.app.OrderChildVO
;
import
com.clx.performance.vo.pc.OrderChildOperateRecordVO
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
/**
* @author jiangwujie
* Date 2024-08-08
* Time 11:20
*/
@Repository
public
class
OrderChildOperateRecordDaoImpl
extends
BaseDaoImpl
<
OrderChildOperateRecordMapper
,
OrderChildOperateRecord
,
Integer
>
implements
OrderChildOperateRecordDao
{
@Override
public
IPage
<
OrderChildOperateRecordVO
>
orderChildOperateRecord
(
OrderChildCancelRecordParam
param
)
{
Page
<
OrderChildOperateRecordVO
>
page
=
Page
.
of
(
param
.
getPage
(),
param
.
getPageSize
());
return
baseMapper
.
orderChildOperateRecord
(
page
,
param
);
}
}
performance-web/src/main/java/com/clx/performance/job/OrderChildMessageNoticeJob.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
job
;
import
com.clx.performance.service.OrderChildService
;
import
com.msl.common.job.JobLog
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.exception.ExceptionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* 运单监控实时位置耗时信息job
* @author jiangwujie
*/
@Slf4j
@Component
public
class
OrderChildMessageNoticeJob
{
@Autowired
OrderChildService
orderChildService
;
/**
* 运单监控实时位置耗时信息
*/
@XxlJob
(
"orderChildMessageNotice"
)
public
void
orderChildMessageNotice
()
{
try
{
log
.
info
(
"开始实时计算进行中的运单的实时位置计算任务================================================"
);
orderChildService
.
orderChildMessageNotice
();
log
.
info
(
"结束实时计算进行中的运单的实时位置计算任务================================================"
);
}
catch
(
Exception
e
)
{
log
.
warn
(
"定时任务计算进行中的运单的实时位置失败,异常原因:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
JobLog
.
error
(
"定时任务计算进行中的运单的实时位置失败,异常原因====================="
,
e
);
}
}
}
performance-web/src/main/java/com/clx/performance/mapper/AppMapper.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.clx.performance.model.App
;
public
interface
AppMapper
extends
BaseMapper
<
App
>
{
}
performance-web/src/main/java/com/clx/performance/mapper/DriverNoticeConfigMapper.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.clx.performance.model.DriverNoticeConfig
;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
public
interface
DriverNoticeConfigMapper
extends
BaseMapper
<
DriverNoticeConfig
>
{
}
performance-web/src/main/java/com/clx/performance/mapper/OrderChildMapper.java
浏览文件 @
605706a4
...
...
@@ -8,10 +8,7 @@ import com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.param.app.PageOrderChildOfDriverParam
;
import
com.clx.performance.param.app.PageOrderChildOfDriverSearchParam
;
import
com.clx.performance.param.pc.OrderChildCancelRecordParam
;
import
com.clx.performance.param.pc.OrderChildReportParam
;
import
com.clx.performance.param.pc.PageCarrierOrderChildParam
;
import
com.clx.performance.param.pc.PagePoundAuditParam
;
import
com.clx.performance.param.pc.*
;
import
com.clx.performance.sqlProvider.OrderChildSqlProvider
;
import
com.clx.performance.vo.MonthInComeAndOrderedVO
;
import
com.clx.performance.vo.app.OrderChildVO
;
...
...
@@ -83,7 +80,7 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
@SelectProvider
(
type
=
OrderChildSqlProvider
.
class
,
method
=
"findArtificialCancelOrder"
)
OrderChildVO
findArtificialCancelOrder
(
@Param
(
"
orderChildNo"
)
String
orderChildNo
);
OrderChildVO
findArtificialCancelOrder
(
@Param
(
"
param"
)
ArtificialCancelOrderQueryParam
param
);
@SelectProvider
(
type
=
OrderChildSqlProvider
.
class
,
method
=
"orderChildCancelRecord"
)
IPage
<
OrderChildVO
>
orderChildCancelRecord
(
@Param
(
"page"
)
Page
<
OrderChildVO
>
page
,
@Param
(
value
=
"param"
)
OrderChildCancelRecordParam
param
);
...
...
performance-web/src/main/java/com/clx/performance/mapper/OrderChildOperateLimitConfigMapper.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.clx.performance.model.OrderChildOperateLimitConfig
;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
public
interface
OrderChildOperateLimitConfigMapper
extends
BaseMapper
<
OrderChildOperateLimitConfig
>
{
}
performance-web/src/main/java/com/clx/performance/mapper/OrderChildOperateRecordMapper.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.model.OrderChildOperateRecord
;
import
com.clx.performance.param.pc.OrderChildCancelRecordParam
;
import
com.clx.performance.sqlProvider.OrderChildOperateRecordSqlProvider
;
import
com.clx.performance.sqlProvider.OrderChildSqlProvider
;
import
com.clx.performance.vo.app.OrderChildVO
;
import
com.clx.performance.vo.pc.OrderChildOperateRecordVO
;
import
org.apache.ibatis.annotations.SelectProvider
;
/**
* @author jiangwujie
* Date 2024-08-08
* Time 11:20
*/
public
interface
OrderChildOperateRecordMapper
extends
BaseMapper
<
OrderChildOperateRecord
>
{
@SelectProvider
(
type
=
OrderChildOperateRecordSqlProvider
.
class
,
method
=
"orderChildOperateRecord"
)
IPage
<
OrderChildOperateRecordVO
>
orderChildOperateRecord
(
Page
<
OrderChildOperateRecordVO
>
page
,
OrderChildCancelRecordParam
param
);
}
performance-web/src/main/java/com/clx/performance/model/App.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.msl.common.config.KeyColumn
;
import
com.msl.common.model.HasKey
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.experimental.Accessors
;
import
java.time.LocalDateTime
;
@Getter
@Setter
@Accessors
(
chain
=
true
)
@TableName
(
"app"
)
public
class
App
implements
HasKey
<
Integer
>
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
@TableField
(
"unique_identifier"
)
@ApiModelProperty
(
"唯一标识 1:场站-smart-weight"
)
private
Integer
uniqueIdentifier
;
@TableField
(
"name"
)
@ApiModelProperty
(
"应用名称"
)
private
String
name
;
@TableField
(
"namespace"
)
@ApiModelProperty
(
"命名空间"
)
private
String
namespace
;
@TableField
(
"app_no"
)
@ApiModelProperty
(
"应用标识"
)
private
String
appNo
;
@TableField
(
"app_key"
)
@ApiModelProperty
(
"应用密钥"
)
private
String
appKey
;
@TableField
(
"callback"
)
@ApiModelProperty
(
"回调网关"
)
private
String
callback
;
@TableField
(
"create_time"
)
@ApiModelProperty
(
"创建时间"
)
private
LocalDateTime
createTime
;
@TableField
(
"modified_time"
)
@ApiModelProperty
(
"修改时间"
)
private
LocalDateTime
modifiedTime
;
@KeyColumn
(
"id"
)
public
Integer
gainKey
()
{
return
this
.
id
;
}
}
performance-web/src/main/java/com/clx/performance/model/DriverNoticeConfig.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.msl.common.config.KeyColumn
;
import
com.msl.common.model.HasKey
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.experimental.Accessors
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
@Getter
@Setter
@Accessors
(
chain
=
true
)
@TableName
(
"driver_notice_config"
)
public
class
DriverNoticeConfig
implements
HasKey
<
Integer
>
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
@TableField
(
"name"
)
@ApiModelProperty
(
"配置名称"
)
private
String
name
;
@TableField
(
"notice_trigger_distance"
)
@ApiModelProperty
(
"通知触发距离"
)
private
BigDecimal
noticeTriggerDistance
;
@TableField
(
"status"
)
@ApiModelProperty
(
"启用状态:0禁用1启用"
)
private
Integer
status
;
@TableField
(
"created_time"
)
@ApiModelProperty
(
"创建时间"
)
private
LocalDateTime
createdTime
;
@TableField
(
"modified_time"
)
@ApiModelProperty
(
"更新时间"
)
private
LocalDateTime
modifiedTime
;
@Override
@KeyColumn
(
"id"
)
public
Integer
gainKey
()
{
return
this
.
id
;
}
}
performance-web/src/main/java/com/clx/performance/model/OrderChild.java
浏览文件 @
605706a4
...
...
@@ -105,6 +105,19 @@ public class OrderChild implements HasKey<Integer> {
private
BigDecimal
platformServiceFeeRate
;
//平台服务费费率%
private
BigDecimal
deposit
;
//接单保证金(分/车)
/**
* 驶入驶离货源地状态 0 初始 1 驶入 2 驶离
*/
private
Integer
enterExitSendStatus
;
/**
* 驶离通知状态 0 未通知 1 已通知
*/
private
Integer
exitNoticeStatus
;
/**
* 是否解除监装限制 0 未解除 1 解除
*/
private
Integer
removeLoadLimitStatus
;
private
LocalDateTime
createTime
;
//创建时间
private
LocalDateTime
modifiedTime
;
//修改时间
...
...
performance-web/src/main/java/com/clx/performance/model/OrderChildOperateLimitConfig.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.msl.common.config.KeyColumn
;
import
com.msl.common.model.HasKey
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.experimental.Accessors
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
@Getter
@Setter
@Accessors
(
chain
=
true
)
@TableName
(
"order_child_operate_limit_config"
)
public
class
OrderChildOperateLimitConfig
implements
HasKey
<
Integer
>
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
@TableField
(
"name"
)
@ApiModelProperty
(
"配置名称"
)
private
String
name
;
@TableField
(
"allow_upload_distance"
)
@ApiModelProperty
(
"可上传装车信息范围"
)
private
BigDecimal
allowUploadDistance
;
@TableField
(
"status"
)
@ApiModelProperty
(
"启用状态0禁用,1启用"
)
private
Integer
status
;
@TableField
(
"created_time"
)
@ApiModelProperty
(
"创建时间"
)
private
LocalDateTime
createdTime
;
@TableField
(
"modified_time"
)
@ApiModelProperty
(
"更新时间"
)
private
LocalDateTime
modifiedTime
;
@Override
@KeyColumn
(
"id"
)
public
Integer
gainKey
()
{
return
this
.
id
;
}
}
performance-web/src/main/java/com/clx/performance/model/OrderChildOperateRecord.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.msl.common.config.KeyColumn
;
import
com.msl.common.model.HasKey
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.experimental.Accessors
;
import
java.time.LocalDateTime
;
/**
* @author jiangwujie
* Date 2024-08-08
* Time 11:20
*/
@Getter
@Setter
@Accessors
(
chain
=
true
)
@TableName
(
"order_child_operate_record"
)
public
class
OrderChildOperateRecord
implements
HasKey
<
Integer
>
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
@TableField
(
"child_no"
)
@ApiModelProperty
(
"运单编号"
)
private
String
childNo
;
@TableField
(
"type"
)
@ApiModelProperty
(
"操作类型 1 取消运单 2 解除装车限制"
)
private
Integer
type
;
@TableField
(
"truck_no"
)
@ApiModelProperty
(
"主车牌照"
)
private
String
truckNo
;
@TableField
(
"driver_name"
)
@ApiModelProperty
(
"司机名称"
)
private
String
driverName
;
@TableField
(
"driver_mobile"
)
@ApiModelProperty
(
"司机手机号"
)
private
String
driverMobile
;
@TableField
(
"send_address"
)
@ApiModelProperty
(
"货源地"
)
private
String
sendAddress
;
@TableField
(
"receive_address"
)
@ApiModelProperty
(
"目的地"
)
private
String
receiveAddress
;
@TableField
(
"good_type_name"
)
@ApiModelProperty
(
"货物类型名称"
)
private
String
goodTypeName
;
@TableField
(
"remark"
)
@ApiModelProperty
(
"备注"
)
private
String
remark
;
@TableField
(
"operate_time"
)
@ApiModelProperty
(
"操作时间"
)
private
LocalDateTime
operateTime
;
@TableField
(
"operator"
)
@ApiModelProperty
(
"操作人"
)
private
String
operator
;
@TableField
(
"created_time"
)
@ApiModelProperty
(
"创建时间"
)
private
LocalDateTime
createdTime
;
@TableField
(
"modified_time"
)
@ApiModelProperty
(
"更新时间"
)
private
LocalDateTime
modifiedTime
;
@Override
@KeyColumn
(
"id"
)
public
Integer
gainKey
()
{
return
this
.
id
;
}
}
performance-web/src/main/java/com/clx/performance/service/DriverNoticeConfigService.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
service
;
import
com.clx.performance.param.pc.SaveDriverNoticeConfigParam
;
import
com.clx.performance.vo.pc.DriverNoticeConfigVO
;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
public
interface
DriverNoticeConfigService
{
DriverNoticeConfigVO
listConfig
();
DriverNoticeConfigVO
getDetail
(
Integer
id
);
void
updateConfig
(
SaveDriverNoticeConfigParam
param
);
void
enableConfig
(
Integer
id
);
void
disableConfig
(
Integer
id
);
}
performance-web/src/main/java/com/clx/performance/service/OrderCancelService.java
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.param.pc.ArtificialCancelOrderParam
;
import
com.clx.performance.param.pc.ArtificialCancelOrderQueryParam
;
import
com.clx.performance.param.pc.OrderCancelParam
;
import
com.clx.performance.param.pc.OrderChildCancelRecordParam
;
import
com.clx.performance.vo.app.OrderChildVO
;
import
com.msl.common.base.PageParam
;
import
java.util.List
;
import
com.clx.performance.vo.pc.OrderChildOperateRecordVO
;
public
interface
OrderCancelService
{
...
...
@@ -47,7 +47,20 @@ public interface OrderCancelService {
* @param orderChildNo
* @return
*/
OrderChildVO
findArtificialCancelOrder
(
String
orderChildNo
);
OrderChildVO
findArtificialCancelOrder
(
ArtificialCancelOrderQueryParam
param
);
IPage
<
OrderChildVO
>
orderChildCancelRecord
(
OrderChildCancelRecordParam
param
);
/**
* 异常运单处理记录
* @param param
* @return
*/
IPage
<
OrderChildOperateRecordVO
>
orderChildOperateRecord
(
OrderChildCancelRecordParam
param
);
/**
* 客服移除监装限制
* @param param
*/
void
removeLoadLimit
(
ArtificialCancelOrderParam
param
);
}
performance-web/src/main/java/com/clx/performance/service/OrderChildOperateLimitConfigService.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
service
;
import
com.clx.performance.param.pc.SaveOrderChildOperateLimitConfigParam
;
import
com.clx.performance.vo.pc.OrderChildOperateLimitConfigVO
;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
public
interface
OrderChildOperateLimitConfigService
{
OrderChildOperateLimitConfigVO
listConfig
();
OrderChildOperateLimitConfigVO
getDetail
(
Integer
id
);
void
updateConfig
(
SaveOrderChildOperateLimitConfigParam
param
);
void
enableConfig
(
Integer
id
);
void
disableConfig
(
Integer
id
);
}
performance-web/src/main/java/com/clx/performance/service/OrderChildOperateRecordService.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
service
;
/**
* @author jiangwujie
* Date 2024-08-08
* Time 11:20
*/
public
interface
OrderChildOperateRecordService
{
}
performance-web/src/main/java/com/clx/performance/service/OrderChildService.java
浏览文件 @
605706a4
...
...
@@ -111,4 +111,10 @@ public interface OrderChildService {
List
<
HistoryLineTranVolumeChartVO
>
getHistoryLineTransportVolume
(
String
orderNo
);
OrderChildLoadRangeCheckResultVO
loadRangeCheck
(
OrderChildLoadRangeCheckParam
param
);
void
orderChildMessageNotice
();
NeedAlertSuperviseInfoResultVO
needAlertSuperviseInfo
(
NeedAlertSuperviseInfoParam
param
);
}
performance-web/src/main/java/com/clx/performance/service/impl/DriverNoticeConfigServiceImpl.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.clx.performance.dao.DriverNoticeConfigDao
;
import
com.clx.performance.enums.EnabledStatusEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.model.DriverNoticeConfig
;
import
com.clx.performance.param.pc.SaveDriverNoticeConfigParam
;
import
com.clx.performance.service.DriverNoticeConfigService
;
import
com.clx.performance.struct.DriverNoticeConfigStruct
;
import
com.clx.performance.vo.pc.DriverNoticeConfigVO
;
import
lombok.AllArgsConstructor
;
import
org.springframework.stereotype.Service
;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
@Service
@AllArgsConstructor
public
class
DriverNoticeConfigServiceImpl
implements
DriverNoticeConfigService
{
private
final
DriverNoticeConfigDao
dao
;
private
final
DriverNoticeConfigStruct
struct
;
@Override
public
DriverNoticeConfigVO
listConfig
()
{
return
struct
.
convertVO
(
dao
.
listConfig
());
}
@Override
public
DriverNoticeConfigVO
getDetail
(
Integer
id
)
{
DriverNoticeConfig
config
=
dao
.
getEntityByKey
(
id
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
return
struct
.
convertVO
(
config
);
}
@Override
public
void
updateConfig
(
SaveDriverNoticeConfigParam
param
)
{
DriverNoticeConfig
config
=
new
DriverNoticeConfig
();
config
.
setId
(
param
.
getId
());
config
.
setNoticeTriggerDistance
(
param
.
getNoticeTriggerDistance
());
dao
.
updateConfig
(
config
);
}
@Override
public
void
enableConfig
(
Integer
id
)
{
dao
.
updateStatus
(
id
,
EnabledStatusEnum
.
ENABLE
.
getCode
());
}
@Override
public
void
disableConfig
(
Integer
id
)
{
dao
.
updateStatus
(
id
,
EnabledStatusEnum
.
DISABLE
.
getCode
());
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderCancelServiceImpl.java
浏览文件 @
605706a4
...
...
@@ -16,19 +16,24 @@ import com.clx.performance.component.OrderCancelComponent;
import
com.clx.performance.component.OwnerAccountComponent
;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderChildOperateRecordDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dto.OrderCancelDTO
;
import
com.clx.performance.enums.*
;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.performance.extranal.user.OwnerInfoService
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChildOperateRecord
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.param.pc.ArtificialCancelOrderParam
;
import
com.clx.performance.param.pc.ArtificialCancelOrderQueryParam
;
import
com.clx.performance.param.pc.OrderCancelParam
;
import
com.clx.performance.param.pc.OrderChildCancelRecordParam
;
import
com.clx.performance.service.*
;
import
com.clx.performance.service.child.OrderChildPostService
;
import
com.clx.performance.vo.app.OrderChildVO
;
import
com.clx.performance.vo.mq.OrderTruckBindCancelParam
;
import
com.clx.performance.vo.pc.OrderChildOperateRecordVO
;
import
com.clx.user.enums.driver.DriverInfoEnum
;
import
com.clx.user.enums.owner.FreezeSettingEnum
;
import
com.clx.user.vo.feign.OwnerInfoFeignVO
;
...
...
@@ -85,6 +90,8 @@ public class OrderCancelServiceImpl implements OrderCancelService {
private
final
OwnerAccountComponent
ownerAccountComponent
;
private
final
OrderChildOperateRecordDao
orderChildOperateRecordDao
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
...
@@ -736,6 +743,16 @@ public class OrderCancelServiceImpl implements OrderCancelService {
public
void
artificialCancelOrder
(
String
orderChildNo
,
String
remark
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
orderChildNo
).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
//运单状态不在【装车成功】【前往目的地】【到达目的地】【收货待确认】范围中,不允许取消
if
(!
Arrays
.
asList
(
OrderChildEnum
.
Status
.
LOAD
.
getCode
(),
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
(),
OrderChildEnum
.
Status
.
UNLOAD
.
getCode
())
.
contains
(
orderChild
.
getStatus
()))
{
log
.
error
(
"运单:{} 状态:{}不在【装车成功】【前往目的地】【到达目的地】【收货待确认】范围中,不允许取消"
,
orderChildNo
,
orderChild
.
getStatus
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_CANCEL_FORBID
,
"不可操作"
);
}
OrderChild
update
=
new
OrderChild
();
update
.
setId
(
orderChild
.
getId
());
update
.
setStatus
(
OrderChildEnum
.
Status
.
ARTIFICIAL_CANCEL
.
getCode
());
...
...
@@ -751,15 +768,21 @@ public class OrderCancelServiceImpl implements OrderCancelService {
// 运单取消
orderChildPostService
.
orderChildCancelByArtificial
(
orderChildNo
);
// 保存操作记录
orderChildLogService
.
saveOrderChildLog
(
orderChild
.
getChildNo
(),
OrderChildEnum
.
Status
.
ARTIFICIAL_CANCEL
.
getCode
(),
OrderChildEnum
.
Status
.
ARTIFICIAL_CANCEL
.
getName
(),
OrderChildLogEnum
.
CreateType
.
ARTIFICIAL
.
getCode
(),
0L
,
OrderChildLogEnum
.
CreateType
.
ARTIFICIAL
.
getMsg
()
);
// 保存运单处理记录
saveOrderChildOperateRecord
(
orderChild
,
OrderChildEnum
.
OperateRecordType
.
CANCEL_ORDER
,
remark
);
}
@Override
public
OrderChildVO
findArtificialCancelOrder
(
String
orderChildNo
)
{
OrderChildVO
artificialCancelOrder
=
orderChildDao
.
findArtificialCancelOrder
(
orderChildNo
);
public
OrderChildVO
findArtificialCancelOrder
(
ArtificialCancelOrderQueryParam
param
)
{
//检查参数
param
.
checkParam
();
OrderChildVO
artificialCancelOrder
=
orderChildDao
.
findArtificialCancelOrder
(
param
);
if
(
artificialCancelOrder
==
null
)
{
return
null
;
}
...
...
@@ -783,5 +806,61 @@ public class OrderCancelServiceImpl implements OrderCancelService {
return
page
;
}
@Override
public
IPage
<
OrderChildOperateRecordVO
>
orderChildOperateRecord
(
OrderChildCancelRecordParam
param
)
{
return
orderChildOperateRecordDao
.
orderChildOperateRecord
(
param
);
}
@Override
// todo :jiangwujie 事务判断 ,其他也检查一下
public
void
removeLoadLimit
(
ArtificialCancelOrderParam
param
)
{
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
param
.
getOrderChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
//判断运单状态【已接单】【前往货源地】【到达货源地】时可对该运单解除装车限制,否则toast:不可操作
if
(!
Arrays
.
asList
(
OrderChildEnum
.
Status
.
CREATED
.
getCode
(),
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
())
.
contains
(
orderChild
.
getStatus
()))
{
//todo log.error 检查一下
log
.
info
(
"运单:{} 状态:{}不在【已接单】【前往货源地】【到达货源地】范围中,不允许解除装车限制"
,
param
.
getOrderChildNo
(),
orderChild
.
getStatus
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_CANCEL_FORBID
,
"不可操作"
);
}
OrderChild
update
=
new
OrderChild
();
update
.
setId
(
orderChild
.
getId
());
update
.
setRemoveLoadLimitStatus
(
OrderChildEnum
.
RemoveLoadLimitStatus
.
REMOVED
.
getCode
());
orderChildDao
.
updateEntityByKey
(
update
);
//保存运单处理记录
saveOrderChildOperateRecord
(
orderChild
,
OrderChildEnum
.
OperateRecordType
.
REMOVE_LIMIT
,
param
.
getRemark
());
//保存运单操作记录
orderChildLogService
.
saveOrderChildLog
(
orderChild
.
getChildNo
(),
orderChild
.
getStatus
(),
OrderChildEnum
.
OperateRecordType
.
REMOVE_LIMIT
.
getMsg
(),
OrderChildLogEnum
.
CreateType
.
ARTIFICIAL
.
getCode
(),
0L
,
OrderChildLogEnum
.
CreateType
.
ARTIFICIAL
.
getMsg
()
);
}
private
void
saveOrderChildOperateRecord
(
OrderChild
orderChild
,
OrderChildEnum
.
OperateRecordType
type
,
String
remark
)
{
OrderChildOperateRecord
record
=
new
OrderChildOperateRecord
();
record
.
setChildNo
(
orderChild
.
getChildNo
());
record
.
setType
(
type
.
getCode
());
record
.
setTruckNo
(
orderChild
.
getTruckNo
());
record
.
setDriverName
(
orderChild
.
getDriverName
());
record
.
setDriverMobile
(
orderChild
.
getDriverMobile
());
record
.
setSendAddress
(
orderChild
.
getSendAddress
());
record
.
setReceiveAddress
(
orderChild
.
getReceiveAddress
());
FeignOrderVO
orderInfoFeign
=
orderFeign
.
getOrderInfoFeign
(
orderChild
.
getOrderNo
());
if
(
orderInfoFeign
!=
null
)
{
record
.
setGoodTypeName
(
orderInfoFeign
.
getGoodsTypeName
());
}
record
.
setRemark
(
remark
);
record
.
setOperateTime
(
LocalDateTime
.
now
());
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
record
.
setOperator
(
loginUserInfo
.
getUserName
());
record
.
setCreatedTime
(
LocalDateTime
.
now
());
record
.
setModifiedTime
(
LocalDateTime
.
now
());
orderChildOperateRecordDao
.
saveEntity
(
record
);
}
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildOperateLimitConfigServiceImpl.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.clx.performance.dao.OrderChildOperateLimitConfigDao
;
import
com.clx.performance.enums.EnabledStatusEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.model.OrderChildOperateLimitConfig
;
import
com.clx.performance.param.pc.SaveOrderChildOperateLimitConfigParam
;
import
com.clx.performance.service.OrderChildOperateLimitConfigService
;
import
com.clx.performance.struct.OrderChildOperateLimitConfigStruct
;
import
com.clx.performance.vo.pc.OrderChildOperateLimitConfigVO
;
import
lombok.AllArgsConstructor
;
import
org.springframework.stereotype.Service
;
/**
* @author jiangwj
* Date 2024-08-07
* Time 16:29
*/
@Service
@AllArgsConstructor
public
class
OrderChildOperateLimitConfigServiceImpl
implements
OrderChildOperateLimitConfigService
{
private
final
OrderChildOperateLimitConfigDao
dao
;
private
final
OrderChildOperateLimitConfigStruct
struct
;
@Override
public
OrderChildOperateLimitConfigVO
listConfig
()
{
return
struct
.
convertVO
(
dao
.
listConfig
());
}
@Override
public
OrderChildOperateLimitConfigVO
getDetail
(
Integer
id
)
{
OrderChildOperateLimitConfig
config
=
dao
.
getEntityByKey
(
id
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
return
struct
.
convertVO
(
config
);
}
@Override
public
void
updateConfig
(
SaveOrderChildOperateLimitConfigParam
param
)
{
OrderChildOperateLimitConfig
config
=
new
OrderChildOperateLimitConfig
();
config
.
setId
(
param
.
getId
());
config
.
setAllowUploadDistance
(
param
.
getAllowUploadDistance
());
dao
.
updateConfig
(
config
);
}
@Override
public
void
enableConfig
(
Integer
id
)
{
dao
.
updateStatus
(
id
,
EnabledStatusEnum
.
ENABLE
.
getCode
());
}
@Override
public
void
disableConfig
(
Integer
id
)
{
dao
.
updateStatus
(
id
,
EnabledStatusEnum
.
DISABLE
.
getCode
());
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildOperateRecordServiceImpl.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.clx.performance.service.OrderChildOperateRecordService
;
import
org.springframework.stereotype.Service
;
/**
* @author jiangwujie
* Date 2024-08-08
* Time 11:20
*/
@Service
public
class
OrderChildOperateRecordServiceImpl
implements
OrderChildOperateRecordService
{
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
605706a4
差异被折叠。
点击展开。
performance-web/src/main/java/com/clx/performance/service/impl/trace/TruckTraceServiceImpl.java
浏览文件 @
605706a4
...
...
@@ -303,6 +303,41 @@ public class TruckTraceServiceImpl implements TruckTraceService {
return
null
;
}
/**
* 获取卡车当前位置 5分钟内的位置
* @param truckNo 卡车车牌号
* @return 位置
*/
@Override
public
BigDecimal
[]
getTruckCurrentPosition
(
String
truckNo
)
{
String
beginTime
=
LocalDateTimeUtils
.
formatTime
(
LocalDateTime
.
now
().
minusMinutes
(
LAST_POSITION_TIME
));
return
getTruckCurrentPosition
(
truckNo
,
beginTime
);
}
/**
* 获取卡车当前位置
* @param truckNo 卡车车牌号
* @param beginTime 开始时间
* @return 位置
*/
@Override
public
BigDecimal
[]
getTruckCurrentPosition
(
String
truckNo
,
String
beginTime
)
{
String
endTime
=
LocalDateTimeUtils
.
formatTime
();
// 车辆
List
<
TruckTraceESPlus
>
list
=
truckTraceESPlusMapper
.
selectList
(
new
LambdaEsQueryWrapper
<
TruckTraceESPlus
>()
.
eq
(
TruckTraceESPlus:
:
getTruckNo
,
truckNo
)
.
ge
(
TruckTraceESPlus:
:
getGpsTime
,
beginTime
)
.
le
(
TruckTraceESPlus:
:
getGpsTime
,
endTime
)
.
orderByDesc
(
"gpsTime"
)
.
limit
(
1
)
);
if
(!
list
.
isEmpty
()){
return
list
.
get
(
0
).
getLocation
();
}
return
null
;
}
@Override
public
int
getParkTime
(
String
truckNo
,
Long
userNo
,
LocalDateTime
beginDateTime
)
{
return
getParkTime
(
truckNo
,
userNo
,
beginDateTime
,
LocalDateTime
.
now
());
...
...
performance-web/src/main/java/com/clx/performance/service/trace/TruckTraceService.java
浏览文件 @
605706a4
...
...
@@ -23,6 +23,10 @@ public interface TruckTraceService {
BigDecimal
[]
getCurrentPosition
(
String
truckNo
,
Long
userNo
,
String
beginTime
);
BigDecimal
[]
getTruckCurrentPosition
(
String
truckNo
);
BigDecimal
[]
getTruckCurrentPosition
(
String
truckNo
,
String
beginTime
);
int
getParkTime
(
String
truckNo
,
Long
userNo
,
LocalDateTime
beginDateTime
);
int
getParkTime
(
String
truckNo
,
Long
userNo
,
LocalDateTime
beginTime
,
LocalDateTime
endTime
);
...
...
performance-web/src/main/java/com/clx/performance/sqlProvider/OrderChildOperateRecordSqlProvider.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
sqlProvider
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.param.pc.OrderChildCancelRecordParam
;
import
com.clx.performance.vo.app.OrderChildVO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.jdbc.SQL
;
public
class
OrderChildOperateRecordSqlProvider
{
public
String
orderChildOperateRecord
(
@Param
(
"page"
)
Page
<
OrderChildVO
>
page
,
@Param
(
"param"
)
OrderChildCancelRecordParam
param
)
{
return
new
SQL
()
{{
SELECT
(
"id,"
+
"child_no,"
+
"type,"
+
"truck_no,"
+
"driver_name,"
+
"driver_mobile,"
+
"send_address,"
+
"receive_address,"
+
"good_type_name,"
+
"remark,"
+
"date_format(operate_time, '%Y-%m-%d %H:%i:%s') as operateTime,"
+
"operator"
);
FROM
(
"order_child_operate_record "
);
ORDER_BY
(
"created_time desc"
);
}}.
toString
();
}
}
performance-web/src/main/java/com/clx/performance/sqlProvider/OrderChildSqlProvider.java
浏览文件 @
605706a4
...
...
@@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.param.app.PageOrderChildOfDriverParam
;
import
com.clx.performance.param.app.PageOrderChildOfDriverSearchParam
;
import
com.clx.performance.param.pc.OrderChildCancelRecordParam
;
import
com.clx.performance.param.pc.OrderChildReportParam
;
import
com.clx.performance.param.pc.PageCarrierOrderChildParam
;
import
com.clx.performance.param.pc.PagePoundAuditParam
;
import
com.clx.performance.param.pc.*
;
import
com.clx.performance.vo.app.OrderChildVO
;
import
com.clx.performance.vo.pc.PageCarrierOrderChildVO
;
import
com.clx.performance.vo.pc.PageOrderChildPoundAuditVO
;
...
...
@@ -170,21 +167,34 @@ public class OrderChildSqlProvider {
return
sql
;
}
public
String
findArtificialCancelOrder
(
@Param
(
"orderChildNo"
)
String
orderChildNo
)
{
String
sql
=
"select child_no,goods_name,freight_price,order_no,"
+
"send_address,receive_address,"
+
"driver_user_no, driver_name,driver_mobile,"
+
"truck_no,"
+
"unload_pound_no,weight,"
+
"cancel_remark,"
+
"pound_status,status,"
+
"date_format(load_deadline, '%Y-%m-%d %H:%i:%s') as loadDeadline,"
+
"date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime,"
+
"date_format(unload_time, '%Y-%m-%d %H:%i:%s') as unloadTime from order_child where child_no = #{orderChildNo}"
;
sql
+=
" and status >="
+
OrderChildEnum
.
Status
.
LOAD
.
getCode
();
sql
+=
" and status <"
+
OrderChildEnum
.
Status
.
UNSETTLE
.
getCode
();
return
sql
;
public
String
findArtificialCancelOrder
(
ArtificialCancelOrderQueryParam
param
)
{
return
new
SQL
()
{{
SELECT
(
"child_no, goods_name, freight_price, order_no, "
+
"send_address, receive_address, "
+
"driver_user_no, driver_name, driver_mobile, "
+
"truck_no, unload_pound_no, weight, "
+
"cancel_remark, pound_status, status, "
+
"DATE_FORMAT(load_deadline, '%Y-%m-%d %H:%i:%s') AS loadDeadline, "
+
"DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') AS createTime, "
+
"DATE_FORMAT(unload_time, '%Y-%m-%d %H:%i:%s') AS unloadTime "
);
FROM
(
"order_child "
);
if
(
StringUtils
.
isNotBlank
(
param
.
getOrderChildNo
()))
{
WHERE
(
"child_no = #{param.orderChildNo,jdbcType=VARCHAR}"
);
}
if
(
StringUtils
.
isNotBlank
(
param
.
getTruckNo
()))
{
WHERE
(
"truck_no = #{param.truckNo,jdbcType=VARCHAR}"
);
}
//支付状态 可以忽略
WHERE
(
"status >="
+
OrderChildEnum
.
Status
.
CREATED
.
getCode
());
WHERE
(
"status <="
+
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
());
}}.
toString
();
}
public
static
void
main
(
String
[]
args
)
{
ArtificialCancelOrderQueryParam
param
=
new
ArtificialCancelOrderQueryParam
();
param
.
setTruckNo
(
"A123456"
);
param
.
setOrderChildNo
(
"CYD1234567890"
);
System
.
out
.
println
(
new
OrderChildSqlProvider
().
findArtificialCancelOrder
(
param
));
}
public
String
orderChildCancelRecord
(
@Param
(
"page"
)
Page
<
OrderChildVO
>
page
,
@Param
(
"param"
)
OrderChildCancelRecordParam
param
)
{
...
...
performance-web/src/main/java/com/clx/performance/struct/DriverNoticeConfigStruct.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
struct
;
import
com.clx.performance.model.DriverNoticeConfig
;
import
com.clx.performance.vo.pc.DriverNoticeConfigVO
;
import
org.mapstruct.Mapper
;
@Mapper
(
componentModel
=
"spring"
)
public
interface
DriverNoticeConfigStruct
{
DriverNoticeConfigVO
convertVO
(
DriverNoticeConfig
config
);
}
performance-web/src/main/java/com/clx/performance/struct/OrderChildOperateLimitConfigStruct.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
struct
;
import
com.clx.performance.model.OrderChildOperateLimitConfig
;
import
com.clx.performance.vo.pc.OrderChildOperateLimitConfigVO
;
import
org.mapstruct.Mapper
;
@Mapper
(
componentModel
=
"spring"
)
public
interface
OrderChildOperateLimitConfigStruct
{
OrderChildOperateLimitConfigVO
convertVO
(
OrderChildOperateLimitConfig
config
);
}
performance-web/src/main/java/com/clx/performance/utils/gd/GdService.java
浏览文件 @
605706a4
...
...
@@ -9,14 +9,12 @@ import com.msl.common.enums.ResultCodeEnum;
import
com.msl.common.exception.ServiceSystemException
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.dromara.easyes.common.utils.CollectionUtils
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.ArrayList
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.*
;
/**
* @Author: aiqingguo
...
...
@@ -47,6 +45,26 @@ public class GdService {
return
getRoute
(
gaodeKey
,
originLongitude
,
originLatitude
,
destinationLongitude
,
destinationLatitude
);
}
/**
* 获取最短距离路径
* @param originLongitude
* @param originLatitude
* @param destinationLongitude
* @param destinationLatitude
* @return
*/
public
Integer
getShortestRouteDistance
(
BigDecimal
originLongitude
,
BigDecimal
originLatitude
,
BigDecimal
destinationLongitude
,
BigDecimal
destinationLatitude
)
{
List
<
GdRouteDTO
>
routeList
=
getRoute
(
gaodeKey
,
originLongitude
,
originLatitude
,
destinationLongitude
,
destinationLatitude
);
if
(
CollectionUtils
.
isNotEmpty
(
routeList
))
{
Optional
<
GdRouteDTO
>
minRoute
=
routeList
.
stream
()
.
min
((
r1
,
r2
)
->
Double
.
compare
(
r1
.
getDistance
(),
r2
.
getDistance
()));
return
minRoute
.
map
(
GdRouteDTO:
:
getDistance
).
orElse
(
null
);
}
return
null
;
}
public
static
List
<
GdRouteDTO
>
getRoute
(
String
key
,
BigDecimal
originLongitude
,
BigDecimal
originLatitude
,
BigDecimal
destinationLongitude
,
BigDecimal
destinationLatitude
)
{
//log.info("高德线路规划开始");
...
...
performance-web/src/test/java/com/clx/performance/service/impl/OrderChildServiceImpl2Test.java
0 → 100644
浏览文件 @
605706a4
差异被折叠。
点击展开。
performance-web/src/test/java/com/clx/performance/service/impl/OrderChildServiceImpl3Test.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dto.gd.GdRouteDTO
;
import
com.clx.performance.enums.EnabledStatusEnum
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.param.app.OrderChildLoadRangeCheckParam
;
import
com.clx.performance.service.OrderChildOperateLimitConfigService
;
import
com.clx.performance.utils.gd.GdService
;
import
com.clx.performance.vo.app.OrderChildLoadRangeCheckResultVO
;
import
com.clx.performance.vo.pc.OrderChildOperateLimitConfigVO
;
import
com.msl.common.base.Optional
;
import
org.junit.jupiter.api.BeforeEach
;
import
org.junit.jupiter.api.Test
;
import
org.junit.jupiter.api.extension.ExtendWith
;
import
org.mockito.InjectMocks
;
import
org.mockito.Mock
;
import
org.mockito.junit.jupiter.MockitoExtension
;
import
org.mockito.junit.jupiter.MockitoSettings
;
import
org.mockito.quality.Strictness
;
import
java.math.BigDecimal
;
import
java.util.Collections
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertEquals
;
import
static
org
.
mockito
.
Mockito
.*;
@ExtendWith
(
MockitoExtension
.
class
)
@MockitoSettings
(
strictness
=
Strictness
.
LENIENT
)
class
OrderChildServiceImpl3Test
{
@Mock
private
OrderGoodsDao
orderGoodsDao
;
@Mock
private
OrderChildDao
orderChildDao
;
@Mock
private
GdService
gdService
;
@Mock
private
OrderChildOperateLimitConfigService
orderChildOperateLimitConfigService
;
@InjectMocks
private
OrderChildServiceImpl
orderChildService
;
private
OrderChildLoadRangeCheckParam
param
;
@BeforeEach
void
setUp
()
{
param
=
new
OrderChildLoadRangeCheckParam
();
param
.
setChildNo
(
"testChildNo"
);
param
.
setLatitude
(
BigDecimal
.
TEN
);
param
.
setLongitude
(
BigDecimal
.
TEN
);
}
/**
* 无配置情况
*/
@Test
void
loadRangeCheck_whenConfigIsNull_shouldReturnError
()
{
when
(
orderChildDao
.
getByChildNo
(
param
.
getChildNo
())).
thenReturn
(
Optional
.
of
(
new
OrderChild
()));
when
(
orderGoodsDao
.
getByOrderGoodsNo
(
anyString
())).
thenReturn
(
Optional
.
of
(
new
OrderGoods
()));
OrderChildLoadRangeCheckResultVO
result
=
orderChildService
.
loadRangeCheck
(
param
);
assertEquals
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_LIMIT_CONFIG_ERROR
.
getCode
(),
result
.
getCode
());
}
@Test
void
loadRangeCheck_whenConfigIsDisabled_shouldReturnDisabled
()
{
OrderChildOperateLimitConfigVO
config
=
new
OrderChildOperateLimitConfigVO
();
config
.
setStatus
(
EnabledStatusEnum
.
DISABLE
.
getCode
());
// 限制装车距离为1.5
config
.
setAllowUploadDistance
(
new
BigDecimal
(
"1.5"
));
OrderChild
orderChild
=
new
OrderChild
();
orderChild
.
setOrderGoodsNo
(
"ordergoodsno"
);
orderChild
.
setOrderNo
(
"orderno"
);
orderChild
.
setChildNo
(
"orderno"
);
orderChild
.
setStatus
(
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
());
OrderGoods
orderGoods
=
new
OrderGoods
();
when
(
orderChildOperateLimitConfigService
.
listConfig
()).
thenReturn
(
config
);
when
(
orderChildDao
.
getByChildNo
(
param
.
getChildNo
())).
thenReturn
(
Optional
.
of
(
orderChild
));
when
(
orderGoodsDao
.
getByOrderGoodsNo
(
anyString
())).
thenReturn
(
Optional
.
of
(
orderGoods
));
GdRouteDTO
route
=
new
GdRouteDTO
();
route
.
setDistance
(
2000
);
when
(
gdService
.
getRoute
(
any
(),
any
(),
any
(),
any
())).
thenReturn
(
Collections
.
singletonList
(
route
));
OrderChildLoadRangeCheckResultVO
result
=
orderChildService
.
loadRangeCheck
(
param
);
assertEquals
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_LIMIT_CONFIG_DISABLED
.
getCode
(),
result
.
getCode
());
}
/**
* 在装车范围内,不进行提示
*/
@Test
void
loadRangeCheck_ok
()
{
OrderChildOperateLimitConfigVO
config
=
new
OrderChildOperateLimitConfigVO
();
config
.
setStatus
(
EnabledStatusEnum
.
ENABLE
.
getCode
());
// 限制装车距离为1.5
config
.
setAllowUploadDistance
(
new
BigDecimal
(
"1.5"
));
OrderChild
orderChild
=
new
OrderChild
();
orderChild
.
setOrderGoodsNo
(
"ordergoodsno"
);
orderChild
.
setOrderNo
(
"orderno"
);
orderChild
.
setChildNo
(
"orderno"
);
orderChild
.
setStatus
(
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
());
OrderGoods
orderGoods
=
new
OrderGoods
();
when
(
orderChildOperateLimitConfigService
.
listConfig
()).
thenReturn
(
config
);
when
(
orderChildDao
.
getByChildNo
(
param
.
getChildNo
())).
thenReturn
(
Optional
.
of
(
orderChild
));
when
(
orderGoodsDao
.
getByOrderGoodsNo
(
anyString
())).
thenReturn
(
Optional
.
of
(
orderGoods
));
GdRouteDTO
route
=
new
GdRouteDTO
();
//距离装车距离为1000
route
.
setDistance
(
1000
);
when
(
gdService
.
getRoute
(
any
(),
any
(),
any
(),
any
())).
thenReturn
(
Collections
.
singletonList
(
route
));
OrderChildLoadRangeCheckResultVO
result
=
orderChildService
.
loadRangeCheck
(
param
);
assertEquals
(
OrderChildEnum
.
NeedAlertEnum
.
OK
.
getCode
(),
result
.
getCode
());
}
/**
* 运单不存在
*/
@Test
void
loadRangeCheck_whenOrderChildNotFound_shouldReturnNotFound
()
{
OrderChildOperateLimitConfigVO
config
=
new
OrderChildOperateLimitConfigVO
();
config
.
setStatus
(
EnabledStatusEnum
.
ENABLE
.
getCode
());
// 限制装车距离为1.5
config
.
setAllowUploadDistance
(
new
BigDecimal
(
"1.5"
));
when
(
orderChildOperateLimitConfigService
.
listConfig
()).
thenReturn
(
config
);
when
(
orderChildDao
.
getByChildNo
(
param
.
getChildNo
())).
thenReturn
(
new
Optional
<>());
OrderChildLoadRangeCheckResultVO
result
=
orderChildService
.
loadRangeCheck
(
param
);
assertEquals
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
.
getCode
(),
result
.
getCode
());
assertEquals
(
OrderChildEnum
.
NeedAlertEnum
.
FAIL
.
getCode
(),
result
.
getNeedAlert
());
}
}
performance-web/src/test/java/com/clx/performance/service/impl/OrderChildServiceImplTest.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dto.gd.GdRouteDTO
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.param.app.OrderChildLoadRangeCheckParam
;
import
com.clx.performance.service.OrderChildOperateLimitConfigService
;
import
com.clx.performance.utils.gd.GdService
;
import
com.clx.performance.vo.app.OrderChildLoadRangeCheckResultVO
;
import
com.clx.performance.vo.pc.OrderChildOperateLimitConfigVO
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.mockito.InjectMocks
;
import
org.mockito.Mock
;
import
org.mockito.Mockito
;
import
org.mockito.junit.MockitoJUnitRunner
;
import
java.math.BigDecimal
;
import
java.util.Arrays
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
mockito
.
ArgumentMatchers
.
any
;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
class
OrderChildServiceImplTest
{
@InjectMocks
private
OrderChildServiceImpl
orderChildService
;
@Mock
private
OrderChildOperateLimitConfigService
orderChildOperateLimitConfigService
;
@Mock
private
GdService
gdService
;
@Mock
private
OrderGoodsDao
orderGoodsDao
;
@Mock
private
OrderChildDao
orderChildDao
;
private
OrderChildLoadRangeCheckParam
param
;
private
OrderChildOperateLimitConfigVO
config
;
@Before
public
void
setUp
()
{
param
=
new
OrderChildLoadRangeCheckParam
();
param
.
setLatitude
(
new
BigDecimal
(
"32.2304"
));
param
.
setLongitude
(
new
BigDecimal
(
"122.4737"
));
OrderChild
orderChild
=
new
OrderChild
();
orderChild
.
setOrderGoodsNo
(
"123456789"
);
orderChild
.
setTruckNo
(
"黑A88888"
);
Mockito
.<
com
.
msl
.
common
.
base
.
Optional
<
OrderChild
>>
when
(
orderChildDao
.
getByChildNo
(
param
.
getChildNo
())).
thenReturn
(
com
.
msl
.
common
.
base
.
Optional
.
of
(
orderChild
));
// 预设的返回值,根据具体业务逻辑可能需要调整
OrderGoods
orderGoods
=
new
OrderGoods
();
orderGoods
.
setSendLatitude
(
BigDecimal
.
valueOf
(
31.2304
));
orderGoods
.
setSendLongitude
(
BigDecimal
.
valueOf
(
121.4737
));
Mockito
.<
com
.
msl
.
common
.
base
.
Optional
<
OrderGoods
>>
when
(
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
())).
thenReturn
(
com
.
msl
.
common
.
base
.
Optional
.
of
(
orderGoods
));
// Mock配置
config
=
new
OrderChildOperateLimitConfigVO
();
config
.
setAllowUploadDistance
(
BigDecimal
.
valueOf
(
2
));
config
.
setStatus
(
1
);
when
(
orderChildOperateLimitConfigService
.
listConfig
()).
thenReturn
(
config
);
}
@Test
public
void
testLoadRangeCheckSuccess
()
{
GdRouteDTO
gdRoute
=
new
GdRouteDTO
();
gdRoute
.
setDistance
(
1000
);
// 假设高德服务返回了一个有效的路线
Mockito
.
when
(
gdService
.
getRoute
(
any
(
BigDecimal
.
class
),
any
(
BigDecimal
.
class
),
any
(
BigDecimal
.
class
),
any
(
BigDecimal
.
class
))).
thenReturn
(
Arrays
.
asList
(
gdRoute
));
OrderChildLoadRangeCheckResultVO
result
=
orderChildService
.
loadRangeCheck
(
param
);
assertEquals
(
0
,
result
.
getCode
().
intValue
());
assertEquals
(
"验证通过"
,
result
.
getMsg
());
}
@Test
public
void
testLoadRangeCheckFailDueToConfigNull
()
{
// 假设没有配置
when
(
orderChildOperateLimitConfigService
.
listConfig
()).
thenReturn
(
null
);
OrderChildLoadRangeCheckResultVO
result
=
orderChildService
.
loadRangeCheck
(
param
);
assertEquals
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_LIMIT_CONFIG_ERROR
.
getCode
(),
result
.
getCode
().
intValue
());
assertEquals
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_LIMIT_CONFIG_ERROR
.
getMsg
(),
result
.
getMsg
());
}
@Test
public
void
testLoadRangeCheckFailDueToDisabledConfig
()
{
// 假设配置被禁用
OrderChildOperateLimitConfigVO
config
=
new
OrderChildOperateLimitConfigVO
();
config
.
setStatus
(
0
);
config
.
setAllowUploadDistance
(
new
BigDecimal
(
"2"
));
when
(
orderChildOperateLimitConfigService
.
listConfig
()).
thenReturn
(
config
);
OrderChildLoadRangeCheckResultVO
result
=
orderChildService
.
loadRangeCheck
(
param
);
assertEquals
(
0
,
result
.
getNeedAlert
().
intValue
());
assertEquals
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_LIMIT_CONFIG_DISABLED
.
getCode
(),
result
.
getCode
().
intValue
());
assertEquals
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_LIMIT_CONFIG_DISABLED
.
getMsg
(),
result
.
getMsg
());
}
@Test
public
void
testLoadRangeCheckFailDueToTruckLocation
()
{
param
.
setLatitude
(
null
);
param
.
setLongitude
(
null
);
OrderChildLoadRangeCheckResultVO
result
=
orderChildService
.
loadRangeCheck
(
param
);
assertEquals
(
PerformanceResultEnum
.
TRUCK_LOCATION_ERROR
.
getCode
(),
result
.
getCode
().
intValue
());
assertEquals
(
String
.
format
(
PerformanceResultEnum
.
TRUCK_LOCATION_ERROR
.
getMsg
(),
config
.
getAllowUploadDistance
()),
result
.
getMsg
());
}
@Test
public
void
testLoadRangeCheckFailDueToDistanceOut
()
{
GdRouteDTO
gdRoute
=
new
GdRouteDTO
();
gdRoute
.
setDistance
(
5000
);
Mockito
.
when
(
gdService
.
getRoute
(
any
(
BigDecimal
.
class
),
any
(
BigDecimal
.
class
),
any
(
BigDecimal
.
class
),
any
(
BigDecimal
.
class
))).
thenReturn
(
Arrays
.
asList
(
gdRoute
));
OrderChildLoadRangeCheckResultVO
result
=
orderChildService
.
loadRangeCheck
(
param
);
assertEquals
(
PerformanceResultEnum
.
TRUCK_LOCATION_OUT_OF_SEND_RANGE
.
getCode
(),
result
.
getCode
().
intValue
());
assertEquals
(
String
.
format
(
PerformanceResultEnum
.
TRUCK_LOCATION_OUT_OF_SEND_RANGE
.
getMsg
(),
config
.
getAllowUploadDistance
()),
result
.
getMsg
());
}
}
performance-web/src/test/java/com/clx/performance/sqlProvider/OrderChildSqlProviderTest.java
0 → 100644
浏览文件 @
605706a4
package
com
.
clx
.
performance
.
sqlProvider
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.param.pc.ArtificialCancelOrderQueryParam
;
import
org.junit.Assert
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.junit.runners.JUnit4
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@RunWith
(
JUnit4
.
class
)
public
class
OrderChildSqlProviderTest
{
@Test
public
void
testFindArtificialCancelOrderWithParams
()
{
ArtificialCancelOrderQueryParam
param
=
new
ArtificialCancelOrderQueryParam
();
param
.
setOrderChildNo
(
"testChildNo"
);
param
.
setTruckNo
(
"testTruckNo"
);
OrderChildSqlProvider
orderChildSqlProvider
=
new
OrderChildSqlProvider
();
String
sql
=
orderChildSqlProvider
.
findArtificialCancelOrder
(
param
);
String
expectedSql
=
"SELECT child_no, goods_name, freight_price, order_no, "
+
"send_address, receive_address, "
+
"driver_user_no, driver_name, driver_mobile, "
+
"truck_no, unload_pound_no, weight, "
+
"cancel_remark, pound_status, status, "
+
"DATE_FORMAT(load_deadline, '%Y-%m-%d %H:%i:%s') AS loadDeadline, "
+
"DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') AS createTime, "
+
"DATE_FORMAT(unload_time, '%Y-%m-%d %H:%i:%s') AS unloadTime "
+
"FROM order_child "
+
"WHERE 1=1 "
+
"AND child_no = #{param.orderChildNo} "
+
"AND truck_no = #{param.truckNo} "
+
"AND status IN (10, 30, 40, 50, 60, 70, 80)"
;
Assert
.
assertEquals
(
"SQL statement does not match expected output"
,
expectedSql
,
sql
);
}
@Test
public
void
testFindArtificialCancelOrderWithoutParams
()
{
ArtificialCancelOrderQueryParam
param
=
new
ArtificialCancelOrderQueryParam
();
OrderChildSqlProvider
orderChildSqlProvider
=
new
OrderChildSqlProvider
();
String
sql
=
orderChildSqlProvider
.
findArtificialCancelOrder
(
param
);
List
<
Integer
>
statusList
=
Arrays
.
asList
(
OrderChildEnum
.
Status
.
CREATED
.
getCode
(),
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
(),
OrderChildEnum
.
Status
.
LOAD
.
getCode
(),
OrderChildEnum
.
Status
.
GO_TO_RECEIVE
.
getCode
(),
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
(),
OrderChildEnum
.
Status
.
UNLOAD
.
getCode
()
);
String
expectedSql
=
"SELECT child_no, goods_name, freight_price, order_no, "
+
"send_address, receive_address, "
+
"driver_user_no, driver_name, driver_mobile, "
+
"truck_no, unload_pound_no, weight, "
+
"cancel_remark, pound_status, status, "
+
"DATE_FORMAT(load_deadline, '%Y-%m-%d %H:%i:%s') AS loadDeadline, "
+
"DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') AS createTime, "
+
"DATE_FORMAT(unload_time, '%Y-%m-%d %H:%i:%s') AS unloadTime "
+
"FROM order_child "
+
"WHERE 1=1 "
+
"AND status IN ("
+
String
.
join
(
", "
,
statusList
.
stream
().
map
(
String:
:
valueOf
).
collect
(
Collectors
.
toList
()))
+
")"
;
Assert
.
assertEquals
(
"SQL statement does not match expected output for empty parameters"
,
expectedSql
,
sql
);
}
}
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论