|
@@ -26,7 +26,6 @@ import com.yc.ship.framework.tenant.core.context.TenantContextHolder;
|
|
|
import com.yc.ship.framework.tenant.core.util.TenantUtils;
|
|
|
import com.yc.ship.module.ota.api.OtaDistributorApi;
|
|
|
import com.yc.ship.module.ota.api.dto.BillResetReqDTO;
|
|
|
-import com.yc.ship.module.ota.api.dto.DistributorProductRespDTO;
|
|
|
import com.yc.ship.module.ota.api.dto.DistributorRespDTO;
|
|
|
import com.yc.ship.module.product.api.ProductApi;
|
|
|
import com.yc.ship.module.product.api.dto.ProductRefundRuleRespDTO;
|
|
@@ -74,14 +73,12 @@ import java.math.RoundingMode;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
-import java.util.concurrent.atomic.AtomicReference;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.yc.ship.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
-import static com.yc.ship.module.product.enums.YesOrNoEnum.NO;
|
|
|
+import static com.yc.ship.module.trade.enums.TravelhubDictTypeConstants.NO;
|
|
|
import static com.yc.ship.module.trade.enums.ApiConstants.*;
|
|
|
import static com.yc.ship.module.trade.enums.ErrorCodeConstants.*;
|
|
|
-import static com.yc.ship.module.trade.enums.TravelhubDictTypeConstants.PRODUCT_BASE_TYPE_PLAT;
|
|
|
import static com.yc.ship.module.trade.enums.TravelhubDictTypeConstants.YES;
|
|
|
import static com.yc.ship.module.trade.service.order.TradeOrderService.UPDATE_ORDER_LOCK;
|
|
|
|
|
@@ -182,7 +179,7 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
private CommonResult<TradeRefundRespDTO> normalRefund(TradeRefundBO tradeRefundBO){
|
|
|
TradeRefundRespDTO respDTO = new TradeRefundRespDTO().setRefundId(tradeRefundBO.getRefundDO().getId())
|
|
|
.setOrderId(tradeRefundBO.getRefundDO().getOrderId());
|
|
|
- if(!tradeRefundBO.getNeedAudit()){
|
|
|
+// if(!tradeRefundBO.getNeedAudit()){
|
|
|
// //无需审计直接退款
|
|
|
// //4.供应商退款
|
|
|
// CommonResult<?> supplerRefundResp = tradeSupplierService.refund(tradeRefundBO);
|
|
@@ -195,14 +192,14 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
// }
|
|
|
//4.2 供应商退款成功回调, 发起对应渠道退款
|
|
|
// tradeSupplierCallbackService.afterAllRefund(tradeRefundBO);
|
|
|
- }else{
|
|
|
+// }else{
|
|
|
//退款审核
|
|
|
submitRefundAudit(tradeRefundBO);
|
|
|
CommonResult<TradeRefundRespDTO> result = CommonResult.error(REFUND_AUDITING);
|
|
|
result.setData(respDTO);
|
|
|
return result;
|
|
|
- }
|
|
|
- return CommonResult.success(respDTO);
|
|
|
+// }
|
|
|
+// return CommonResult.success(respDTO);
|
|
|
}
|
|
|
|
|
|
private CommonResult<TradeRefundRespDTO> exceptionOrderRefund(TradeRefundBO tradeRefundBO){
|
|
@@ -235,7 +232,7 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
tradeRefundRepositoryService.updateRefundStatus(refundAuditReqDTO.getRefundId(),RefundStatusEnum.PASS);
|
|
|
}
|
|
|
|
|
|
- TradeRefundBO tradeRefundBO =buildRefundOrderFromRefund(refundDO);
|
|
|
+// TradeRefundBO tradeRefundBO =buildRefundOrderFromRefund(refundDO);
|
|
|
// CommonResult<?> supplerRefundResp = tradeSupplierService.refund(tradeRefundBO);
|
|
|
// if(supplerRefundResp.isError()){
|
|
|
// //4.1 供应商退款失败回调 ,此时逻辑是供应退款失败了,不发起退款,看后面是否审核通过了就忽略供应商的状态,无论成功或失败都发起退款
|
|
@@ -563,34 +560,34 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
//订单下所有门票信息
|
|
|
List<TradeDetailBO> tradeDetailList = tradeOrderRepositoryService.getTradeDetailWithBase(refundCreateReqDTO.getOrderId(), null,null);
|
|
|
//订单产品信息
|
|
|
- Map<Long, ProductSpuRespDTO> productMap = getOrderProductByDetailList(tradeDetailList);
|
|
|
+// Map<Long, ProductSpuRespDTO> productMap = getOrderProductByDetailList(tradeDetailList);
|
|
|
TradeRefundCalculateRespDTO respDTO = new TradeRefundCalculateRespDTO();
|
|
|
BigDecimal originRefundPrice = BigDecimal.ZERO;
|
|
|
BigDecimal fee = BigDecimal.ZERO;
|
|
|
BigDecimal refundAmount = BigDecimal.ZERO;
|
|
|
List<TradeRefundCalculateRespDTO.RefundItem > refundItemList = new ArrayList<>();
|
|
|
- if(refundCreateReqDTO.getItemlList() == null){
|
|
|
+// if(refundCreateReqDTO.getItemlList() == null){
|
|
|
//退单
|
|
|
for (TradeDetailBO tradeDetail : tradeDetailList) {
|
|
|
- TradeRefundCalculateRespDTO.RefundItem calculateRefundItem = calculateRefundDetailPrice(tradeOrderDO, tradeDetail, productMap.get(tradeDetail.getProductId()), null);
|
|
|
+ TradeRefundCalculateRespDTO.RefundItem calculateRefundItem = calculateRefundDetailPrice(tradeOrderDO, tradeDetail, null, null);
|
|
|
refundAmount = refundAmount.add(calculateRefundItem.getRefundAmount());
|
|
|
fee = fee.add(calculateRefundItem.getFee());
|
|
|
originRefundPrice = originRefundPrice.add(calculateRefundItem.getOriginRefundAmount());
|
|
|
refundItemList.add(calculateRefundItem);
|
|
|
}
|
|
|
- }else{
|
|
|
- //过滤门票信息并验证
|
|
|
- for (TradeRefundCreateReqDTO.RefundItem refundItem : refundCreateReqDTO.getItemlList()) {
|
|
|
- TradeDetailBO tradeDetail = tradeDetailList.stream().filter(tradeDetailBO -> ObjectUtil.equal(refundItem.getOrderDetailId(),tradeDetailBO.getId()))
|
|
|
- .findFirst().orElse(null);
|
|
|
- Asserts.isTrue(tradeDetail!=null,"未找到此退单项:{}",refundItem.getOrderDetailId());
|
|
|
- TradeRefundCalculateRespDTO.RefundItem calculateRefundItem = calculateRefundDetailPrice(tradeOrderDO, tradeDetail, productMap.get(tradeDetail.getProductId()), refundItem);
|
|
|
- refundAmount = refundAmount.add(calculateRefundItem.getRefundAmount());
|
|
|
- fee = fee.add(calculateRefundItem.getFee());
|
|
|
- originRefundPrice = originRefundPrice.add(calculateRefundItem.getOriginRefundAmount());
|
|
|
- refundItemList.add(calculateRefundItem);
|
|
|
- }
|
|
|
- }
|
|
|
+// }else{
|
|
|
+// //过滤门票信息并验证
|
|
|
+// for (TradeRefundCreateReqDTO.RefundItem refundItem : refundCreateReqDTO.getItemlList()) {
|
|
|
+// TradeDetailBO tradeDetail = tradeDetailList.stream().filter(tradeDetailBO -> ObjectUtil.equal(refundItem.getOrderDetailId(),tradeDetailBO.getId()))
|
|
|
+// .findFirst().orElse(null);
|
|
|
+// Asserts.isTrue(tradeDetail!=null,"未找到此退单项:{}",refundItem.getOrderDetailId());
|
|
|
+// TradeRefundCalculateRespDTO.RefundItem calculateRefundItem = calculateRefundDetailPrice(tradeOrderDO, tradeDetail, productMap.get(tradeDetail.getProductId()), refundItem);
|
|
|
+// refundAmount = refundAmount.add(calculateRefundItem.getRefundAmount());
|
|
|
+// fee = fee.add(calculateRefundItem.getFee());
|
|
|
+// originRefundPrice = originRefundPrice.add(calculateRefundItem.getOriginRefundAmount());
|
|
|
+// refundItemList.add(calculateRefundItem);
|
|
|
+// }
|
|
|
+// }
|
|
|
//获取当前可退金额
|
|
|
BigDecimal orderApplyRefundAmount = tradeRefundRepositoryService.getOrderApplyRefundAmount(refundCreateReqDTO.getOrderId());
|
|
|
BigDecimal canRefundAmount = tradeOrderDO.getPayAmount().subtract(orderApplyRefundAmount);
|
|
@@ -795,18 +792,6 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
tradeDetailList.forEach(tradeDetail -> {
|
|
|
ProductSpuRespDTO product = productMap.get(tradeDetail.getProductId());
|
|
|
if(product == null){
|
|
|
- if(tradeDetail.getProductType() == PRODUCT_BASE_TYPE_PLAT){
|
|
|
- //平台产品
|
|
|
- DistributorProductRespDTO distributorProductRespDTO = otaDistributorApi.getDistributorProductById(tradeDetail.getProductId()).getCheckedData();
|
|
|
- AtomicReference<ProductSpuRespDTO> productSpuAtomicRef = new AtomicReference<>();
|
|
|
- TenantUtils.execute(distributorProductRespDTO.getTenantId(),()->{
|
|
|
- productSpuAtomicRef.set(productApi.getProduct(distributorProductRespDTO.getProductId()).getCheckedData());
|
|
|
- });
|
|
|
- product = productSpuAtomicRef.get();
|
|
|
- }else{
|
|
|
- //自建产品
|
|
|
- product = productApi.getProduct(tradeDetail.getProductId()).getCheckedData();
|
|
|
- }
|
|
|
productMap.put(tradeDetail.getProductId(),product);
|
|
|
}
|
|
|
});
|
|
@@ -818,11 +803,11 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
*/
|
|
|
private void validateRefundRule(TradeOrderDO tradeOrderDO,TradeDetailBO tradeDetailBO, ProductSpuRespDTO product){
|
|
|
|
|
|
- //验证退票规则, 验证detail规则
|
|
|
- ProductRefundRuleRespDTO productRefundRule = product.getProductRefundRule();
|
|
|
- Asserts.isTrue(ObjectUtil.notEqual(productRefundRule.getRefundRule(), RefundRuleEnum.NOT_REFUND.getValue()),"产品不允许退款{}",tradeDetailBO.getVoucherCode());
|
|
|
- //验证退票最晚时间
|
|
|
- checkRefundByRefundLatestTime(tradeOrderDO, tradeDetailBO, productRefundRule);
|
|
|
+// //验证退票规则, 验证detail规则
|
|
|
+// ProductRefundRuleRespDTO productRefundRule = product.getProductRefundRule();
|
|
|
+// Asserts.isTrue(ObjectUtil.notEqual(productRefundRule.getRefundRule(), RefundRuleEnum.NOT_REFUND.getValue()),"产品不允许退款{}",tradeDetailBO.getVoucherCode());
|
|
|
+// //验证退票最晚时间
|
|
|
+// checkRefundByRefundLatestTime(tradeOrderDO, tradeDetailBO, productRefundRule);
|
|
|
}
|
|
|
|
|
|
private TradeRefundCalculateRespDTO.RefundItem calculateRefundDetailPrice(TradeOrderDO tradeOrderDO,TradeDetailBO tradeDetail,ProductSpuRespDTO product,TradeRefundCreateReqDTO.RefundItem refundItem){
|
|
@@ -833,9 +818,9 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
calculateRefundItem.setOrderDetailId(tradeDetail.getId());
|
|
|
calculateRefundItem.setVoucherCode(tradeDetail.getVoucherCode());
|
|
|
|
|
|
- BigDecimal percent = getRefundFeePercent(tradeOrderDO,tradeDetail,product);
|
|
|
- percent = percent ==null?BigDecimal.ZERO:percent;
|
|
|
-
|
|
|
+// BigDecimal percent = getRefundFeePercent(tradeOrderDO,tradeDetail,product);
|
|
|
+// percent = percent ==null?BigDecimal.ZERO:percent;
|
|
|
+ BigDecimal percent = BigDecimal.ZERO;
|
|
|
//退整张
|
|
|
if(refundItem == null || CollUtil.isEmpty(refundItem.getDetailList())){
|
|
|
fee = getRefundFee(tradeDetail.getActualPrice(),percent);
|
|
@@ -871,45 +856,45 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
}
|
|
|
|
|
|
private BigDecimal getRefundFeePercent(TradeOrderDO tradeOrderDO,TradeDetailBO tradeDetail,ProductSpuRespDTO product){
|
|
|
- ProductRefundRuleRespDTO productRefundRule = product.getProductRefundRule();
|
|
|
- BigDecimal percent = null;
|
|
|
- if(ObjectUtils.equalsAny(productRefundRule.getRefundRule(),RefundRuleEnum.PAY_FEE.getValue(),RefundRuleEnum.AUDIT.getValue(),RefundRuleEnum.USE_DATE_AUDIT.getValue())){
|
|
|
- //如果没配置就不计算手续费
|
|
|
- if(StringUtils.isNotBlank(productRefundRule.getRefundFeeRule())){
|
|
|
- //计算手续费
|
|
|
- JSONArray jsonArray = JSONUtil.parseArray(productRefundRule.getRefundFeeRule());
|
|
|
- //门票有效期
|
|
|
- LocalDateTime useDate = tradeDetail.getUseDate()==null?tradeDetail.getValidityStartDate():tradeDetail.getUseDate();
|
|
|
- if(useDate!=null){
|
|
|
- Date now = new Date();
|
|
|
- Date refundUseDate = DateUtils.of(useDate);
|
|
|
- //如果有选择了时间方案,则退款以时间方案最早时间为手续费节点
|
|
|
- if(tradeDetail.getRoutePlanId()!=null){
|
|
|
-// RoutePlanDetailRespDTO routePlanMinDetail = getRoutePlanMinDetail(tradeDetail.getRoutePlanId());
|
|
|
-// if(routePlanMinDetail!=null && StrUtil.isNotBlank(routePlanMinDetail.getStartTime())){
|
|
|
-// String newUseDate = DateUtil.formatDate(refundUseDate)+" "+routePlanMinDetail.getStartTime();
|
|
|
-// refundUseDate = DateUtil.parse(newUseDate, DatePattern.NORM_DATETIME_MINUTE_PATTERN);
|
|
|
+// ProductRefundRuleRespDTO productRefundRule = product.getProductRefundRule();
|
|
|
+ BigDecimal percent = BigDecimal.ZERO;
|
|
|
+// if(ObjectUtils.equalsAny(productRefundRule.getRefundRule(),RefundRuleEnum.PAY_FEE.getValue(),RefundRuleEnum.AUDIT.getValue(),RefundRuleEnum.USE_DATE_AUDIT.getValue())){
|
|
|
+// //如果没配置就不计算手续费
|
|
|
+// if(StringUtils.isNotBlank(productRefundRule.getRefundFeeRule())){
|
|
|
+// //计算手续费
|
|
|
+// JSONArray jsonArray = JSONUtil.parseArray(productRefundRule.getRefundFeeRule());
|
|
|
+// //门票有效期
|
|
|
+// LocalDateTime useDate = tradeDetail.getUseDate()==null?tradeDetail.getValidityStartDate():tradeDetail.getUseDate();
|
|
|
+// if(useDate!=null){
|
|
|
+// Date now = new Date();
|
|
|
+// Date refundUseDate = DateUtils.of(useDate);
|
|
|
+// //如果有选择了时间方案,则退款以时间方案最早时间为手续费节点
|
|
|
+// if(tradeDetail.getRoutePlanId()!=null){
|
|
|
+//// RoutePlanDetailRespDTO routePlanMinDetail = getRoutePlanMinDetail(tradeDetail.getRoutePlanId());
|
|
|
+//// if(routePlanMinDetail!=null && StrUtil.isNotBlank(routePlanMinDetail.getStartTime())){
|
|
|
+//// String newUseDate = DateUtil.formatDate(refundUseDate)+" "+routePlanMinDetail.getStartTime();
|
|
|
+//// refundUseDate = DateUtil.parse(newUseDate, DatePattern.NORM_DATETIME_MINUTE_PATTERN);
|
|
|
+//// }
|
|
|
+// }else if(StrUtil.isNotBlank(productRefundRule.getRefundFeeStartTime())){
|
|
|
+// String newUseDate = DateUtil.formatDate(refundUseDate)+" "+productRefundRule.getRefundFeeStartTime();
|
|
|
+// refundUseDate = DateUtil.parse(newUseDate, DatePattern.NORM_DATETIME_MINUTE_PATTERN);
|
|
|
+// }
|
|
|
+// long offestMinute = DateUtil.between(refundUseDate,now, DateUnit.MINUTE);
|
|
|
+// offestMinute = refundUseDate.after(now)?offestMinute : -offestMinute;
|
|
|
+// //过滤规则
|
|
|
+// BigDecimal offestMinuteBd = BigDecimal.valueOf(offestMinute);
|
|
|
+// for (int i = 0; i < jsonArray.size(); i++) {
|
|
|
+// JSONObject jsonObject = jsonArray.getJSONObject(i);
|
|
|
+// BigDecimal minMinute = jsonObject.getBigDecimal("minHour").multiply(new BigDecimal(60));
|
|
|
+// BigDecimal maxMinute = jsonObject.getBigDecimal("maxHour").multiply(new BigDecimal(60)); //不包含
|
|
|
+// if(offestMinuteBd.compareTo(minMinute)>=0 && offestMinuteBd.compareTo(maxMinute)<0){
|
|
|
+// percent = jsonObject.getBigDecimal("fee");
|
|
|
+// break;
|
|
|
// }
|
|
|
- }else if(StrUtil.isNotBlank(productRefundRule.getRefundFeeStartTime())){
|
|
|
- String newUseDate = DateUtil.formatDate(refundUseDate)+" "+productRefundRule.getRefundFeeStartTime();
|
|
|
- refundUseDate = DateUtil.parse(newUseDate, DatePattern.NORM_DATETIME_MINUTE_PATTERN);
|
|
|
- }
|
|
|
- long offestMinute = DateUtil.between(refundUseDate,now, DateUnit.MINUTE);
|
|
|
- offestMinute = refundUseDate.after(now)?offestMinute : -offestMinute;
|
|
|
- //过滤规则
|
|
|
- BigDecimal offestMinuteBd = BigDecimal.valueOf(offestMinute);
|
|
|
- for (int i = 0; i < jsonArray.size(); i++) {
|
|
|
- JSONObject jsonObject = jsonArray.getJSONObject(i);
|
|
|
- BigDecimal minMinute = jsonObject.getBigDecimal("minHour").multiply(new BigDecimal(60));
|
|
|
- BigDecimal maxMinute = jsonObject.getBigDecimal("maxHour").multiply(new BigDecimal(60)); //不包含
|
|
|
- if(offestMinuteBd.compareTo(minMinute)>=0 && offestMinuteBd.compareTo(maxMinute)<0){
|
|
|
- percent = jsonObject.getBigDecimal("fee");
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
return percent;
|
|
|
}
|
|
|
|
|
@@ -1047,16 +1032,17 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
}
|
|
|
if(!isAudit){
|
|
|
//产品是否要求审核
|
|
|
- isAudit = isProductNeedAudit(tradeRefundBO, refundCreateReqDTO, tradeDetailList);
|
|
|
+// isAudit = isProductNeedAudit(tradeRefundBO, refundCreateReqDTO, tradeDetailList);
|
|
|
+ isAudit = false;
|
|
|
}
|
|
|
// if(!isAudit){
|
|
|
// //订单被计调需要审核
|
|
|
// isAudit = ObjectUtils.equalsAny(tradeRefundBO.getTradeOrderDO().getDispatchStatus(),ORDER_DISPATCH_STATUS_FINISH,ORDER_DISPATCH_STATUS_PART);
|
|
|
// }
|
|
|
- if(!isAudit){
|
|
|
- //已转交订单需要审核
|
|
|
- isAudit = tradeRefundBO.getTradeOrderDO().getTransDistributorId()!=null;
|
|
|
- }
|
|
|
+// if(!isAudit){
|
|
|
+// //已转交订单需要审核
|
|
|
+// isAudit = tradeRefundBO.getTradeOrderDO().getTransDistributorId()!=null;
|
|
|
+// }
|
|
|
|
|
|
return isAudit;
|
|
|
}
|
|
@@ -1162,20 +1148,20 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
|
|
|
if(refundItem == null || CollUtil.isEmpty(refundItem.getDetailList())){
|
|
|
//全部退
|
|
|
- tradeDetail.getTradeDetailBaseList().forEach(tradeDetailBase -> {
|
|
|
- //构建退票明细基础信息
|
|
|
- buildRefundDetailBase(tradeRefundBO,refundDetailDO,tradeDetailBase,null,refundDetailBaseDOList);
|
|
|
-
|
|
|
- });
|
|
|
+// tradeDetail.getTradeDetailBaseList().forEach(tradeDetailBase -> {
|
|
|
+// //构建退票明细基础信息
|
|
|
+// buildRefundDetailBase(tradeRefundBO,refundDetailDO,tradeDetailBase,null,refundDetailBaseDOList);
|
|
|
+//
|
|
|
+// });
|
|
|
}else{
|
|
|
- //部分退
|
|
|
- refundItem.getDetailList().forEach(refundSubItem -> {
|
|
|
- TradeDetailBaseDO tradeDetailBase = tradeDetail.getTradeDetailBaseList().stream().filter(tradeDetailBaseDO -> ObjectUtil.equal(refundSubItem.getOrderDetailBaseId(), tradeDetailBaseDO.getId()))
|
|
|
- .findFirst().orElse(null);
|
|
|
- Asserts.isTrue(tradeDetailBase!=null,"未找到此退单项明细:{}",refundItem.getOrderDetailId());
|
|
|
- //构建退票明细基础信息
|
|
|
- buildRefundDetailBase(tradeRefundBO,refundDetailDO,tradeDetailBase,refundSubItem,refundDetailBaseDOList);
|
|
|
- });
|
|
|
+// //部分退
|
|
|
+// refundItem.getDetailList().forEach(refundSubItem -> {
|
|
|
+// TradeDetailBaseDO tradeDetailBase = tradeDetail.getTradeDetailBaseList().stream().filter(tradeDetailBaseDO -> ObjectUtil.equal(refundSubItem.getOrderDetailBaseId(), tradeDetailBaseDO.getId()))
|
|
|
+// .findFirst().orElse(null);
|
|
|
+// Asserts.isTrue(tradeDetailBase!=null,"未找到此退单项明细:{}",refundItem.getOrderDetailId());
|
|
|
+// //构建退票明细基础信息
|
|
|
+// buildRefundDetailBase(tradeRefundBO,refundDetailDO,tradeDetailBase,refundSubItem,refundDetailBaseDOList);
|
|
|
+// });
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1295,8 +1281,8 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
refundDetailList.forEach(refundDetailDO -> {
|
|
|
TradeRefundDetailBO tradeRefundDetailBO = new TradeRefundDetailBO();
|
|
|
tradeRefundDetailBO.setRefundDetailDO(refundDetailDO);
|
|
|
- List<RefundDetailBaseDO> refundDetailBaseList = tradeRefundRepositoryService.getRefundDetailBaseList(refundDetailDO.getId());
|
|
|
- tradeRefundDetailBO.setRefundDetailBaseDOList(refundDetailBaseList);
|
|
|
+// List<RefundDetailBaseDO> refundDetailBaseList = tradeRefundRepositoryService.getRefundDetailBaseList(refundDetailDO.getId());
|
|
|
+// tradeRefundDetailBO.setRefundDetailBaseDOList(refundDetailBaseList);
|
|
|
tradeRefundDetailBOList.add(tradeRefundDetailBO);
|
|
|
});
|
|
|
return tradeRefundBO;
|
|
@@ -1581,18 +1567,18 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
}
|
|
|
|
|
|
private void forceCheck(TradeRefundCreateReqDTO refundCreateReqDTO,TradeRefundBO tradeRefundBO,List<TradeDetailBO> tradeDetailList){
|
|
|
- List<Long> checkList = new ArrayList<>();
|
|
|
- if(refundCreateReqDTO.getItemlList() == null){
|
|
|
- //验证是否在代退中
|
|
|
- Asserts.isTrue(!isGuideRefund(tradeRefundBO.getTradeOrderDO(),null),"存在导游代退信息,当前订单不能发起退款");
|
|
|
- }else{
|
|
|
- //过滤门票信息并验证
|
|
|
- for (TradeRefundCreateReqDTO.RefundItem refundItem : refundCreateReqDTO.getItemlList()) {
|
|
|
- checkList.add(refundItem.getOrderDetailId());
|
|
|
- }
|
|
|
- //验证是否在代退中
|
|
|
- Asserts.isTrue(!isGuideRefund(tradeRefundBO.getTradeOrderDO(),checkList),"存在导游代退信息,当前订单不能发起退款");
|
|
|
- }
|
|
|
+// List<Long> checkList = new ArrayList<>();
|
|
|
+// if(refundCreateReqDTO.getItemlList() == null){
|
|
|
+// //验证是否在代退中
|
|
|
+// Asserts.isTrue(!isGuideRefund(tradeRefundBO.getTradeOrderDO(),null),"存在导游代退信息,当前订单不能发起退款");
|
|
|
+// }else{
|
|
|
+// //过滤门票信息并验证
|
|
|
+// for (TradeRefundCreateReqDTO.RefundItem refundItem : refundCreateReqDTO.getItemlList()) {
|
|
|
+// checkList.add(refundItem.getOrderDetailId());
|
|
|
+// }
|
|
|
+// //验证是否在代退中
|
|
|
+// Asserts.isTrue(!isGuideRefund(tradeRefundBO.getTradeOrderDO(),checkList),"存在导游代退信息,当前订单不能发起退款");
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
private boolean isGuideRefund(TradeOrderDO tradeOrderDO,List<Long> detailIdList){
|
|
@@ -1604,8 +1590,8 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
}
|
|
|
|
|
|
private boolean isCheckRefundOnStart(TradeRefundBO tradeRefundBO,TradeDetailBO tradeDetail){
|
|
|
- ProductSpuRespDTO product = tradeRefundBO.getProductMap().get(tradeDetail.getProductId());
|
|
|
- ProductRefundRuleRespDTO productRefundRule = product.getProductRefundRule();
|
|
|
+// ProductSpuRespDTO product = tradeRefundBO.getProductMap().get(tradeDetail.getProductId());
|
|
|
+// ProductRefundRuleRespDTO productRefundRule = product.getProductRefundRule();
|
|
|
//暂时全部都要验证,不根据配置判断
|
|
|
return true;
|
|
|
}
|