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