XMTT 7 ans auparavant
Parent
commit
0cd83bc0be

+ 2 - 89
src/main/java/com/ekexiu/portal/ware/WareDao.java

@ -30,9 +30,7 @@ import org.jfw.apt.orm.core.defaultImpl.StringHandler;
30 30
import org.jfw.util.PageQueryResult;
31 31

32 32
import java.sql.Connection;
33
import java.sql.PreparedStatement;
34 33
import java.sql.SQLException;
35
import java.util.ArrayList;
36 34
import java.util.List;
37 35

38 36
@DAO
@ -157,95 +155,10 @@ public abstract class WareDao {
157 155
	@Where("STATE='1'")
158 156
	@OrderBy(cols = { @LimitColumn(value = "sortFirst", asc = false, handlerClass = LongHandler.class), @LimitColumn(value = "modifyTime", asc = false),
159 157
			@LimitColumn(value = "id", asc = false) }, value = "")
160
	public abstract List<Ware> indexSearch(Connection con,
158
	public abstract List<Ware> indexSearch(Connection con,@Nullable
161 159
			@GroupSqlColumn(handlerClass = StringHandler.class, value = { "NAME LIKE ?", "CNT LIKE ?", "KEYWORDS LIKE ?",
162 160
					"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,
161
					"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 162
			long sortFirst, String modifyTime, String id, int rows) throws SQLException;
165 163

166
	public List<Ware> indexSeach(Connection con, String key, long sortFirst, String modifyTime, String id, int rows) throws SQLException {
167
		List<Ware> result = new ArrayList<Ware>(rows);
168
		StringBuilder sb = new StringBuilder();
169
		sb.append("SELECT PAGE_VIEWS,ID,NAME,KEYWORDS,CNT,COOPERATION,DESCP,CATEGORY,OWNER,IMAGES,STATE,SHARE_ID,SORT_FIRST,CREATE_TIME,MODIFY_TIME FROM WARE")
170
				.append(" WHERE STATE='1' AND ((SORT_FIRST<?) OR (SORT_FIRST=? AND MODIFY_TIME < ?) OR ( SORT_FIRST=? AND MODIFY_TIME = ? AND ID < ?))");
171
		if (key != null) {
172
			sb.append(" AND (NAME LIKE ? OR CNT LIKE ? OR KEYWORDS LIKE ?  OR(CATEGORY='1' AND OWNER IN(SELECT ID FROM PROFESSOR WHERE NAME LIKE ?))")
173
					.append(" OR (CATEGORY ='2' AND OWNER IN(SELECT ID FROM ORGANIZATION WHERE NAME LIKE ? OR FOR_SHORT LIKE ?)))");
174
		}
175
		sb.append(" ORDER BY SORT_FIRST DESC,MODIFY_TIME DESC,ID DESC LIMIT ?");
176
		PreparedStatement ps = con.prepareStatement(sb.toString());
177
		try {
178
			int idx = 1;
179
			ps.setLong(idx++, sortFirst);
180
			ps.setLong(idx++, sortFirst);
181
			ps.setString(idx++, modifyTime);
182
			ps.setLong(idx++, sortFirst);
183
			ps.setString(idx++, modifyTime);
184
			ps.setString(idx++, id);
185
			if (key != null) {
186
				ps.setString(idx++, key);
187
				ps.setString(idx++, key);
188
				ps.setString(idx++, key);
189
				ps.setString(idx++, key);
190
				ps.setString(idx++, key);
191
				ps.setString(idx++, key);
192
			}
193
			ps.setInt(idx++, rows);
194
			java.sql.ResultSet rs = ps.executeQuery();
195
			try {
196
				while (rs.next()) {
197
					Ware _obj = new Ware();
198
					_obj.setPageViews(rs.getLong(1));
199
					_obj.setId(rs.getString(2));
200
					_obj.setName(rs.getString(3));
201
					java.lang.String _m_3 = rs.getString(4);
202
					if (rs.wasNull()) {
203
						_m_3 = null;
204
					}
205
					_obj.setKeywords(_m_3);
206
					java.lang.String _m_4 = rs.getString(5);
207
					if (rs.wasNull()) {
208
						_m_4 = null;
209
					}
210
					_obj.setCnt(_m_4);
211
					java.lang.String _m_5 = rs.getString(6);
212
					if (rs.wasNull()) {
213
						_m_5 = null;
214
					}
215
					_obj.setCooperation(_m_5);
216
					java.lang.String _m_6 = rs.getString(7);
217
					if (rs.wasNull()) {
218
						_m_6 = null;
219
					}
220
					_obj.setDescp(_m_6);
221
					_obj.setCategory(rs.getString(8));
222
					_obj.setOwner(rs.getString(9));
223
					java.lang.String _m_7 = rs.getString(10);
224
					if (rs.wasNull()) {
225
						_m_7 = null;
226
					}
227
					_obj.setImages(_m_7);
228
					_obj.setState(rs.getString(11));
229
					_obj.setShareId(rs.getLong(12));
230
					_obj.setSortFirst(rs.getLong(13));
231
					_obj.setCreateTime(rs.getString(14));
232
					_obj.setModifyTime(rs.getString(15));
233
					result.add(_obj);
234
				}
235
				return result;
236
			} finally {
237
				try {
238
					rs.close();
239
				} catch (Exception _m_8) {
240
				}
241
			}
242
		} finally {
243
			try {
244
				ps.close();
245
			} catch (Exception _m_9) {
246
			}
247
		}
248

249
	}
250

251 164
}

+ 21 - 22
src/main/java/com/ekexiu/portal/ware/WareService.java

@ -1,24 +1,7 @@
1 1
package com.ekexiu.portal.ware;
2 2

3
import java.io.ByteArrayInputStream;
4
import java.io.File;
5
import java.io.FileInputStream;
6
import java.io.FileOutputStream;
7
import java.io.IOException;
8
import java.io.InputStream;
9
import java.io.OutputStream;
10
import java.sql.Connection;
11
import java.sql.PreparedStatement;
12
import java.sql.ResultSet;
13
import java.sql.SQLException;
14
import java.util.Collections;
15
import java.util.Comparator;
16
import java.util.HashMap;
17
import java.util.LinkedList;
18
import java.util.List;
19
import java.util.Map;
20
import java.util.concurrent.atomic.AtomicInteger;
21

3
import com.ekexiu.portal.service.GrowthLogService;
4
import com.ekexiu.portal.service.KeyWordService;
22 5
import org.jfw.apt.annotation.Autowrie;
23 6
import org.jfw.apt.annotation.DefaultValue;
24 7
import org.jfw.apt.annotation.Nullable;
@ -39,8 +22,24 @@ import org.jfw.util.jdbc.ResultSetExtractor;
39 22
import org.jfw.util.web.fileupload.Item;
40 23
import org.jfw.util.web.fileupload.UploadItemIterator;
41 24

42
import com.ekexiu.portal.service.GrowthLogService;
43
import com.ekexiu.portal.service.KeyWordService;
25
import java.io.ByteArrayInputStream;
26
import java.io.File;
27
import java.io.FileInputStream;
28
import java.io.FileOutputStream;
29
import java.io.IOException;
30
import java.io.InputStream;
31
import java.io.OutputStream;
32
import java.sql.Connection;
33
import java.sql.PreparedStatement;
34
import java.sql.ResultSet;
35
import java.sql.SQLException;
36
import java.util.Collections;
37
import java.util.Comparator;
38
import java.util.HashMap;
39
import java.util.LinkedList;
40
import java.util.List;
41
import java.util.Map;
42
import java.util.concurrent.atomic.AtomicInteger;
44 43

45 44
@Path("/ware")
46 45
public class WareService {
@ -615,7 +614,7 @@ public class WareService {
615 614
		if (key != null) {
616 615
			key = "%" + key + "%";
617 616
		}
618
		return wareDao.indexSeach(con, key, sortFirst, time, id, rows);
617
		return wareDao.indexSearch(con, key, sortFirst, time, id, rows);
619 618
	}
620 619

621 620
	@Get