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
5be69c69
Commit
5be69c69
authored
Aug 06, 2020
by
徐康
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/20200727_麦咖啡p1v2支付券码路由' into develop
parents
17961380
5e28039c
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
150 additions
and
152 deletions
+150
-152
order-application-service/src/main/java/cn/freemud/service/impl/CheckMCCafeOrder.java
+44
-52
order-application-service/src/main/java/cn/freemud/service/mccafe/CouponClientService.java
+1
-1
order-application-service/src/main/java/cn/freemud/service/mccafe/impl/CouponClientServiceImpl.java
+67
-63
order-application-service/src/main/java/cn/freemud/service/mccafe/impl/MCCafeOrderCenterSdkServiceImpl.java
+38
-36
No files found.
order-application-service/src/main/java/cn/freemud/service/impl/CheckMCCafeOrder.java
View file @
5be69c69
...
...
@@ -181,7 +181,6 @@ public class CheckMCCafeOrder {
throw
new
ServiceException
(
ResponseResult
.
PARAMETER_MISSING
);
}
String
appId
=
userLoginInfoDto
.
getWxAppId
();
// 校验小程序是否支持到店或者外卖
AssortmentOpenPlatformIappWxappConfig
config
=
openPlatformIappWxappConfigManager
.
selectIappWxappConfigByWxAppId
(
appId
);
...
...
@@ -249,7 +248,7 @@ public class CheckMCCafeOrder {
}
// 外卖单选择立即送达的话,下单时间必须在店铺外卖时间内
if
(
createOrderVo
.
getOrderType
().
compareTo
(
CreateOrderType
.
TAKE_OUT
.
getCode
())
==
0
)
{
checkTakeOutTime
(
storeResponseDto
,
new
Date
(),
new
Date
()
,
true
);
checkTakeOutTime
(
storeResponseDto
,
new
Date
(),
new
Date
());
}
}
//有预约时间的自提单
...
...
@@ -328,7 +327,7 @@ public class CheckMCCafeOrder {
}
if
(
CreateOrderType
.
TAKE_OUT
.
getCode
().
equals
(
createOrderVo
.
getOrderType
()))
{
checkTakeOutTime
(
storeResponseDto
,
date
,
takeMealDateTime
,
expectTimeInTodayBusinessTime
);
checkTakeOutTime
(
storeResponseDto
,
date
,
takeMealDateTime
);
}
}
...
...
@@ -337,9 +336,8 @@ public class CheckMCCafeOrder {
* @param storeResponseDto 店铺信息
* @param now 当前时间
* @param expectTime 预约单送达时间/即时单下单时间
* @param expectTimeInTodayBusinessTime 是否在当日营业时间内
*/
private
void
checkTakeOutTime
(
StoreResponse
.
BizVO
storeResponseDto
,
Date
now
,
Date
expectTime
,
boolean
expectTimeInTodayBusinessTime
)
{
private
void
checkTakeOutTime
(
StoreResponse
.
BizVO
storeResponseDto
,
Date
now
,
Date
expectTime
)
{
String
deliveryStr
=
storeResponseDto
.
getDeliveryHoursDay
().
replace
(
"-"
,
","
)
.
replace
(
"_"
,
","
);
String
[]
deliverys
=
deliveryStr
.
split
(
","
);
...
...
@@ -361,13 +359,7 @@ public class CheckMCCafeOrder {
throw
new
ServiceException
(
ResponseResult
.
ORDER_CREATE_TIME_NOT_DELIVERY
);
}
// 校验预约配送时间
if
(
expectTimeInTodayBusinessTime
&&
(
expectTime
.
before
(
deliveryStartDate
)
||
expectTime
.
after
(
deliveryEndDate
)))
{
throw
new
ServiceException
(
ResponseResult
.
ORDER_CREATE_TIME_NOT_DELIVERY
);
}
Date
nextDeliveryStartDate
=
DateUtil
.
addDays
(
deliveryStartDate
,
1
);
Date
nextDeliveryEndDate
=
DateUtil
.
addDays
(
deliveryEndDate
,
1
);
// 隔日预约外卖校验预约配送时间
if
(!
expectTimeInTodayBusinessTime
&&
(
expectTime
.
before
(
nextDeliveryStartDate
)
||
expectTime
.
after
(
nextDeliveryEndDate
)))
{
if
(
expectTime
.
before
(
deliveryStartDate
)
||
expectTime
.
after
(
deliveryEndDate
))
{
throw
new
ServiceException
(
ResponseResult
.
ORDER_CREATE_TIME_NOT_DELIVERY
);
}
}
...
...
@@ -602,47 +594,47 @@ public class CheckMCCafeOrder {
requestDto
.
setShoppingCartInfoRequestVo
(
shoppingCartInfoRequestVo
);
//加价购商品 校验放购物车校验
requestDto
.
setPremiumExchangeActivity
(
createOrderVo
.
getPremiumExchangeActivity
());
cn
.
freemud
.
base
.
entity
.
BaseResponse
<
ShoppingCartGoodsDto
>
apportionResponse
=
shoppingCartClient
.
getShoppingCartGoodsApportionNew
(
requestDto
);
//
cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto> apportionResponse = shoppingCartClient.getShoppingCartGoodsApportionNew(requestDto);
//暂时写死测试数据
//
cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto> apportionResponse = JSON.parseObject(
//
"{\n" +
//
" \"code\": \"100\",\n" +
//
" \"message\": \"success\",\n" +
//
" \"result\": {\n" +
//
" \"activityDiscountsDtos\": [],\n" +
//
" \"isDiscountDelivery\": false,\n" +
//
" \"originalTotalAmount\": 1,\n" +
//
" \"products\": [\n" +
//
" {\n" +
//
" \"activityDiscountsDtos\": [],\n" +
//
" \"attributeNames\": \"{\\\"attributeNames\\\":\\\"\\\"}\",\n" +
//
" \"categoryName\": \"鞍山市\",\n" +
//
" \"classificationId\": \"\",\n" +
//
" \"customerCode\": \"4095\",\n" +
//
" \"extraList\": [],\n" +
//
" \"hasProductCoupon\": false,\n" +
//
" \"materialList\": [],\n" +
//
" \"originalPrice\": 1,\n" +
//
" \"picture\": \"https://img10.sandload.cn/zfd0x0.jpg?timestamp=1593831027040\",\n" +
//
" \"qty\": 1,\n" +
//
" \"skuId\": \"162535232231270663\",\n" +
//
" \"skuName\": \"鱿鱼须把把串\",\n" +
//
" \"spuId\": \"162535232231270663\",\n" +
//
" \"spuName\": \"鱿鱼须把把串\",\n" +
//
" \"stockLimit\": false,\n" +
//
" \"totalDiscountAmount\": 0,\n" +
//
" \"unit\": \"g\",\n" +
//
" \"weight\": 0\n" +
//
" }\n" +
//
" ],\n" +
//
" \"reduceScore\": 0,\n" +
//
" \"scoreReduceAmount\": 0,\n" +
//
" \"totalAmount\": 1,\n" +
//
" \"totalDiscountAmount\": 0\n" +
//
" },\n" +
//
" \"ver\": \"1\"\n" +
//
"}", new TypeReference<cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto>>(){}
//
);
cn
.
freemud
.
base
.
entity
.
BaseResponse
<
ShoppingCartGoodsDto
>
apportionResponse
=
JSON
.
parseObject
(
"{\n"
+
" \"code\": \"100\",\n"
+
" \"message\": \"success\",\n"
+
" \"result\": {\n"
+
" \"activityDiscountsDtos\": [],\n"
+
" \"isDiscountDelivery\": false,\n"
+
" \"originalTotalAmount\": 1,\n"
+
" \"products\": [\n"
+
" {\n"
+
" \"activityDiscountsDtos\": [],\n"
+
" \"attributeNames\": \"{\\\"attributeNames\\\":\\\"\\\"}\",\n"
+
" \"categoryName\": \"鞍山市\",\n"
+
" \"classificationId\": \"\",\n"
+
" \"customerCode\": \"4095\",\n"
+
" \"extraList\": [],\n"
+
" \"hasProductCoupon\": false,\n"
+
" \"materialList\": [],\n"
+
" \"originalPrice\": 1,\n"
+
" \"picture\": \"https://img10.sandload.cn/zfd0x0.jpg?timestamp=1593831027040\",\n"
+
" \"qty\": 1,\n"
+
" \"skuId\": \"162535232231270663\",\n"
+
" \"skuName\": \"鱿鱼须把把串\",\n"
+
" \"spuId\": \"162535232231270663\",\n"
+
" \"spuName\": \"鱿鱼须把把串\",\n"
+
" \"stockLimit\": false,\n"
+
" \"totalDiscountAmount\": 0,\n"
+
" \"unit\": \"g\",\n"
+
" \"weight\": 0\n"
+
" }\n"
+
" ],\n"
+
" \"reduceScore\": 0,\n"
+
" \"scoreReduceAmount\": 0,\n"
+
" \"totalAmount\": 1,\n"
+
" \"totalDiscountAmount\": 0\n"
+
" },\n"
+
" \"ver\": \"1\"\n"
+
"}"
,
new
TypeReference
<
cn
.
freemud
.
base
.
entity
.
BaseResponse
<
ShoppingCartGoodsDto
>>(){}
);
if
(!
ObjectUtils
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
,
apportionResponse
.
getCode
()))
{
ResponseResult
responseResult
=
ResponseResult
.
getResponseResult
(
apportionResponse
.
getCode
());
throw
new
ServiceException
(
responseResult
!=
null
?
responseResult
:
ResponseResult
.
SHOPPING_CART_GETINFO_ERROR
);
...
...
order-application-service/src/main/java/cn/freemud/service/mccafe/CouponClientService.java
View file @
5be69c69
...
...
@@ -12,7 +12,7 @@ import java.util.List;
public
interface
CouponClientService
{
//
CouponRedeemResponse redeem(QueryOrdersResponse.DataBean.OrderBean orderBean, List<CreateOrderAccountRequest> accounts);
CouponRedeemResponse
redeem
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
List
<
CreateOrderAccountRequest
>
accounts
);
CouponRedeemResponse
redeem
(
MCCafeConponRequest
mcCafeConponRequest
);
...
...
order-application-service/src/main/java/cn/freemud/service/mccafe/impl/CouponClientServiceImpl.java
View file @
5be69c69
This diff is collapsed.
Click to expand it.
order-application-service/src/main/java/cn/freemud/service/mccafe/impl/MCCafeOrderCenterSdkServiceImpl.java
View file @
5be69c69
...
...
@@ -6,6 +6,8 @@ import cn.freemud.amqp.MQMessage;
import
cn.freemud.amqp.MQService
;
import
cn.freemud.service.mccafe.CouponClientService
;
import
cn.freemud.service.mccafe.MCCafeOrderCenterSdkService
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderType
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
...
...
@@ -185,53 +187,53 @@ public class MCCafeOrderCenterSdkServiceImpl implements MCCafeOrderCenterSdkServ
}
}
CouponBaseResponse
couponRedeemResponse
=
couponClientService
.
lock
(
orderBean
,
accounts
);
// CouponBaseResponse couponBaseResponse = couponClientService.lock(orderBean, accounts);
// if (couponBaseResponse!=null){
//
// if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponBaseResponse.getStatusCode())) {
// //TODO 失败取消订单,异步冲正库存
// CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
// AfterSalesType.SYSTEM_CANCEL, "冻结券码失败", "", null);
// orderCenterSdkService.orderCancel(cancelOrderRequest);
// //失败异步冲正库存,取消订单
// backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
// return BaseOrderResponse.getErrorBaseOrderResponse(couponBaseResponse.getStatusCode(), "冻结券码失败");
// }
// }
// 如果是自提,则冻结优惠券,失败提示下单失败并冲正库存积分等
// 如果是外卖,则核销优惠券,失败提示下单失败并冲正库存积分等
if
(
OldOrderType
.
TAKE_OUT
.
getCode
().
equals
(
orderBean
.
getType
()))
{
CouponRedeemResponse
couponRedeemResponse
=
couponClientService
.
redeem
(
orderBean
,
accounts
);
if
(
couponRedeemResponse
!=
null
){
if
(!
ObjectUtils
.
equals
(
RESPONSE_SUCCESS_STR
,
couponRedeemResponse
.
getStatusCode
()))
{
//TODO 失败取消订单,异步冲正库存
CancelOrderRequest
cancelOrderRequest
=
orderSdkAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
AfterSalesType
.
SYSTEM_CANCEL
,
"冻结
券码失败"
,
""
,
null
);
AfterSalesType
.
SYSTEM_CANCEL
,
"核销
券码失败"
,
""
,
null
);
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
//失败异步冲正库存,取消订单
backOrdersNotifyActivity
(
orderBean
,
mqMessageRequest
.
getBackOrdersNotifyActivityQueue
(),
mqMessageRequest
.
getBackOrdersNotifyActivityExchange
());
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
couponRedeemResponse
.
getStatusCode
(),
"冻结
券码失败"
);
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
couponRedeemResponse
.
getStatusCode
(),
"核销
券码失败"
);
}
}
}
else
if
(
OldOrderType
.
COLLECT_GOODS
.
getCode
().
equals
(
orderBean
.
getType
())
||
OldOrderType
.
EAT_IN
.
getCode
().
equals
(
orderBean
.
getType
()))
{
CouponBaseResponse
couponBaseResponse
=
couponClientService
.
lock
(
orderBean
,
accounts
);
// 如果是自提,则冻结优惠券,失败提示下单失败并冲正库存积分等
// 如果是外卖,则核销优惠券,失败提示下单失败并冲正库存积分等
// if(OldOrderType.TAKE_OUT.getCode().equals(orderBean.getType())) {
// CouponRedeemResponse couponRedeemResponse = couponClientService.redeem(orderBean, accounts);
//
// if (couponRedeemResponse!=null){
//
// if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponRedeemResponse.getStatusCode())) {
// //TODO 失败取消订单,异步冲正库存
// CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
// AfterSalesType.SYSTEM_CANCEL, "核销券码失败", "", null);
// orderCenterSdkService.orderCancel(cancelOrderRequest);
// //失败异步冲正库存,取消订单
// backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
// return BaseOrderResponse.getErrorBaseOrderResponse(couponRedeemResponse.getStatusCode(), "核销券码失败");
// }
// }
// } else if(OldOrderType.COLLECT_GOODS.getCode().equals(orderBean.getType()) || OldOrderType.EAT_IN.getCode().equals(orderBean.getType())) {
// CouponRedeemResponse couponRedeemResponse = couponClientService.lock(orderBean, accounts);
//
// if (couponRedeemResponse!=null){
//
// if (!ObjectUtils.equals(RESPONSE_SUCCESS_STR, couponRedeemResponse.getStatusCode())) {
// //TODO 失败取消订单,异步冲正库存
// CancelOrderRequest cancelOrderRequest = orderSdkAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
// AfterSalesType.SYSTEM_CANCEL, "冻结券码失败", "", null);
// orderCenterSdkService.orderCancel(cancelOrderRequest);
// //失败异步冲正库存,取消订单
// backOrdersNotifyActivity(orderBean, mqMessageRequest.getBackOrdersNotifyActivityQueue(), mqMessageRequest.getBackOrdersNotifyActivityExchange());
// return BaseOrderResponse.getErrorBaseOrderResponse(couponRedeemResponse.getStatusCode(), "冻结券码失败");
// }
// }
// }
if
(
couponBaseResponse
!=
null
){
if
(!
ObjectUtils
.
equals
(
RESPONSE_SUCCESS_STR
,
couponBaseResponse
.
getStatusCode
()))
{
//TODO 失败取消订单,异步冲正库存
CancelOrderRequest
cancelOrderRequest
=
orderSdkAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
AfterSalesType
.
SYSTEM_CANCEL
,
"冻结券码失败"
,
""
,
null
);
orderCenterSdkService
.
orderCancel
(
cancelOrderRequest
);
//失败异步冲正库存,取消订单
backOrdersNotifyActivity
(
orderBean
,
mqMessageRequest
.
getBackOrdersNotifyActivityQueue
(),
mqMessageRequest
.
getBackOrdersNotifyActivityExchange
());
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
couponBaseResponse
.
getStatusCode
(),
"冻结券码失败"
);
}
}
}
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
RESPONSE_SUCCESS_STR
,
""
);
}
...
...
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