Commit bcb0e6a1 by zhiheng.zhang

Merge branch '202007131400' into develop

parents d4047293 8da97f39
...@@ -3065,4 +3065,31 @@ public class OrderSdkAdapter { ...@@ -3065,4 +3065,31 @@ public class OrderSdkAdapter {
} }
return name; return name;
} }
/**
* 获取订单信息
* @param sourceList
* @return
*/
public List<Integer> getBizTypes(List<String> sourceList) {
List<Integer> bizTypes = new ArrayList<>(0);
String source = sourceList.get(0);
switch (source) {
case "97": {
bizTypes.add(97);
break;
}
case "98": {
bizTypes.add(98);
break;
}
default:
bizTypes.add(1);
bizTypes.add(6);
bizTypes.add(97);
bizTypes.add(98);
break;
}
return bizTypes;
}
} }
...@@ -38,7 +38,7 @@ import tk.mybatis.spring.annotation.MapperScan; ...@@ -38,7 +38,7 @@ import tk.mybatis.spring.annotation.MapperScan;
@EnableSwagger2 @EnableSwagger2
@EnableCircuitBreaker @EnableCircuitBreaker
@SpringBootApplication @SpringBootApplication
@EnableDiscoveryClient //@EnableDiscoveryClient
@EnableAspectJAutoProxy @EnableAspectJAutoProxy
@ComponentScan({"cn.freemud", "com.freemud"}) @ComponentScan({"cn.freemud", "com.freemud"})
@MapperScan({"cn.freemud.*.dao","com.freemud.sdk.api.assortment.orderdistributor.mapper","com.freemud.api.assortment.datamanager.manager", @MapperScan({"cn.freemud.*.dao","com.freemud.sdk.api.assortment.orderdistributor.mapper","com.freemud.api.assortment.datamanager.manager",
......
...@@ -183,20 +183,12 @@ public class CheckOrder { ...@@ -183,20 +183,12 @@ public class CheckOrder {
} }
// TODO: 2020/6/16 门店校验处理 // TODO: 2020/6/16 门店校验处理
String takeMealFlag = createOrderVo.getTakeMealFlag(); String takeMealFlag = createOrderVo.getTakeMealFlag();
String takeMealTimes = createOrderVo.getTakeMealTime(); //未营业无预约时间无法下单
if (!StoreConstant.BUSINESS.equals(storeResponseDto.getState()) && StringUtils.isBlank(takeMealFlag) && "0".equals(takeMealFlag)) {
//立即送达 throw new ServiceException(ResponseResult.STORE_ITEM_CHECK_CLOSE);
if("0".equals(takeMealFlag) || (StringUtils.isEmpty(createOrderVo.getExpectTime()) && StringUtils.isEmpty(takeMealTimes))) {
//未营业无预约时间无法下单
if (!StoreConstant.BUSINESS.equals(storeResponseDto.getState())) {
throw new ServiceException(ResponseResult.STORE_ITEM_CHECK_CLOSE);
}
// 外卖单选择立即送达的话,下单时间必须在店铺外卖时间内
if(createOrderVo.getOrderType().compareTo(CreateOrderType.TAKE_OUT.getCode()) == 0) {
checkTakeOutTime(storeResponseDto, new Date(), new Date(), true);
}
} }
String takeMealTimes = createOrderVo.getTakeMealTime();
//有预约时间 //有预约时间
if(StringUtils.isNotBlank(takeMealTimes) || StringUtils.isNotBlank(createOrderVo.getExpectTime())){ if(StringUtils.isNotBlank(takeMealTimes) || StringUtils.isNotBlank(createOrderVo.getExpectTime())){
// 设置预约时间 // 设置预约时间
...@@ -318,47 +310,36 @@ public class CheckOrder { ...@@ -318,47 +310,36 @@ public class CheckOrder {
} }
if (CreateOrderType.TAKE_OUT.getCode().equals(createOrderVo.getOrderType())) { if (CreateOrderType.TAKE_OUT.getCode().equals(createOrderVo.getOrderType())) {
checkTakeOutTime(storeResponseDto, date, takeMealDateTime, expectTimeInTodayBusinessTime); String deliveryStr = storeResponseDto.getDeliveryHoursDay().replace("-", ",")
} .replace("_", ",");
} String[] deliverys = deliveryStr.split(",");
Date deliveryStartDate = null;
/** Date deliveryEndDate = null;
* 检验订单是否在外卖时间内 if (deliverys.length == 2) {
* @param storeResponseDto 店铺信息 SimpleDateFormat hhmmss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
* @param now 当前时间 SimpleDateFormat yyyyMMdd = new SimpleDateFormat("yyyy-MM-dd");
* @param takeMealDateTime 预约单送达时间/即时单下单时间 String startDateTimeStr = yyyyMMdd.format(date) + " " + deliverys[0] + ":00";
* @param expectTimeInTodayBusinessTime 是否在当日营业时间内 String endDateTimeStr = yyyyMMdd.format(date) + " " + deliverys[1] + ":00";
*/ try {
private void checkTakeOutTime(StoreResponse.BizVO storeResponseDto, Date now, Date takeMealDateTime, boolean expectTimeInTodayBusinessTime) { deliveryEndDate = hhmmss.parse(endDateTimeStr);
String deliveryStr = storeResponseDto.getDeliveryHoursDay().replace("-", ",") deliveryStartDate = hhmmss.parse(startDateTimeStr);
.replace("_", ","); } catch (ParseException e) {
String[] deliverys = deliveryStr.split(","); LogUtil.error("getStoreDeliveryInfo_error", endDateTimeStr, e.getMessage());
Date deliveryStartDate = null; }
Date deliveryEndDate = null; }
if (deliverys.length == 2) { if (deliveryStartDate == null || deliveryEndDate == null) {
SimpleDateFormat hhmmss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY);
SimpleDateFormat yyyyMMdd = new SimpleDateFormat("yyyy-MM-dd"); }
String startDateTimeStr = yyyyMMdd.format(now) + " " + deliverys[0] + ":00"; // 校验预约配送时间
String endDateTimeStr = yyyyMMdd.format(now) + " " + deliverys[1] + ":00"; if (expectTimeInTodayBusinessTime && (takeMealDateTime.before(deliveryStartDate) || takeMealDateTime.after(deliveryEndDate))) {
try { throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY);
deliveryStartDate = hhmmss.parse(startDateTimeStr); }
deliveryEndDate = hhmmss.parse(endDateTimeStr); Date nextDeliveryStartDate = DateUtil.addDays(deliveryStartDate, 1);
} catch (ParseException e) { Date nextDeliveryEndDate = DateUtil.addDays(deliveryEndDate, 1);
LogUtil.error("getStoreDeliveryInfo_error", endDateTimeStr, e.getMessage()); // 隔日预约外卖校验预约配送时间
if (!expectTimeInTodayBusinessTime && (takeMealDateTime.before(nextDeliveryStartDate) || takeMealDateTime.after(nextDeliveryEndDate))) {
throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY);
} }
}
if (deliveryStartDate == null || deliveryEndDate == null) {
throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY);
}
// 校验预约配送时间
if (expectTimeInTodayBusinessTime && (takeMealDateTime.before(deliveryStartDate) || takeMealDateTime.after(deliveryEndDate))) {
throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY);
}
Date nextDeliveryStartDate = DateUtil.addDays(deliveryStartDate, 1);
Date nextDeliveryEndDate = DateUtil.addDays(deliveryEndDate, 1);
// 隔日预约外卖校验预约配送时间
if (!expectTimeInTodayBusinessTime && (takeMealDateTime.before(nextDeliveryStartDate) || takeMealDateTime.after(nextDeliveryEndDate))) {
throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY);
} }
} }
......
...@@ -84,6 +84,7 @@ import com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderC ...@@ -84,6 +84,7 @@ import com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderC
import com.freemud.application.sdk.api.ordercenter.response.carpark.OrderResp; import com.freemud.application.sdk.api.ordercenter.response.carpark.OrderResp;
import com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse; import com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp;
import com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService; import com.freemud.application.sdk.api.ordercenter.service.OrderDownLoadSdkService;
import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService; import com.freemud.application.sdk.api.ordercenter.service.OrderSdkService;
import com.freemud.application.sdk.api.paymentcenter.client.request.CodePayRequest; import com.freemud.application.sdk.api.paymentcenter.client.request.CodePayRequest;
...@@ -139,6 +140,7 @@ import org.springframework.stereotype.Service; ...@@ -139,6 +140,7 @@ import org.springframework.stereotype.Service;
import tk.mybatis.mapper.util.StringUtil; import tk.mybatis.mapper.util.StringUtil;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
...@@ -2419,7 +2421,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2419,7 +2421,7 @@ public class OrderServiceImpl implements Orderservice {
OrderConditionsReq orderConditionsReq = new OrderConditionsReq(); OrderConditionsReq orderConditionsReq = new OrderConditionsReq();
BeanUtil.convertBean(queryOrderByConditionsRequestVo, orderConditionsReq); BeanUtil.convertBean(queryOrderByConditionsRequestVo, orderConditionsReq);
orderConditionsReq.setUserId(userId); orderConditionsReq.setUserId(userId);
Date startDate = DateUtil.convert2Date(DateUtil.addDays(new Date(),-28), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS); Date startDate = DateUtil.convert2Date("2020-08-01 00:00:00", DateUtil.FORMAT_YYYY_MM_DD_HHMMSS);
orderConditionsReq.setStartTimestamp(startDate.getTime()/1000); orderConditionsReq.setStartTimestamp(startDate.getTime()/1000);
orderConditionsReq.setEndTimestamp(new Date().getTime()/1000); orderConditionsReq.setEndTimestamp(new Date().getTime()/1000);
BaseDownLoadResponse<List<OrderInfoReqs>> orderInfoReqs = orderDownLoadSdkService.queryOrderByConditions(orderConditionsReq,LogTreadLocal.getTrackingNo()); BaseDownLoadResponse<List<OrderInfoReqs>> orderInfoReqs = orderDownLoadSdkService.queryOrderByConditions(orderConditionsReq,LogTreadLocal.getTrackingNo());
...@@ -2445,6 +2447,12 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2445,6 +2447,12 @@ public class OrderServiceImpl implements Orderservice {
imgUrl.add(String.valueOf(jsonArray.get(i))); imgUrl.add(String.valueOf(jsonArray.get(i)));
} }
} }
if(null !=orderBean.getOrderSettlementDetailList() && orderBean.getOrderSettlementDetailList().size()>0){
queryOrderByConditionsResponseVo.setSettlementAmount(orderBean.getOrderSettlementDetailList().stream().map(OrderSettlementResp::getSettlementAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
}else{
queryOrderByConditionsResponseVo.setSettlementAmount(BigDecimal.ZERO);
}
queryOrderByConditionsResponseVo.setSettlementAmount(orderBean.getOrderSettlementDetailList().get(0).getSettlementAmount());
queryOrderByConditionsResponseVo.setImgUrl(imgUrl); queryOrderByConditionsResponseVo.setImgUrl(imgUrl);
queryOrderByConditionsResponseVo.setOrderStateValue(orderSdkAdapter.getOrderStatusValue(orderBean.getOrderState())); queryOrderByConditionsResponseVo.setOrderStateValue(orderSdkAdapter.getOrderStatusValue(orderBean.getOrderState()));
SimpleDateFormat sdff=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdff=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
......
...@@ -201,5 +201,11 @@ public class InterfaceAddressConstant { ...@@ -201,5 +201,11 @@ public class InterfaceAddressConstant {
*/ */
public static final String PARKING_V2_AFFIRM = "/parking/v2/affirm"; public static final String PARKING_V2_AFFIRM = "/parking/v2/affirm";
/**
* /parking/v2/cancel
* 审核不通过
*/
public static final String PARKING_V2_CANCEL = "/parking/v2/cancel";
} }
package com.freemud.application.sdk.api.ordercenter.request.carpark;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class ParkingOrderCancelReq {
private String orderCode;
private String operator;
private String cancelReason;
}
...@@ -6,6 +6,7 @@ import com.freemud.application.sdk.api.ordercenter.constant.InterfaceAddressCons ...@@ -6,6 +6,7 @@ import com.freemud.application.sdk.api.ordercenter.constant.InterfaceAddressCons
import com.freemud.application.sdk.api.ordercenter.enums.ResponseResultEnum; import com.freemud.application.sdk.api.ordercenter.enums.ResponseResultEnum;
import com.freemud.application.sdk.api.ordercenter.request.*; import com.freemud.application.sdk.api.ordercenter.request.*;
import com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderAffirmReq; import com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderAffirmReq;
import com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderCancelReq;
import com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderCreateReq; import com.freemud.application.sdk.api.ordercenter.request.carpark.ParkingOrderCreateReq;
import com.freemud.application.sdk.api.ordercenter.request.create.BatchQueryByCodesReq; import com.freemud.application.sdk.api.ordercenter.request.create.BatchQueryByCodesReq;
import com.freemud.application.sdk.api.ordercenter.request.create.CreateFatherSonOrderReq; import com.freemud.application.sdk.api.ordercenter.request.create.CreateFatherSonOrderReq;
...@@ -792,5 +793,15 @@ public class OrderSdkService { ...@@ -792,5 +793,15 @@ public class OrderSdkService {
return responseHandle(responseDTO); return responseHandle(responseDTO);
} }
/**
* /parking/v2/cancel
* 审核不通过
*/
public BaseResponse parking_v2_cancel(ParkingOrderCancelReq request, String trackingNo) {
OrderBaseResp<OrderResp> responseDTO = RequestThirdPartyUtils.httpJsonReqComplexNew(restTemplate, PARKING_V2_CANCEL,
createBaseRequest(request, trackingNo), new ParameterizedTypeReference<OrderBaseResp<OrderResp>>() {
});
return responseHandle(responseDTO);
}
} }
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