package ${packageName};
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
import javax.annotation.Resource;
|
|
import org.apache.commons.lang.StringUtils;
|
import org.springframework.stereotype.Service;
|
|
|
import cn.ksource.core.dao.BaseDao;
|
import cn.ksource.core.dao.SqlParameter;
|
import cn.ksource.core.page.PageInfo;
|
import cn.ksource.core.util.StringUtil;
|
<#if attFlag=="1">
|
import cn.ksource.web.service.file.FileService;
|
</#if>
|
@SuppressWarnings("rawtypes")
|
@Service
|
public class ${className}FacadeImpl implements ${className}Facade{
|
|
@Resource
|
private BaseDao baseDao;
|
<#if attFlag=="1">
|
@Resource
|
private FileService fileService;
|
</#if>
|
@Override
|
public void save${className}(Map<String, String> params) {
|
if(StringUtil.isBlank(params.get("id"))){//新增
|
params.put("id", StringUtil.getUUID());
|
baseDao.execute(getInsertSql(params), params);
|
}else{//更新
|
baseDao.execute(getUpdateSql(params), params);
|
}
|
<#if attFlag=="1">
|
//文件上传
|
params.put("business_id",params.get("id"));
|
fileService.uploadFile(params);
|
</#if>
|
}
|
|
private String getInsertSql(Map<String, String> params){
|
StringBuilder sql = new StringBuilder();
|
StringBuilder frontsql = new StringBuilder();
|
StringBuilder endsql = new StringBuilder();
|
<#list fieldList as item>
|
if(params.get("${item.fieldName}")!=null){
|
frontsql.append("${item.fieldName},");
|
endsql.append(":${item.fieldName},");
|
}
|
</#list>
|
sql.append(" insert into ${tableName} ( ");
|
sql.append(StringUtils.removeEnd(frontsql.toString(),","));
|
sql.append(" ) values ( ");
|
sql.append(StringUtils.removeEnd(endsql.toString(),","));
|
sql.append(" ) ");
|
return sql.toString();
|
}
|
|
private String getUpdateSql(Map<String, String> params){
|
StringBuilder sql = new StringBuilder();
|
StringBuilder frontsql = new StringBuilder();
|
<#list fieldList as item>
|
if(params.get("${item.fieldName}")!=null){
|
frontsql.append("${item.fieldName}=:${item.fieldName},");
|
}
|
</#list>
|
sql.append(" update ${tableName} set ");
|
sql.append(StringUtils.removeEnd(frontsql.toString(),","));
|
sql.append(" where id= :id ");
|
return sql.toString();
|
}
|
|
|
@Override
|
public void del${className}ById(String id) {
|
baseDao.execute(" update ${tableName} set state=0 where id = :id ", new SqlParameter("id",id));
|
}
|
|
@Override
|
public PageInfo get${className}ListData(PageInfo pageInfo, Map<String, String> param) {
|
Map support = get${className}ListSupport(param);
|
String sql = support.get("sql").toString();
|
return baseDao.queryforSplitPageInfo(pageInfo, sql, param);
|
}
|
|
@Override
|
public Integer get${className}ListCount(Map<String, String> param) {
|
Map support = get${className}ListSupport(param);
|
String sql = "select count(*) from ( " + support.get("sql").toString() + " ) t ";
|
return baseDao.queryForInteger(sql, param);
|
}
|
|
/**
|
* 列表分页查询支持
|
* @author chenlong
|
* @param param
|
* @return
|
*/
|
private Map get${className}ListSupport(Map<String, String> param){
|
Map<String, Object> support = new HashMap<String, Object>();
|
StringBuilder sql = new StringBuilder();
|
<#if listSql!="">
|
sql.append(" ${listSql} ");
|
<#else>
|
<#assign fields=""/>
|
<#list fieldList as item>
|
<#if fields=="">
|
<#assign fields="a."+item.fieldName/>
|
<#else>
|
<#assign fields=fields+",a."+item.fieldName/>
|
</#if>
|
</#list>
|
sql.append(" select ${fields?substring(0)} ");
|
sql.append(" from ${tableName} a ");
|
sql.append(" where 1=1 ");
|
//sql.append(" order by a.order_column desc ");
|
</#if>
|
support.put("sql", sql.toString());
|
support.put("param", param);
|
return support;
|
}
|
|
@Override
|
public Map get${className}ById(String id) {
|
StringBuilder sql = new StringBuilder();
|
sql.append(" select a.* from ${tableName} a where a.id=:id ");
|
return baseDao.queryForMap(sql.toString(),new SqlParameter("id",id));
|
}
|
|
}
|