XMTT vor 7 Jahren
Ursprung
Commit
0cd83bc0be

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

30
import org.jfw.util.PageQueryResult;
30
import org.jfw.util.PageQueryResult;
31

31

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

35

38
@DAO
36
@DAO
157
	@Where("STATE='1'")
155
	@Where("STATE='1'")
158
	@OrderBy(cols = { @LimitColumn(value = "sortFirst", asc = false, handlerClass = LongHandler.class), @LimitColumn(value = "modifyTime", asc = false),
156
	@OrderBy(cols = { @LimitColumn(value = "sortFirst", asc = false, handlerClass = LongHandler.class), @LimitColumn(value = "modifyTime", asc = false),
159
			@LimitColumn(value = "id", asc = false) }, value = "")
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
			@GroupSqlColumn(handlerClass = StringHandler.class, value = { "NAME LIKE ?", "CNT LIKE ?", "KEYWORDS LIKE ?",
159
			@GroupSqlColumn(handlerClass = StringHandler.class, value = { "NAME LIKE ?", "CNT LIKE ?", "KEYWORDS LIKE ?",
162
					"CATEGORY='1' AND OWNER IN(SELECT ID FROM PROFESSOR WHERE NAME LIKE ?)",
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
			long sortFirst, String modifyTime, String id, int rows) throws SQLException;
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
package com.ekexiu.portal.ware;
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
import org.jfw.apt.annotation.Autowrie;
5
import org.jfw.apt.annotation.Autowrie;
23
import org.jfw.apt.annotation.DefaultValue;
6
import org.jfw.apt.annotation.DefaultValue;
24
import org.jfw.apt.annotation.Nullable;
7
import org.jfw.apt.annotation.Nullable;
39
import org.jfw.util.web.fileupload.Item;
22
import org.jfw.util.web.fileupload.Item;
40
import org.jfw.util.web.fileupload.UploadItemIterator;
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
@Path("/ware")
44
@Path("/ware")
46
public class WareService {
45
public class WareService {
615
		if (key != null) {
614
		if (key != null) {
616
			key = "%" + key + "%";
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
	@Get
620
	@Get