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
order-group-application
order-group
Commits
8edb7b84
Commit
8edb7b84
authored
May 24, 2021
by
王世昌
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/20210513-状态埋点监控查询-王世昌'
parents
bf02e4aa
d470bd2d
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
349 additions
and
10 deletions
+349
-10
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
+34
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/OrderCenterSdkService.java
+7
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/order/OrderCenterSdkServiceImpl.java
+13
-0
order-application-service/src/main/java/cn/freemud/controller/OrderReportController.java
+53
-0
order-application-service/src/main/java/cn/freemud/entities/dto/QueryStateMonitorInfoResp.java
+46
-0
order-application-service/src/main/java/cn/freemud/entities/vo/OrderStateMonitorInfoVo.java
+53
-0
order-application-service/src/main/java/cn/freemud/service/Orderservice.java
+11
-1
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+26
-9
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/response/OrderStateInfoResp.java
+91
-0
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/response/orderInfo/OrderOperationHistoryResp.java
+15
-0
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
View file @
8edb7b84
package
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
adapter
;
import
com.google.common.collect.Lists
;
import
cn.freemud.base.constant.Version
;
import
com.alibaba.fastjson.JSON
;
...
...
@@ -3617,4 +3618,37 @@ public class OrderSdkAdapter {
orderConfirmRequest
.
setTimeout
(
timeOut
);
return
orderConfirmRequest
;
}
public
OrderStateInfoResp
convent2OrderStateInfoResp
(
QueryByCodeResponse
orderInfo
)
{
if
(
Objects
.
isNull
(
orderInfo
))
{
return
null
;
}
OrderStateInfoResp
orderStateInfoResp
=
new
OrderStateInfoResp
();
orderStateInfoResp
.
setErrcode
(
Integer
.
parseInt
(
orderInfo
.
getCode
()));
orderStateInfoResp
.
setErrmsg
(
orderInfo
.
getMessage
());
if
(!
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
,
orderInfo
.
getCode
())
||
Objects
.
isNull
(
orderInfo
.
getResult
())
||
StringUtils
.
isBlank
(
orderInfo
.
getResult
().
getOrderCode
()))
{
return
orderStateInfoResp
;
}
OrderInfoReqs
orderInfoReqs
=
orderInfo
.
getResult
();
OrderStateInfoResp
.
OrderStateInfo
info
=
new
OrderStateInfoResp
.
OrderStateInfo
();
info
.
setOrderCode
(
orderInfoReqs
.
getOrderCode
());
info
.
setOrderState
(
orderInfoReqs
.
getOrderState
());
info
.
setAfterSalesState
(
orderInfoReqs
.
getAfterSalesState
());
info
.
setPayState
(
orderInfoReqs
.
getPayState
());
info
.
setOrderOperationHistoryList
(
orderInfoReqs
.
getOrderOperationHistoryList
());
// 获取当前状态最后一条匹配的操作时间
if
(
CollectionUtils
.
isNotEmpty
(
orderInfoReqs
.
getOrderOperationHistoryList
()))
{
List
<
OrderOperationHistoryResp
>
historyList
=
orderInfoReqs
.
getOrderOperationHistoryList
();
for
(
int
i
=
historyList
.
size
()
-
1
;
i
>=
0
;
i
--)
{
OrderOperationHistoryResp
historyResp
=
historyList
.
get
(
i
);
if
(
Objects
.
equals
(
historyResp
.
getTargetOrderState
(),
orderInfoReqs
.
getOrderState
()))
{
info
.
setStateUpdateTimestamp
(
historyResp
.
getUpdateTimestamp
());
info
.
setStateTimeout
(
historyResp
.
getTimeout
());
break
;
}
}
}
orderStateInfoResp
.
setData
(
info
);
return
orderStateInfoResp
;
}
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/OrderCenterSdkService.java
View file @
8edb7b84
...
...
@@ -4,6 +4,7 @@ import com.freemud.application.sdk.api.ordercenter.request.OrderModifyRelatingCo
import
com.freemud.application.sdk.api.ordercenter.request.QueryAfterSalesOrderConditionsReq
;
import
com.freemud.application.sdk.api.ordercenter.request.QueryLineUpOrderReq
;
import
com.freemud.application.sdk.api.ordercenter.response.AfterSalesListResp
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderStateInfoResp
;
import
com.freemud.sdk.api.assortment.order.request.order.*
;
import
com.freemud.sdk.api.assortment.order.response.order.*
;
...
...
@@ -391,4 +392,10 @@ public interface OrderCenterSdkService {
BaseOrderResponse
mallOrderRefundReject
(
CancelOrderRequest
cancelOrderRequest
);
/**
* 根据订单编号查询订单状态信息
*/
OrderStateInfoResp
queryOrderStateInfo
(
String
orderCode
,
String
partnerId
,
Byte
orderClient
,
String
trackNo
);
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/order/OrderCenterSdkServiceImpl.java
View file @
8edb7b84
...
...
@@ -2139,4 +2139,17 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
.
BaseResponse
response
=
orderSdkService
.
adultReject
(
request
,
cancelOrderRequest
.
getTrackingNo
());
return
orderSdkAdapter
.
convent2BaseOrderResponse
(
response
);
}
@Override
public
OrderStateInfoResp
queryOrderStateInfo
(
String
orderCode
,
String
partnerId
,
Byte
orderClient
,
String
trackNo
)
{
BaseQueryOrderRequest
request
=
new
BaseQueryOrderRequest
();
request
.
setOrderId
(
orderCode
);
request
.
setPartnerId
(
partnerId
);
if
(
Objects
.
nonNull
(
orderClient
)
&&
!
Objects
.
equals
(
orderClient
,
0
)
){
request
.
setOrderClient
(
orderClient
.
toString
());
}
QueryByCodeResponse
orderInfo
=
orderSdkService
.
getOrderInfo
(
request
.
getOrderClient
(),
request
.
getOrderId
(),
request
.
getThirdOrderCode
(),
1
,
request
.
getTrackingNo
());
return
orderSdkAdapter
.
convent2OrderStateInfoResp
(
orderInfo
);
}
}
order-application-service/src/main/java/cn/freemud/controller/OrderReportController.java
0 → 100644
View file @
8edb7b84
package
cn
.
freemud
.
controller
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.dto.QueryStateMonitorInfoResp
;
import
cn.freemud.entities.vo.OrderStateMonitorInfoVo
;
import
cn.freemud.service.Orderservice
;
import
com.freemud.application.sdk.api.log.ApiAnnotation
;
import
io.swagger.annotations.Api
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 订单状态监控查询
*
* @version: 1.0
* @Description: TODO
* @author: wangshichang
* @date: 2021/5/13 下午4:01
* @Copyright: www.freemud.cn Inc.
*/
@Api
(
tags
=
"订单状态监控"
)
@Slf4j
@Validated
@RequestMapping
(
"/order"
)
@RestController
public
class
OrderReportController
{
private
final
Orderservice
orderservice
;
public
OrderReportController
(
Orderservice
orderservice
)
{
this
.
orderservice
=
orderservice
;
}
/**
* 订单状态监控查询
* <p>用于提供给监控系统查询</p>
*
* @param queryResp 查询参数
* @return {@link BaseResponse< OrderStateMonitorInfoVo >}
*/
@ApiAnnotation
(
logMessage
=
"queryOrderStateMonitorInfo"
)
@GetMapping
(
"/stateMonitorInfo"
)
public
BaseResponse
<
OrderStateMonitorInfoVo
>
queryOrderStateMonitorInfo
(
@Validated
QueryStateMonitorInfoResp
queryResp
)
{
return
orderservice
.
queryOrderStateMonitorInfo
(
queryResp
.
getOrderCode
(),
queryResp
.
getPartnerId
(),
queryResp
.
getOrderClient
());
}
}
order-application-service/src/main/java/cn/freemud/entities/dto/QueryStateMonitorInfoResp.java
0 → 100644
View file @
8edb7b84
package
cn
.
freemud
.
entities
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
import
java.util.Objects
;
/**
* 查询订单状态监控信息参数
*
* @version: 1.0
* @Description: TODO
* @author: WangShiChang
* @date: 2021/5/13 下午4:36
* @Copyright: www.freemud.cn Inc.
*/
@ApiModel
(
"查询订单状态监控信息 参数"
)
@Data
public
class
QueryStateMonitorInfoResp
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
3946903275418853516L
;
/**
* 订单编号
*/
@ApiModelProperty
(
value
=
"订单编号"
,
required
=
true
)
@NotBlank
(
message
=
"订单编号为空"
)
private
String
orderCode
;
/**
* 订单下单渠道
*/
@ApiModelProperty
(
value
=
"订单下单渠道"
)
private
Byte
orderClient
;
/**
* 商户ID
*/
@ApiModelProperty
(
value
=
"商户ID"
)
@NotBlank
(
message
=
"商户ID为空"
)
private
String
partnerId
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/OrderStateMonitorInfoVo.java
0 → 100644
View file @
8edb7b84
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Objects
;
/**
* 订单状态监控信息
*
* @version: 1.0
* @Description: TODO
* @author: WangShiChang
* @date: 2021/5/13 下午4:36
* @Copyright: www.freemud.cn Inc.
*/
@Data
public
class
OrderStateMonitorInfoVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
2840452799139432761L
;
/**
* 订单编号
*/
private
String
orderCode
;
/**
* 订单状态
*/
private
Integer
orderState
;
/**
* 状态超时时间
*/
private
Long
stateTimeout
;
/**
* 是否需要监控
* 默认false
*/
private
Boolean
needMonitor
;
/**
* 更新时间戳
*/
private
Long
updateTimestamp
;
public
Boolean
getNeedMonitor
()
{
// 默认false
return
Objects
.
isNull
(
needMonitor
)
?
Boolean
.
FALSE
:
Boolean
.
TRUE
;
}
}
order-application-service/src/main/java/cn/freemud/service/Orderservice.java
View file @
8edb7b84
...
...
@@ -5,7 +5,6 @@ import cn.freemud.entities.dto.ConfirmOrderDto;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.entities.vo.*
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderCountResp
;
import
com.freemud.sdk.api.assortment.order.enums.OrderSdkType
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -177,4 +176,15 @@ public interface Orderservice {
* @return
*/
BaseResponse
<
List
<
OrderCountResp
>>
selectCountOrdersByPartnerIds
(
OrderCountRequestVo
orderCountRequestVo
,
String
trackingNo
);
/**
* 通过订单号查询订单详情
*
* @param orderCode 订单编号
* @param partnerId 商户号
* @param orderClient 订单下单渠道
* @return
*/
BaseResponse
<
OrderStateMonitorInfoVo
>
queryOrderStateMonitorInfo
(
String
orderCode
,
String
partnerId
,
Byte
orderClient
);
}
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
8edb7b84
...
...
@@ -40,15 +40,12 @@ import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import
cn.freemud.entities.dto.order.FacePayRequestDto
;
import
cn.freemud.entities.dto.order.FacePayResponseDto
;
import
cn.freemud.entities.dto.pay.CombPayResponse
;
import
cn.freemud.entities.dto.product.*
;
import
cn.freemud.entities.dto.promotion.*
;
import
cn.freemud.entities.dto.product.AttributeValue
;
import
cn.freemud.entities.dto.product.GroupDetail
;
import
cn.freemud.entities.dto.product.ProductAttributeGroup
;
import
cn.freemud.entities.dto.product.ProductGroup
;
import
cn.freemud.entities.dto.shoppingCart.CollageOrderDto
;
import
cn.freemud.entities.dto.product.*
;
import
cn.freemud.entities.dto.promotion.*
;
import
cn.freemud.entities.dto.shoppingCart.NewShoppingCartClearDto
;
import
cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto
;
import
cn.freemud.entities.vo.*
;
...
...
@@ -73,7 +70,6 @@ import cn.freemud.service.BuriedPointService;
import
cn.freemud.service.CouponActivityService
;
import
cn.freemud.service.OrderAdapterService
;
import
cn.freemud.service.Orderservice
;
import
cn.freemud.service.*
;
import
cn.freemud.service.order.OrderRelationFactory
;
import
cn.freemud.service.order.OrderRelationService
;
import
cn.freemud.service.thirdparty.*
;
...
...
@@ -91,7 +87,6 @@ import com.freemud.api.assortment.datamanager.meal.MealCacheManager;
import
com.freemud.application.sdk.api.constant.ResponseConstant
;
import
com.freemud.application.sdk.api.constant.ResponseResultEnum
;
import
com.freemud.application.sdk.api.couponcenter.offline.service.OfflineCouponSdkService
;
import
com.freemud.application.sdk.api.deliverycenter.service.DeliveryService
;
//import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService;
//import com.freemud.application.sdk.api.deliverycenter.response.DeliveryInfoDto;
//import com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto;
...
...
@@ -109,14 +104,11 @@ import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.ordercenter.request.SdkUpdateAbnormalState
;
import
com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.enums.PayChannelType
;
import
com.freemud.application.sdk.api.ordercenter.enums.ProductTypeEnum
;
import
com.freemud.application.sdk.api.ordercenter.request.*
;
import
com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderCreateReq
;
import
com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderCountResp
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderStateInfoResp
;
import
com.freemud.application.sdk.api.ordercenter.response.carpark.OrderResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp
;
...
...
@@ -4504,5 +4496,30 @@ public class OrderServiceImpl implements Orderservice {
return
ResponseUtil
.
success
(
result
.
getResult
());
}
@Override
public
BaseResponse
<
OrderStateMonitorInfoVo
>
queryOrderStateMonitorInfo
(
String
orderCode
,
String
partnerId
,
Byte
orderClient
)
{
BaseQueryOrderRequest
request
=
new
BaseQueryOrderRequest
();
request
.
setOrderId
(
orderCode
);
request
.
setPartnerId
(
partnerId
);
if
(
Objects
.
nonNull
(
orderClient
)
&&
!
Objects
.
equals
(
orderClient
,
0
))
{
request
.
setOrderClient
(
orderClient
.
toString
());
}
// 实时查询,暂时不查询es
OrderStateInfoResp
response
=
orderCenterSdkService
.
queryOrderStateInfo
(
orderCode
,
partnerId
,
orderClient
,
LogThreadLocal
.
getTrackingNo
());
if
(
Objects
.
isNull
(
response
)
||
!
Objects
.
equals
(
RESPONSE_SUCCESS_CODE
,
response
.
getErrcode
())
||
response
.
getData
()
==
null
)
{
LogUtil
.
info
(
"订单详情实时查询错误,queryOrderStateInfoResp,"
,
response
,
""
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_QUERYORDER_ERROR
);
}
OrderStateMonitorInfoVo
infoVo
=
new
OrderStateMonitorInfoVo
();
infoVo
.
setOrderCode
(
response
.
getData
().
getOrderCode
());
infoVo
.
setOrderState
(
response
.
getData
().
getOrderState
());
infoVo
.
setStateTimeout
(
response
.
getData
().
getStateTimeout
());
infoVo
.
setNeedMonitor
(
Objects
.
equals
(
response
.
getData
().
getStateTimeout
(),
0L
));
infoVo
.
setUpdateTimestamp
(
response
.
getData
().
getStateUpdateTimestamp
());
return
ResponseUtil
.
success
(
infoVo
);
}
}
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/response/OrderStateInfoResp.java
0 → 100644
View file @
8edb7b84
package
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderOperationHistoryResp
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Objects
;
/**
* 订单状态监控信息
*
* @version: 1.0
* @Description: TODO
* @author: WangShiChang
* @date: 2021/5/13 下午4:36
* @Copyright: www.freemud.cn Inc.
*/
@Data
public
class
OrderStateInfoResp
implements
Serializable
{
private
static
final
long
serialVersionUID
=
2840452799139432761L
;
private
Integer
errcode
;
private
String
errmsg
;
private
OrderStateInfo
data
;
@Data
public
static
class
OrderStateInfo
{
/**
* 订单编号
*/
private
String
orderCode
;
/**
* 订单状态
* 基础服务状态,未转换
*/
private
Integer
orderState
;
/**
* 售后单状态
*/
private
Integer
afterSalesState
;
/**
* 支付状态
*/
private
Integer
payState
;
/**
* 订单操作历史
*/
private
List
<
OrderOperationHistoryResp
>
orderOperationHistoryList
;
/**
* 状态更新时间戳
*/
private
Long
stateUpdateTimestamp
;
/**
* 状态超时时间 单位:秒
*/
private
Long
stateTimeout
;
public
Long
getStateUpdateTimestamp
()
{
return
Objects
.
isNull
(
stateUpdateTimestamp
)
?
0
:
stateUpdateTimestamp
;
}
public
Long
getStateTimeout
()
{
return
Objects
.
isNull
(
stateTimeout
)
?
0
:
stateTimeout
;
}
private
List
<
OrderOperationHistoryResp
>
getOrderOperationHistoryList
()
{
return
Objects
.
isNull
(
this
.
orderOperationHistoryList
)
?
Collections
.
emptyList
()
:
orderOperationHistoryList
;
}
private
boolean
hasAfterSales
()
{
return
Objects
.
isNull
(
afterSalesState
)
||
Objects
.
equals
(
afterSalesState
,
0
);
}
}
}
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/response/orderInfo/OrderOperationHistoryResp.java
View file @
8edb7b84
...
...
@@ -40,4 +40,19 @@ public class OrderOperationHistoryResp {
*/
private
String
operator
;
/**
* 原状态
*/
private
Integer
originOrderState
;
/**
* 目标状态
*/
private
Integer
targetOrderState
;
/**
* 状态超时时间 单位:秒
*/
private
Long
timeout
;
}
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