1 changed files with 77 additions and 0 deletions
			
			
		@ -0,0 +1,77 @@ | 
				
			|||||
 | 
					package com.epmet.util; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import com.epmet.commons.tools.utils.DateUtils; | 
				
			||||
 | 
					import lombok.Data; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import java.util.Date; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					public class DimIdGenerator { | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * 生成日期维度ID | 
				
			||||
 | 
					     * @param targetDate | 
				
			||||
 | 
					     * @return | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
					    public static String getDateDimId(Date targetDate) { | 
				
			||||
 | 
					        return DateUtils.format(targetDate, DateUtils.DATE_PATTERN_YYYYMMDD); | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * 获取月维度ID | 
				
			||||
 | 
					     * @param date | 
				
			||||
 | 
					     * @return | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
					    public static String getMonthDimId(Date date) { | 
				
			||||
 | 
					        return DateUtils.format(date, DateUtils.DATE_PATTERN_YYYYMM); | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * 获取季度维度ID | 
				
			||||
 | 
					     * @param date | 
				
			||||
 | 
					     * @return | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
					    public static String getQuarterDimId(Date date) { | 
				
			||||
 | 
					        String yyyy = DateUtils.format(date, DateUtils.DATE_PATTERN_YYYY); | 
				
			||||
 | 
					        return yyyy.concat("Q").concat(DateUtils.getQuarterIndex(date) + ""); | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * 获取年维度ID | 
				
			||||
 | 
					     * @param date | 
				
			||||
 | 
					     * @return | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
					    public static String getYearDimId(Date date) { | 
				
			||||
 | 
					        return DateUtils.format(date, DateUtils.DATE_PATTERN_YYYY); | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    /** | 
				
			||||
 | 
					     * 获取封装了所有ID的对象 | 
				
			||||
 | 
					     * @return | 
				
			||||
 | 
					     */ | 
				
			||||
 | 
					    public static DimIdBean getDimIdBean(Date date) { | 
				
			||||
 | 
					        DimIdBean dimIdBean = new DimIdBean(); | 
				
			||||
 | 
					        dimIdBean.setDateId(getDateDimId(date)); | 
				
			||||
 | 
					        dimIdBean.setMonthId(getMonthDimId(date)); | 
				
			||||
 | 
					        dimIdBean.setQuarterId(getQuarterDimId(date)); | 
				
			||||
 | 
					        dimIdBean.setYearId(getYearDimId(date)); | 
				
			||||
 | 
					        //dimIdBean.setWeekId();
 | 
				
			||||
 | 
					        return dimIdBean; | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    public static void main(String[] args) { | 
				
			||||
 | 
					        DimIdBean dimIdBean = getDimIdBean(new Date()); | 
				
			||||
 | 
					        System.out.println(dimIdBean); | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    @Data | 
				
			||||
 | 
					    public static class DimIdBean { | 
				
			||||
 | 
					        private String dateId; | 
				
			||||
 | 
					        private String monthId; | 
				
			||||
 | 
					        private String quarterId; | 
				
			||||
 | 
					        private String yearId; | 
				
			||||
 | 
					        private String weekId; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					        public DimIdBean() { | 
				
			||||
 | 
					        } | 
				
			||||
 | 
					    } | 
				
			||||
 | 
					} | 
				
			||||
					Loading…
					
					
				
		Reference in new issue