Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
0a597516
提交
0a597516
authored
8月 09, 2024
作者:
jiangwujie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feature(电子围栏): 实现客服解除装车限制接口,增加短信的单元测试
上级
cfe9a5b2
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
127 行增加
和
1 行删除
+127
-1
OrderCancelController.java
.../clx/performance/controller/pc/OrderCancelController.java
+1
-1
OrderCancelService.java
.../java/com/clx/performance/service/OrderCancelService.java
+7
-0
OrderCancelServiceImpl.java
.../clx/performance/service/impl/OrderCancelServiceImpl.java
+66
-0
OrderChildServiceImpl2Test.java
.../performance/service/impl/OrderChildServiceImpl2Test.java
+53
-0
没有找到文件。
performance-web/src/main/java/com/clx/performance/controller/pc/OrderCancelController.java
浏览文件 @
0a597516
...
...
@@ -75,7 +75,7 @@ public class OrderCancelController {
@ApiOperation
(
value
=
"客服解除装车限制"
,
notes
=
"<br>By:姜武杰"
)
@PostMapping
(
"/artificialRemoveLoadLimit"
)
public
Result
<
Object
>
artificialRemoveLoadLimit
(
@RequestBody
ArtificialCancelOrderParam
param
)
{
// TODO 待实现
orderCancelService
.
removeLoadLimit
(
param
);
return
Result
.
ok
();
}
...
...
performance-web/src/main/java/com/clx/performance/service/OrderCancelService.java
浏览文件 @
0a597516
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
;
...
...
@@ -56,4 +57,10 @@ public interface OrderCancelService {
* @return
*/
IPage
<
OrderChildOperateRecordVO
>
orderChildOperateRecord
(
OrderChildCancelRecordParam
param
);
/**
* 客服移除监装限制
* @param param
*/
void
removeLoadLimit
(
ArtificialCancelOrderParam
param
);
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderCancelServiceImpl.java
浏览文件 @
0a597516
...
...
@@ -23,7 +23,9 @@ 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
;
...
...
@@ -741,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
());
...
...
@@ -756,10 +768,14 @@ 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
...
...
@@ -795,5 +811,54 @@ public class OrderCancelServiceImpl implements OrderCancelService {
return
orderChildOperateRecordDao
.
orderChildOperateRecord
(
param
);
}
@Override
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
()))
{
log
.
error
(
"运单:{} 状态:{}不在【已接单】【前往货源地】【到达货源地】范围中,不允许解除装车限制"
,
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/test/java/com/clx/performance/service/impl/OrderChildServiceImpl2Test.java
0 → 100644
浏览文件 @
0a597516
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.clx.performance.service.DriverNoticeConfigService
;
import
com.clx.performance.vo.pc.DriverNoticeConfigVO
;
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.springframework.data.redis.core.RedisTemplate
;
import
java.math.BigDecimal
;
import
static
org
.
mockito
.
Mockito
.
when
;
@ExtendWith
(
MockitoExtension
.
class
)
public
class
OrderChildServiceImpl2Test
{
@Mock
private
RedisTemplate
redisTemplate
;
@Mock
private
DriverNoticeConfigService
driverNoticeConfigService
;
@InjectMocks
private
OrderChildServiceImpl
orderChildService
;
@BeforeEach
void
setUp
()
{
// Setup common mock interactions here if any
}
@Test
void
testOrderChildMessageNotice
()
{
orderChildService
.
orderChildMessageNotice
();
}
@Test
void
testOrderChildMessageNoticeListConfigDisabled
()
{
// Arrange
DriverNoticeConfigVO
configVO
=
new
DriverNoticeConfigVO
();
configVO
.
setStatus
(
0
);
configVO
.
setNoticeTriggerDistance
(
BigDecimal
.
valueOf
(
5000
));
when
(
driverNoticeConfigService
.
listConfig
()).
thenReturn
(
configVO
);
orderChildService
.
orderChildMessageNotice
();
}
}
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论