/**
  * 生成任务时,任务编号的规则是“XJRW-”+nowday(格式yyyyMMdd)+“-”+(当天生成任务数量+1)左补零4位
  * 
  * @author hlliut 2021年10月12日
  */
 public class TaskNumberUtil {    private static String _KEY = "XJRW-";
    public static String generateTaskNumber() {
         String key = _KEY + DateUtil.dateToString(new Date(), DateUtil.ISO_DATE_FORMAT);
         long value = getNumber(key);
         return String.format("%s-%s", key, String.format("%04d", value));
     }    private static long getNumber(String key) {
         if (!RedisUtils.hasKey(key)) {
             RedisUtils.setIfAbsent(key, 0, 25, TimeUnit.HOURS);// 25小时过期
         }
         long value = RedisUtils.incr(key);// 自增
         if (value > 9999) {
             RedisUtils.set(key, 0);
             return getNumber(key);// 重新计数
         }
         return value;
     }
 }