一、枚举内的常用方法
package com.control.platform.api.enums;
import com.hilife.internal.common.enums.CommonIntEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
/**
* @author wyf
* @createDate 2021/11/01
* @描述 区域枚举,
*/
@Getter
@AllArgsConstructor
public enum RegionEnum implements CommonIntEnum {
/**
*
*/
ALL(0,"全国"),
NORTH_CHINA(1,"华北区域"),
EAST_CHINA(2,"华东区域"),
SOUTH_CHINA(3,"华南区域"),
WEST_CHINA(4,"华西区域"),
CENTRAL_CHINA(5,"华中区域"),
NON_CHINA(10,"未知"),
;
private int code;
private String message;
public static RegionEnum getEntryOfCode(Integer code){
return Arrays
.stream(RegionEnum.values())
.filter(n -> code.equals(n.getCode()))
.findAny().orElse(NON_CHINA);
}
public static Integer getEntryOfValue(String value){
return Arrays
.stream(RegionEnum.values())
.filter(n -> value.equals(n.getMessage()))
.findAny().orElse(NON_CHINA).getCode();
}
/**
* 获取字符串 支持多个
* @param codes code值
* @return 汉字
*/
public static String getStringsOfCode(Integer... codes){
StringBuilder sb = new StringBuilder();
for (Integer code : codes) {
RegionEnum entryOfCode = getEntryOfCode(code);
sb.append(entryOfCode.message);
sb.append(",");
}
if(sb.length()>0){
sb.deleteCharAt(sb.length()-1);
}
return sb.toString();
}
/**
* 获取所有区域
*/
public static List<RegionEnum> getAllArea(){
RegionEnum[] values = RegionEnum.values();
return Arrays.asList(values);
}
}
具体开发生产啥方法可以自己组装
二、定时器
package com.hilife.ecard.timer;
import com.dajia.scheduler.JobTask;
import com.dajia.scheduler.annotation.SchedulerConfiguration;
import com.hilife.ecard.service.cardmanage.CardManageService;
import com.seeyon.framework.exception.BaseException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
/**
* 卡状态更新 凌晨一点执行一次 >>>> 过期
*
* @author wyf
* @date 2021/11/08
*/
@SchedulerConfiguration(id = "cardStateTransitionTimer", cron = "0 0 1 * * ?")
public class CardStateTransitionTimer extends JobTask {
@Autowired
private CardManageService cardManageService;
private Logger logger = LoggerFactory.getLogger(CardStateTransitionTimer.class);
@Override
public void executeJob() {
logger.info("######CardStateTransitionTimer:begin######");
try {
//定时刷新过期时间
cardManageService.updateCardStateTransitionTimer();
} catch (BaseException e) {
logger.error("#######CardStateTransitionTimer:Exception######");
e.printStackTrace();
}
}
}
具体时间格式网上有 根据需要来