package com.qianwen.core.coderule.handler; import java.util.List; import com.qianwen.core.cache.utils.CacheUtil; import com.qianwen.core.coderule.constant.CodeRuleConstant; import com.qianwen.core.coderule.model.CodeRuleEntryModel; import com.qianwen.core.coderule.model.CodeRuleModel; import com.qianwen.core.tool.utils.CollectionUtil; import com.qianwen.core.tool.utils.StringUtil; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate; /* loaded from: blade-starter-coderule-9.3.0.0-SNAPSHOT.jar:org/springblade/core/coderule/handler/MasterlinkCodeRuleModelHandler.class */ public class MasterlinkCodeRuleModelHandler implements CodeRuleModelHandler { private static final String CODE_RULE_CACHE_ID = "codeRule:id:"; private static final String CODE_RULE_CACHE = "blade:codeRule"; private static final CodeRuleModel SEARCHED_DATA_CODE_RULE_MODEL = new CodeRuleModel(Boolean.TRUE); private final JdbcTemplate jdbcTemplate; public MasterlinkCodeRuleModelHandler(final JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } @Override // com.qianwen.core.coderule.handler.CodeRuleModelHandler public CodeRuleModel getCodeRuleById(Long codeRuleId) { CodeRuleModel dataCoreRule = (CodeRuleModel) CacheUtil.get(CODE_RULE_CACHE, CODE_RULE_CACHE_ID, codeRuleId, CodeRuleModel.class, Boolean.FALSE); if (dataCoreRule == null || !dataCoreRule.getSearched().booleanValue()) { List list = this.jdbcTemplate.query(CodeRuleConstant.DATA_BY_CORE_RULE_ID, new Object[]{codeRuleId}, new BeanPropertyRowMapper(CodeRuleModel.class)); if (CollectionUtil.isNotEmpty(list)) { dataCoreRule = list.iterator().next(); List entryList = this.jdbcTemplate.query(CodeRuleConstant.ENTRY_DATA_BY_CORE_RULE_ID, new Object[]{codeRuleId}, new BeanPropertyRowMapper(CodeRuleEntryModel.class)); dataCoreRule.setCodeRuleEntryModelList(entryList); dataCoreRule.setSearched(Boolean.TRUE); } else { dataCoreRule = SEARCHED_DATA_CODE_RULE_MODEL; } CacheUtil.put(CODE_RULE_CACHE, CODE_RULE_CACHE_ID, codeRuleId, dataCoreRule, Boolean.FALSE); } if (StringUtil.isNotBlank(dataCoreRule.getBill_form_id())) { return dataCoreRule; } return null; } }