Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
jenkins
order-group
Commits
2a6f13c0
Commit
2a6f13c0
authored
Feb 19, 2020
by
huvchao@126.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
校验创建配送单参数
parent
0f05daa6
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
82 additions
and
18 deletions
+82
-18
order-management/src/main/java/cn/freemud/management/service/OrderDeliveryService.java
+59
-18
order-management/src/main/java/cn/freemud/management/util/CheckException.java
+19
-0
order-management/src/main/java/cn/freemud/management/util/CommonResp.java
+4
-0
No files found.
order-management/src/main/java/cn/freemud/management/service/OrderDeliveryService.java
View file @
2a6f13c0
...
...
@@ -2,6 +2,7 @@ package cn.freemud.management.service;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.management.util.CheckException
;
import
cn.freemud.management.util.CommonResp
;
import
com.freemud.application.sdk.api.deliverycenter.dto.CreateDeliveryOrderRequestDto
;
import
com.freemud.application.sdk.api.deliverycenter.response.CreateDeliveryOrderResponseDto
;
...
...
@@ -11,6 +12,9 @@ import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
com.freemud.sdk.api.assortment.order.enums.OrderSourceType
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.google.common.base.Throwables
;
import
javafx.util.Pair
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
...
...
@@ -20,6 +24,7 @@ import java.util.ArrayList;
import
java.util.Date
;
import
java.util.List
;
@Slf4j
@Service
public
class
OrderDeliveryService
{
...
...
@@ -36,31 +41,42 @@ public class OrderDeliveryService {
private
int
SUCCESS
=
100
;
private
String
delivery_type_self
=
"self"
;
/**
* 外卖单创建配送信息
*
* @param orderCode
* @return
*/
public
BaseResponse
createDelivery
(
String
orderCode
)
{
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
=
orderBaseService
.
getByOrderCode
(
orderCode
);
return
CommonResp
.
success
(
this
.
createDelivery
(
orderBean
));
}
public
Boolean
createDelivery
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
//判断外卖单
if
(
1
!=
orderBean
.
getType
())
{
return
true
;
}
if
(!
orderBean
.
getSource
().
equalsIgnoreCase
(
OrderSourceType
.
SAAS
.
getCode
()))
{
return
true
;
if
(
null
==
orderBean
)
{
return
CommonResp
.
fail
(
"订单不存在"
);
}
//配送信息为空,则不创建配送单
if
(
orderBean
.
getAddInfo
()
==
null
||
orderBean
.
getAddInfo
().
getDeliveryType
()
==
null
)
{
return
true
;
Pair
<
Boolean
,
String
>
pair
=
checkOrderOfDelivery
(
orderBean
);
if
(!
pair
.
getKey
())
{
log
.
info
(
"无需创建配送单({}),{}"
,
orderBean
.
getOid
(),
pair
.
getValue
());
return
CommonResp
.
success
(
pair
.
getValue
());
}
//自配送不创建配送单
if
(
delivery_type_self
.
equalsIgnoreCase
(
orderBean
.
getAddInfo
().
getDeliveryType
()))
{
return
true
;
try
{
this
.
createDelivery
(
orderBean
);
}
catch
(
CheckException
e
)
{
log
.
error
(
"创建配送单失败({}),trace:{}"
,
orderCode
,
Throwables
.
getStackTraceAsString
(
e
));
return
CommonResp
.
fail
(
e
.
getMessage
());
}
return
CommonResp
.
success
();
}
/**
* 创建配送信息
*
* @param orderBean
* @return
*/
public
Boolean
createDelivery
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
StoreInfoRequest
storeInfoRequestDto
=
new
StoreInfoRequest
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
());
StoreResponse
storeInfo
=
storeCenterService
.
getStoreInfo
(
storeInfoRequestDto
,
LogTreadLocal
.
getTrackingNo
());
if
(
SUCCESS
!=
storeInfo
.
getStatusCode
()
||
storeInfo
.
getBizVO
()
==
null
)
{
return
false
;
throw
new
CheckException
(
"查询门店信息失败"
)
;
}
// 调用配送系统创建配送单
...
...
@@ -71,7 +87,7 @@ public class OrderDeliveryService {
if
(
deliveryResponse
==
null
||
SUCCESS
!=
deliveryResponse
.
getCode
()
||
deliveryResponse
.
getData
()
==
null
)
{
String
deliveryId
=
deliveryResponse
!=
null
&&
deliveryResponse
.
getData
()
!=
null
?
deliveryResponse
.
getData
().
getDeliveryId
()
:
""
;
orderBaseService
.
updateDeliveryAbnormal
(
orderBean
.
getCompanyId
(),
orderBean
.
getOid
(),
deliveryId
,
"sys"
);
return
false
;
throw
new
CheckException
(
"创建配送单信息失败"
)
;
}
// 创建配送单成功
orderBaseService
.
updateDeliverySuccess
(
orderBean
.
getOid
(),
deliveryResponse
.
getData
().
getDeliveryId
(),
"sys"
);
...
...
@@ -79,6 +95,31 @@ public class OrderDeliveryService {
}
/**
* 校验订单是否符合创建配送单要求
*
* @param orderBean
* @return
*/
public
Pair
<
Boolean
,
String
>
checkOrderOfDelivery
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
)
{
//判断外卖单
if
(
1
!=
orderBean
.
getType
())
{
return
new
Pair
<>(
false
,
"该订单不是外卖类型订单"
);
}
if
(!
orderBean
.
getSource
().
equalsIgnoreCase
(
OrderSourceType
.
SAAS
.
getCode
()))
{
return
new
Pair
<>(
false
,
"订单来源异常"
);
}
//配送信息为空,则不创建配送单
if
(
orderBean
.
getAddInfo
()
==
null
||
orderBean
.
getAddInfo
().
getDeliveryType
()
==
null
)
{
return
new
Pair
<>(
false
,
"未找到订单配送信息"
);
}
//自配送不创建配送单
if
(
delivery_type_self
.
equalsIgnoreCase
(
orderBean
.
getAddInfo
().
getDeliveryType
()))
{
return
new
Pair
<>(
false
,
"该订单为自配送"
);
}
return
new
Pair
<>(
true
,
"success"
);
}
/**
* 创建配送单请求对象
*
* @param order
...
...
order-management/src/main/java/cn/freemud/management/util/CheckException.java
0 → 100644
View file @
2a6f13c0
package
cn
.
freemud
.
management
.
util
;
import
lombok.Getter
;
@Getter
public
class
CheckException
extends
RuntimeException
{
protected
ResponseCodeEnum
responseCodeEnum
;
public
CheckException
(
ResponseCodeEnum
responseCodeEnum
)
{
super
(
responseCodeEnum
.
msg
);
this
.
responseCodeEnum
=
responseCodeEnum
;
}
public
CheckException
(
String
message
)
{
super
(
message
);
}
}
\ No newline at end of file
order-management/src/main/java/cn/freemud/management/util/CommonResp.java
View file @
2a6f13c0
...
...
@@ -49,6 +49,10 @@ public class CommonResp<T> extends BaseResponse<T> {
return
new
CommonResp
(
ResponseCodeEnum
.
FAILURE
);
}
public
static
CommonResp
fail
(
String
message
)
{
return
new
CommonResp
(
ResponseCodeEnum
.
FAILURE
.
code
,
message
);
}
public
static
CommonResp
fail
(
Object
data
)
{
return
new
CommonResp
(
ResponseCodeEnum
.
FAILURE
,
data
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment