枚举内常用方法+定时器的常用书写(复制用)

一、枚举内的常用方法

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();
        }
    }
}

具体时间格式网上有 根据需要来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值