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
00a7d00d
Commit
00a7d00d
authored
Aug 09, 2020
by
徐康
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
麦咖啡申请退款
parent
4f2e0986
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
259 additions
and
57 deletions
+259
-57
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
+3
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CreateOrderProductRequest.java
+3
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/OrderProductAddInfoDto.java
+2
-0
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+1
-0
order-application-service/src/main/java/cn/freemud/entities/dto/CancelDeliveryRequest.java
+21
-0
order-application-service/src/main/java/cn/freemud/entities/dto/QueryOrdersResponseDto.java
+4
-0
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
+5
-0
order-application-service/src/main/java/cn/freemud/enums/ReceiveOrderEnum.java
+37
-0
order-application-service/src/main/java/cn/freemud/service/impl/CheckMCCafeOrder.java
+41
-40
order-application-service/src/main/java/cn/freemud/service/impl/MCCafeOrderServiceImpl.java
+72
-11
order-application-service/src/main/java/cn/freemud/service/mccafe/impl/CouponClientServiceImpl.java
+18
-0
order-application-service/src/main/java/cn/freemud/service/mccafe/thirdparty/CouponOfflineMCCafeClient.java
+1
-1
order-application-service/src/main/java/cn/freemud/service/mccafe/thirdparty/DeliveryFeiginMCCafeClient.java
+16
-0
order-application-service/src/test/java/cn.freemud/service/CouponActivityServiceTest.java
+35
-5
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
View file @
00a7d00d
...
...
@@ -2687,6 +2687,9 @@ public class OrderSdkAdapter {
if
(
StringUtils
.
isNotBlank
(
product
.
getCategory
())){
extInfo
.
setThirdCensusCategoryId
(
product
.
getCategory
());
}
if
(
0
!=
product
.
getTax
()){
extInfo
.
setTax
(
product
.
getTax
());
}
extInfo
.
setStapleFood
(
product
.
getStapleFood
());
//if (product.getStapleFood()!=null && product.getStapleFood()>0) {
// extInfo.setStapleFood(1);
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CreateOrderProductRequest.java
View file @
00a7d00d
...
...
@@ -164,4 +164,7 @@ public class CreateOrderProductRequest extends BaseConfig {
/** 商品统计分类编号**/
private
String
category
;
/** 商品税率**/
private
double
tax
;
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/OrderProductAddInfoDto.java
View file @
00a7d00d
...
...
@@ -61,4 +61,6 @@ public class OrderProductAddInfoDto extends BaseConfig {
* 商品统计分类编号
*/
private
String
thirdCensusCategoryId
;
private
double
tax
;
}
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
00a7d00d
...
...
@@ -1919,6 +1919,7 @@ public class OrderAdapter {
createOrderProductDemoDto
.
setUnit
(
cartGoodsDetailDto
.
getUnit
());
createOrderProductDemoDto
.
setStapleFood
(
0
);
createOrderProductDemoDto
.
setCategory
(
cartGoodsDetailDto
.
getClassificationId
());
createOrderProductDemoDto
.
setTax
(
cartGoodsDetailDto
.
getTax
());
return
createOrderProductDemoDto
;
}
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/CancelDeliveryRequest.java
0 → 100644
View file @
00a7d00d
package
cn
.
freemud
.
entities
.
dto
;
import
lombok.Builder
;
import
lombok.Data
;
@Data
@Builder
public
class
CancelDeliveryRequest
{
private
String
displayOrderId
;
private
String
orderId
;
private
String
orderCancelCode
;
private
String
orderCancelDescription
;
private
String
receiveOrderType
;
private
String
storeId
;
}
order-application-service/src/main/java/cn/freemud/entities/dto/QueryOrdersResponseDto.java
View file @
00a7d00d
...
...
@@ -124,6 +124,10 @@ public class QueryOrdersResponseDto {
* 订单ID
*/
private
String
oid
;
/**
* 下游订单号
*/
private
String
downstreamThirdOrderCode
;
private
Integer
orderType
;
/**
* 取餐码
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/shoppingCart/ShoppingCartGoodsDto.java
View file @
00a7d00d
...
...
@@ -200,6 +200,11 @@ public class ShoppingCartGoodsDto {
private
String
unit
;
/**
* 费率
*/
private
double
tax
;
/**
* 配料或属性
*/
private
List
<
CartGoodsDetailDto
.
CartGoodsExtra
>
extraList
=
new
ArrayList
<>(
0
);
...
...
order-application-service/src/main/java/cn/freemud/enums/ReceiveOrderEnum.java
0 → 100644
View file @
00a7d00d
package
cn
.
freemud
.
enums
;
public
enum
ReceiveOrderEnum
{
NOT_RECEIVE_ORDER
(
0
,
"notReceiveOrder"
),
RECEIVED_ORDER
(
1
,
"receivedOrder"
),
;
private
Integer
code
;
private
String
desc
;
ReceiveOrderEnum
(
Integer
code
,
String
desc
)
{
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
Integer
getCode
()
{
return
code
;
}
public
void
setCode
(
Integer
code
)
{
this
.
code
=
code
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
}
order-application-service/src/main/java/cn/freemud/service/impl/CheckMCCafeOrder.java
View file @
00a7d00d
...
...
@@ -505,47 +505,48 @@ public class CheckMCCafeOrder {
requestDto
.
setShoppingCartInfoRequestVo
(
shoppingCartInfoRequestVo
);
//加价购商品 校验放购物车校验
requestDto
.
setPremiumExchangeActivity
(
createOrderVo
.
getPremiumExchangeActivity
());
cn
.
freemud
.
base
.
entity
.
BaseResponse
<
ShoppingCartGoodsDto
>
apportionResponse
=
shoppingCartClient
.
getMCCafeShoppingCartGoodsApportionNew
(
requestDto
);
//
cn.freemud.base.entity.BaseResponse<ShoppingCartGoodsDto> apportionResponse = shoppingCartClient.getMCCafeShoppingCartGoodsApportionNew(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"
+
" \"tax\": 10\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/impl/MCCafeOrderServiceImpl.java
View file @
00a7d00d
...
...
@@ -37,8 +37,10 @@ import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.*
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.management.entities.dto.request.order.OrderManagerRequest
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.service.*
;
import
cn.freemud.service.mccafe.thirdparty.DeliveryFeiginMCCafeClient
;
import
cn.freemud.service.thirdparty.*
;
import
cn.freemud.utils.LogUtil
;
import
cn.freemud.utils.ResponseUtil
;
...
...
@@ -56,6 +58,8 @@ import com.freemud.application.sdk.api.constant.ResponseConstant;
import
com.freemud.application.sdk.api.constant.ResponseResultEnum
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse
;
import
com.freemud.application.sdk.api.deliverycenter.dto.CancelDeliveryOrderRequestDto
;
import
com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto
;
import
com.freemud.application.sdk.api.deliverycenter.service.DeliveryService
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
...
...
@@ -63,6 +67,8 @@ 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.request.OrderExtInfoDto
;
import
com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq
;
import
com.freemud.application.sdk.api.ordercenter.request.UpdateDownstreamOrderCodeReq
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.paymentcenter.client.request.CodePayRequest
;
import
com.freemud.application.sdk.api.paymentcenter.client.request.SVCCardAmountRequest
;
import
com.freemud.application.sdk.api.paymentcenter.client.response.CodePayResponse
;
...
...
@@ -103,6 +109,7 @@ import org.apache.commons.collections4.CollectionUtils;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.builder.ToStringBuilder
;
import
org.bouncycastle.cert.ocsp.Req
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
@@ -208,6 +215,10 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
private
AssortmentOpenPlatformPartnerManager
assortmentOpenPlatformPartnerManager
;
@Autowired
private
CouponClientService
couponClientService
;
@Autowired
private
DeliveryFeiginMCCafeClient
deliveryFeiginMCCafeClient
;
@Autowired
private
OrderSdkService
orderSdkService
;
@Override
public
BaseResponse
createMCCafeOrder
(
CreateOrderVo
createOrderVo
)
{
...
...
@@ -864,6 +875,12 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
if
(
CollectionUtils
.
isNotEmpty
(
couponRedeemResponseList
)){
// TODO 记录一下核销失败的券
}
//调用基础订单接口更新信息
UpdateDownstreamOrderCodeReq
updateDownstreamOrderCodeReq
=
new
UpdateDownstreamOrderCodeReq
();
updateDownstreamOrderCodeReq
.
setOrderCode
(
orderBean
.
getOid
());
orderSdkService
.
updateDownstreamThirdOrderCode
(
updateDownstreamOrderCodeReq
,
LogThreadLocal
.
getTrackingNo
());
}
else
if
(
OldOrderType
.
COLLECT_GOODS
.
getCode
().
equals
(
orderBean
.
getType
())
||
OldOrderType
.
EAT_IN
.
getCode
().
equals
(
orderBean
.
getType
()))
{
List
<
CouponBaseResponse
>
couponBaseResponseList
=
couponClientService
.
lockBatch
(
orderBean
);
...
...
@@ -1004,6 +1021,9 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
if
(
OrderStatus
.
CALCEL
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"订单已取消,无法退款"
);
}
if
(
OrderStatus
.
COMPLETE
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"订单已完成,无法退款"
);
}
if
(
OldOrderType
.
COLLECT_GOODS
.
getCode
().
equals
(
orderBean
.
getOrderType
())
||
OldOrderType
.
EAT_IN
.
getCode
().
equals
(
orderBean
.
getOrderType
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"麦咖啡到店订单不支持退款"
);
}
...
...
@@ -1021,8 +1041,8 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
OrderStatus
.
TAKE_ORDER
.
getCode
(),
OrderStatus
.
RECEIPT
.
getCode
(),
OrderStatus
.
COMPLETE_MAKE
.
getCode
(),
OrderStatus
.
DISTRIBUTION
.
getCode
()
,
OrderStatus
.
COMPLETE
.
getCode
()
OrderStatus
.
DISTRIBUTION
.
getCode
()
// ,
OrderStatus.COMPLETE.getCode()
));
if
(
enableRefundCodes
.
contains
(
orderBean
.
getStatus
())
&&
PayStatus
.
HAVE_PAID
.
getCode
().
equals
(
orderBean
.
getPayStatus
()))
{
...
...
@@ -1061,8 +1081,11 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
backOrdersStatusChange
(
orderBean
.
getOid
(),
orderBean
.
getStatus
());
}
else
{
//TODO 申请取消配送单
//申请取消配送单
BaseResponseDto
deliveryBaseResponse
=
cancelDelivery
(
orderBean
,
ReceiveOrderEnum
.
RECEIVED_ORDER
.
getDesc
());
if
(!
ResponseConstant
.
SUCCESS_RESPONSE_CODE_STR
.
equals
(
deliveryBaseResponse
))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"申请取消配送单失败,退款失败"
);
}
CancelOrderRequest
cancelOrderRequest
=
new
CancelOrderRequest
();
cancelOrderRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
...
...
@@ -1106,9 +1129,11 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
String
partnerId
=
orderBean
.
getCompanyId
();
int
state
=
PayRefundStatus
.
SUCCESS
.
getCode
();
//TODO 取消配送单
//取消配送单
BaseResponseDto
deliveryBaseResponse
=
cancelDelivery
(
orderBean
,
ReceiveOrderEnum
.
NOT_RECEIVE_ORDER
.
getDesc
());
if
(!
ResponseConstant
.
SUCCESS_RESPONSE_CODE
.
equals
(
deliveryBaseResponse
.
getErrcode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER__ERRORREFUND
.
getCode
(),
"申请取消配送单失败,退款失败"
);
}
if
(
orderBean
.
getAmount
()
!=
0
)
{
//调用支付退款
...
...
@@ -1124,10 +1149,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
partnerId
,
afterSalesType
,
orderRefundVo
.
getReason
(),
LogTreadLocal
.
getTrackingNo
(),
refundId
.
toString
());
cancelOrderRequest
.
setOperator
(
orderBean
.
getUserName
());
cancelOrderRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
if
(
PayRefundStatus
.
RUNNING
.
getCode
().
intValue
()
==
state
)
{
// 退款中
cancelOrderRequest
.
setCreateEvent
(
AfterSalesOrderCreateEventEnum
.
RETURN_COMPLETE
.
getCreateEvent
());
}
else
if
(
PayRefundStatus
.
SUCCESS
.
getCode
().
intValue
()
==
state
)
{
if
(
PayRefundStatus
.
SUCCESS
.
getCode
().
intValue
()
==
state
)
{
//退款成功
cancelOrderRequest
.
setCreateEvent
(
AfterSalesOrderCreateEventEnum
.
REFUND_COMPLETE
.
getCreateEvent
());
}
...
...
@@ -1141,6 +1163,45 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
}
/**
* 取消配送
*
* @param orderBean
* @param receiveOrderType
* @return
*/
public
BaseResponseDto
cancelDelivery
(
OrderBean
orderBean
,
String
receiveOrderType
)
{
BaseResponseDto
baseResponseDto
=
new
BaseResponseDto
();
baseResponseDto
.
setErrcode
(
100
);
if
(
orderBean
.
getType
()
==
1
&&
orderBean
.
getAddInfo
()
!=
null
)
{
Integer
deliverStatus
=
orderBean
.
getDeliverStatus
();
if
(
ObjectUtils
.
equals
(
cn
.
freemud
.
management
.
enums
.
DeliveryStatus
.
DELIVERYERROR
.
getCode
(),
deliverStatus
)
||
ObjectUtils
.
equals
(
cn
.
freemud
.
management
.
enums
.
DeliveryStatus
.
DELIVERYCANCEL
.
getCode
(),
deliverStatus
)
||
ObjectUtils
.
equals
(
cn
.
freemud
.
management
.
enums
.
DeliveryStatus
.
DELIVERYARRIVED
.
getCode
(),
deliverStatus
))
{
return
baseResponseDto
;
}
CancelDeliveryRequest
cancelDeliveryRequest
=
CancelDeliveryRequest
.
builder
()
.
displayOrderId
(
orderBean
.
getDownstreamThirdOrderCode
())
.
orderId
(
orderBean
.
getOid
())
.
orderCancelCode
(
"4"
)
.
orderCancelDescription
(
"用户申请退款"
)
.
storeId
(
orderBean
.
getShopId
())
.
receiveOrderType
(
receiveOrderType
).
build
();
BaseResponseDto
deliveryBaseResponse
=
deliveryFeiginMCCafeClient
.
cancelRequest
(
cancelDeliveryRequest
);
if
(
deliveryBaseResponse
==
null
||
!
ResponseConstant
.
SUCCESS_RESPONSE_CODE
.
equals
(
deliveryBaseResponse
.
getErrcode
()))
{
LogUtil
.
error
(
"申请取消配送单失败"
,
cancelDeliveryRequest
,
deliveryBaseResponse
);
baseResponseDto
.
setErrcode
(
100
);
baseResponseDto
.
setErrcode
(
baseResponseDto
.
getErrcode
());
baseResponseDto
.
setErrmsg
(
baseResponseDto
.
getErrmsg
());
return
baseResponseDto
;
// return cn.freemud.management.util.ResponseUtil.error(cn.freemud.management.enums.ResponseResult.DELIVERY_CANCEL_ORDER_ERROR);
}
}
return
baseResponseDto
;
}
/**
* 发送pos端消息
*/
public
void
sendPosMessage
(
String
partnerId
,
String
storeId
)
{
...
...
order-application-service/src/main/java/cn/freemud/service/mccafe/impl/CouponClientServiceImpl.java
View file @
00a7d00d
...
...
@@ -3,6 +3,7 @@ package cn.freemud.service.mccafe.impl;
import
cn.freemud.adapter.CouponAdapter
;
import
cn.freemud.adapter.OrderAdapter
;
import
cn.freemud.base.constant.Version
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.entities.dto.coupon.MCCafeCouponRequest
;
...
...
@@ -14,6 +15,8 @@ import cn.freemud.enums.MCCafeChannelEnum;
import
cn.freemud.enums.OrderAccountType
;
import
cn.freemud.service.mccafe.CouponClientService
;
import
cn.freemud.service.mccafe.thirdparty.CouponOfflineMCCafeClient
;
import
cn.freemud.utils.LogUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponQueryResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse
;
...
...
@@ -160,6 +163,7 @@ public class CouponClientServiceImpl implements CouponClientService {
accountList
.
stream
().
map
(
accountBean
->
couponAdapter
.
convert2MCCafeCouponRequest
(
orderBean
,
accountBean
)).
collect
(
Collectors
.
toList
());
List
<
CouponRedeemResponse
>
couponRedeemResponseList
=
new
ArrayList
<>();
List
<
CouponRedeemResponse
>
couponRedeemResponseListAll
=
new
ArrayList
<>();
redeem:
for
(
MCCafeCouponRequest
request
:
list
)
{
CouponRedeemResponse
couponRedeemResponse
=
null
;
...
...
@@ -167,10 +171,16 @@ public class CouponClientServiceImpl implements CouponClientService {
for
(
int
i
=
0
;
i
<
3
;
i
++)
{
couponRedeemResponse
=
redeem
(
request
);
if
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
couponRedeemResponse
.
getStatusCode
()))
{
couponRedeemResponseListAll
.
add
(
couponRedeemResponse
);
continue
redeem
;
}
}
couponRedeemResponseList
.
add
(
couponRedeemResponse
);
couponRedeemResponseListAll
.
add
(
couponRedeemResponse
);
}
if
(
CollectionUtils
.
isNotEmpty
(
couponRedeemResponseList
))
{
LogUtil
.
info
(
LogTreadLocal
.
getTrackingNo
(),
"麦咖啡核销券失败"
,
JSON
.
toJSONString
(
list
),
JSON
.
toJSONString
(
couponRedeemResponseListAll
));
}
return
couponRedeemResponseList
;
...
...
@@ -272,6 +282,7 @@ public class CouponClientServiceImpl implements CouponClientService {
accountList
.
stream
().
map
(
accountBean
->
couponAdapter
.
convert2MCCafeCouponLockRequest
(
orderBean
,
accountBean
)).
collect
(
Collectors
.
toList
());
List
<
CouponBaseResponse
>
baseResponseList
=
new
ArrayList
<>();
List
<
CouponBaseResponse
>
baseResponseListAll
=
new
ArrayList
<>();
lock:
for
(
MCCafeCouponLockRequest
request
:
list
)
{
CouponBaseResponse
baseResponse
=
null
;
...
...
@@ -279,10 +290,17 @@ public class CouponClientServiceImpl implements CouponClientService {
for
(
int
i
=
0
;
i
<
3
;
i
++)
{
baseResponse
=
lock
(
request
);
if
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
baseResponse
.
getStatusCode
()))
{
baseResponseListAll
.
add
(
baseResponse
);
continue
lock
;
}
}
baseResponseList
.
add
(
baseResponse
);
baseResponseListAll
.
add
(
baseResponse
);
}
if
(
CollectionUtils
.
isNotEmpty
(
baseResponseList
))
{
LogUtil
.
info
(
LogTreadLocal
.
getTrackingNo
(),
"麦咖啡冻结券失败"
,
JSON
.
toJSONString
(
list
),
JSON
.
toJSONString
(
baseResponseListAll
));
}
return
baseResponseList
;
...
...
order-application-service/src/main/java/cn/freemud/service/mccafe/thirdparty/CouponOfflineMCCafeClient.java
View file @
00a7d00d
...
...
@@ -9,7 +9,7 @@ import org.springframework.cloud.netflix.feign.FeignClient;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
@FeignClient
(
name
=
"COUPONMCCafe"
,
url
=
"
http://coupon-api-gateway-koderover-dev-coupon.api-ingress.sandload.cn
"
)
@FeignClient
(
name
=
"COUPONMCCafe"
,
url
=
"
${saas.couponofflineclient.feign.url}
"
)
@RequestMapping
(
produces
=
{
"application/json;charset=UTF-8"
})
public
interface
CouponOfflineMCCafeClient
{
...
...
order-application-service/src/main/java/cn/freemud/service/mccafe/thirdparty/DeliveryFeiginMCCafeClient.java
0 → 100644
View file @
00a7d00d
package
cn
.
freemud
.
service
.
mccafe
.
thirdparty
;
import
cn.freemud.entities.dto.BaseResponseDto
;
import
cn.freemud.entities.dto.CancelDeliveryRequest
;
import
cn.freemud.entities.dto.delivery.QueryDeliveryAmountRequestDto
;
import
cn.freemud.entities.dto.delivery.QueryDeliveryAmountResponseDto
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
@FeignClient
(
name
=
"DELIVERYCENTER"
,
url
=
"${delivery.center.baseUrl}"
)
public
interface
DeliveryFeiginMCCafeClient
{
@PostMapping
(
"/delivery/cancelRequest"
)
BaseResponseDto
cancelRequest
(
@RequestBody
CancelDeliveryRequest
request
);
}
order-application-service/src/test/java/cn.freemud/service/CouponActivityServiceTest.java
View file @
00a7d00d
...
...
@@ -2,16 +2,25 @@ package cn.freemud.service;
import
cn.freemud.OrderApplication
;
import
cn.freemud.base.constant.Version
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.entities.dto.BaseResponseDto
;
import
cn.freemud.entities.dto.QueryOrderByIdResponseDto
;
import
cn.freemud.entities.dto.coupon.MCCafeCouponRequest
;
import
cn.freemud.entities.dto.coupon.MCCafeCouponLockRequest
;
import
cn.freemud.entities.dto.coupon.MCCafeProductRedeemVo
;
import
cn.freemud.entities.dto.coupon.MCCafeTransactionVo
;
import
cn.freemud.enums.ReceiveOrderEnum
;
import
cn.freemud.service.impl.MCCafeOrderServiceImpl
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponQueryResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse
;
import
cn.freemud.enums.CouponReqTypeEnum
;
import
cn.freemud.service.mccafe.thirdparty.CouponOfflineMCCafeClient
;
import
com.freemud.sdk.api.assortment.order.request.order.BaseQueryOrderRequest
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrderByIdResponse
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -28,12 +37,18 @@ public class CouponActivityServiceTest {
@Autowired
private
CouponOfflineMCCafeClient
offlineMCCafeClient
;
@Autowired
private
MCCafeOrderServiceImpl
mcCafeOrderService
;
@Autowired
private
OrderCenterSdkService
orderCenterSdkService
;
@Test
public
void
redeemTest
()
{
MCCafeCouponRequest
couponCodeVerificationDto
=
new
MCCafeCouponRequest
();
couponCodeVerificationDto
.
setVer
(
Integer
.
valueOf
(
Version
.
VERSION_1
));
couponCodeVerificationDto
.
setReqtype
(
CouponReqTypeEnum
.
REDEEM
.
getCode
());
couponCodeVerificationDto
.
setPartnerId
(
120
5
);
couponCodeVerificationDto
.
setPartnerId
(
120
6
);
couponCodeVerificationDto
.
setStore_id
(
"khl-12345"
);
couponCodeVerificationDto
.
setStation_id
(
"1"
);
couponCodeVerificationDto
.
setOperator_id
(
"1"
);
...
...
@@ -66,7 +81,7 @@ public class CouponActivityServiceTest {
MCCafeCouponRequest
couponCodeVerificationDto
=
new
MCCafeCouponRequest
();
couponCodeVerificationDto
.
setVer
(
Integer
.
valueOf
(
Version
.
VERSION_1
));
couponCodeVerificationDto
.
setReqtype
(
CouponReqTypeEnum
.
CANCEL_REDEEM
.
getCode
());
couponCodeVerificationDto
.
setPartnerId
(
120
5
);
couponCodeVerificationDto
.
setPartnerId
(
120
6
);
couponCodeVerificationDto
.
setStore_id
(
"khl-12345"
);
couponCodeVerificationDto
.
setStation_id
(
"1"
);
couponCodeVerificationDto
.
setOperator_id
(
"1"
);
...
...
@@ -99,7 +114,7 @@ public class CouponActivityServiceTest {
MCCafeCouponRequest
couponCodeVerificationDto
=
new
MCCafeCouponRequest
();
couponCodeVerificationDto
.
setVer
(
Integer
.
valueOf
(
Version
.
VERSION_1
));
couponCodeVerificationDto
.
setReqtype
(
CouponReqTypeEnum
.
QUERY
.
getCode
());
couponCodeVerificationDto
.
setPartnerId
(
120
5
);
couponCodeVerificationDto
.
setPartnerId
(
120
6
);
couponCodeVerificationDto
.
setStore_id
(
"khl-12345"
);
couponCodeVerificationDto
.
setStation_id
(
"1"
);
couponCodeVerificationDto
.
setOperator_id
(
"1"
);
...
...
@@ -117,7 +132,7 @@ public class CouponActivityServiceTest {
MCCafeCouponLockRequest
couponCodeVerificationDto
=
new
MCCafeCouponLockRequest
();
couponCodeVerificationDto
.
setVer
(
Integer
.
valueOf
(
Version
.
VERSION_1
));
couponCodeVerificationDto
.
setReqType
(
89
);
couponCodeVerificationDto
.
setPartnerId
(
"120
5
"
);
couponCodeVerificationDto
.
setPartnerId
(
"120
6
"
);
couponCodeVerificationDto
.
setStoreId
(
"99992"
);
// 订单号
couponCodeVerificationDto
.
setTransId
(
"00000002"
);
...
...
@@ -139,7 +154,7 @@ public class CouponActivityServiceTest {
MCCafeCouponLockRequest
couponCodeVerificationDto
=
new
MCCafeCouponLockRequest
();
couponCodeVerificationDto
.
setVer
(
Integer
.
valueOf
(
Version
.
VERSION_1
));
couponCodeVerificationDto
.
setReqType
(
90
);
couponCodeVerificationDto
.
setPartnerId
(
"120
5
"
);
couponCodeVerificationDto
.
setPartnerId
(
"120
6
"
);
couponCodeVerificationDto
.
setStoreId
(
"khl-12345"
);
// 订单号
couponCodeVerificationDto
.
setTransId
(
"00000002"
);
...
...
@@ -155,4 +170,18 @@ public class CouponActivityServiceTest {
CouponBaseResponse
couponCodeResponseDto
=
offlineMCCafeClient
.
unlock
(
couponCodeVerificationDto
);
System
.
out
.
println
(
couponCodeResponseDto
);
}
@Test
public
void
cancelDelivery
()
{
BaseQueryOrderRequest
baseQueryOrderRequest
=
new
BaseQueryOrderRequest
();
baseQueryOrderRequest
.
setOrderId
(
"18551043261893838300001"
);
baseQueryOrderRequest
.
setTrackingNo
(
LogTreadLocal
.
getTrackingNo
());
QueryOrderByIdResponse
queryOrderByIdResponse
=
orderCenterSdkService
.
queryOrderById
(
baseQueryOrderRequest
);
String
string
=
JSONObject
.
toJSONString
(
queryOrderByIdResponse
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
string
);
QueryOrderByIdResponseDto
orderByIdResponseDto
=
jsonObject
.
toJavaObject
(
QueryOrderByIdResponseDto
.
class
);
BaseResponseDto
baseResponseDto
=
mcCafeOrderService
.
cancelDelivery
(
orderByIdResponseDto
.
getData
(),
ReceiveOrderEnum
.
NOT_RECEIVE_ORDER
.
getDesc
());
System
.
out
.
println
(
JSON
.
toJSONString
(
baseResponseDto
));
}
}
\ No newline at end of file
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