package org.jeecg.modules.message.enums; import org.jeecg.common.constant.enums.MessageTypeEnum; import org.jeecg.common.system.annotation.EnumDict; import org.jeecg.common.system.vo.DictModel; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; /** * 用于消息数据查询【vue3】 * 新版系统通知查询条件 * @Author taoYan * @Date 2022/8/19 20:41 **/ @EnumDict("rangeDate") public enum RangeDateEnum { JT("jt", "今天"), ZT("zt", "昨天"), QT("qt", "前天"), BZ("bz","本周"), SZ("sz", "上周"), BY("by", "本月"), SY("sy", "上月"), ZDY("zdy", "自定义日期"); String key; String title; RangeDateEnum(String key, String title){ this.key = key; this.title = title; } /** * 获取字典数据 * @return */ public static List getDictList(){ List list = new ArrayList<>(); DictModel dictModel = null; for(RangeDateEnum e: RangeDateEnum.values()){ dictModel = new DictModel(); dictModel.setValue(e.key); dictModel.setText(e.title); list.add(dictModel); } return list; } /** * 根据key 获取范围时间值 * @param key * @return */ public static Date[] getRangeArray(String key){ Calendar calendar1 = Calendar.getInstance(); Calendar calendar2 = Calendar.getInstance(); Date[] array = new Date[2]; boolean flag = false; if(JT.key.equals(key)){ //今天 } else if(ZT.key.equals(key)){ //昨天 calendar1.add(Calendar.DAY_OF_YEAR, -1); calendar2.add(Calendar.DAY_OF_YEAR, -1); } else if(QT.key.equals(key)){ //前天 calendar1.add(Calendar.DAY_OF_YEAR, -2); calendar2.add(Calendar.DAY_OF_YEAR, -2); } else if(BZ.key.equals(key)){ //本周 calendar1.set(Calendar.DAY_OF_WEEK, 2); calendar2.add(Calendar.WEEK_OF_MONTH,1); calendar2.add(Calendar.DAY_OF_WEEK,-1); } else if(SZ.key.equals(key)){ //本周一减一周 calendar1.set(Calendar.DAY_OF_WEEK, 2); calendar1.add(Calendar.WEEK_OF_MONTH, -1); // 本周一减一天 calendar2.set(Calendar.DAY_OF_WEEK, 2); calendar2.add(Calendar.DAY_OF_WEEK,-1); } else if(BY.key.equals(key)){ //本月 calendar1.set(Calendar.DAY_OF_MONTH, 1); calendar2.set(Calendar.DAY_OF_MONTH, 1); calendar2.add(Calendar.MONTH, 1); calendar2.add(Calendar.DAY_OF_MONTH, -1); } else if(SY.key.equals(key)){ //本月第一天减一月 calendar1.set(Calendar.DAY_OF_MONTH, 1); calendar1.add(Calendar.MONTH, -1); //本月第一天减一天 calendar2.set(Calendar.DAY_OF_MONTH, 1); calendar2.add(Calendar.DAY_OF_MONTH, -1); }else{ flag = true; } if(flag){ return null; } // 开始时间00:00:00 结束时间23:59:59 calendar1.set(Calendar.HOUR, 0); calendar1.set(Calendar.MINUTE, 0); calendar1.set(Calendar.SECOND, 0); calendar1.set(Calendar.MILLISECOND, 0); calendar2.set(Calendar.HOUR, 23); calendar2.set(Calendar.MINUTE, 59); calendar2.set(Calendar.SECOND, 59); calendar2.set(Calendar.MILLISECOND, 999); array[0] = calendar1.getTime(); array[1] = calendar2.getTime(); return array; } public String getKey(){ return this.key; } }