Commit 0f39fefc by 查志伟

Merge branch 'feature/退款支持优化' into qa

parents 2535caf2 bf6176da
//package com.freemud.sdk.api.assortment.order.enums;
//
//import java.util.ArrayList;
//import java.util.List;
//
///**
// * All rights Reserved, Designed By www.freemud.cn
// *
// * @version V1.0
// * @Title: NewOldOrderType
// * @Package com.freemud.sdk.api.assortment.enums
// * @Description:
// * @author: ping.wu
// * @date: 2019/4/18 17:28
// * @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
// * 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
// */
//public enum NewOrderType {
//
// GENERAL_DINE_IN(1, "店内自取实时-1常规堂食"),
// RESERVED_DINE_IN(2, "店内自取预约-2预约堂食"),
// GENERAL_EXPRESS(3, "店外快递实时-3常规外送"),
// RESERVED_EXPRESS(4, "店外快递预约-4预约外送"),
// GENERAL_SELF_PICKUP(5, "店外自取实时-5常规自取"),
// RESERVED_SELF_PICKUP(6, "店外自取预约-6预约自取")
// ;
//
// private Integer code;
// private String desc;
//
// NewOrderType(Integer code, String desc) {
// this.code = code;
// this.desc = desc;
// }
//
// public static List<Integer> getAllCodes() {
// List<Integer> list = new ArrayList<>();
// for (NewOrderType type : values()) {
// list.add(type.getCode());
// }
// return list;
// }
//
//
// public static NewOrderType getByCode(Integer code) {
// if (code == null) {
// return null;
// }
// for (NewOrderType newOrderType : values()) {
// if (newOrderType.getCode().equals(code)) {
// return newOrderType;
// }
// }
// return null;
// }
//
// public Integer getCode() {
// return code;
// }
//
// public String getDesc() {
// return desc;
// }
//
//}
package com.freemud.sdk.api.assortment.order.enums;
import java.util.ArrayList;
import java.util.List;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: NewOldOrderType
* @Package com.freemud.sdk.api.assortment.enums
* @Description:
* @author: ping.wu
* @date: 2019/4/18 17:28
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
public enum NewOrderType {
GENERAL_DINE_IN(1, "店内自取实时-1常规堂食"),
RESERVED_DINE_IN(2, "店内自取预约-2预约堂食"),
GENERAL_EXPRESS(3, "店外快递实时-3常规外送"),
RESERVED_EXPRESS(4, "店外快递预约-4预约外送"),
GENERAL_SELF_PICKUP(5, "店外自取实时-5常规自取"),
RESERVED_SELF_PICKUP(6, "店外自取预约-6预约自取")
;
private final Integer code;
private final String desc;
NewOrderType(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public static List<Integer> getAllCodes() {
List<Integer> list = new ArrayList<>();
for (NewOrderType type : values()) {
list.add(type.getCode());
}
return list;
}
public static NewOrderType getByCode(Integer code) {
if (code == null) {
return null;
}
for (NewOrderType newOrderType : values()) {
if (newOrderType.getCode().equals(code)) {
return newOrderType;
}
}
return null;
}
public Integer getCode() {
return code;
}
public String getDesc() {
return desc;
}
public static boolean isDelivery(Integer orderType) {
if (orderType == null) {
return false;
}
return orderType.equals(NewOrderType.GENERAL_EXPRESS.getCode())
|| orderType.equals(NewOrderType.RESERVED_EXPRESS.getCode());
}
}
......@@ -872,6 +872,8 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setPartnerId(cancelOrderRequest.getPartnerId());
request.setOrderCode(cancelOrderRequest.getOrderId());
request.setReqRemark(cancelOrderRequest.getReqRemark());
request.setReqAmount(cancelOrderRequest.getReqAmount());
request.setPartRefund(cancelOrderRequest.isPartRefund());
//售后单类型 1:其他取消 2:用户取消 3:商户取消 4:未支付超时关单 5:商户接单超时取消 6:商家拒单
// 7:配送用户拒收 8:用户售后退货/售后退款 9:系统取消 10:客服取消 11:用户统一取消,
request.setAfterSalesType(cancelOrderRequest.getAfterSalesType().getIndex() == null ? 1 : cancelOrderRequest.getAfterSalesType().getIndex());
......
......@@ -228,7 +228,7 @@ public class RefundService {
*/
private boolean isRefundDeliveryFee(OrderInfoReqs order, Long refundAmount) {
// 退款金额小于实付金额的情况,表示部分退不需要退配送费
if (refundAmount != null && refundAmount < order.getActualPayAmount().longValue()) {
if (refundAmount != null && refundAmount < order.getSettlementAmount().longValue()) {
return false;
}
boolean refundDeliveryFee = true;
......@@ -276,7 +276,7 @@ public class RefundService {
*/
private void refundOrder(OrderInfoReqs order, String reason, String remark, Boolean isRefundDeliveryFee, Byte refundMode) {
int state = PayRefundStatus.SUCCESS.getCode();
if (order.getActualPayAmount().longValue() > 0) {
if (order.getSettlementAmount().longValue() > 0) {
PayRefundResponse refundResponse = paymentHandle.getCommonPayRefundResponse(order, reason);
state = refundResponse.getPayRefundStatus().getCode();
}
......
......@@ -15,6 +15,8 @@ package com.freemud.application.sdk.api.ordercenter.request;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class OrderCancelReq {
......@@ -85,4 +87,14 @@ public class OrderCancelReq {
* 售后退款状态 0:未定义(存量数据) 1:未退款 2:退款中 3:退款失败 4:已退款
*/
private Integer refundState;
/**
* 部分退申请金额
*/
private BigDecimal reqAmount;
/**
* 是否部分退,默认否(全退)
*/
private boolean isPartRefund = false;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment