public void removeTenantInfoAtomic(final String kp, final String tenantId) { try { jt.update("DELETE FROM tenant_info WHERE kp=? AND tenant_id=?", kp, tenantId); } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } }
public void removeTagByIdAtomic(long id) { try { jt.update("DELETE FROM config_tags_relation WHERE id=?", id); } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } }
/** * 更新md5 */ public void updateMd5(String dataId, String group, String tenant, String md5, Timestamp lastTime) { String tenantTmp = StringUtils.isBlank(tenant) ? StringUtils.EMPTY : tenant; try { jt.update( "UPDATE config_info SET md5 = ? WHERE data_id=? AND group_id=? AND tenant_id=? AND gmt_modified=?", md5, dataId, group, tenantTmp, lastTime); } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } }
public ConfigInfoWrapper queryConfigInfo(final String dataId, final String group, final String tenant) { String tenantTmp = StringUtils.isBlank(tenant) ? StringUtils.EMPTY : tenant; try { return this.jt .queryForObject( "SELECT ID,data_id,group_id,tenant_id,app_name,content,gmt_modified,md5 FROM config_info WHERE data_id=? AND group_id=? AND tenant_id=?", new Object[] {dataId, group, tenantTmp}, CONFIG_INFO_WRAPPER_ROW_MAPPER); } catch (EmptyResultDataAccessException e) { return null; } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } }
/** * 根据dataId和group查询配置信息 */ public ConfigInfoBase findConfigInfoBase(final String dataId, final String group) { try { return this.jt .queryForObject( "SELECT ID,data_id,group_id,content FROM config_info WHERE data_id=? AND group_id=? AND " + "tenant_id=?", new Object[] {dataId, group, StringUtils.EMPTY}, CONFIG_INFO_BASE_ROW_MAPPER); } catch (EmptyResultDataAccessException e) { // 表明数据不存在, 返回null return null; } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } }
public User findUserByUsername(String username) { String sql = "SELECT username,password FROM users WHERE username=? "; try { return this.jt.queryForObject(sql, new Object[] {username}, USER_ROW_MAPPER); } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } catch (EmptyResultDataAccessException e) { return null; } catch (Exception e) { fatalLog.error("[db-other-error]" + e.getMessage(), e); throw new RuntimeException(e); } }
public TenantInfo findTenantByKp(String kp, String tenantId) { String sql = "SELECT tenant_id,tenant_name,tenant_desc FROM tenant_info WHERE kp=? AND tenant_id=?"; try { return this.jt.queryForObject(sql, new Object[] {kp, tenantId}, TENANT_INFO_ROW_MAPPER); } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } catch (EmptyResultDataAccessException e) { return null; } catch (Exception e) { fatalLog.error("[db-other-error]" + e.getMessage(), e); throw new RuntimeException(e); } }
/** * 根据dataId和group查询配置信息 */ public ConfigInfo findConfigInfoApp(final String dataId, final String group, final String tenant, final String appName) { String tenantTmp = StringUtils.isBlank(tenant) ? StringUtils.EMPTY : tenant; try { return this.jt.queryForObject( "SELECT ID,data_id,group_id,tenant_id,app_name,content FROM config_info WHERE data_id=? AND " + "group_id=? AND tenant_id=? AND app_name=?", new Object[] {dataId, group, tenantTmp, appName}, CONFIG_INFO_ROW_MAPPER); } catch (EmptyResultDataAccessException e) { // 表明数据不存在, 返回null return null; } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } }
/** * 根据dataId和group查询配置信息 */ public ConfigInfo4Beta findConfigInfo4Beta(final String dataId, final String group, final String tenant) { String tenantTmp = StringUtils.isBlank(tenant) ? StringUtils.EMPTY : tenant; try { return this.jt.queryForObject( "SELECT ID,data_id,group_id,tenant_id,app_name,content,beta_ips FROM config_info_beta WHERE data_id=?" + " AND group_id=? AND tenant_id=?", new Object[] {dataId, group, tenantTmp}, CONFIG_INFO4BETA_ROW_MAPPER); } catch (EmptyResultDataAccessException e) { // 表明数据不存在, 返回null return null; } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } }
public List<TenantInfo> findTenantByKp(String kp) { String sql = "SELECT tenant_id,tenant_name,tenant_desc FROM tenant_info WHERE kp=?"; try { return this.jt.query(sql, new Object[] {kp}, TENANT_INFO_ROW_MAPPER); } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } catch (EmptyResultDataAccessException e) { return Collections.emptyList(); } catch (Exception e) { fatalLog.error("[db-other-error]" + e.getMessage(), e); throw new RuntimeException(e); } }
/** * 找到所有聚合数据组。 */ public List<ConfigInfoChanged> findAllAggrGroup() { String sql = "SELECT DISTINCT data_id, group_id, tenant_id FROM config_info_aggr"; try { return this.jt.query(sql, new Object[] {}, CONFIG_INFO_CHANGED_ROW_MAPPER); } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } catch (EmptyResultDataAccessException e) { return null; } catch (Exception e) { fatalLog.error("[db-other-error]" + e.getMessage(), e); throw new RuntimeException(e); } }
public List<String> getConfigTagsByTenant(String tenant) { String sql = "SELECT tag_name FROM config_tags_relation WHERE tenant_id = ? "; try { return jt.queryForList(sql, new Object[] {tenant}, String.class); } catch (EmptyResultDataAccessException e) { return null; } catch (IncorrectResultSizeDataAccessException e) { return null; } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } }
public List<String> selectTagByConfig(String dataId, String group, String tenant) { String sql = "SELECT tag_name FROM config_tags_relation WHERE data_id=? AND group_id=? AND tenant_id = ? "; try { return jt.queryForList(sql, new Object[] {dataId, group, tenant}, String.class); } catch (EmptyResultDataAccessException e) { return null; } catch (IncorrectResultSizeDataAccessException e) { return null; } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } }
/** * 查找所有的dataId和group。保证不返回NULL。 */ @Deprecated public List<ConfigInfo> findAllDataIdAndGroup() { String sql = "SELECT DISTINCT data_id, group_id FROM config_info"; try { return jt.query(sql, new Object[] {}, CONFIG_INFO_ROW_MAPPER); } catch (EmptyResultDataAccessException e) { return Collections.emptyList(); } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } catch (Exception e) { fatalLog.error("[db-other-error]" + e.getMessage(), e); throw new RuntimeException(e); } }
@Override public Boolean doInTransaction(TransactionStatus status) { try { ConfigInfo configInfo = findConfigInfo4Beta(dataId, group, tenant); if (configInfo != null) { jt.update("DELETE FROM config_info_beta WHERE data_id=? AND group_id=? AND tenant_id=?", dataId, group, tenantTmp); } } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } return Boolean.TRUE; } });
public Page<ConfigInfoWrapper> findAllConfigInfoFragment(final long lastMaxId, final int pageSize) { String select = "SELECT id,data_id,group_id,tenant_id,app_name,content,md5,gmt_modified from config_info where id > ? " + "order by id asc limit ?,?"; PaginationHelper<ConfigInfoWrapper> helper = new PaginationHelper<ConfigInfoWrapper>(); try { return helper.fetchPageLimit(jt, select, new Object[] {lastMaxId, 0, pageSize}, 1, pageSize, CONFIG_INFO_WRAPPER_ROW_MAPPER); } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } }
/** * 删除startTime前的数据 */ public void removeConfigHistory(final Timestamp startTime, final int limitSize) { String sql = "delete from his_config_info where gmt_modified < ? limit ?"; PaginationHelper<ConfigInfo> helper = new PaginationHelper<ConfigInfo>(); try { helper.updateLimit(jt, sql, new Object[] {startTime, limitSize}); } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } }
public Page<ConfigInfoAggr> findConfigInfoAggrByPage(String dataId, String group, String tenant, final int pageNo, final int pageSize) { String tenantTmp = StringUtils.isBlank(tenant) ? StringUtils.EMPTY : tenant; String sqlCountRows = "SELECT COUNT(*) FROM config_info_aggr WHERE data_id = ? and group_id = ? and tenant_id = ?"; String sqlFetchRows = "select data_id,group_id,tenant_id,datum_id,app_name,content from config_info_aggr where data_id=? and " + "group_id=? and tenant_id=? order by datum_id limit ?,?"; PaginationHelper<ConfigInfoAggr> helper = new PaginationHelper<ConfigInfoAggr>(); try { return helper.fetchPageLimit(jt, sqlCountRows, new Object[] {dataId, group, tenantTmp}, sqlFetchRows, new Object[] {dataId, group, tenantTmp, (pageNo - 1) * pageSize, pageSize}, pageNo, pageSize, CONFIG_INFO_AGGR_ROW_MAPPER); } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } }
private List<ConfigInfoWrapper> listGroupKeyMd5ByPage(int pageNo, int pageSize) { String sqlCountRows = " SELECT COUNT(*) FROM config_info "; String sqlFetchRows = " SELECT t.id,data_id,group_id,tenant_id,app_name,md5,gmt_modified FROM ( SELECT id FROM config_info ORDER BY id LIMIT ?,? ) g, config_info t WHERE g.id = t.id"; PaginationHelper<ConfigInfoWrapper> helper = new PaginationHelper<ConfigInfoWrapper>(); try { Page<ConfigInfoWrapper> page = helper.fetchPageLimit(jt, sqlCountRows, sqlFetchRows, new Object[] { (pageNo - 1) * pageSize, pageSize}, pageNo, pageSize, CONFIG_INFO_WRAPPER_ROW_MAPPER); return page.getPageItems(); } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } }
@Override public Boolean doInTransaction(TransactionStatus status) { try { ConfigInfo configInfo = findConfigInfo(dataId, group, tenant); if (configInfo != null) { removeConfigInfoAtomic(dataId, group, tenant, srcIp, srcUser); removeTagByIdAtomic(configInfo.getId()); insertConfigHistoryAtomic(configInfo.getId(), configInfo, srcIp, srcUser, time, "D"); } } catch (CannotGetJdbcConnectionException e) { fatalLog.error("[db-error] " + e.toString(), e); throw e; } return Boolean.TRUE; } });