...
|
...
|
@@ -9,7 +9,6 @@ import com.yohoufo.dal.order.model.SellerOrderGoods; |
|
|
import com.yohoufo.order.model.dto.LimitTime;
|
|
|
import com.yohoufo.order.service.impl.MetaConfigService;
|
|
|
import com.yohoufo.order.service.impl.OrderOverTimeService;
|
|
|
import lombok.Getter;
|
|
|
import org.apache.commons.collections.MapUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
...
|
...
|
@@ -108,7 +107,7 @@ public class DeliveryMinutesService { |
|
|
//订单维度 下单时刻的配置
|
|
|
int totalMinutes = getDeliverMinutesLimitTimeByOrder(orderCode);
|
|
|
if (totalMinutes<=0){//商品类型匹配,当前生效的全局配置(数据库)
|
|
|
totalMinutes = getDeliverMinutesLimitTimeBySkupType(sellerOrderGoods);
|
|
|
totalMinutes = getDeliverLimitTimeBySkupType(sellerOrderGoods, TimeUnit.MINUTES);
|
|
|
}
|
|
|
//配置文件(程序中)
|
|
|
if (totalMinutes<=0){
|
...
|
...
|
@@ -170,14 +169,23 @@ public class DeliveryMinutesService { |
|
|
return MINUTES_DELIVERNOTICE_SECOND;
|
|
|
}
|
|
|
|
|
|
private int getDeliverMinutesLimitTimeBySkupType(SellerOrderGoods sellerOrderGoods){
|
|
|
|
|
|
|
|
|
public int getDeliverLimitTimeBySkupType(SellerOrderGoods sellerOrderGoods, TimeUnit timeUnit){
|
|
|
Map<String, LimitTime> limitTimeMap = metaConfigService.getSellerDeliverLimitTimeConfig();
|
|
|
SkupType skupType = SkupType.getSkupType(sellerOrderGoods.getAttributes());
|
|
|
LimitTime limitTime = null;
|
|
|
if (MapUtils.isNotEmpty(limitTimeMap)
|
|
|
&& Objects.nonNull(limitTime = limitTimeMap.get(skupType.getLocalCacheKey()))) {
|
|
|
int limitTimeInt = getMinutes(limitTime);
|
|
|
logger.info("getDeliverMinutesLimitTimeBySkupType from special skupType {} {},limitTimeInt {}",
|
|
|
|
|
|
int limitTimeInt = 0;
|
|
|
if (timeUnit == TimeUnit.HOURS){
|
|
|
limitTimeInt = getHours(limitTime);
|
|
|
}else if (timeUnit == TimeUnit.MINUTES){
|
|
|
limitTimeInt = getMinutes(limitTime);
|
|
|
}
|
|
|
|
|
|
logger.info("getDeliverLimitTimeBySkupType from special skupType {} {},limitTimeInt {}",
|
|
|
limitTime,sellerOrderGoods, limitTimeInt);
|
|
|
return limitTimeInt;
|
|
|
}
|
...
|
...
|
@@ -185,13 +193,7 @@ public class DeliveryMinutesService { |
|
|
}
|
|
|
|
|
|
|
|
|
public int getDeliverMinutesThird(SellerOrderGoods sellerOrderGoods){
|
|
|
int limitTimeInt = getDeliverMinutesLimitTimeBySkupType(sellerOrderGoods);
|
|
|
if (limitTimeInt>0){
|
|
|
return limitTimeInt;
|
|
|
}
|
|
|
return minutes_deliverNotice_third;
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* it's dead line of seller deliver goods of buyer order
|
...
|
...
|
@@ -200,7 +202,7 @@ public class DeliveryMinutesService { |
|
|
* @return
|
|
|
*/
|
|
|
public int getDeliverMinutesThird(int ts, SellerOrderGoods sellerOrderGoods){
|
|
|
int limitTimeInt = getDeliverMinutesLimitTimeBySkupType(sellerOrderGoods);
|
|
|
int limitTimeInt = getDeliverLimitTimeBySkupType(sellerOrderGoods, TimeUnit.MINUTES);
|
|
|
if (limitTimeInt>0){
|
|
|
return limitTimeInt;
|
|
|
}
|
...
|
...
|
@@ -212,6 +214,26 @@ public class DeliveryMinutesService { |
|
|
return minutes_deliverNotice_third;
|
|
|
}
|
|
|
|
|
|
|
|
|
private static int getHours(LimitTime limitTime){
|
|
|
int hours;
|
|
|
TimeUnit timeUnit;
|
|
|
if (Objects.nonNull(timeUnit=limitTime.getTimeUnit())) {
|
|
|
switch (timeUnit) {
|
|
|
case HOURS:
|
|
|
default:
|
|
|
hours = limitTime.getLimitTime();
|
|
|
break;
|
|
|
case MINUTES:
|
|
|
hours = limitTime.getLimitTime()/60;
|
|
|
break;
|
|
|
}
|
|
|
}else{
|
|
|
hours = limitTime.getLimitTime();
|
|
|
}
|
|
|
return hours;
|
|
|
}
|
|
|
|
|
|
private static int getMinutes(LimitTime limitTime){
|
|
|
int minutes;
|
|
|
TimeUnit timeUnit;
|
...
|
...
|
|