Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
6ef5617a
提交
6ef5617a
authored
8月 12, 2024
作者:
jiangwujie
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'v21.1_jianzhuang_20240807' into dev
上级
441a8fe5
401e32e7
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
147 行增加
和
1 行删除
+147
-1
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+4
-1
OrderChildServiceImpl3Test.java
.../performance/service/impl/OrderChildServiceImpl3Test.java
+143
-0
没有找到文件。
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
6ef5617a
...
@@ -3216,8 +3216,11 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -3216,8 +3216,11 @@ public class OrderChildServiceImpl implements OrderChildService {
if
(
orderChild
==
null
)
{
if
(
orderChild
==
null
)
{
return
new
OrderChildLoadRangeCheckResultVO
(
OrderChildEnum
.
NeedAlertEnum
.
FAIL
.
getCode
(),
ORDER_CHILD_NO_FOUND
.
getCode
(),
ORDER_CHILD_NO_FOUND
.
getMsg
());
return
new
OrderChildLoadRangeCheckResultVO
(
OrderChildEnum
.
NeedAlertEnum
.
FAIL
.
getCode
(),
ORDER_CHILD_NO_FOUND
.
getCode
(),
ORDER_CHILD_NO_FOUND
.
getMsg
());
}
}
//如果运单已经解除装车限制,则直接返回成功
if
(
Objects
.
equals
(
orderChild
.
getRemoveLoadLimitStatus
(),
OrderChildEnum
.
RemoveLoadLimitStatus
.
REMOVED
.
getCode
()))
{
return
new
OrderChildLoadRangeCheckResultVO
(
OrderChildEnum
.
NeedAlertEnum
.
OK
.
getCode
(),
OrderChildEnum
.
NeedAlertEnum
.
OK
.
getCode
(),
"验证通过"
);
}
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
get
();
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
get
();
//todo 解除装车限制
// 发货地址纬度
// 发货地址纬度
BigDecimal
sendLatitude
=
orderGoods
.
getSendLatitude
();
BigDecimal
sendLatitude
=
orderGoods
.
getSendLatitude
();
// 发货地经度
// 发货地经度
...
...
performance-web/src/test/java/com/clx/performance/service/impl/OrderChildServiceImpl3Test.java
0 → 100644
浏览文件 @
6ef5617a
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
());
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论