package com.yami.trading.init.cache; import com.yami.trading.bean.contract.domain.ContractApplyOrder; import com.yami.trading.common.constants.RedisKeys; import com.yami.trading.common.util.RedisUtil; import com.yami.trading.service.contract.ContractApplyOrderService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 系统启动时,将合约单的时间戳加载到缓存,提升后台定时轮询任务的效率,减少数据库压力 * * @author caster * @since 2023/11/23 **/ @Service @Slf4j public class LoadNewContractApplyOrderCache { @Autowired private ContractApplyOrderService contractApplyOrderService; public void loadData() { try { List allNewOrderList = contractApplyOrderService.findSubmitted(); for (ContractApplyOrder oneOrder : allNewOrderList) { RedisUtil.sadd(RedisKeys.NEW_CONTRACT_APPLY_ORDERS, oneOrder.getUuid()); } } catch (Exception e) { log.error("------> LoadNewContractApplyOrderCache.loadData 执行 loadData 方法报错: ", e); } } }