package com.mossle.internal.template.support; import java.util.ArrayList; import java.util.List; import java.util.Map; import javax.annotation.Resource; import com.mossle.api.template.TemplateConnector; import com.mossle.api.template.TemplateDTO; import org.springframework.jdbc.core.JdbcTemplate; public class TemplateConnectorImpl implements TemplateConnector { private JdbcTemplate jdbcTemplate; public TemplateDTO findByCode(String code, String tenantId) { String templateInfoSql = "select id,name,code from TEMPLATE_INFO where code=? and TENANT_ID=?"; Map<String, Object> templateInfoMap = jdbcTemplate.queryForMap( templateInfoSql, code, tenantId); return this.processTemplateInfo(templateInfoMap); } public List<TemplateDTO> findAll(String tenantId) { String templateInfoSql = "select id,name,code from TEMPLATE_INFO where TENANT_ID=?"; List<TemplateDTO> list = new ArrayList<TemplateDTO>(); for (Map<String, Object> templateInfoMap : jdbcTemplate.queryForList( templateInfoSql, tenantId)) { list.add(this.processTemplateInfo(templateInfoMap)); } return list; } public TemplateDTO processTemplateInfo(Map<String, Object> templateInfoMap) { TemplateDTO templateDto = new TemplateDTO(); templateDto.setName((String) templateInfoMap.get("name")); templateDto.setCode((String) templateInfoMap.get("code")); String templateFieldSql = "select name,content from TEMPLATE_FIELD where INFO_ID=?"; List<Map<String, Object>> templateFieldList = jdbcTemplate .queryForList(templateFieldSql, templateInfoMap.get("ID")); for (Map<String, Object> templateFieldMap : templateFieldList) { templateDto.getFields().put((String) templateFieldMap.get("name"), (String) templateFieldMap.get("content")); } return templateDto; } @Resource public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } }