| 
						 
							
							
							
						 
					 | 
				
			
			 | 
			 | 
			
				@@ -1,6 +1,7 @@
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				package com.stdiet.custom.service.impl;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import com.stdiet.common.utils.DateUtils;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import com.stdiet.common.utils.StringUtils;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import com.stdiet.common.utils.SynchrolockUtil;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import com.stdiet.common.utils.sign.Md5Utils;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import com.stdiet.custom.domain.SysOrder;
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -18,9 +19,7 @@ import org.springframework.transaction.annotation.Transactional;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import java.time.LocalDate;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import java.time.temporal.ChronoUnit;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import java.util.ArrayList;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import java.util.Date;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import java.util.List;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import java.util.*;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				/**
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				 * 食谱计划Service业务层处理
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -150,10 +149,8 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                SysRecipesPlan queryParam = new SysRecipesPlan();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                queryParam.setOrderId(orderId);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                List<SysRecipesPlan> oldRecipesPlanList = sysRecipesPlanMapper.selectSysRecipesPlanList(queryParam);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                SysOrderPause pauseParam = new SysOrderPause();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                pauseParam.setOrderId(sysOrder.getOrderId());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                //暂停记录列表
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                List<SysOrderPause> pauseList = sysOrderPauseService.selectSysOrderPauseList(pauseParam);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                //暂停记录列表,按暂停开始时间顺序
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                List<SysOrderPause> pauseList = sysOrderPauseService.getPauseListByOrderId(sysOrder.getOrderId());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                List<SysRecipesPlan> planList = generatePlan(sysOrder, oldRecipesPlanList, DateUtils.dateToLocalDate(sysOrder.getStartTime()), DateUtils.dateToLocalDate(sysOrder.getServerEndTime()), pauseList);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                if(oldRecipesPlanList != null && oldRecipesPlanList.size() > 0){
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    updateOrAddRecipesPlan(oldRecipesPlanList, planList);
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -184,9 +181,12 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        List<Long> delList = new ArrayList<>();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        for (SysRecipesPlan plan : oldRecipesPlanList) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            if(index < newSize){
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                plan.setStartDate(newRecipesPlanList.get(index).getStartDate());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                plan.setEndDate(newRecipesPlanList.get(index).getEndDate());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                updateList.add(plan);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                if(plan.getStartDate().compareTo(newRecipesPlanList.get(index).getStartDate()) != 0
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    || plan.getEndDate().compareTo(newRecipesPlanList.get(index).getEndDate()) != 0){
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    plan.setStartDate(newRecipesPlanList.get(index).getStartDate());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    plan.setEndDate(newRecipesPlanList.get(index).getEndDate());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    updateList.add(plan);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            }else{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                delList.add(plan.getId());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            }
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -197,6 +197,7 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        //更新
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if(updateList.size() > 0){
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            System.out.println("更新数量:"+updateList.size());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            for (SysRecipesPlan plan : updateList) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                sysRecipesPlanMapper.updateSysRecipesPlan(plan);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            }
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -230,19 +231,26 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            oldStartNumDay =  oldRecipesPlanList.get(0).getStartNumDay() - 1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        List<SysRecipesPlan> planList = new ArrayList<>();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        boolean breakFlag = false;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        LocalDate planStartDate = serverStartDate;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        LocalDate planEndDate = planStartDate.plusDays(6);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        while (true) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        LocalDate planStartDate = null;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        LocalDate planEndDate = serverStartDate.plusDays(-1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        boolean breakFlag = true;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        do {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            SysRecipesPlan sysRecipesPlan = new SysRecipesPlan();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            planStartDate = planEndDate.plusDays(1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            planEndDate = planStartDate.plusDays(6);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            //判断是否大于服务到期时间
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            if (ChronoUnit.DAYS.between(planEndDate, serverEndDate) <= 0) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                planEndDate = serverEndDate;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                breakFlag = true;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                breakFlag = false;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            String[] pauseResult = dealPlanPause(planStartDate, planEndDate, pauseList);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            //开始时间变更为暂停结束之后的日期,因为暂停开始时间与食谱计划开始时间相同
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            if(StringUtils.isNotEmpty(pauseResult[0])){
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                planStartDate = DateUtils.stringToLocalDate(pauseResult[0],"yyyyMMdd");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                planEndDate = DateUtils.stringToLocalDate(pauseResult[1],"yyyyMMdd");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            long pauseDay = getPauseDayeCount(planStartDate, planEndDate, pauseList);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            //加上暂停时间
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            planEndDate = planEndDate.plusDays(pauseDay);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            planEndDate = planEndDate.plusDays(Integer.parseInt(pauseResult[2]));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            sysRecipesPlan.setStartDate(DateUtils.localDateToDate(planStartDate));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            sysRecipesPlan.setEndDate(DateUtils.localDateToDate(planEndDate));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            sysRecipesPlan.setOrderId(sysOrder.getOrderId());
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -252,30 +260,27 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            sysRecipesPlan.setStartNumDay(oldStartNumDay);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            oldStartNumDay += 6;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            sysRecipesPlan.setEndNumDay(oldStartNumDay);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            //添加暂停范围内的日期
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            planList.add(sysRecipesPlan);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            planStartDate = planEndDate.plusDays(1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            planEndDate = planStartDate.plusDays(6);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            if (breakFlag) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }while (breakFlag);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        return planList;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    /**
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     * 根据食谱开始时间、结束时间、暂停列表获取在食谱计划范围内的暂停天数
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     *
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     * @param planStartDate 计划开始时间
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     * @param planEndDate   计划结束时间
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     * @param pauseList     暂停列表
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     * 根据食谱开始时间、结束时间、暂停列表获取在食谱计划范围内的暂停天数,以及返回调整之后的计划开始、结束时间,以及暂停日期
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     * @param planStartDate 原先的计划开始时间
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     * @param planEndDate 原先计划结束时间
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     * @param pauseList 暂停列表集合
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     * @return
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     */
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    private long getPauseDayeCount(LocalDate planStartDate, LocalDate planEndDate, List<SysOrderPause> pauseList) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    private String[] dealPlanPause(LocalDate planStartDate, LocalDate planEndDate, List<SysOrderPause> pauseList) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        //分别为计划开始时间、计划结束时间,范围内暂停天数,具体暂停日期,使用|隔开
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        String[] result = {"","","0",""};
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        long pauseDay = 0;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        Set<String> pauseDateString = new TreeSet<>(new MyComparator());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        //判断这个时间内是否存在暂停
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if (pauseList != null && pauseList.size() > 0) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            //每条暂停时间的范围不会重叠,在添加暂停时做了限制
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            for (SysOrderPause sysOrderPause : pauseList) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                LocalDate pauseStartDate = DateUtils.dateToLocalDate(sysOrderPause.getPauseStartDate());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                LocalDate pauseEndDate = DateUtils.dateToLocalDate(sysOrderPause.getPauseEndDate());
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -288,10 +293,48 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                if (ChronoUnit.DAYS.between(planEndDate, pauseEndDate) > 0) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    pauseEndDate = planEndDate;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                pauseDay += ChronoUnit.DAYS.between(pauseStartDate, pauseEndDate);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                //判断暂停记录是否从食谱计划开始时间开始的
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                if(ChronoUnit.DAYS.between(pauseStartDate, planStartDate) == 0){
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    //记录该条暂停记录结束之后的第一天日期,如果两条记录连着,则取最后暂停结束之后的第一天
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    if("".equals(result[0]) || result[0].equals(DateUtils.localDateToString(pauseStartDate,"yyyyMMdd"))){
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                        planStartDate = pauseEndDate.plusDays(1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                        planEndDate = planStartDate.plusDays(6);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                        result[0] = DateUtils.localDateToString(planStartDate,"yyyyMMdd");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                        result[1] = DateUtils.localDateToString(planEndDate,"yyyyMMdd");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                }else{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    pauseDay += ChronoUnit.DAYS.between(pauseStartDate, pauseEndDate) + 1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    pauseDateString.addAll(getPauseDateString(pauseStartDate, pauseEndDate));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        return pauseDay;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        result[2] = pauseDay+"";
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        result[3] = pauseDateString.size() > 0 ? StringUtils.join(pauseDateString,"|") : "";
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        return result;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    /**
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     * 根据暂停时间范围获取范围内的日期
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     * @return
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     */
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    private Set<String> getPauseDateString(LocalDate pauseStartDate, LocalDate pauseEndDate){
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        Set<String> pauseDateList = new HashSet<>();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        long daysBetween = ChronoUnit.DAYS.between(pauseStartDate, pauseEndDate);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        for(int i = 0; i <= daysBetween; i++){
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            pauseDateList.add(DateUtils.localDateToString(pauseStartDate.plusDays(i),"yyyyMMdd"));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        return pauseDateList;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    /**
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     * 集合排序key值比较器
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				     * */
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    class MyComparator implements Comparator<String>{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        @Override
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        public int compare(String o1, String o2) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            return Integer.parseInt(o1) - Integer.parseInt(o2);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    /**
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				 
 |