package project.contract.internal; import java.util.HashMap; import java.util.List; import java.util.Map; import kernel.util.StringUtils; import kernel.web.Page; import kernel.web.PagedQueryDao; import project.contract.AdminContractOrderService; import project.party.recom.UserRecomService; public class AdminContractOrderServiceImpl implements AdminContractOrderService { private PagedQueryDao pagedQueryDao; private UserRecomService userRecomService; public Page pagedQuery(int pageNo, int pageSize, String status, String rolename, String loginPartyId,String startTime,String endTime,String username,String orderNo) { StringBuffer queryString = new StringBuffer( "SELECT orders.UUID id,orders.SYMBOL symbol,orders.AMOUNT_CLOSE amount_close,orders.CLOSE_AVG_PRICE close_avg_price," + "orders.STOP_PRICE_PROFIT stop_price_profit,orders.STOP_PRICE_LOSS stop_price_loss," + "orders.ORDER_NO order_no,orders.PARTY_ID party_id,orders.TRADE_AVG_PRICE trade_avg_price," + "orders.DIRECTION direction,orders.UNIT_AMOUNT unit_amount," + "orders.STATE state,orders.FEE fee,orders.PROFIT profit,orders.CREATE_TIME createTime," + "orders.DEPOSIT deposit,orders.DEPOSIT_OPEN deposit_open,orders.CLOSE_TIME closeTime," + "orders.VOLUME_OPEN volume_open,orders.VOLUME volume,orders.LEVER_RATE as lever_rate,item.NAME itemname,"); queryString.append(" wallet.MONEY money, "); queryString.append(" party.USERNAME username,party.USERCODE usercode,party.ROLENAME rolename,party.REMARKS remarks "); queryString.append( " FROM T_CONTRACT_ORDER orders LEFT JOIN PAT_PARTY party ON orders.PARTY_ID = party.UUID LEFT JOIN T_WALLET wallet ON wallet.PARTY_ID = party.UUID LEFT JOIN T_ITEM item ON orders.SYMBOL=item.SYMBOL WHERE 1 = 1 "); Map parameters = new HashMap(); if (!StringUtils.isNullOrEmpty(loginPartyId)) { List children = this.userRecomService.findChildren(loginPartyId); if (children.size() == 0) { return Page.EMPTY_PAGE; } queryString.append(" and orders.PARTY_ID in (:children) "); parameters.put("children", children); } if (!StringUtils.isNullOrEmpty(status)) { queryString.append(" and orders.STATE = :status "); parameters.put("status", status); } if (!StringUtils.isNullOrEmpty(rolename)) { queryString.append(" and party.ROLENAME = :rolename "); parameters.put("rolename", rolename); } if (!StringUtils.isNullOrEmpty(startTime)) { queryString.append(" and DATE(orders.CREATE_TIME) >= DATE('" + startTime + " 00:00:00') "); // parameters.put("startTime", startTime); } if (!StringUtils.isNullOrEmpty(endTime)) { queryString.append(" and DATE(orders.CREATE_TIME) <= DATE('" + endTime + " 23:59:59') "); // parameters.put("endTime", endTime); } if (!StringUtils.isNullOrEmpty(orderNo)) { queryString.append(" and orders.ORDER_NO = :orderNo "); parameters.put("orderNo", orderNo); } if (!StringUtils.isNullOrEmpty(username)) { queryString.append("AND (party.USERNAME like:username OR party.USERCODE like:username ) "); parameters.put("username","%"+username+"%"); } queryString.append(" order by orders.CREATE_TIME desc "); Page page = this.pagedQueryDao.pagedQuerySQL(pageNo, pageSize, queryString.toString(), parameters); return page; } public void setPagedQueryDao(PagedQueryDao pagedQueryDao) { this.pagedQueryDao = pagedQueryDao; } public void setUserRecomService(UserRecomService userRecomService) { this.userRecomService = userRecomService; } }