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
41b99c8f
Commit
41b99c8f
authored
May 12, 2021
by
张跃
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'featur/20210429-订单取消后库存增加-zy'
parents
6e4a8ebe
c10e6798
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
52 additions
and
10 deletions
+52
-10
order-application-service/src/main/java/cn/freemud/service/impl/SellCouponOrderServiceImpl.java
+52
-10
No files found.
order-application-service/src/main/java/cn/freemud/service/impl/SellCouponOrderServiceImpl.java
View file @
41b99c8f
...
@@ -13,12 +13,14 @@ import cn.freemud.entities.vo.GetMemberCouponRequestVo;
...
@@ -13,12 +13,14 @@ import cn.freemud.entities.vo.GetMemberCouponRequestVo;
import
cn.freemud.entities.vo.NgsSellCouponCreateOrderVo
;
import
cn.freemud.entities.vo.NgsSellCouponCreateOrderVo
;
import
cn.freemud.entities.vo.PaysuccessNoticeMessage
;
import
cn.freemud.entities.vo.PaysuccessNoticeMessage
;
import
cn.freemud.entities.vo.SellCouponCreateOrderVo
;
import
cn.freemud.entities.vo.SellCouponCreateOrderVo
;
import
cn.freemud.enums.BusinessTypeEnum
;
import
cn.freemud.enums.OrderBeanType
;
import
cn.freemud.enums.OrderBeanType
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.UserLoginChannelEnum
;
import
cn.freemud.enums.UserLoginChannelEnum
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.service.CouponService
;
import
cn.freemud.service.CouponService
;
import
cn.freemud.service.thirdparty.StoreItemClient
;
import
cn.freemud.utils.LogUtil
;
import
cn.freemud.utils.LogUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
...
@@ -34,36 +36,40 @@ import com.freemud.application.sdk.api.couponcenter.online.request.PartnerReques
...
@@ -34,36 +36,40 @@ import com.freemud.application.sdk.api.couponcenter.online.request.PartnerReques
import
com.freemud.application.sdk.api.couponcenter.online.response.CouponDetailResponse
;
import
com.freemud.application.sdk.api.couponcenter.online.response.CouponDetailResponse
;
import
com.freemud.application.sdk.api.couponcenter.online.service.FMActiveSdkService
;
import
com.freemud.application.sdk.api.couponcenter.online.service.FMActiveSdkService
;
import
com.freemud.application.sdk.api.couponcenter.online.service.OnlineCouponSdkService
;
import
com.freemud.application.sdk.api.couponcenter.online.service.OnlineCouponSdkService
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.ordercenter.enums.NewOrderStatus
;
import
com.freemud.application.sdk.api.log.ThirdPartyLog
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderClientType
;
import
com.freemud.application.sdk.api.ordercenter.enums.*
;
import
com.freemud.application.sdk.api.ordercenter.enums.OrderType
;
import
com.freemud.application.sdk.api.ordercenter.enums.PayChannelType
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderChangeStateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderChangeStateReq
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.create.*
;
import
com.freemud.application.sdk.api.ordercenter.request.create.*
;
import
com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.productcenter.request.product.GetProductInfoRequest
;
import
com.freemud.application.sdk.api.productcenter.request.product.GetProductInfoRequest
;
import
com.freemud.application.sdk.api.productcenter.response.menu.GetMenuCategoryInfoResponse
;
import
com.freemud.application.sdk.api.productcenter.response.menu.GetMenuCategoryInfoResponse
;
import
com.freemud.application.sdk.api.productcenter.response.product.GetProductInfosResponse
;
import
com.freemud.application.sdk.api.productcenter.response.product.GetProductInfosResponse
;
import
com.freemud.application.sdk.api.productcenter.service.MenuService
;
import
com.freemud.application.sdk.api.productcenter.service.MenuService
;
import
com.freemud.application.sdk.api.stockapi.request.UpdateStocksRequest
;
import
com.freemud.application.sdk.api.stockapi.service.StockSdkService
;
import
com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest
;
import
com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest
;
import
com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequest
;
import
com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequest
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.response.StoreResponse
;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
com.freemud.application.sdk.api.storecenter.service.StoreCenterService
;
import
com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.
request.order.ConfirmOrderRequest
;
import
com.freemud.sdk.api.assortment.order.
enums.StockChangeType
;
import
com.freemud.sdk.api.assortment.order.request.order.
OrderProductAddInfoDto
;
import
com.freemud.sdk.api.assortment.order.request.order.
*
;
import
com.freemud.sdk.api.assortment.order.re
quest.order.ProductBindingCouponTyp
e
;
import
com.freemud.sdk.api.assortment.order.re
sponse.order.BaseOrderRespons
e
;
import
com.freemud.sdk.api.assortment.order.response.order.CreateOrderResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.CreateOrderResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
com.freemud.sdk.api.assortment.order.util.LockUtils
;
import
com.freemud.sdk.api.assortment.order.util.LockUtils
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Maps
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
...
@@ -76,6 +82,8 @@ import java.time.format.DateTimeFormatter;
...
@@ -76,6 +82,8 @@ import java.time.format.DateTimeFormatter;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
import
static
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
domain
.
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
;
/**
/**
* All rights Reserved, Designed By www.freemud.cn
* All rights Reserved, Designed By www.freemud.cn
*
*
...
@@ -113,10 +121,12 @@ public class SellCouponOrderServiceImpl {
...
@@ -113,10 +121,12 @@ public class SellCouponOrderServiceImpl {
private
RedisCache
redisCache
;
private
RedisCache
redisCache
;
@Autowired
@Autowired
private
CouponService
couponService
;
private
CouponService
couponService
;
@Autowired
private
StockSdkService
stockSdkService
;
@Value
(
"${coupon.app.id}"
)
@Value
(
"${coupon.app.id}"
)
private
String
appId
;
private
String
appId
;
@Autowired
private
StoreItemClient
storeItemClient
;
@Value
(
"#{${ngs.virtual.store.idmap:null}}"
)
@Value
(
"#{${ngs.virtual.store.idmap:null}}"
)
private
Map
<
String
,
String
>
storeIdMap
;
private
Map
<
String
,
String
>
storeIdMap
;
...
@@ -149,6 +159,18 @@ public class SellCouponOrderServiceImpl {
...
@@ -149,6 +159,18 @@ public class SellCouponOrderServiceImpl {
// 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 点餐桌号
// 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 点餐桌号
checkOrder
.
checkOrderByStore
(
storeResponseDto
);
checkOrder
.
checkOrderByStore
(
storeResponseDto
);
GetProductInfoDto
getProductInfoDto
=
new
GetProductInfoDto
();
getProductInfoDto
.
setPartnerId
(
partnerId
);
getProductInfoDto
.
setShopId
(
storeId
);
getProductInfoDto
.
setProductInfoType
(
2
);
getProductInfoDto
.
setProductIds
(
Arrays
.
asList
(
requestVo
.
getSkuId
()));
getProductInfoDto
.
setChannel
(
BusinessTypeEnum
.
getByType
(
requestVo
.
getMenuType
()).
getCode
());
ProductInfosDto
productInfosDto
=
storeItemClient
.
listProductInfos
(
getProductInfoDto
);
if
(!
ResponseCodeConstant
.
RESPONSE_SUCCESS
.
equals
(
productInfosDto
.
getErrcode
())
||
CollectionUtils
.
isEmpty
(
productInfosDto
.
getData
().
getProducts
()))
{
ApiLog
.
info
(
"查询商品信息失败,getProductInfoDto,baseResponse"
,
getProductInfoDto
,
productInfosDto
);
return
ResponseUtil
.
error
(
productInfosDto
.
getCode
().
toString
(),
"商品不存在"
);
}
// GetProductInfoRequest request = new GetProductInfoRequest();
// GetProductInfoRequest request = new GetProductInfoRequest();
// request.setChannel(requestVo.getMenuType());
// request.setChannel(requestVo.getMenuType());
// request.setPartnerId(partnerId);
// request.setPartnerId(partnerId);
...
@@ -179,6 +201,7 @@ public class SellCouponOrderServiceImpl {
...
@@ -179,6 +201,7 @@ public class SellCouponOrderServiceImpl {
// if(activeDetailVO.getEffectiveEndTime() != null && activeDetailVO.getEffectiveEndTime().before(now)){
// if(activeDetailVO.getEffectiveEndTime() != null && activeDetailVO.getEffectiveEndTime().before(now)){
// return ResponseUtil.error(ResponseResult.COUPON_INVAILD);
// return ResponseUtil.error(ResponseResult.COUPON_INVAILD);
// }
// }
// }
// }
//卖券订单biztype默认传入6
//卖券订单biztype默认传入6
...
@@ -187,11 +210,30 @@ public class SellCouponOrderServiceImpl {
...
@@ -187,11 +210,30 @@ public class SellCouponOrderServiceImpl {
return
createOrderRequestResponse
;
return
createOrderRequestResponse
;
}
}
CreateOrderRequest
createOrderRequest
=
(
CreateOrderRequest
)
createOrderRequestResponse
.
getResult
();
CreateOrderRequest
createOrderRequest
=
(
CreateOrderRequest
)
createOrderRequestResponse
.
getResult
();
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
.
BaseResponse
<
OrderInfoReqs
>
orderInfoReqsBaseResponse
=
orderSdkService
.
createOrder
(
createOrderRequest
,
trackingNo
);
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
.
BaseResponse
<
OrderInfoReqs
>
orderInfoReqsBaseResponse
=
orderSdkService
.
createOrder
(
createOrderRequest
,
trackingNo
);
CreateOrderResponse
createOrderResponse
=
orderSdkAdapter
.
convent2NEWOrderInfoReqs
(
orderInfoReqsBaseResponse
);
CreateOrderResponse
createOrderResponse
=
orderSdkAdapter
.
convent2NEWOrderInfoReqs
(
orderInfoReqsBaseResponse
);
if
(
createOrderResponse
==
null
||
createOrderResponse
.
getErrcode
()
!=
100
)
{
if
(
createOrderResponse
==
null
||
createOrderResponse
.
getErrcode
()
!=
100
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_CREATE_ERROR
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_CREATE_ERROR
);
}
else
{
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
=
createOrderResponse
.
getData
();
if
(
productInfosDto
.
getData
().
getProducts
().
get
(
0
).
getStockLimit
()
==
1
){
CreateOrderProductRequest
productRequest
=
new
CreateOrderProductRequest
();
productRequest
.
setSpecification
(
requestVo
.
getSkuId
());
productRequest
.
setHasStockProudct
(
true
);
productRequest
.
setNumber
(
1
);
UpdateStocksRequest
updateStocksRequest
=
orderSdkAdapter
.
getUpdateProductStock
(
orderBean
,
Arrays
.
asList
(
productRequest
),
StockChangeType
.
REDUCE
,
requestVo
.
getMenuType
());
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
baseResponse
=
stockSdkService
.
reducesStocks
(
updateStocksRequest
,
""
);
ThirdPartyLog
.
infoConvertJson
(
System
.
currentTimeMillis
(),
System
.
currentTimeMillis
(),
"updateStock"
,
JSONObject
.
toJSONString
(
updateStocksRequest
),
JSONObject
.
toJSONString
(
baseResponse
));
if
(!
ObjectUtils
.
equals
(
RESPONSE_SUCCESS_STR
,
baseResponse
.
getCode
()))
{
//TODO 失败取消订单
CancelOrderRequest
cancelOrderRequest
=
orderSdkAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
AfterSalesType
.
SYSTEM_CANCEL
,
"商品库存不足"
,
""
,
null
);
BaseOrderResponse
orderResponse
=
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
return
ResponseUtil
.
error
(
baseResponse
.
getCode
(),
"商品库存不足"
);
}
}
}
}
//创建支付
//创建支付
...
...
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