jiapeng 7 jaren geleden
bovenliggende
commit
5bd0eaa51a
2 gewijzigde bestanden met toevoegingen van 26 en 9 verwijderingen
  1. 23 7
      src/main/java/com/ekexiu/portal/ware/WareDao.java
  2. 3 2
      src/main/java/com/ekexiu/portal/ware/WareService.java

+ 23 - 7
src/main/java/com/ekexiu/portal/ware/WareDao.java

5
import org.jfw.apt.orm.annotation.dao.Column;
5
import org.jfw.apt.orm.annotation.dao.Column;
6
import org.jfw.apt.orm.annotation.dao.DAO;
6
import org.jfw.apt.orm.annotation.dao.DAO;
7
import org.jfw.apt.orm.annotation.dao.method.From;
7
import org.jfw.apt.orm.annotation.dao.method.From;
8
import org.jfw.apt.orm.annotation.dao.method.LimitColumn;
8
import org.jfw.apt.orm.annotation.dao.method.OrderBy;
9
import org.jfw.apt.orm.annotation.dao.method.OrderBy;
9
import org.jfw.apt.orm.annotation.dao.method.Select;
10
import org.jfw.apt.orm.annotation.dao.method.Select;
10
import org.jfw.apt.orm.annotation.dao.method.SetSentence;
11
import org.jfw.apt.orm.annotation.dao.method.SetSentence;
131
	public abstract List<CountWare> queryByOwner(Connection con,
132
	public abstract List<CountWare> queryByOwner(Connection con,
132
			@Nullable @GroupSqlColumn(handlerClass = StringHandler.class, value = { "NAME LIKE ?", "CNT LIKE ?", "KEYWORDS LIKE ?" }, isAnd = false) String key,
133
			@Nullable @GroupSqlColumn(handlerClass = StringHandler.class, value = { "NAME LIKE ?", "CNT LIKE ?", "KEYWORDS LIKE ?" }, isAnd = false) String key,
133
			String owner) throws SQLException;
134
			String owner) throws SQLException;
134
	
135

135
	@LimitSelect
136
	@LimitSelect
136
	@OrderBy(" ORDER BY PAGE_VIEWS DESC")
137
	@OrderBy(" ORDER BY PAGE_VIEWS DESC")
137
	@Where("STATE='1'")
138
	@Where("STATE='1'")
138
	public abstract List<Ware> queryByOwnerWithPageViews(Connection con,String category,String owner,@Nullable @UnEquals String id, int rows)throws SQLException;
139
	
139
	public abstract List<Ware> queryByOwnerWithPageViews(Connection con, String category, String owner, @Nullable @UnEquals String id, int rows)
140
			throws SQLException;
141

140
	@LimitSelect
142
	@LimitSelect
141
	@OrderBy("ORDER BY MODIFY_TIME DESC")
143
	@OrderBy("ORDER BY MODIFY_TIME DESC")
142
	@Where("STATE='1'")
144
	@Where("STATE='1'")
143
	public abstract List<Ware> queryByResource(Connection con,@SqlColumn(handlerClass=StringHandler.class, value = { "ID IN (SELECT ID FROM WARE_RES WHERE RESOURCE=?)" }) String id,int rows)throws SQLException;
145
	public abstract List<Ware> queryByResource(Connection con,
146
			@SqlColumn(handlerClass = StringHandler.class, value = { "ID IN (SELECT ID FROM WARE_RES WHERE RESOURCE=?)" }) String id, int rows)
147
			throws SQLException;
148

144
	@LimitSelect
149
	@LimitSelect
145
	@OrderBy("ORDER BY MODIFY_TIME DESC")
150
	@OrderBy("ORDER BY MODIFY_TIME DESC")
146
	@Where("STATE='1'")
151
	@Where("STATE='1'")
