package project.hobi.internal; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import kernel.util.StringUtils; import kernel.web.ApplicationUtil; import kernel.web.Page; import kernel.web.PagedQueryDao; import project.data.model.Symbols; import project.hobi.AdminSymbolsService; import project.hobi.HobiDataService;; public class AdminSymbolsServiceImpl implements AdminSymbolsService { private HobiDataService hobiDataService; private PagedQueryDao pagedQueryDao; @Override public void saveReload() { List list = hobiDataService.symbols(); if (list.size() > 0) { this.delete(this.getAll()); for (int i = 0; i < list.size(); i++) { ApplicationUtil.executeSaveOrUpdate(list.get(i)); } } } private List getAll() { return ApplicationUtil.executeSelect(Symbols.class); } @Override public Page pagedQuery(int pageNo, int pageSize, String quote_currency, String base_currency) { if (pageNo <= 0) pageNo = 1; Page page = new Page(pageNo, pageSize, Integer.MAX_VALUE); StringBuilder whereSql=new StringBuilder("WHERE 1=1 "); ArrayList params=new ArrayList(); if (!StringUtils.isNullOrEmpty(quote_currency)) { whereSql.append("AND QUOTE_CURRENCY=? "); params.add(quote_currency); } if (!StringUtils.isNullOrEmpty(base_currency)) { whereSql.append("AND BASE_CURRENCY=? "); params.add(base_currency); } whereSql.append("LIMIT ?,?"); params.add(page.getFirstElementNumber()); params.add(pageSize); List list=ApplicationUtil.executeSelect(Symbols.class,whereSql.toString(),params.toArray(new Object[] {params.size()})); page.setElements(list); return page; } @Override public Page pagedQuery(int pageNo, int pageSize) { StringBuffer queryString = new StringBuffer(" SELECT DISTINCT(QUOTE_CURRENCY) "); queryString.append(" FROM T_SYMBOLS WHERE 1 = 1 "); Map parameters = new HashMap(); Page page = this.pagedQueryDao.pagedQuerySQL(pageNo, pageSize, queryString.toString(), parameters); return page; } @Override public Page pagedQueryMap(int pageNo, int pageSize) { StringBuffer queryString = new StringBuffer(" SELECT DISTINCT(QUOTE_CURRENCY) quote_currency "); queryString.append(" FROM T_SYMBOLS WHERE 1 = 1 "); Map parameters = new HashMap(); Page page = this.pagedQueryDao.pagedQuerySQL(pageNo, pageSize, queryString.toString(), parameters); return page; } private void delete(List list) { ApplicationUtil.executeBatchDelete(list); } public void setHobiDataService(HobiDataService hobiDataService) { this.hobiDataService = hobiDataService; } public void setPagedQueryDao(PagedQueryDao pagedQueryDao) { this.pagedQueryDao = pagedQueryDao; } }