|
@@ -6,6 +6,7 @@ import com.flow.common.core.model.OauthUserDetails;
|
|
import com.flow.common.core.util.SecurityContextUtil;
|
|
import com.flow.common.core.util.SecurityContextUtil;
|
|
import com.flow.common.core.util.StrUtil;
|
|
import com.flow.common.core.util.StrUtil;
|
|
import com.flow.common.mybatis.service.impl.BaseServiceImpl;
|
|
import com.flow.common.mybatis.service.impl.BaseServiceImpl;
|
|
|
|
+import com.flow.common.redis.service.RedisService;
|
|
import com.flow.dao.FlowDefineDao;
|
|
import com.flow.dao.FlowDefineDao;
|
|
import com.flow.entity.FlowDefine;
|
|
import com.flow.entity.FlowDefine;
|
|
import com.flow.entity.node.*;
|
|
import com.flow.entity.node.*;
|
|
@@ -50,7 +51,7 @@ public class FlowDefineServiceImpl extends BaseServiceImpl<FlowDefineDao, FlowDe
|
|
@Autowired
|
|
@Autowired
|
|
private FlowDefineService _this;
|
|
private FlowDefineService _this;
|
|
@Autowired
|
|
@Autowired
|
|
- private StringRedisTemplate stringRedisTemplate;
|
|
|
|
|
|
+ private RedisService<Long> redisService;
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Override
|
|
@Override
|
|
@@ -98,8 +99,8 @@ public class FlowDefineServiceImpl extends BaseServiceImpl<FlowDefineDao, FlowDe
|
|
}
|
|
}
|
|
// 生成流程实例ID
|
|
// 生成流程实例ID
|
|
String serialKey = "flow:serial";
|
|
String serialKey = "flow:serial";
|
|
- Long increment = stringRedisTemplate.opsForValue().increment(serialKey, 1);
|
|
|
|
- if (Objects.nonNull(increment) && increment.intValue() == 1) {
|
|
|
|
|
|
+ Long increment = redisService.incr(serialKey, 1L);
|
|
|
|
+ if (increment == 1L) {
|
|
// 设置缓存过期时间
|
|
// 设置缓存过期时间
|
|
Calendar tomorrowMidnight = Calendar.getInstance();
|
|
Calendar tomorrowMidnight = Calendar.getInstance();
|
|
tomorrowMidnight.add(Calendar.DAY_OF_YEAR, 1);
|
|
tomorrowMidnight.add(Calendar.DAY_OF_YEAR, 1);
|
|
@@ -107,8 +108,8 @@ public class FlowDefineServiceImpl extends BaseServiceImpl<FlowDefineDao, FlowDe
|
|
tomorrowMidnight.set(Calendar.MINUTE, 0);
|
|
tomorrowMidnight.set(Calendar.MINUTE, 0);
|
|
tomorrowMidnight.set(Calendar.SECOND, 0);
|
|
tomorrowMidnight.set(Calendar.SECOND, 0);
|
|
tomorrowMidnight.set(Calendar.MILLISECOND, 0);
|
|
tomorrowMidnight.set(Calendar.MILLISECOND, 0);
|
|
- long midnightTimestamp = tomorrowMidnight.getTimeInMillis() / 1000;
|
|
|
|
- stringRedisTemplate.expire(serialKey, midnightTimestamp, TimeUnit.SECONDS);
|
|
|
|
|
|
+ long midnightTimestamp = (tomorrowMidnight.getTimeInMillis() - System.currentTimeMillis()) / 1000;
|
|
|
|
+ redisService.expire(serialKey, midnightTimestamp);
|
|
}
|
|
}
|
|
String serial = String.format("%3s", increment).replace(" ", "0");
|
|
String serial = String.format("%3s", increment).replace(" ", "0");
|
|
String currentDate = DateTimeFormatter.ofPattern("yyyyMMdd").format(LocalDate.now());
|
|
String currentDate = DateTimeFormatter.ofPattern("yyyyMMdd").format(LocalDate.now());
|