package io.dataease.rsa.manage;
|
|
import io.dataease.model.RSAModel;
|
import io.dataease.rsa.dao.entity.CoreRsa;
|
import io.dataease.rsa.dao.mapper.CoreRsaMapper;
|
import io.dataease.utils.CommonBeanFactory;
|
import io.dataease.utils.RsaUtils;
|
import jakarta.annotation.Resource;
|
import org.apache.commons.lang3.ObjectUtils;
|
import org.springframework.cache.annotation.CacheEvict;
|
import org.springframework.cache.annotation.Cacheable;
|
import org.springframework.stereotype.Component;
|
|
import static io.dataease.constant.CacheConstant.CommonCacheConstant.RSA_CACHE;
|
|
@Component
|
public class RsaManage {
|
|
@Resource
|
private CoreRsaMapper coreRsaMapper;
|
|
|
public void check() {
|
RsaManage proxy = proxy();
|
if (ObjectUtils.isEmpty(proxy.query())) {
|
proxy.save();
|
}
|
}
|
|
@CacheEvict(value = RSA_CACHE, key = "'-de-'")
|
public void save() {
|
RSAModel model = RsaUtils.generate();
|
CoreRsa coreRsa = new CoreRsa();
|
coreRsa.setId(1);
|
coreRsa.setCreateTime(System.currentTimeMillis());
|
coreRsa.setPrivateKey(model.getPrivateKey());
|
coreRsa.setPublicKey(model.getPublicKey());
|
coreRsa.setAesKey(model.getAesKey());
|
coreRsaMapper.insert(coreRsa);
|
}
|
|
@Cacheable(value = RSA_CACHE, key = "'-de-'", unless = "#result == null")
|
public CoreRsa query() {
|
return coreRsaMapper.selectById(1);
|
}
|
|
private RsaManage proxy() {
|
return CommonBeanFactory.getBean(RsaManage.class);
|
}
|
}
|