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
ad01669e
Commit
ad01669e
authored
May 12, 2020
by
姜海波
Browse files
Options
Browse Files
Download
Plain Diff
退单增加配送费选项
parents
d6ff7394
7911db59
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
236 additions
and
50 deletions
+236
-50
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CancelOrderRequest.java
+5
-0
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/order/OrderCenterSdkServiceImpl.java
+1
-0
call-back-service/pom.xml
+2
-2
order-application-service/pom.xml
+1
-6
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+47
-0
order-application-service/src/main/java/cn/freemud/amp/service/ProduceMQService.java
+17
-5
order-application-service/src/main/java/cn/freemud/config/PreReleaseBeanConfig.java
+2
-2
order-application-service/src/main/java/cn/freemud/entities/dto/QueryValidShareActivityReq.java
+4
-0
order-application-service/src/main/java/cn/freemud/enums/OrderRefundEnum.java
+2
-1
order-application-service/src/main/java/cn/freemud/enums/PayChannel.java
+51
-0
order-application-service/src/main/java/cn/freemud/service/delivery/ThirdDeliveryServiceImpl.java
+1
-3
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+23
-18
order-application-service/src/test/java/cn.freemud/service/OrderServiceTest.java
+1
-1
order-management/src/main/java/cn/freemud/management/entities/dto/response/pay/RefundConfig.java
+36
-0
order-management/src/main/java/cn/freemud/management/enums/OrderRefundEnum.java
+2
-1
order-management/src/main/java/cn/freemud/management/enums/ResponseResult.java
+1
-1
order-management/src/main/java/cn/freemud/management/service/handle/OrderVerifyHandle.java
+35
-10
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderCancelReq.java
+5
-0
No files found.
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/request/order/CancelOrderRequest.java
View file @
ad01669e
...
@@ -63,4 +63,9 @@ public class CancelOrderRequest extends BaseConfig {
...
@@ -63,4 +63,9 @@ public class CancelOrderRequest extends BaseConfig {
//操作人
//操作人
private
String
operator
;
private
String
operator
;
/**
* 是否退配送费
*/
private
boolean
isRefundDeliveryAmount
;
}
}
assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/service/order/OrderCenterSdkServiceImpl.java
View file @
ad01669e
...
@@ -497,6 +497,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
...
@@ -497,6 +497,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
OrderTaskReq
orderTask
=
setAfterSalesOrderTimeOutTask
();
OrderTaskReq
orderTask
=
setAfterSalesOrderTimeOutTask
();
request
.
setOrderTask
(
orderTask
);
request
.
setOrderTask
(
orderTask
);
}
}
request
.
setRefundDeliveryAmount
(
cancelOrderRequest
.
isRefundDeliveryAmount
());
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
.
BaseResponse
response
=
orderSdkService
.
cancelOrder
(
request
,
cancelOrderRequest
.
getTrackingNo
());
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
response
.
BaseResponse
response
=
orderSdkService
.
cancelOrder
(
request
,
cancelOrderRequest
.
getTrackingNo
());
return
orderSdkAdapter
.
convent2BaseOrderResponse
(
response
);
return
orderSdkAdapter
.
convent2BaseOrderResponse
(
response
);
}
}
...
...
call-back-service/pom.xml
View file @
ad01669e
...
@@ -71,7 +71,7 @@
...
@@ -71,7 +71,7 @@
<dependency>
<dependency>
<groupId>
com.freemud.sdk.api.assortment
</groupId>
<groupId>
com.freemud.sdk.api.assortment
</groupId>
<artifactId>
assortment-orderdistributor-sdk
</artifactId>
<artifactId>
assortment-orderdistributor-sdk
</artifactId>
<version>
2.
6
.RELEASE
</version>
<version>
2.
7
.RELEASE
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.freemud.sdk.api.assortment
</groupId>
<groupId>
com.freemud.sdk.api.assortment
</groupId>
...
@@ -81,7 +81,7 @@
...
@@ -81,7 +81,7 @@
<dependency>
<dependency>
<groupId>
com.freemud.sdk.api.assortment
</groupId>
<groupId>
com.freemud.sdk.api.assortment
</groupId>
<artifactId>
assortment-dynamic-queue
</artifactId>
<artifactId>
assortment-dynamic-queue
</artifactId>
<version>
1.
6
.RELEASE
</version>
<version>
1.
7
.RELEASE
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
cn.freemud
</groupId>
<groupId>
cn.freemud
</groupId>
...
...
order-application-service/pom.xml
View file @
ad01669e
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
<dependency>
<dependency>
<artifactId>
membercenter-sdk
</artifactId>
<artifactId>
membercenter-sdk
</artifactId>
<groupId>
com.freemud.application.service.sdk
</groupId>
<groupId>
com.freemud.application.service.sdk
</groupId>
<version>
2.9
.RELEASE
</version>
<version>
4.1.5
.RELEASE
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<artifactId>
stockcenter-sdk
</artifactId>
<artifactId>
stockcenter-sdk
</artifactId>
...
@@ -333,11 +333,6 @@
...
@@ -333,11 +333,6 @@
<version>
2.0.4
</version>
<version>
2.0.4
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-configuration-processor
</artifactId>
<optional>
true
</optional>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<groupId>
com.alibaba
</groupId>
<artifactId>
fastjson
</artifactId>
<artifactId>
fastjson
</artifactId>
<version>
1.2.51
</version>
<version>
1.2.51
</version>
...
...
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
ad01669e
...
@@ -2857,4 +2857,51 @@ public class OrderAdapter {
...
@@ -2857,4 +2857,51 @@ public class OrderAdapter {
return
orderClientType
;
return
orderClientType
;
}
}
public
Integer
getNewOrderClient
(
String
name
)
{
String
_name
=
OrderSourceType
.
SAAS
.
getCode
();
Integer
orderClientType
;
switch
(
name
)
{
case
"saas"
:
orderClientType
=
2
;
break
;
case
"alipay"
:
orderClientType
=
3
;
break
;
case
"jdwm"
:
orderClientType
=
10
;
break
;
case
"mtwm"
:
orderClientType
=
11
;
break
;
case
"eleme"
:
orderClientType
=
8
;
break
;
case
"bdwm"
:
orderClientType
=
9
;
break
;
case
"ebwm"
:
orderClientType
=
9
;
break
;
case
"saas_member"
:
orderClientType
=
13
;
break
;
case
"saas_order"
:
orderClientType
=
14
;
break
;
case
"pos"
:
orderClientType
=
15
;
break
;
case
"meal"
:
orderClientType
=
19
;
break
;
case
"saasmall"
:
orderClientType
=
23
;
break
;
default
:
orderClientType
=
OrderClientType
.
SAAS
.
getIndex
();
break
;
}
return
orderClientType
;
}
}
}
order-application-service/src/main/java/cn/freemud/amp/service/ProduceMQService.java
View file @
ad01669e
...
@@ -10,10 +10,12 @@ import cn.freemud.entities.dto.delivery.CallbackUrlRequestDto;
...
@@ -10,10 +10,12 @@ import cn.freemud.entities.dto.delivery.CallbackUrlRequestDto;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.google.common.base.Throwables
;
import
com.google.common.base.Throwables
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.BooleanUtils
;
import
org.apache.rocketmq.client.producer.SendResult
;
import
org.apache.rocketmq.client.producer.SendResult
;
import
org.apache.rocketmq.common.message.MessageConst
;
import
org.apache.rocketmq.common.message.MessageConst
;
import
org.apache.rocketmq.spring.core.RocketMQTemplate
;
import
org.apache.rocketmq.spring.core.RocketMQTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.messaging.Message
;
import
org.springframework.messaging.Message
;
import
org.springframework.messaging.support.MessageBuilder
;
import
org.springframework.messaging.support.MessageBuilder
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -32,26 +34,36 @@ public class ProduceMQService {
...
@@ -32,26 +34,36 @@ public class ProduceMQService {
@Resource
@Resource
private
RocketMQTemplate
deliveryRocketMqTemplate
;
private
RocketMQTemplate
deliveryRocketMqTemplate
;
@Value
(
"${rocketmq.delivery.enable:false}"
)
private
Boolean
rocketMQDeliveryEnable
;
/**
/**
* @Description 发现配送信息到rabbitMQ
* @param deliveryRequest
* @param deliveryRequest
* @Description 发现配送信息到rabbitMQ
*/
*/
public
void
sendOfDeliveryInfo
(
CallbackUrlRequestDto
deliveryRequest
)
{
public
void
sendOfDeliveryInfo
(
CallbackUrlRequestDto
deliveryRequest
)
{
Header
header
=
new
Header
(
MQAction
.
UPDATE
.
getAction
(),
"delivery/callbackUrl"
,
deliveryRequest
.
getOrderId
(),
"open-platform-order-delivery-queue"
);
Header
header
=
new
Header
(
MQAction
.
UPDATE
.
getAction
(),
"delivery/callbackUrl"
,
deliveryRequest
.
getOrderId
(),
"open-platform-order-delivery-queue"
);
MQMessage
<
CallbackUrlRequestDto
>
mqMessage
=
new
MQMessage
<>(
header
,
deliveryRequest
);
MQMessage
<
CallbackUrlRequestDto
>
mqMessage
=
new
MQMessage
<>(
header
,
deliveryRequest
);
mqService
.
convertAndSend
(
PushOrderConfig
.
EXCHANGE_NAME
,
PushOrderConfig
.
OPEN_PLATFORM_ORDER_DELIVERY_ROUTING_KEY
,
mqMessage
);
try
{
mqService
.
convertAndSend
(
PushOrderConfig
.
EXCHANGE_NAME
,
PushOrderConfig
.
OPEN_PLATFORM_ORDER_DELIVERY_ROUTING_KEY
,
mqMessage
);
}
catch
(
Exception
e
)
{
log
.
error
(
"sendOfDeliveryInfo.error, message:{}, cause:{}"
,
JSON
.
toJSONString
(
deliveryRequest
),
Throwables
.
getStackTraceAsString
(
e
));
}
}
}
/**
/**
* @Description 发送配送信息到rocketMq:
* @param deliveryRequest
* @param deliveryRequest
* @Description 发送配送信息到rocketMq:
*/
*/
public
void
sendRocketMqOfDeliveryInfo
(
CallbackUrlRequestDto
deliveryRequest
)
{
public
void
sendRocketMqOfDeliveryInfo
(
CallbackUrlRequestDto
deliveryRequest
)
{
if
(
BooleanUtils
.
isNotTrue
(
rocketMQDeliveryEnable
))
{
return
;
}
Header
header
=
new
Header
(
MQAction
.
UPDATE
.
getAction
(),
"delivery/callbackUrl"
,
deliveryRequest
.
getOrderId
(),
RocketMQConst
.
ORDER_THIRD_PUSH_TOPIC
);
Header
header
=
new
Header
(
MQAction
.
UPDATE
.
getAction
(),
"delivery/callbackUrl"
,
deliveryRequest
.
getOrderId
(),
RocketMQConst
.
ORDER_THIRD_PUSH_TOPIC
);
MQMessage
<
CallbackUrlRequestDto
>
mqMessage
=
new
MQMessage
(
header
,
deliveryRequest
);
MQMessage
<
CallbackUrlRequestDto
>
mqMessage
=
new
MQMessage
(
header
,
deliveryRequest
);
String
destination
=
String
.
format
(
"%s:%s"
,
RocketMQConst
.
ORDER_THIRD_PUSH_TOPIC
,
RocketMQConst
.
OrderSubsidiaryTag
.
delivery
);
String
destination
=
String
.
format
(
"%s:%s"
,
RocketMQConst
.
ORDER_THIRD_PUSH_TOPIC
,
RocketMQConst
.
OrderSubsidiaryTag
.
delivery
);
Message
message
=
MessageBuilder
Message
message
=
MessageBuilder
.
withPayload
(
mqMessage
)
.
withPayload
(
mqMessage
)
.
setHeader
(
"partnerId"
,
deliveryRequest
.
getPartnerId
())
.
setHeader
(
"partnerId"
,
deliveryRequest
.
getPartnerId
())
...
...
order-application-service/src/main/java/cn/freemud/config/PreReleaseBeanConfig.java
View file @
ad01669e
...
@@ -4,7 +4,7 @@ import com.freemud.application.sdk.api.config.StockCenterProperties;
...
@@ -4,7 +4,7 @@ import com.freemud.application.sdk.api.config.StockCenterProperties;
import
com.freemud.application.sdk.api.membercenter.config.MemberCenterProperties
;
import
com.freemud.application.sdk.api.membercenter.config.MemberCenterProperties
;
import
com.freemud.application.sdk.api.membercenter.config.MemberExtendProperties
;
import
com.freemud.application.sdk.api.membercenter.config.MemberExtendProperties
;
import
com.freemud.application.sdk.api.membercenter.config.MemberPropertyProperties
;
import
com.freemud.application.sdk.api.membercenter.config.MemberPropertyProperties
;
import
com.freemud.application.sdk.api.membercenter.config.Me
r
mberScoreProperties
;
import
com.freemud.application.sdk.api.membercenter.config.MemberScoreProperties
;
import
com.freemud.application.sdk.api.productcenter.config.InventoryCenterProperties
;
import
com.freemud.application.sdk.api.productcenter.config.InventoryCenterProperties
;
import
com.freemud.application.sdk.api.productcenter.config.ProductCenterProperties
;
import
com.freemud.application.sdk.api.productcenter.config.ProductCenterProperties
;
import
com.freemud.application.sdk.api.storecenter.config.StoreCenterProperties
;
import
com.freemud.application.sdk.api.storecenter.config.StoreCenterProperties
;
...
@@ -40,7 +40,7 @@ public class PreReleaseBeanConfig {
...
@@ -40,7 +40,7 @@ public class PreReleaseBeanConfig {
@Profile
({
"pre-release"
})
@Profile
({
"pre-release"
})
@Bean
(
name
=
{
"member.score"
})
@Bean
(
name
=
{
"member.score"
})
public
RestTemplate
scoreRestTemplateQa
(
@Qualifier
(
"mermberScoreProperties"
)
Me
r
mberScoreProperties
properties
)
{
public
RestTemplate
scoreRestTemplateQa
(
@Qualifier
(
"mermberScoreProperties"
)
MemberScoreProperties
properties
)
{
return
BaseRequestUtils
.
getRestTemplate
(
properties
.
getRetryTimes
(),
properties
.
getConnectTimeOut
(),
properties
.
getReadTimeOut
());
return
BaseRequestUtils
.
getRestTemplate
(
properties
.
getRetryTimes
(),
properties
.
getConnectTimeOut
(),
properties
.
getReadTimeOut
());
}
}
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/QueryValidShareActivityReq.java
View file @
ad01669e
...
@@ -3,6 +3,8 @@ package cn.freemud.entities.dto;
...
@@ -3,6 +3,8 @@ package cn.freemud.entities.dto;
import
lombok.Data
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.NotEmpty
;
import
org.hibernate.validator.constraints.NotEmpty
;
import
java.util.List
;
/**
/**
* All rights Reserved, Designed By www.freemud.cn
* All rights Reserved, Designed By www.freemud.cn
*
*
...
@@ -25,4 +27,6 @@ public class QueryValidShareActivityReq {
...
@@ -25,4 +27,6 @@ public class QueryValidShareActivityReq {
private
String
storeId
;
private
String
storeId
;
@NotEmpty
(
message
=
"appId不能为空"
)
@NotEmpty
(
message
=
"appId不能为空"
)
private
String
appId
;
private
String
appId
;
//组织ID
private
List
<
String
>
orgIds
;
}
}
order-application-service/src/main/java/cn/freemud/enums/OrderRefundEnum.java
View file @
ad01669e
...
@@ -18,7 +18,8 @@ public enum OrderRefundEnum {
...
@@ -18,7 +18,8 @@ public enum OrderRefundEnum {
REFUND_DATA_RANGE
(
"refundDateRange"
,
"退款允许日期"
),
REFUND_DATA_RANGE
(
"refundDateRange"
,
"退款允许日期"
),
TAKEORDER_REFUND
(
"takeOrderRefund"
,
"未接单是否支持退款"
),
TAKEORDER_REFUND
(
"takeOrderRefund"
,
"未接单是否支持退款"
),
RECEIPTORDER_REFUND
(
"receiptOrderRefund"
,
"已接单是否支持退款"
),
RECEIPTORDER_REFUND
(
"receiptOrderRefund"
,
"已接单是否支持退款"
),
COMPLETEMAKEORDER_REFUND
(
"completeMakeOrderRefund"
,
"制作完成是否支持退款"
);
COMPLETEMAKEORDER_REFUND
(
"completeMakeOrderRefund"
,
"制作完成是否支持退款"
),
REFUND_DELIVERY_FEE_ENABLE
(
"refundShippingFee"
,
"商家同意退款时是否退配送费"
);
private
String
keyValue
;
private
String
keyValue
;
...
...
order-application-service/src/main/java/cn/freemud/enums/PayChannel.java
0 → 100644
View file @
ad01669e
/**
* 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
PayChannel
{
SVC
(
"10102"
,
"svc卡支付"
);
private
String
code
;
private
String
desc
;
PayChannel
(
String
code
,
String
desc
)
{
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
static
PayChannel
getByCode
(
String
code
)
{
for
(
PayChannel
payType
:
values
())
{
if
(
payType
.
getCode
().
equals
(
code
))
{
return
payType
;
}
}
return
null
;
}
public
String
getCode
()
{
return
code
;
}
public
void
setCode
(
String
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/delivery/ThirdDeliveryServiceImpl.java
View file @
ad01669e
package
cn
.
freemud
.
service
.
delivery
;
package
cn
.
freemud
.
service
.
delivery
;
import
cn.freemud.amp.service.ProduceMQService
;
import
cn.freemud.amp.service.ProduceMQService
;
import
cn.freemud.amqp.Header
;
import
cn.freemud.amqp.MQAction
;
import
cn.freemud.amqp.MQMessage
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.dto.delivery.CallbackUrlRequestDto
;
import
cn.freemud.entities.dto.delivery.CallbackUrlRequestDto
;
import
cn.freemud.entities.dto.delivery.QueryDeliveryAmountRequestDto
;
import
cn.freemud.entities.dto.delivery.QueryDeliveryAmountRequestDto
;
...
@@ -131,6 +128,7 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
...
@@ -131,6 +128,7 @@ public class ThirdDeliveryServiceImpl implements ThirdDeliveryService {
// 订单配送状态变化时发送到MQ
// 订单配送状态变化时发送到MQ
if
(
DeliveryStatus
.
checkDeliveryStatueForPlatform
(
deliveryStatus
))
{
if
(
DeliveryStatus
.
checkDeliveryStatueForPlatform
(
deliveryStatus
))
{
produceMQService
.
sendOfDeliveryInfo
(
request
);
produceMQService
.
sendRocketMqOfDeliveryInfo
(
request
);
produceMQService
.
sendRocketMqOfDeliveryInfo
(
request
);
}
}
// else {
// else {
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
ad01669e
...
@@ -52,16 +52,14 @@ import cn.freemud.utils.*;
...
@@ -52,16 +52,14 @@ import cn.freemud.utils.*;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.freemud.api.assortment.datamanager.entity.db.AssortmentCloudPrinter
;
import
com.freemud.api.assortment.datamanager.entity.db.*
;
import
com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerConfig
;
import
com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformWxapp
;
import
com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformWxappAuthorizer
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentCloudPrinterManager
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentCloudPrinterManager
;
import
com.freemud.api.assortment.datamanager.enums.IappIdType
;
import
com.freemud.api.assortment.datamanager.enums.IappIdType
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerConfigManager
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerConfigManager
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappAuthorizerManager
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappAuthorizerManager
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappManager
;
import
com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappManager
;
import
com.freemud.api.assortment.datamanager.manager.cache.CacheOpenPlatformPartnerWxappConfigManager
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
import
com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager
;
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
;
...
@@ -117,6 +115,7 @@ import org.apache.commons.collections4.CollectionUtils;
...
@@ -117,6 +115,7 @@ import org.apache.commons.collections4.CollectionUtils;
import
org.apache.commons.collections4.MapUtils
;
import
org.apache.commons.collections4.MapUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.builder.ToStringBuilder
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
...
@@ -127,6 +126,8 @@ import java.util.concurrent.TimeUnit;
...
@@ -127,6 +126,8 @@ import java.util.concurrent.TimeUnit;
import
java.util.function.Function
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
cn
.
freemud
.
constant
.
OrderRefundConstant
.
ALLOW_REFUND
;
@Service
@Service
@Slf4j
@Slf4j
public
class
OrderServiceImpl
implements
Orderservice
{
public
class
OrderServiceImpl
implements
Orderservice
{
...
@@ -218,6 +219,8 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -218,6 +219,8 @@ public class OrderServiceImpl implements Orderservice {
@Autowired
@Autowired
private
OrderAdapterService
orderAdapterService
;
private
OrderAdapterService
orderAdapterService
;
@Autowired
private
CacheOpenPlatformPartnerWxappConfigManager
cacheOpenPlatformPartnerWxappConfigManager
;
@Override
@Override
...
@@ -734,7 +737,14 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -734,7 +737,14 @@ public class OrderServiceImpl implements Orderservice {
// 判断是否有裂变活动 订单扩展信息判断必须有wxappid
// 判断是否有裂变活动 订单扩展信息判断必须有wxappid
// 查询门店下有没有 裂变活动
// 查询门店下有没有 裂变活动
Long
orderTime
=
DateUtil
.
convert2Date
(
queryOrderResponseVo
.
getOrderCreateTime
(),
DateUtil
.
FORMAT_YYYY_MM_DD_HHMMSS
).
getTime
();
Long
orderTime
=
DateUtil
.
convert2Date
(
queryOrderResponseVo
.
getOrderCreateTime
(),
DateUtil
.
FORMAT_YYYY_MM_DD_HHMMSS
).
getTime
();
String
activityId
=
isShareActivity
(
queryOrderVo
.
getPartnerId
(),
queryOrderResponseVo
.
getShopId
(),
queryOrderResponseVo
.
getWxappid
(),
orderTime
==
null
?
0
:
orderTime
,
queryOrderResponseVo
.
getOid
(),
userId
,
queryOrderVo
.
getSessionId
());
StoreResponse
.
BizVO
bizVO
=
storeMap
.
get
(
queryOrderResponseVo
.
getShopId
());
String
activityId
=
isShareActivity
(
queryOrderVo
.
getPartnerId
(),
queryOrderResponseVo
.
getShopId
()
,
queryOrderResponseVo
.
getWxappid
()
,
orderTime
==
null
?
0
:
orderTime
,
queryOrderResponseVo
.
getOid
()
,
userId
,
queryOrderVo
.
getSessionId
()
,
bizVO
.
getParentCode
());
// 取红包图片
// 取红包图片
queryOrderResponseVo
.
setRedpacketsPicture
(
getRedpacketsPicture
(
activityId
));
queryOrderResponseVo
.
setRedpacketsPicture
(
getRedpacketsPicture
(
activityId
));
queryOrderResponseVo
.
setActivityId
(
activityId
);
queryOrderResponseVo
.
setActivityId
(
activityId
);
...
@@ -857,6 +867,7 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -857,6 +867,7 @@ public class OrderServiceImpl implements Orderservice {
request
.
setPartnerId
(
partnerId
);
request
.
setPartnerId
(
partnerId
);
request
.
setStoreCode
(
storeId
);
request
.
setStoreCode
(
storeId
);
StoreResponse
storeInfo
=
storeCenterService
.
getStoreInfo
(
request
,
LogTreadLocal
.
getTrackingNo
());
StoreResponse
storeInfo
=
storeCenterService
.
getStoreInfo
(
request
,
LogTreadLocal
.
getTrackingNo
());
String
organizationId
=
""
;
if
(
storeInfo
!=
null
&&
storeInfo
.
getBizVO
()
!=
null
)
{
if
(
storeInfo
!=
null
&&
storeInfo
.
getBizVO
()
!=
null
)
{
StoreResponse
.
BizVO
storeResponseDto
=
storeInfo
.
getBizVO
();
StoreResponse
.
BizVO
storeResponseDto
=
storeInfo
.
getBizVO
();
orderBean
.
setShopAddress
(
storeResponseDto
.
getAddress
());
orderBean
.
setShopAddress
(
storeResponseDto
.
getAddress
());
...
@@ -867,6 +878,7 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -867,6 +878,7 @@ public class OrderServiceImpl implements Orderservice {
orderBean
.
setShopPhone
(
storeResponseDto
.
getPhone
());
orderBean
.
setShopPhone
(
storeResponseDto
.
getPhone
());
orderBean
.
setLatitude
(
Double
.
valueOf
(
storeResponseDto
.
getLatitude
()));
orderBean
.
setLatitude
(
Double
.
valueOf
(
storeResponseDto
.
getLatitude
()));
orderBean
.
setLongitude
(
Double
.
valueOf
(
storeResponseDto
.
getLongitude
()));
orderBean
.
setLongitude
(
Double
.
valueOf
(
storeResponseDto
.
getLongitude
()));
organizationId
=
storeResponseDto
.
getParentCode
();
}
}
//TODO 查询订单的排队人数
//TODO 查询订单的排队人数
orderBean
.
setQueueIndex
(
""
);
orderBean
.
setQueueIndex
(
""
);
...
@@ -930,7 +942,7 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -930,7 +942,7 @@ public class OrderServiceImpl implements Orderservice {
OrderExtInfoDto
orderExtInfoDto
=
gson
.
fromJson
(
extInfo
,
OrderExtInfoDto
.
class
);
OrderExtInfoDto
orderExtInfoDto
=
gson
.
fromJson
(
extInfo
,
OrderExtInfoDto
.
class
);
String
wxappid
=
orderExtInfoDto
.
getAppid
();
String
wxappid
=
orderExtInfoDto
.
getAppid
();
// 查询门店下有没有 裂变活动
// 查询门店下有没有 裂变活动
String
activityId
=
isShareActivity
(
partnerId
,
storeId
,
wxappid
,
response
.
getData
().
getGmtCreate
(),
oid
,
userId
,
sessionId
);
String
activityId
=
isShareActivity
(
partnerId
,
storeId
,
wxappid
,
response
.
getData
().
getGmtCreate
(),
oid
,
userId
,
sessionId
,
organizationId
);
queryOrderResponseVo
.
setActivityId
(
activityId
);
queryOrderResponseVo
.
setActivityId
(
activityId
);
// 取红包图片
// 取红包图片
queryOrderResponseVo
.
setRedpacketsPicture
(
getRedpacketsPicture
(
activityId
));
queryOrderResponseVo
.
setRedpacketsPicture
(
getRedpacketsPicture
(
activityId
));
...
@@ -974,13 +986,16 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -974,13 +986,16 @@ public class OrderServiceImpl implements Orderservice {
* @param orderTime
* @param orderTime
* @return
* @return
*/
*/
private
String
isShareActivity
(
String
partnerId
,
String
storeId
,
String
wxappid
,
Long
orderTime
,
String
bizId
,
String
userId
,
String
sessionId
)
{
private
String
isShareActivity
(
String
partnerId
,
String
storeId
,
String
wxappid
,
Long
orderTime
,
String
bizId
,
String
userId
,
String
sessionId
,
String
organizationId
)
{
QueryValidShareActivityReq
activityReq
=
new
QueryValidShareActivityReq
();
QueryValidShareActivityReq
activityReq
=
new
QueryValidShareActivityReq
();
activityReq
.
setAppId
(
wxappid
);
activityReq
.
setAppId
(
wxappid
);
activityReq
.
setPartnerId
(
partnerId
);
activityReq
.
setPartnerId
(
partnerId
);
activityReq
.
setStoreId
(
storeId
);
activityReq
.
setStoreId
(
storeId
);
activityReq
.
setOrderId
(
bizId
);
activityReq
.
setOrderId
(
bizId
);
if
(
StringUtils
.
isNotBlank
(
organizationId
))
{
activityReq
.
setOrgIds
(
Arrays
.
asList
(
organizationId
));
}
String
activityId
=
Optional
.
ofNullable
(
promotionActivityClient
.
queryValidShareActivity
(
activityReq
)).
map
(
BaseResponse:
:
getResult
).
map
(
Object:
:
toString
).
orElse
(
""
);
String
activityId
=
Optional
.
ofNullable
(
promotionActivityClient
.
queryValidShareActivity
(
activityReq
)).
map
(
BaseResponse:
:
getResult
).
map
(
Object:
:
toString
).
orElse
(
""
);
String
nickName
=
Optional
.
ofNullable
(
customerInfoManager
.
getCustomerInfoByObject
(
sessionId
)).
map
(
AssortmentCustomerInfoVo:
:
getNickName
).
orElse
(
""
);
String
nickName
=
Optional
.
ofNullable
(
customerInfoManager
.
getCustomerInfoByObject
(
sessionId
)).
map
(
AssortmentCustomerInfoVo:
:
getNickName
).
orElse
(
""
);
...
@@ -1115,16 +1130,6 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -1115,16 +1130,6 @@ public class OrderServiceImpl implements Orderservice {
// 删除订单 通知活动添加商品库存
// 删除订单 通知活动添加商品库存
backOrdersStatusChange
(
orderBean
.
getOid
(),
orderBean
.
getStatus
());
backOrdersStatusChange
(
orderBean
.
getOid
(),
orderBean
.
getStatus
());
}
else
{
}
else
{
// com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest var1 = new com.freemud.sdk.api.assortment.order.request.order.OrderRefundRequest();
// OrderRefundRequestDto orderRefundRequestDto = orderAdapter.convent2OrderRefundRequestDto(orderRefundVo, orderBean.getOid());
// BeanUtil.convertBean(orderRefundRequestDto, var1);
// var1.setTrackingNo(LogTreadLocal.getTrackingNo());
// var1.setPartnerId(orderRefundVo.getPartnerId());
// var1.setStoreId(orderBean.getShopId());
// var1.setOrderStatus(orderBean.getStatus());
// var1.setOperator(orderBean.getUserName());
// BaseOrderResponse baseResponseDto = orderCenterSdkService.orderRefund(var1);
CancelOrderRequest
cancelOrderRequest
=
new
CancelOrderRequest
();
CancelOrderRequest
cancelOrderRequest
=
new
CancelOrderRequest
();
cancelOrderRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
cancelOrderRequest
.
setPartnerId
(
orderBean
.
getCompanyId
());
...
@@ -1137,7 +1142,7 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -1137,7 +1142,7 @@ public class OrderServiceImpl implements Orderservice {
if
(
OldOrderStatus
.
COMPLETE
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
if
(
OldOrderStatus
.
COMPLETE
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
cancelOrderRequest
.
setAfterSalesType
(
AfterSalesType
.
USER_SALE_RETURN
);
cancelOrderRequest
.
setAfterSalesType
(
AfterSalesType
.
USER_SALE_RETURN
);
}
}
// cancelOrderRequest.setCreateEvent(null);
cancelOrderRequest
.
setReason
(
orderRefundVo
.
getReason
());
cancelOrderRequest
.
setReason
(
orderRefundVo
.
getReason
());
cancelOrderRequest
.
setReqRemark
(
orderRefundVo
.
getRemarks
());
cancelOrderRequest
.
setReqRemark
(
orderRefundVo
.
getRemarks
());
cancelOrderRequest
.
setOperator
(
orderBean
.
getUserName
());
cancelOrderRequest
.
setOperator
(
orderBean
.
getUserName
());
...
...
order-application-service/src/test/java/cn.freemud/service/OrderServiceTest.java
View file @
ad01669e
...
@@ -89,7 +89,7 @@ public class OrderServiceTest {
...
@@ -89,7 +89,7 @@ public class OrderServiceTest {
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
string
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
string
);
QueryOrderByIdResponseDto
orderByIdResponseDto
=
jsonObject
.
toJavaObject
(
QueryOrderByIdResponseDto
.
class
);
QueryOrderByIdResponseDto
orderByIdResponseDto
=
jsonObject
.
toJavaObject
(
QueryOrderByIdResponseDto
.
class
);
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
=
orderByIdResponseDto
.
getData
();
QueryOrdersResponseDto
.
DataBean
.
OrderBean
orderBean
=
orderByIdResponseDto
.
getData
();
orderService
.
sendApplyRefundSubscriptionNotice
(
orderBean
,
request
);
//
orderService.sendApplyRefundSubscriptionNotice(orderBean,request);
}
}
...
...
order-management/src/main/java/cn/freemud/management/entities/dto/response/pay/RefundConfig.java
0 → 100644
View file @
ad01669e
package
cn
.
freemud
.
management
.
entities
.
dto
.
response
.
pay
;
import
lombok.Data
;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: RefundConfig
* @Package cn.freemud.management.entities.dto.response.pay
* @Description:
* @author: shuhu.hou
* @date: 2020/5/7 17:18
* @Copyright: 2020 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public
class
RefundConfig
{
/**
* 是否退配送费
*/
private
boolean
isRefundDeliveryFee
;
/**
* 订单是否支持退款
*/
private
boolean
isCanRefund
;
public
RefundConfig
(){
}
public
RefundConfig
(
boolean
isCanRefund
,
boolean
isRefundDeliveryFee
){
this
.
isCanRefund
=
isCanRefund
;
this
.
isRefundDeliveryFee
=
isRefundDeliveryFee
;
}
}
order-management/src/main/java/cn/freemud/management/enums/OrderRefundEnum.java
View file @
ad01669e
...
@@ -18,7 +18,8 @@ public enum OrderRefundEnum {
...
@@ -18,7 +18,8 @@ public enum OrderRefundEnum {
REFUND_DATA_RANGE
(
"refundDateRange"
,
"退款允许日期"
),
REFUND_DATA_RANGE
(
"refundDateRange"
,
"退款允许日期"
),
TAKEORDER_REFUND
(
"takeOrderRefund"
,
"未接单是否支持退款"
),
TAKEORDER_REFUND
(
"takeOrderRefund"
,
"未接单是否支持退款"
),
RECEIPTORDER_REFUND
(
"receiptOrderRefund"
,
"已接单是否支持退款"
),
RECEIPTORDER_REFUND
(
"receiptOrderRefund"
,
"已接单是否支持退款"
),
COMPLETEMAKEORDER_REFUND
(
"completeMakeOrderRefund"
,
"制作完成是否支持退款"
);
COMPLETEMAKEORDER_REFUND
(
"completeMakeOrderRefund"
,
"制作完成是否支持退款"
),
REFUND_DELIVERY_FEE_ENABLE
(
"refundShippingFee"
,
"商家同意退款时是否退配送费"
);
private
String
keyValue
;
private
String
keyValue
;
...
...
order-management/src/main/java/cn/freemud/management/enums/ResponseResult.java
View file @
ad01669e
...
@@ -160,7 +160,7 @@ public enum ResponseResult {
...
@@ -160,7 +160,7 @@ public enum ResponseResult {
REJECT_ORDER_FAIL
(
"45075"
,
"拒单失败"
),
REJECT_ORDER_FAIL
(
"45075"
,
"拒单失败"
),
AGREE_REFUND_ORDER_FAIL
(
"45076"
,
"同意退款失败"
),
AGREE_REFUND_ORDER_FAIL
(
"45076"
,
"同意退款失败"
),
ORDER_REFUND_NOT_APPLY
(
"45077"
,
"用户未申请退款"
),
ORDER_REFUND_NOT_APPLY
(
"45077"
,
"用户未申请退款"
),
ORDER_HAD_AFFIRM_CAN_NOT_REFUND
(
"45078"
,
"
订单已经完成,不能申请退款
"
),
ORDER_HAD_AFFIRM_CAN_NOT_REFUND
(
"45078"
,
"
当前订单不允许退款,请前往B端后台设置
"
),
ORDER_REJECT_REFUND_REPETITION
(
"45079"
,
"重复操作,订单已拒绝退款"
),
ORDER_REJECT_REFUND_REPETITION
(
"45079"
,
"重复操作,订单已拒绝退款"
),
ORDER_REJECT_REFUND_STATUS_NOT
(
"45080"
,
"订单不是申请退款中,不能操作"
),
ORDER_REJECT_REFUND_STATUS_NOT
(
"45080"
,
"订单不是申请退款中,不能操作"
),
ORDER_REJECT_REFUND_STATUS_END
(
"45081"
,
"订单未接单或者已取消,不能操作"
),
ORDER_REJECT_REFUND_STATUS_END
(
"45081"
,
"订单未接单或者已取消,不能操作"
),
...
...
order-management/src/main/java/cn/freemud/management/service/handle/OrderVerifyHandle.java
View file @
ad01669e
...
@@ -3,6 +3,7 @@ package cn.freemud.management.service.handle;
...
@@ -3,6 +3,7 @@ package cn.freemud.management.service.handle;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.management.entities.dto.request.order.OrderManagerRequest
;
import
cn.freemud.management.entities.dto.request.order.OrderManagerRequest
;
import
cn.freemud.management.entities.dto.response.order.OrderManagerResponse
;
import
cn.freemud.management.entities.dto.response.order.OrderManagerResponse
;
import
cn.freemud.management.entities.dto.response.pay.RefundConfig
;
import
cn.freemud.management.enums.OrderRefundEnum
;
import
cn.freemud.management.enums.OrderRefundEnum
;
import
cn.freemud.management.enums.OrderSource
;
import
cn.freemud.management.enums.OrderSource
;
import
cn.freemud.management.enums.OrderStatus
;
import
cn.freemud.management.enums.OrderStatus
;
...
@@ -13,8 +14,6 @@ import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPa
...
@@ -13,8 +14,6 @@ import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPa
import
com.freemud.api.assortment.datamanager.manager.cache.CacheOpenPlatformPartnerWxappConfigManager
;
import
com.freemud.api.assortment.datamanager.manager.cache.CacheOpenPlatformPartnerWxappConfigManager
;
import
com.freemud.application.sdk.api.ordercenter.enums.OperateClient
;
import
com.freemud.application.sdk.api.ordercenter.enums.OperateClient
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderAccountType
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderAccountType
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderStatus
;
import
com.freemud.sdk.api.assortment.order.enums.OldOrderType
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.ObjectUtils
;
...
@@ -45,7 +44,11 @@ public class OrderVerifyHandle {
...
@@ -45,7 +44,11 @@ public class OrderVerifyHandle {
/**
/**
* 允许退款
* 允许退款
*/
*/
public
static
final
String
ALLOW_REFUND
=
"1"
;
private
static
final
String
ALLOW_REFUND
=
"1"
;
/**
* svc储值卡支付,可用于判断订单是否用储值卡支付
*/
private
static
final
String
PAY_CODE_10102
=
"10102"
;
@Autowired
@Autowired
private
CacheOpenPlatformPartnerWxappConfigManager
cacheOpenPlatformPartnerWxappConfigManager
;
private
CacheOpenPlatformPartnerWxappConfigManager
cacheOpenPlatformPartnerWxappConfigManager
;
...
@@ -215,16 +218,21 @@ public class OrderVerifyHandle {
...
@@ -215,16 +218,21 @@ public class OrderVerifyHandle {
||
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
!=
1
)
{
||
orderBean
.
getRefundList
().
get
(
orderBean
.
getRefundList
().
size
()
-
1
).
getStatus
()
!=
1
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_REFUND_NOT_APPLY
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_REFUND_NOT_APPLY
);
}
}
//订单是否支持退款
boolean
isCanRefund
=
false
;
boolean
isCanRefund
=
false
;
//订单
boolean
isRefundDeliveryFee
=
false
;
//saas渠道订单,已完成的订单不能操作, 商户配置已完成订单可退款可退款
//saas渠道订单,已完成的订单不能操作, 商户配置已完成订单可退款可退款
if
(
ObjectUtils
.
equals
(
orderBean
.
getSource
(),
OrderSource
.
SAAS
.
getSource
()))
{
if
(
ObjectUtils
.
equals
(
orderBean
.
getSource
(),
OrderSource
.
SAAS
.
getSource
()))
{
isCanRefund
=
isCanRefund
(
orderBean
);
RefundConfig
refundConfig
=
getRefundConfig
(
orderBean
);
isCanRefund
=
refundConfig
.
isCanRefund
();
isRefundDeliveryFee
=
refundConfig
.
isRefundDeliveryFee
();
if
(!
isCanRefund
)
{
if
(!
isCanRefund
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_HAD_AFFIRM_CAN_NOT_REFUND
);
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_HAD_AFFIRM_CAN_NOT_REFUND
);
}
}
}
}
if
(
isCanRefund
)
{
if
(
isCanRefund
)
{
orderBean
.
setAmount
(
getRefundAmount
(
orderBean
).
longValue
());
orderBean
.
setAmount
(
getRefundAmount
(
orderBean
,
isRefundDeliveryFee
).
longValue
());
}
}
return
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
}
}
...
@@ -302,7 +310,7 @@ public class OrderVerifyHandle {
...
@@ -302,7 +310,7 @@ public class OrderVerifyHandle {
* @param data
* @param data
* @return true=可同意退款
* @return true=可同意退款
*/
*/
private
boolean
isCanRefund
(
QueryOrdersResponse
.
DataBean
.
OrderBean
data
)
{
private
RefundConfig
getRefundConfig
(
QueryOrdersResponse
.
DataBean
.
OrderBean
data
)
{
boolean
isFinishRefund
=
false
;
boolean
isFinishRefund
=
false
;
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
request
.
OrderExtInfoDto
extInfo
=
null
;
com
.
freemud
.
application
.
sdk
.
api
.
ordercenter
.
request
.
OrderExtInfoDto
extInfo
=
null
;
JSONObject
jsonObject1
=
JSONObject
.
parseObject
(
data
.
getExtInfo
());
JSONObject
jsonObject1
=
JSONObject
.
parseObject
(
data
.
getExtInfo
());
...
@@ -345,18 +353,26 @@ public class OrderVerifyHandle {
...
@@ -345,18 +353,26 @@ public class OrderVerifyHandle {
break
;
break
;
}
}
return
isFinishRefund
;
boolean
isRefundDeliveryFee
=
false
;
AssortmentOpenPlatformPartnerWxappConfig
refundDeliveryFeeConfig
=
configMap
.
get
(
OrderRefundEnum
.
REFUND_DELIVERY_FEE_ENABLE
.
getKeyValue
());
// 0、null表示 关闭 ; 1 表示开启
if
(
null
!=
refundDeliveryFeeConfig
&&
ALLOW_REFUND
.
equals
(
refundDeliveryFeeConfig
.
getAppValue
()))
{
isRefundDeliveryFee
=
true
;
}
return
new
RefundConfig
(
isFinishRefund
,
isRefundDeliveryFee
);
}
}
/**
/**
* 获取已完成订单退款金额
* 获取已完成订单退款金额
*/
*/
private
BigDecimal
getRefundAmount
(
QueryOrdersResponse
.
DataBean
.
OrderBean
data
)
{
private
BigDecimal
getRefundAmount
(
QueryOrdersResponse
.
DataBean
.
OrderBean
data
,
boolean
isRefundDeliveryFee
)
{
//是否配置已完成订单可退款
//是否配置已完成订单可退款
BigDecimal
refundAmount
=
new
BigDecimal
(
data
.
getAmount
());
BigDecimal
refundAmount
=
new
BigDecimal
(
data
.
getAmount
());
if
(
isRefundDeliveryFee
||
isPayBySVC
(
data
)){
return
refundAmount
;
}
List
<
QueryOrdersResponse
.
DataBean
.
OrderBean
.
AccountBean
>
accountList
=
data
.
getAccountList
();
List
<
QueryOrdersResponse
.
DataBean
.
OrderBean
.
AccountBean
>
accountList
=
data
.
getAccountList
();
//外卖订单,已完成,不退配送费
if
(
CollectionUtils
.
isNotEmpty
(
accountList
))
{
if
(
data
.
getStatus
()
==
OldOrderStatus
.
COMPLETE
.
getCode
()
&&
data
.
getType
()
==
OldOrderType
.
TAKE_OUT
.
getCode
())
{
for
(
QueryOrdersResponse
.
DataBean
.
OrderBean
.
AccountBean
orderCostResp
:
accountList
)
{
for
(
QueryOrdersResponse
.
DataBean
.
OrderBean
.
AccountBean
orderCostResp
:
accountList
)
{
if
(
orderCostResp
.
getType
()
==
OldOrderAccountType
.
DELIVERY_AMOUNT
.
getCode
())
{
if
(
orderCostResp
.
getType
()
==
OldOrderAccountType
.
DELIVERY_AMOUNT
.
getCode
())
{
refundAmount
=
new
BigDecimal
(
data
.
getAmount
().
intValue
()
-
orderCostResp
.
getPrice
());
refundAmount
=
new
BigDecimal
(
data
.
getAmount
().
intValue
()
-
orderCostResp
.
getPrice
());
...
@@ -365,4 +381,13 @@ public class OrderVerifyHandle {
...
@@ -365,4 +381,13 @@ public class OrderVerifyHandle {
}
}
return
refundAmount
;
return
refundAmount
;
}
}
/**
* 订单是否使用储值卡支付(储值卡支付的订单,不支持部分退款)
*
* @param order
* @return true-是,false-不是
*/
private
boolean
isPayBySVC
(
QueryOrdersResponse
.
DataBean
.
OrderBean
order
)
{
return
PAY_CODE_10102
.
equalsIgnoreCase
(
order
.
getPayChannel
());
}
}
}
ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/request/OrderCancelReq.java
View file @
ad01669e
...
@@ -65,4 +65,9 @@ public class OrderCancelReq {
...
@@ -65,4 +65,9 @@ public class OrderCancelReq {
//任务
//任务
private
OrderTaskReq
orderTask
;
private
OrderTaskReq
orderTask
;
/**
* 是否退配送费
*/
private
boolean
isRefundDeliveryAmount
;
}
}
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