Commit 004e9e4a by 周晓航

预定单 C端小程序 queryOrders 列表是否要展示 申请退款按钮 开发

Signed-off-by: 周晓航 <xiaohang.zhou@freemud.com>
parent e9a52436
......@@ -18,9 +18,9 @@ import cn.freemud.constant.RedisKeyConstant;
import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.activity.ShareDiscountActivityDto;
import cn.freemud.entities.dto.order.*;
import cn.freemud.entities.dto.order.CreateOrderAccountDto;
import cn.freemud.entities.dto.order.CreateOrderProductDto;
import cn.freemud.entities.dto.order.*;
import cn.freemud.entities.dto.pay.CombPayResponse;
import cn.freemud.entities.dto.promotion.OrderBeanRequest;
import cn.freemud.entities.dto.promotion.ShoppingCartGoodsResponse;
......@@ -30,7 +30,6 @@ import cn.freemud.entities.ttpay.OrderInfo;
import cn.freemud.entities.vo.*;
import cn.freemud.entities.vo.encircle.CreateReserveOrderVo;
import cn.freemud.entities.vo.encircle.PreviewOrderInfoVo;
import cn.freemud.enums.*;
import cn.freemud.enums.ActivityTypeEnum;
import cn.freemud.enums.OrderChannelType;
import cn.freemud.enums.OrderSourceType;
......@@ -39,6 +38,7 @@ import cn.freemud.enums.PayStatus;
import cn.freemud.enums.QueryOrderStatus;
import cn.freemud.enums.RefundStatus;
import cn.freemud.enums.ResponseResult;
import cn.freemud.enums.*;
import cn.freemud.interceptor.ServiceException;
import cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request;
import cn.freemud.redis.RedisCache;
......@@ -54,7 +54,6 @@ import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
import com.freemud.api.assortment.datamanager.enums.IappIdType;
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerConfigManager;
import com.freemud.api.assortment.datamanager.manager.cache.CacheOpenPlatformPartnerWxappConfigManager;
//import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.entities.PayItem;
import com.freemud.application.sdk.api.ordercenter.enums.*;
......@@ -105,6 +104,8 @@ import java.util.stream.Stream;
import static cn.freemud.constant.OrderRefundConstant.ALLOW_REFUND;
//import com.freemud.application.sdk.api.log.LogThreadLocal;
@Component
public class OrderAdapter {
private static FastDateFormat yyyyMMddHHmmss = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss", Locale.CHINA);
......@@ -2084,6 +2085,11 @@ public class OrderAdapter {
// 除 未支付 拒单 和 取消外,其他可退款
return Stream.of(OrderStatus.WAIT_PAY, OrderStatus.REFUSE, OrderStatus.CALCEL).noneMatch(s -> Objects.equals(status, s));
}
// 爱马哥 预定单 付款之后 预定当天之前的时间都可退款
if (orderBean.getBizType().compareTo(BizTypeEnum.ADVANCE_ORDER.getBizType()) == 0) {
return this.checkAdvanceOrder(orderBean.getGmtExpect());
}
boolean canRefund = false;
List<AssortmentOpenPlatformPartnerWxappConfig> wxappConfigs = cacheWxappConfigManager.cacheSelectDefaultPage(wxAppId, "2");
......@@ -2156,6 +2162,20 @@ public class OrderAdapter {
return canRefund;
}
/**
* 预约时间
* @param gmtExpect
* @return true 可退 false不可操作
*/
public boolean checkAdvanceOrder(Long gmtExpect) {
if (Objects.isNull(gmtExpect)) {
throw new ServiceException(ResponseResult.PARAMETER_MISSING, "gmtExpect参数有异常");
}
// 只有在 预约时间当天不可取消订单
Date expectDate = DateUtil.convert2Date(new Date(gmtExpect), DateUtil.FORMAT_YMD);
return new Date().before(expectDate);
}
public List<OrderAccountVo> convent2OrderAccountVo(List<QueryOrdersResponse.DataBean.OrderBean.OrderSettlement> orderSettlements) {
List<OrderAccountVo> orderAccountVos = new ArrayList<>();
if (CollectionUtils.isEmpty(orderSettlements)) {
......
......@@ -1888,10 +1888,11 @@ public class OrderServiceImpl implements Orderservice {
// fisherman 预定单前置校验-> bizType=7
if (BizTypeEnum.ADVANCE_ORDER.getBizType().compareTo(orderBean.getBizType()) == 0) {
// 预定时间 前一天都可退款
BaseResponse baseResponse = this.checkAdvanceOrder(orderBean.getGmtExpect());
if (Objects.nonNull(baseResponse)) {
return baseResponse;
boolean b = orderAdapter.checkAdvanceOrder(orderBean.getGmtExpect());
if (!b) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "预约时间当天不可退款");
}
}
/**
......@@ -2016,22 +2017,6 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.success();
}
/**
*
* @param gmtExpect 预约时间
* @return
*/
private BaseResponse checkAdvanceOrder(Long gmtExpect) {
if (Objects.isNull(gmtExpect)) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "预期送达时间为空,请联系售后");
}
// 只有在 预约时间当天不可取消订单
Date expectDate = DateUtil.convert2Date(new Date(gmtExpect), DateUtil.FORMAT_YMD);
if (new Date().after(expectDate)) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "预约时间当天不可退款");
}
return null;
}
/**
......
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