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
1a3ab1d2
Commit
1a3ab1d2
authored
Aug 17, 2020
by
zhiheng.zhang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/2020/08/06-1.9.34-劵锁定与解锁-张志恒'
parents
490098f8
6dd3c8de
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
207 additions
and
73 deletions
+207
-73
.gitignore
+0
-22
assortment-ordercenter-sdk/pom.xml
+1
-1
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
+20
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/order/OrderCenterSdkServiceImpl.java
+10
-29
order-application-service/pom.xml
+2
-2
order-application-service/src/main/java/cn/freemud/adapter/CouponAdapter.java
+31
-5
order-application-service/src/main/java/cn/freemud/enums/CouponReqType.java
+52
-0
order-application-service/src/main/java/cn/freemud/service/CouponActivityService.java
+2
-2
order-application-service/src/main/java/cn/freemud/service/impl/CouponActivityServiceImpl.java
+14
-7
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
+7
-4
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+49
-1
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/service/OrderDownLoadSdkService.java
+19
-0
No files found.
.gitignore
deleted
100644 → 0
View file @
490098f8
# Created by .ignore support plugin (hsz.mobi)
.gitignore
.idea/
assortment-ordercenter-sdk/assortment-ordercenter-sdk.iml
assortment-ordercenter-sdk/target/
assortment-shoppingcart-sdk/assortment-shoppingcart-sdk.iml
assortment-shoppingcart-sdk/target/
call-back-service/call-back-service.iml
call-back-service/target/
order-application-service/order-application-service.iml
order-application-service/target/
order-group.iml
ordercenter-sdk/ordercenter-sdk.iml
ordercenter-sdk/target/
platform-sdk/platform-sdk.iml
platform-sdk/target/
push-order-service/push-order-service.iml
push-order-service/target/
shopping-cart-application-service/shopping-cart-application-service.iml
shopping-cart-application-service/target/
order-management/order-management.iml
order-management/target/
assortment-ordercenter-sdk/pom.xml
View file @
1a3ab1d2
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
<dependency>
<dependency>
<artifactId>
couponcenter-sdk
</artifactId>
<artifactId>
couponcenter-sdk
</artifactId>
<groupId>
com.freemud.application.service.sdk
</groupId>
<groupId>
com.freemud.application.service.sdk
</groupId>
<version>
1.
9.2.RELEASE
</version>
<version>
1.
11.0-SNAPSHOT
</version>
<scope>
provided
</scope>
<scope>
provided
</scope>
</dependency>
</dependency>
<dependency>
<dependency>
...
...
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
View file @
1a3ab1d2
...
@@ -4,6 +4,7 @@ import cn.freemud.base.constant.Version;
...
@@ -4,6 +4,7 @@ import cn.freemud.base.constant.Version;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.application.sdk.api.couponcenter.offline.domain.ProductRedeemVO
;
import
com.freemud.application.sdk.api.couponcenter.offline.domain.ProductRedeemVO
;
import
com.freemud.application.sdk.api.couponcenter.offline.domain.TransactionVO
;
import
com.freemud.application.sdk.api.couponcenter.offline.domain.TransactionVO
;
import
com.freemud.application.sdk.api.couponcenter.offline.request.CouponLockRequest
;
import
com.freemud.application.sdk.api.couponcenter.offline.request.CouponRequest
;
import
com.freemud.application.sdk.api.couponcenter.offline.request.CouponRequest
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.log.LogThreadLocal
;
import
com.freemud.application.sdk.api.membercenter.request.UserScoreRequest
;
import
com.freemud.application.sdk.api.membercenter.request.UserScoreRequest
;
...
@@ -3081,4 +3082,23 @@ public class OrderSdkAdapter {
...
@@ -3081,4 +3082,23 @@ public class OrderSdkAdapter {
}
}
return
bizTypes
;
return
bizTypes
;
}
}
public
CouponLockRequest
convert2CouponLockRequest
(
QueryOrdersResponse
.
DataBean
.
OrderBean
orderBean
,
List
<
CreateOrderAccountRequest
>
accounts
){
if
(
CollectionUtils
.
isEmpty
(
accounts
))
{
return
null
;
}
Optional
<
CreateOrderAccountRequest
>
accountRequest
=
accounts
.
stream
().
filter
(
account
->
account
.
getAccountType
().
equals
(
QueryOrderAccountType
.
COUPON
)
||
account
.
getAccountType
().
equals
(
QueryOrderAccountType
.
PRODUCT_COUPON
)
||
account
.
getAccountType
().
equals
(
QueryOrderAccountType
.
DISCOUNT_COUPON
)).
findFirst
();
if
(!
accountRequest
.
isPresent
()
||
accountRequest
.
get
().
getPrice
()
==
0
)
{
return
null
;
}
CreateOrderAccountRequest
accountBean
=
accountRequest
.
get
();
CouponLockRequest
couponLockRequest
=
new
CouponLockRequest
();
// 订单号 替换成唯一序号
couponLockRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
couponLockRequest
.
setOrderId
(
orderBean
.
getOid
());
couponLockRequest
.
setCouponCode
(
accountBean
.
getAccountId
());
return
couponLockRequest
;
}
}
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/order/OrderCenterSdkServiceImpl.java
View file @
1a3ab1d2
...
@@ -13,7 +13,9 @@ import com.freemud.api.assortment.datamanager.order.config.ManagerOrderBeanConfi
...
@@ -13,7 +13,9 @@ import com.freemud.api.assortment.datamanager.order.config.ManagerOrderBeanConfi
import
com.freemud.api.assortment.datamanager.order.manager.AssortmentOrderManager
;
import
com.freemud.api.assortment.datamanager.order.manager.AssortmentOrderManager
;
import
com.freemud.api.assortment.datamanager.order.vo.DMOrderItemVo
;
import
com.freemud.api.assortment.datamanager.order.vo.DMOrderItemVo
;
import
com.freemud.application.sdk.api.base.BaseResponse
;
import
com.freemud.application.sdk.api.base.BaseResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.request.CouponLockRequest
;
import
com.freemud.application.sdk.api.couponcenter.offline.request.CouponRequest
;
import
com.freemud.application.sdk.api.couponcenter.offline.request.CouponRequest
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponLockResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.service.OfflineCouponSdkService
;
import
com.freemud.application.sdk.api.couponcenter.offline.service.OfflineCouponSdkService
;
import
com.freemud.application.sdk.api.log.ApiLog
;
import
com.freemud.application.sdk.api.log.ApiLog
;
...
@@ -217,20 +219,17 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
...
@@ -217,20 +219,17 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
userScoreResponse
.
getCode
(),
"积分不足"
);
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
userScoreResponse
.
getCode
(),
"积分不足"
);
}
}
}
}
// 核销优惠券,核销失败提示下单失败并冲正库存积分等
CouponRequest
couponVerificationRequest
=
orderSdkAdapter
.
convert2CouponVerificationRequest
(
orderBean
,
accounts
);
// 下单成锁定劵,冻结失败提示下单失败并冲正库存积分等
if
(
couponVerificationRequest
!=
null
){
CouponLockRequest
couponLockRequest
=
orderSdkAdapter
.
convert2CouponLockRequest
(
orderBean
,
accounts
);
// 核销券新增参数:组织机构
if
(
couponLockRequest
!=
null
){
couponVerificationRequest
.
setChannel_codes
(
this
.
getOrgIds
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
()));
BaseResponse
<
CouponLockResponse
>
couponLockResponseBaseResponse
=
offlineCouponSdkService
.
couponLock
(
couponLockRequest
,
""
);
BaseResponse
<
CouponRedeemResponse
>
couponRedeemResponseBaseResponse
=
offlineCouponSdkService
.
couponRedeem
(
couponVerificationRequest
,
""
);
if
(!
ObjectUtils
.
equals
(
RESPONSE_SUCCESS_STR
,
couponLockResponseBaseResponse
.
getCode
()))
{
if
(!
ObjectUtils
.
equals
(
RESPONSE_SUCCESS_STR
,
couponRedeemResponseBaseResponse
.
getCode
()))
{
CancelOrderRequest
cancelOrderRequest
=
orderSdkAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
AfterSalesType
.
SYSTEM_CANCEL
,
"锁定券码失败"
,
""
,
null
);
//TODO 失败取消订单,异步冲正库存
CancelOrderRequest
cancelOrderRequest
=
orderSdkAdapter
.
convent2CancelOrderRequest
(
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
AfterSalesType
.
SYSTEM_CANCEL
,
"核销券码失败"
,
""
,
null
);
orderCancel
(
cancelOrderRequest
);
orderCancel
(
cancelOrderRequest
);
//失败异步冲正库存,取消订单
//失败异步冲正库存,取消订单
backOrdersNotifyActivity
(
orderBean
,
mqMessageRequest
.
getBackOrdersNotifyActivityQueue
(),
mqMessageRequest
.
getBackOrdersNotifyActivityExchange
());
backOrdersNotifyActivity
(
orderBean
,
mqMessageRequest
.
getBackOrdersNotifyActivityQueue
(),
mqMessageRequest
.
getBackOrdersNotifyActivityExchange
());
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
coupon
RedeemResponseBaseResponse
.
getCode
(),
"核销券码失败"
);
return
BaseOrderResponse
.
getErrorBaseOrderResponse
(
coupon
LockResponseBaseResponse
.
getCode
(),
couponLockResponseBaseResponse
.
getMessage
()
);
}
}
}
}
...
@@ -1558,22 +1557,4 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
...
@@ -1558,22 +1557,4 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
}
}
return
minTime
;
return
minTime
;
}
}
/**
* 查询门店的组织机构
* @param partnerId
* @param storeCode
* @return
*/
private
List
<
String
>
getOrgIds
(
String
partnerId
,
String
storeCode
)
{
GetOrgTreeListRequest
request
=
new
GetOrgTreeListRequest
();
request
.
setPartnerId
(
partnerId
);
request
.
setStoreCode
(
storeCode
);
BaseResponse
<
List
<
String
>>
orgList
=
storeCenterService
.
getOrgList
(
request
,
LogThreadLocal
.
getTrackingNo
());
if
(
orgList
!=
null
&&
ResponseResult
.
SUCCESS
.
getCode
().
equals
(
orgList
.
getCode
()))
{
return
orgList
.
getData
();
}
return
null
;
}
}
}
order-application-service/pom.xml
View file @
1a3ab1d2
...
@@ -20,7 +20,7 @@
...
@@ -20,7 +20,7 @@
<dependency>
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
sdk-common-base
</artifactId>
<artifactId>
sdk-common-base
</artifactId>
<version>
1.
3.9-SNAPSHOT
</version>
<version>
1.
5.2.RELEASE
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.freemud.sdk.api.assortment
</groupId>
<groupId>
com.freemud.sdk.api.assortment
</groupId>
...
@@ -35,7 +35,7 @@
...
@@ -35,7 +35,7 @@
<dependency>
<dependency>
<artifactId>
couponcenter-sdk
</artifactId>
<artifactId>
couponcenter-sdk
</artifactId>
<groupId>
com.freemud.application.service.sdk
</groupId>
<groupId>
com.freemud.application.service.sdk
</groupId>
<version>
1.
9.2.RELEASE
</version>
<version>
1.
11.0-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
cn.freemud
</groupId>
<groupId>
cn.freemud
</groupId>
...
...
order-application-service/src/main/java/cn/freemud/adapter/CouponAdapter.java
View file @
1a3ab1d2
...
@@ -22,10 +22,7 @@ import cn.freemud.entities.dto.openplatform.AddWeixinCardJudgeResponseDto;
...
@@ -22,10 +22,7 @@ import cn.freemud.entities.dto.openplatform.AddWeixinCardJudgeResponseDto;
import
cn.freemud.entities.dto.promotion.CouponPromotionDto
;
import
cn.freemud.entities.dto.promotion.CouponPromotionDto
;
import
cn.freemud.entities.dto.promotion.OrderBeanRequest
;
import
cn.freemud.entities.dto.promotion.OrderBeanRequest
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.ActivityChannelEnum
;
import
cn.freemud.enums.*
;
import
cn.freemud.enums.ActivityShareType
;
import
cn.freemud.enums.CouponStatus
;
import
cn.freemud.enums.CouponTypeEnum
;
import
cn.freemud.utils.BeanUtil
;
import
cn.freemud.utils.BeanUtil
;
import
com.freemud.card.sdk.vo.coupon.request.MemberAddCouponVo
;
import
com.freemud.card.sdk.vo.coupon.request.MemberAddCouponVo
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
...
@@ -122,10 +119,39 @@ public class CouponAdapter {
...
@@ -122,10 +119,39 @@ public class CouponAdapter {
public
CouponCodeVerificationDto
convert2CouponCodeVerificationDto
(
ActivityChannelEnum
activityChannelEnum
,
String
couponCode
,
String
orderId
,
public
CouponCodeVerificationDto
convert2CouponCodeVerificationDto
(
ActivityChannelEnum
activityChannelEnum
,
String
couponCode
,
String
orderId
,
String
partnerCode
,
String
storeId
,
String
userId
,
String
partnerCode
,
String
storeId
,
String
userId
,
List
<
CouponCodeVerificationProductDto
>
products
,
Integer
discountPrice
,
CouponReqType
couponReqType
)
{
CouponCodeVerificationDto
couponCodeVerificationDto
=
new
CouponCodeVerificationDto
();
couponCodeVerificationDto
.
setVer
(
Integer
.
valueOf
(
Version
.
VERSION_1
));
couponCodeVerificationDto
.
setReqtype
(
couponReqType
.
getCode
());
couponCodeVerificationDto
.
setPartnerId
(
partnerCode
);
couponCodeVerificationDto
.
setChannel
(
activityChannelEnum
.
getCode
());
couponCodeVerificationDto
.
setStation_id
(
"-1"
);
couponCodeVerificationDto
.
setOperator_id
(
"-1"
);
couponCodeVerificationDto
.
setStore_id
(
storeId
);
// 订单号 替换成唯一序号
couponCodeVerificationDto
.
setTrans_id
(
orderId
);
couponCodeVerificationDto
.
setBusiness_date
(
DateUtil
.
convert2Str
(
new
Date
(),
DateUtil
.
FORMAT_yyyyMMdd
));
List
<
CouponCodeVerificationTransDto
>
transactions
=
new
ArrayList
<>();
CouponCodeVerificationTransDto
couponCodeVerificationTransDto
=
new
CouponCodeVerificationTransDto
();
couponCodeVerificationTransDto
.
setCode
(
couponCode
);
if
(
discountPrice
!=
null
&&
discountPrice
<
0
)
{
discountPrice
=
0
-
discountPrice
;
}
couponCodeVerificationTransDto
.
setTotalAmount
(
discountPrice
);
if
(
CollectionUtils
.
isNotEmpty
(
products
))
{
couponCodeVerificationTransDto
.
setProducts
(
products
);
}
transactions
.
add
(
couponCodeVerificationTransDto
);
couponCodeVerificationDto
.
setTransactions
(
transactions
);
return
couponCodeVerificationDto
;
}
public
CouponCodeVerificationDto
convert2CouponReverseDto
(
ActivityChannelEnum
activityChannelEnum
,
String
couponCode
,
String
orderId
,
String
partnerCode
,
String
storeId
,
String
userId
,
List
<
CouponCodeVerificationProductDto
>
products
,
Integer
discountPrice
)
{
List
<
CouponCodeVerificationProductDto
>
products
,
Integer
discountPrice
)
{
CouponCodeVerificationDto
couponCodeVerificationDto
=
new
CouponCodeVerificationDto
();
CouponCodeVerificationDto
couponCodeVerificationDto
=
new
CouponCodeVerificationDto
();
couponCodeVerificationDto
.
setVer
(
Integer
.
valueOf
(
Version
.
VERSION_1
));
couponCodeVerificationDto
.
setVer
(
Integer
.
valueOf
(
Version
.
VERSION_1
));
couponCodeVerificationDto
.
setReqtype
(
71
);
couponCodeVerificationDto
.
setReqtype
(
3
);
couponCodeVerificationDto
.
setPartnerId
(
partnerCode
);
couponCodeVerificationDto
.
setPartnerId
(
partnerCode
);
couponCodeVerificationDto
.
setChannel
(
activityChannelEnum
.
getCode
());
couponCodeVerificationDto
.
setChannel
(
activityChannelEnum
.
getCode
());
couponCodeVerificationDto
.
setStation_id
(
"-1"
);
couponCodeVerificationDto
.
setStation_id
(
"-1"
);
...
...
order-application-service/src/main/java/cn/freemud/enums/CouponReqType.java
0 → 100644
View file @
1a3ab1d2
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: OrderType
* @Package cn.freemud.enums
* @Description: 订单状态
* @author: liming.guo
* @date: 2018/5/21 14:43
* @version V1.0
* @Copyright: 2018 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
package
cn
.
freemud
.
enums
;
public
enum
CouponReqType
{
RECTIFICATION
(
3
,
"冲正"
),
WRITEOFF
(
71
,
"核销"
);
private
Integer
code
;
private
String
desc
;
CouponReqType
(
Integer
code
,
String
desc
)
{
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
static
CouponReqType
getByCode
(
Integer
code
)
{
for
(
CouponReqType
payType
:
values
())
{
if
(
payType
.
getCode
().
equals
(
code
))
{
return
payType
;
}
}
return
null
;
}
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/CouponActivityService.java
View file @
1a3ab1d2
...
@@ -5,6 +5,7 @@ import cn.freemud.entities.dto.CouponCodeVerificationProductDto;
...
@@ -5,6 +5,7 @@ import cn.freemud.entities.dto.CouponCodeVerificationProductDto;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.entities.vo.ActivityClassifyCouponBean
;
import
cn.freemud.entities.vo.ActivityClassifyCouponBean
;
import
cn.freemud.enums.ActivityChannelEnum
;
import
cn.freemud.enums.ActivityChannelEnum
;
import
cn.freemud.enums.CouponReqType
;
import
java.util.List
;
import
java.util.List
;
...
@@ -14,8 +15,7 @@ public interface CouponActivityService {
...
@@ -14,8 +15,7 @@ public interface CouponActivityService {
* 核销优惠券
* 核销优惠券
* @param orderBean
* @param orderBean
*/
*/
BaseResponse
verificationCoupon
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
);
BaseResponse
verificationCoupon
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
,
CouponReqType
couponReqType
);
/**
/**
* 移除卡包
* 移除卡包
...
...
order-application-service/src/main/java/cn/freemud/service/impl/CouponActivityServiceImpl.java
View file @
1a3ab1d2
...
@@ -58,7 +58,7 @@ public class CouponActivityServiceImpl implements CouponActivityService {
...
@@ -58,7 +58,7 @@ public class CouponActivityServiceImpl implements CouponActivityService {
* @param orderBean
* @param orderBean
*/
*/
@Override
@Override
public
BaseResponse
verificationCoupon
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
)
{
public
BaseResponse
verificationCoupon
(
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
,
CouponReqType
couponReqType
)
{
List
<
QueryOrdersResponseDto
.
DataBean
.
OrderBean
.
AccountBean
>
accountList
=
orderBean
.
getAccountList
();
List
<
QueryOrdersResponseDto
.
DataBean
.
OrderBean
.
AccountBean
>
accountList
=
orderBean
.
getAccountList
();
if
(
CollectionUtils
.
isEmpty
(
accountList
)
||
CollectionUtils
.
isEmpty
(
orderBean
.
getProductList
()))
{
if
(
CollectionUtils
.
isEmpty
(
accountList
)
||
CollectionUtils
.
isEmpty
(
orderBean
.
getProductList
()))
{
return
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
...
@@ -96,17 +96,24 @@ public class CouponActivityServiceImpl implements CouponActivityService {
...
@@ -96,17 +96,24 @@ public class CouponActivityServiceImpl implements CouponActivityService {
if
(
OrderAccountType
.
COUPON
.
getCode
().
equals
(
accountBean
.
getType
())
if
(
OrderAccountType
.
COUPON
.
getCode
().
equals
(
accountBean
.
getType
())
||
OrderAccountType
.
PRODUCT_COUPON
.
getCode
().
equals
(
accountBean
.
getType
())
||
OrderAccountType
.
PRODUCT_COUPON
.
getCode
().
equals
(
accountBean
.
getType
())
||
OrderAccountType
.
DISCOUNT_COUPON
.
getCode
().
equals
(
accountBean
.
getType
()))
{
||
OrderAccountType
.
DISCOUNT_COUPON
.
getCode
().
equals
(
accountBean
.
getType
()))
{
CouponCodeVerificationDto
couponCodeVerificationDto
=
couponAdapter
.
convert2CouponCodeVerificationDto
(
activityChannelEnum
,
accountBean
.
getAccountId
(),
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
(),
orderBean
.
getUserId
(),
products
,
accountBean
.
getPrice
().
intValue
());
CouponCodeVerificationDto
couponCodeVerificationDto
=
couponAdapter
.
convert2CouponCodeVerificationDto
(
activityChannelEnum
,
accountBean
.
getAccountId
(),
orderBean
.
getOid
(),
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
(),
orderBean
.
getUserId
(),
products
,
accountBean
.
getPrice
().
intValue
()
,
couponReqType
);
// 核销券新增参数:组织机构ID
// 核销券新增参数:组织机构ID
couponCodeVerificationDto
.
setChannel_codes
(
storeService
.
getOrgIdsArr
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
()));
couponCodeVerificationDto
.
setChannel_codes
(
storeService
.
getOrgIdsArr
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
()));
try
{
try
{
//71.券核销
//71.券核销
CouponCodeResponseDto
couponCodeResponseDto
=
couponOfflineClient
.
verification
(
couponCodeVerificationDto
);
for
(
int
i
=
2
;
i
>=
0
;
i
--)
{
ThirdPartyLog
.
infoConvertJson
(
System
.
currentTimeMillis
(),
System
.
currentTimeMillis
(),
"/api"
,
couponCodeVerificationDto
,
couponCodeResponseDto
);
CouponCodeResponseDto
couponCodeResponseDto
=
couponOfflineClient
.
verification
(
couponCodeVerificationDto
);
if
(!
Objects
.
equals
(
couponCodeResponseDto
.
getStatusCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
ThirdPartyLog
.
infoConvertJson
(
System
.
currentTimeMillis
(),
System
.
currentTimeMillis
(),
"/api"
,
couponCodeVerificationDto
,
couponCodeResponseDto
);
emailAlertService
.
sendEmailAlert
(
"核销券码失败"
,
String
.
format
(
"request:%s \r\nresponse:%s"
,
JSONObject
.
toJSONString
(
couponCodeVerificationDto
),
JSONObject
.
toJSONString
(
couponCodeResponseDto
)));
if
(
Objects
.
equals
(
couponCodeResponseDto
.
getStatusCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
return
ResponseUtil
.
error
(
ResponseResult
.
COUPON_VERIFICATION_FAIL
);
LogUtil
.
info
(
"CouponReverseServiceImpl"
,
JSON
.
toJSONString
(
couponCodeVerificationDto
),
JSON
.
toJSONString
(
couponCodeResponseDto
));
break
;
}
if
(!
Objects
.
equals
(
couponCodeResponseDto
.
getStatusCode
(),
ResponseResult
.
SUCCESS
.
getCode
()))
{
emailAlertService
.
sendEmailAlert
(
"核销券码失败"
,
String
.
format
(
"request:%s \r\nresponse:%s"
,
JSONObject
.
toJSONString
(
couponCodeVerificationDto
),
JSONObject
.
toJSONString
(
couponCodeResponseDto
)));
return
ResponseUtil
.
error
(
ResponseResult
.
COUPON_VERIFICATION_FAIL
);
}
}
}
}
catch
(
Exception
ex
)
{
}
catch
(
Exception
ex
)
{
emailAlertService
.
sendEmailAlert
(
"核销券码异常"
,
String
.
format
(
"request:%s \r\nexception:%s"
,
JSONObject
.
toJSONString
(
couponCodeVerificationDto
),
Throwables
.
getStackTraceAsString
(
ex
)));
emailAlertService
.
sendEmailAlert
(
"核销券码异常"
,
String
.
format
(
"request:%s \r\nexception:%s"
,
JSONObject
.
toJSONString
(
couponCodeVerificationDto
),
Throwables
.
getStackTraceAsString
(
ex
)));
ErrorLog
.
printErrorLog
(
"verification_error"
,
"/api"
,
couponCodeVerificationDto
,
ex
);
ErrorLog
.
printErrorLog
(
"verification_error"
,
"/api"
,
couponCodeVerificationDto
,
ex
);
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
View file @
1a3ab1d2
...
@@ -2,9 +2,10 @@ package cn.freemud.service.impl;
...
@@ -2,9 +2,10 @@ package cn.freemud.service.impl;
import
cn.freemud.adapter.OrderAdapter
;
import
cn.freemud.adapter.OrderAdapter
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.vo.AppCreateOrderVo
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.base.log.LogTreadLocal
;
import
cn.freemud.entities.dto.*
;
import
cn.freemud.entities.dto.ConfirmOrderDto
;
import
cn.freemud.entities.dto.QueryOrdersResponseDto
;
import
cn.freemud.entities.vo.AppCreateOrderVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.CreateOrderVo
;
import
cn.freemud.entities.vo.CreatePrepayVo
;
import
cn.freemud.entities.vo.CreatePrepayVo
;
import
cn.freemud.entities.vo.PaysuccessNoticeMessage
;
import
cn.freemud.entities.vo.PaysuccessNoticeMessage
;
...
@@ -12,7 +13,10 @@ import cn.freemud.entities.vo.encircle.CreateReserveOrderVo;
...
@@ -12,7 +13,10 @@ import cn.freemud.entities.vo.encircle.CreateReserveOrderVo;
import
cn.freemud.enums.*
;
import
cn.freemud.enums.*
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.service.*
;
import
cn.freemud.service.AppOrderService
;
import
cn.freemud.service.EncircleOrderService
;
import
cn.freemud.service.MallOrderService
;
import
cn.freemud.service.OrderAdapterService
;
import
cn.freemud.utils.RedisUtil
;
import
cn.freemud.utils.RedisUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
cn.freemud.utils.ResponseUtil
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
...
@@ -28,7 +32,6 @@ import org.apache.commons.lang.StringUtils;
...
@@ -28,7 +32,6 @@ import org.apache.commons.lang.StringUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.Arrays
;
import
java.util.Map
;
import
java.util.Map
;
/**
/**
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
1a3ab1d2
...
@@ -69,6 +69,9 @@ import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustome
...
@@ -69,6 +69,9 @@ import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustome
import
com.freemud.api.assortment.datamanager.meal.MealCacheManager
;
import
com.freemud.api.assortment.datamanager.meal.MealCacheManager
;
import
com.freemud.application.sdk.api.constant.ResponseConstant
;
import
com.freemud.application.sdk.api.constant.ResponseConstant
;
import
com.freemud.application.sdk.api.constant.ResponseResultEnum
;
import
com.freemud.application.sdk.api.constant.ResponseResultEnum
;
import
com.freemud.application.sdk.api.couponcenter.offline.request.CouponRequest
;
import
com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse
;
import
com.freemud.application.sdk.api.couponcenter.offline.service.OfflineCouponSdkService
;
import
com.freemud.application.sdk.api.deliverycenter.response.DeliveryInfoDto
;
import
com.freemud.application.sdk.api.deliverycenter.response.DeliveryInfoDto
;
import
com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto
;
import
com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto
;
import
com.freemud.application.sdk.api.deliverycenter.service.DeliveryService
;
import
com.freemud.application.sdk.api.deliverycenter.service.DeliveryService
;
...
@@ -94,6 +97,7 @@ import com.freemud.application.sdk.api.paymentcenter.client.response.SVCCardAmou
...
@@ -94,6 +97,7 @@ import com.freemud.application.sdk.api.paymentcenter.client.response.SVCCardAmou
import
com.freemud.application.sdk.api.paymentcenter.client.service.PaymentNewService
;
import
com.freemud.application.sdk.api.paymentcenter.client.service.PaymentNewService
;
import
com.freemud.application.sdk.api.storecenter.request.GetListByCodesRequest
;
import
com.freemud.application.sdk.api.storecenter.request.GetListByCodesRequest
;
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.response.GetListByCodesResponse
;
import
com.freemud.application.sdk.api.storecenter.response.GetListByCodesResponse
;
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
;
...
@@ -148,6 +152,7 @@ import java.util.function.Function;
...
@@ -148,6 +152,7 @@ import java.util.function.Function;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
cn
.
freemud
.
constant
.
OrderRefundConstant
.
ALLOW_REFUND
;
import
static
cn
.
freemud
.
constant
.
OrderRefundConstant
.
ALLOW_REFUND
;
import
static
com
.
freemud
.
sdk
.
api
.
assortment
.
order
.
domain
.
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
;
@Service
@Service
@Slf4j
@Slf4j
...
@@ -249,6 +254,8 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -249,6 +254,8 @@ public class OrderServiceImpl implements Orderservice {
private
OrderDownLoadSdkService
orderDownLoadSdkService
;
private
OrderDownLoadSdkService
orderDownLoadSdkService
;
@Autowired
@Autowired
private
OrderSdkAdapter
orderSdkAdapter
;
private
OrderSdkAdapter
orderSdkAdapter
;
@Autowired
private
OfflineCouponSdkService
offlineCouponSdkService
;
@Override
@Override
public
BaseResponse
checkBeforeCreateOrder
(
CheckBeforeCreateOrderRequestVo
requestVo
)
{
public
BaseResponse
checkBeforeCreateOrder
(
CheckBeforeCreateOrderRequestVo
requestVo
)
{
...
@@ -562,7 +569,11 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -562,7 +569,11 @@ public class OrderServiceImpl implements Orderservice {
if
(
jsonObject
.
containsKey
(
"code"
))
{
if
(
jsonObject
.
containsKey
(
"code"
))
{
Integer
code
=
(
Integer
)
jsonObject
.
get
(
"code"
);
Integer
code
=
(
Integer
)
jsonObject
.
get
(
"code"
);
if
(
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_0
,
code
)
||
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS
,
code
))
{
if
(
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS_0
,
code
)
||
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS
,
code
))
{
// 新版支付成功的情况下code为100
try
{
verificationCoupon
(
newMessage
.
getTransId
());
}
catch
(
Exception
e
){
log
.
error
(
"核销券码失败transId:"
+
newMessage
.
getTransId
(),
e
);
}
return
newSendPaySuccessNoticeMessage
();
return
newSendPaySuccessNoticeMessage
();
}
else
{
}
else
{
return
newSendPayFaileMessage
();
return
newSendPayFaileMessage
();
...
@@ -571,6 +582,25 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -571,6 +582,25 @@ public class OrderServiceImpl implements Orderservice {
return
newSendPayFaileMessage
();
return
newSendPayFaileMessage
();
}
}
private
String
verificationCoupon
(
String
transId
){
QueryRelationOrderByIdResponseDto
queryOrderByIdResponseDto
=
getQueryRelationOrderByIdResponseDto
(
transId
);
if
(
queryOrderByIdResponseDto
.
getData
()
==
null
||
!
Objects
.
equals
(
ResponseCodeConstant
.
RESPONSE_SUCCESS
,
queryOrderByIdResponseDto
.
getErrcode
()))
{
return
refundFaileMessage
(
"order query fail"
+
queryOrderByIdResponseDto
);
}
OrderBean
orderBean
=
new
OrderBean
();
if
(
1
==
queryOrderByIdResponseDto
.
getData
().
size
())
{
orderBean
=
queryOrderByIdResponseDto
.
getData
().
get
(
0
);
}
else
{
List
<
OrderBean
>
orderBeans
=
queryOrderByIdResponseDto
.
getData
().
stream
().
filter
(
order
->
order
.
getBizType
().
equals
(
1
)).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isNotEmpty
(
orderBeans
))
{
orderBean
=
orderBeans
.
get
(
0
);
}
}
//核销券
BaseResponse
baseResponse
=
couponActivityService
.
verificationCoupon
(
orderBean
,
CouponReqType
.
WRITEOFF
);
return
"核销券码返回结果"
+
baseResponse
.
getCode
()
+
","
+
baseResponse
.
getMessage
();
}
@Override
@Override
public
String
refundNotifyCallback
(
RefundNotifyCallbackRequestVo
requestVo
)
{
public
String
refundNotifyCallback
(
RefundNotifyCallbackRequestVo
requestVo
)
{
String
trackingNo
=
LogTreadLocal
.
getTrackingNo
();
String
trackingNo
=
LogTreadLocal
.
getTrackingNo
();
...
@@ -1308,6 +1338,24 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -1308,6 +1338,24 @@ public class OrderServiceImpl implements Orderservice {
}
}
}
}
public
void
backOrdersStatusChange
(
String
oid
,
Integer
orderStatus
,
Integer
payState
)
{
if
(
StringUtils
.
isEmpty
(
oid
))
{
return
;
}
ApiLog
.
info
(
"backOrdersStatusChange"
,
oid
,
String
.
valueOf
(
orderStatus
));
OrderStatusChangeRequestDto
requestDto
=
new
OrderStatusChangeRequestDto
();
requestDto
.
setOid
(
oid
);
requestDto
.
setOrderStatus
(
orderStatus
);
try
{
Header
header
=
new
Header
(
MQAction
.
INSERT
.
getAction
(),
"backOrdersStatusChange"
,
oid
,
backOrdersChangeOrderStatusConsumerQueue
);
MQMessage
<
OrderStatusChangeRequestDto
>
message
=
new
MQMessage
<>(
header
,
requestDto
);
mqService
.
convertAndSend
(
backOrdersNotifyActivityExchange
,
backOrdersChangeOrderStatusConsumerQueue
,
message
);
}
catch
(
Exception
e
)
{
LogUtil
.
error
(
"ActivityReverse"
,
JSON
.
toJSONString
(
requestDto
),
""
,
e
);
}
}
/**
/**
* 发MQ去打印
* 发MQ去打印
*
*
...
...
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/service/OrderDownLoadSdkService.java
View file @
1a3ab1d2
...
@@ -123,6 +123,25 @@ public class OrderDownLoadSdkService {
...
@@ -123,6 +123,25 @@ public class OrderDownLoadSdkService {
QueryByCodeResponse
queryResponse
=
RequestThirdPartyUtils
.
httpGetReqComplex
(
this
.
restTemplate
,
url
QueryByCodeResponse
queryResponse
=
RequestThirdPartyUtils
.
httpGetReqComplex
(
this
.
restTemplate
,
url
,
createBaseRequest
(
null
,
trackingNo
),
new
ParameterizedTypeReference
<
QueryByCodeResponse
>()
{
,
createBaseRequest
(
null
,
trackingNo
),
new
ParameterizedTypeReference
<
QueryByCodeResponse
>()
{
});
});
return
queryResponse
;
}
/**
* 根据订单号查询订单详情
*
* @param partnerId
* @param orderCode
* @param trackingNo
* @param orderCode
* @param trackingNo
* @return
*/
public
QueryByCodeResponse
queryOrderByCode
(
String
partnerId
,
String
orderCode
,
String
trackingNo
,
Long
startTimestamp
,
Long
endTimestamp
)
{
String
url
=
InterfaceAddressConstant
.
QUERY_ORDER_BY_CODE
+
"?orderCode="
+
orderCode
+
"&partnerId="
+
partnerId
+
"&startTimestamp="
+
startTimestamp
+
"&endTimestamp="
+
endTimestamp
;
QueryByCodeResponse
queryResponse
=
RequestThirdPartyUtils
.
httpGetReqComplex
(
this
.
restTemplate
,
url
,
createBaseRequest
(
null
,
trackingNo
),
new
ParameterizedTypeReference
<
QueryByCodeResponse
>()
{
});
return
queryResponse
;
return
queryResponse
;
}
}
...
...
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