package cn.ksource.web.facade.sys; import java.util.HashMap; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import cn.ksource.beans.LARKS_VERSION; import cn.ksource.core.dao.BaseDao; import cn.ksource.core.page.PageInfo; import cn.ksource.core.util.DateUtil; import cn.ksource.core.util.StringUtil; @Service("sysVersionFacade") public class SysVersionFacadeImpl implements SysVersionFacade { @Autowired private BaseDao baseDao; @Override public Integer queryLarksVersionCount(Map params) { StringBuilder sql = new StringBuilder("SELECT COUNT(DISTINCT A.ID) FROM LARKS_VERSION A "); queryLarksVersionIf(params,sql); return baseDao.queryForInteger(sql.toString(), params); } @Override public PageInfo queryLarksVersionData(PageInfo pageInfo, Map params) { StringBuilder sql = new StringBuilder("SELECT * FROM LARKS_VERSION A"); queryLarksVersionIf(params, sql); sql.append(" ORDER BY A.CREATE_TIME DESC"); return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); } private void queryLarksVersionIf(Map params, StringBuilder sql) { sql.append(" WHERE 1=1"); //版本号 if(StringUtil.isNotBlank(String.valueOf(params.get("versionCode")))){ sql.append(" AND A.VERSION_CODE LIKE :versionCode"); String versionCode = String.valueOf(params.get("versionCode")); params.put("versionCode", "%"+versionCode+"%"); } //申请时间 if(StringUtil.notEmpty(String.valueOf(params.get("beginTime"))) && StringUtil.notEmpty(String.valueOf(params.get("endTime")))){ String beginTime = String.valueOf(params.get("beginTime")); String endTime = String.valueOf(params.get("endTime")); params.put("beginTime", beginTime+"000000"); params.put("endTime", endTime+"235959"); sql.append(" AND A.CREATE_TIME BETWEEN :beginTime and :endTime"); } } @Override public Integer queryHtmlVersionCount(Map params) { StringBuilder sql = new StringBuilder("SELECT COUNT(DISTINCT ID) FROM LARKS_HTML_VERSION "); queryHtmlVersionIf(params,sql); return baseDao.queryForInteger(sql.toString(), params); } @Override public PageInfo queryHtmlVersionData(PageInfo pageInfo, Map params) { StringBuilder sql = new StringBuilder("SELECT * FROM LARKS_HTML_VERSION "); queryHtmlVersionIf(params, sql); sql.append(" ORDER BY CREATE_TIME DESC"); return baseDao.queryforSplitPageInfo(pageInfo, sql.toString(), params); } private void queryHtmlVersionIf(Map params, StringBuilder sql) { if(StringUtil.isNotBlank(params.get("versionId"))){ sql.append(" WHERE VERSION_ID = :versionId"); }else{ sql.append(" WHERE VERSION_ID = ''"); } //申请时间 if(StringUtil.notEmpty(String.valueOf(params.get("beginTime"))) && StringUtil.notEmpty(String.valueOf(params.get("endTime")))){ String beginTime = String.valueOf(params.get("beginTime")); String endTime = String.valueOf(params.get("endTime")); params.put("beginTime", beginTime+"000000"); params.put("endTime", endTime+"235959"); sql.append(" AND CREATE_TIME BETWEEN :beginTime and :endTime"); } } @Override public Map getLarksVersionById(String id) { return new LARKS_VERSION().setId(id).getBeanMapById(); } @Override public Integer saveLarksVersion(Map params) { params.put("id", StringUtil.getUUID()); params.put("createTime", DateUtil.getCurrentDate14().toString()); String sql = new String("INSERT INTO LARKS_VERSION VALUES(:id,:versionCode,:isUpdateHtml,:htmlId,:createTime,:userId,:userName,:content,0,:isForceUpdate)"); return baseDao.execute(sql, params); } @Override public Integer updateLarksVersion(Map params) { String sql = new String("UPDATE LARKS_VERSION SET VERSION_CODE = :versionCode,IS_UPDATE_HTML = :isUpdateHtml, HTML_ID = :htmlId, CONTENT = :content, IS_FORCE_UPDATE = :isForceUpdate WHERE ID = :id)"); return baseDao.execute(sql, params); } @Override public void updateLarksVersion(String id) { LARKS_VERSION version = new LARKS_VERSION(id); String sql = "UPDATE LARKS_VERSION SET STATUS = 2 "; baseDao.execute(sql, new HashMap()); version.setStatus(1).update(); } @Override public Integer saveHtmlVersion(Map params) { params.put("id", StringUtil.getUUID()); params.put("createTime", DateUtil.getCurrentDate14().toString()); String sql = new String("INSERT INTO LARKS_HTML_VERSION VALUES(:id,:content,:createTime,:userId,:userName,:versionId,:versionCode)"); return baseDao.execute(sql, params); } @Override public Integer updateHtmlVersion(Map params) { String sql = new String("UPDATE LARKS_HTML_VERSION SET VERSION_CODE = :versionCode, CONTENT = :content WHERE ID = :id"); return baseDao.execute(sql, params); } }