jiapeng 7 years ago
parent
commit
5bd0eaa51a

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

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

135 136
	@LimitSelect
136 137
	@OrderBy(" ORDER BY PAGE_VIEWS DESC")
137 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 142
	@LimitSelect
141 143
	@OrderBy("ORDER BY MODIFY_TIME DESC")
142 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 149
	@LimitSelect
145 150
	@OrderBy("ORDER BY MODIFY_TIME DESC")
146 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 166
	public List<Ware> indexSeach(Connection con, String key, long sortFirst, String modifyTime, String id, int rows) throws SQLException {
151 167
		List<Ware> result = new ArrayList<Ware>(rows);
152 168
		StringBuilder sb = new StringBuilder();

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

@ -614,12 +614,13 @@ public class WareService {
614 614
	@Path("/ralateWare")
615 615
	public List<Map<String, Object>> queryRalateWare(@JdbcConn Connection con, final String id, final int rows) throws SQLException {
616 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 618
				new ResultSetExtractor<Map<String, Object>>() {
619 619
					@Override
620 620
					public Map<String, Object> extractData(ResultSet rs) throws SQLException {
621 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 624
						return map;
624 625
					}
625 626
				}, new PreparedStatementConfig() {