147
	public abstract List<Ware> queryByArticle(Connection con,@SqlColumn(handlerClass=StringHandler.class, value = { "ID IN (SELECT WARE FROM ARTICLE_WARE WHERE ID=?)" }) String id,int rows) throws SQLException;
148
	
149
	
152
	public abstract List<Ware> queryByArticle(Connection con,
153
			@SqlColumn(handlerClass = StringHandler.class, value = { "ID IN (SELECT WARE FROM ARTICLE_WARE WHERE ID=?)" }) String id, int rows)
154
			throws SQLException;
155

156
	@LimitSelect
157
	@Where("STATE='1'")
158
	@OrderBy(cols = { @LimitColumn(value = "sortFirst", asc = false, handlerClass = LongHandler.class), @LimitColumn(value = "modifyTime", asc = false),
159
			@LimitColumn(value = "id", asc = false) }, value = "")
160
	public abstract List<Ware> indexSearch(Connection con,
161
			@GroupSqlColumn(handlerClass = StringHandler.class, value = { "NAME LIKE ?", "CNT LIKE ?", "KEYWORDS LIKE ?",
162
					"CATEGORY='1' AND OWNER IN(SELECT ID FROM PROFESSOR WHERE NAME LIKE ?)",
163
					"CATEGORY ='2' AND OWNER IN(SELECT ID FROM ORGANIZATION WHERE NAME LIKE ? OR FOR_SHORT LIKE ?))" },additional=1,isAnd=false,force=true) String key,
164
			long sortFirst, String modifyTime, String id, int rows) throws SQLException;
165

150
	public List<Ware> indexSeach(Connection con, String key, long sortFirst, String modifyTime, String id, int rows) throws SQLException {
166
	public List<Ware> indexSeach(Connection con, String key, long sortFirst, String modifyTime, String id, int rows) throws SQLException {
151
		List<Ware> result = new ArrayList<Ware>(rows);
167
		List<Ware> result = new ArrayList<Ware>(rows);
152
		StringBuilder sb = new StringBuilder();
168
		StringBuilder sb = new StringBuilder();

+ 3 - 2
src/main/java/com/ekexiu/portal/ware/WareService.java

614
	@Path("/ralateWare")
614
	@Path("/ralateWare")
615
	public List<Map<String, Object>> queryRalateWare(@JdbcConn Connection con, final String id, final int rows) throws SQLException {
615
	public List<Map<String, Object>> queryRalateWare(@JdbcConn Connection con, final String id, final int rows) throws SQLException {
616
		return JdbcUtil.queryList(con,
616
		return JdbcUtil.queryList(con,
617
				"SELECT ID,NUM FROM (SELECT ID,COUNT(1) NUM FROM WRE_KEY_WORD WEHRE ID <> ? AND KW IN (SELECT KW FROM WRE_KEY_WORD WHERE ID=?)) T ORDER BY NUM DESC LIMIT ?",
617
				"SELECT ID,NUM FROM (SELECT ID,COUNT(1) NUM FROM WRE_KEY_WORD WHERE ID <> ? AND KW IN (SELECT KW FROM WRE_KEY_WORD WHERE ID=?) GROUP BY ID ) T ORDER BY NUM DESC LIMIT ?",
618
				new ResultSetExtractor<Map<String, Object>>() {
618
				new ResultSetExtractor<Map<String, Object>>() {
619
					@Override
619
					@Override
620
					public Map<String, Object> extractData(ResultSet rs) throws SQLException {
620
					public Map<String, Object> extractData(ResultSet rs) throws SQLException {
621
						Map<String, Object> map = new HashMap<String, Object>();
621
						Map<String, Object> map = new HashMap<String, Object>();
622
						map.put(rs.getString(1), rs.getLong(2));
622
						map.put("id",rs.getString(1));
623
						map.put("num", rs.getLong(2));
623
						return map;
624
						return map;
624
					}
625
					}
625
				}, new PreparedStatementConfig() {
626
				}, new PreparedStatementConfig() {