Parcourir la Source

Merge branch 'dev' of http://www.ekexiu.com:3000/jiapeng/portal-web.git into dev

jiapeng 7 ans auparavant
Parent
commit
a0d3513d7d

+ 107 - 12
src/main/java/com/ekexiu/portal/dao/ArticleDao.java

@ -1,13 +1,9 @@
1 1
package com.ekexiu.portal.dao;
2 2

3
import java.sql.Connection;
4
import java.sql.PreparedStatement;
5
import java.sql.ResultSet;
6
import java.sql.SQLException;
7
import java.util.ArrayList;
8
import java.util.Collections;
9
import java.util.List;
10

3
import com.ekexiu.portal.po.Article;
4
import com.ekexiu.portal.po.ArticleWare;
5
import com.ekexiu.portal.pojo.FindInfo;
6
import com.ekexiu.portal.pojo.SelfArticle;
11 7
import org.jfw.apt.annotation.Nullable;
12 8
import org.jfw.apt.orm.annotation.dao.DAO;
13 9
import org.jfw.apt.orm.annotation.dao.Dynamic;
@ -35,10 +31,13 @@ import org.jfw.apt.orm.annotation.dao.param.SqlColumn;
35 31
import org.jfw.apt.orm.core.defaultImpl.StringHandler;
36 32
import org.jfw.util.PageQueryResult;
37 33

38
import com.ekexiu.portal.po.Article;
39
import com.ekexiu.portal.po.ArticleWare;
40
import com.ekexiu.portal.pojo.FindInfo;
41
import com.ekexiu.portal.pojo.SelfArticle;
34
import java.sql.Connection;
35
import java.sql.PreparedStatement;
36
import java.sql.ResultSet;
37
import java.sql.SQLException;
38
import java.util.ArrayList;
39
import java.util.Collections;
40
import java.util.List;
42 41

43 42
@DAO
44 43
public abstract class ArticleDao {
@ -490,6 +489,102 @@ public abstract class ArticleDao {
490 489
					"SUBJECT LIKE ?" }, additional = 1) @Nullable String key,
491 490
			int pageSize, int pageNo) throws SQLException;
492 491

492
	public List<Article> indexSearch(Connection con, String key, long sortNum, String publishTime, String id, int rows) throws SQLException {
493
		int index = 1;
494
		List<Article> result = new ArrayList<>();
495
		StringBuilder sql = new StringBuilder();
496
		sql.append("SELECT ARTICLE_ID,PROFESSOR_ID,ARTICLE_TITLE,SUBJECT,INDUSTRY,PUBLISH_TIME,ARTICLE_IMG,ORG_ID,ARTICLE_TYPE,ARTICLE_AGREE,PAGE_VIEWS,STATUS,SHARE_ID,COL_NUM,CREATE_TIME,MODIFY_TIME,SORT_NUM FROM ARTICLE");
497
		sql.append(" WHERE STATUS = '1' AND ((SORT_NUM < ?) OR (SORT_NUM = ? AND PUBLISH_TIME < ?) OR (SORT_NUM= ? AND PUBLISH_TIME=? AND ARTICLE_ID <?)) ");
498
		if (key != null) {
499
			sql.append(" AND ((PROFESSOR_ID IN (SELECT ID FROM PROFESSOR WHERE NAME LIKE ?)) OR (ORG_ID IN (SELECT ID FROM ORGANIZATION WHERE NAME LIKE ? OR FOR_SHORT LIKE ?)) OR (ARTICLE_TITLE LIKE ?) OR (SUBJECT LIKE ?)) ");
500
		}
501
		sql.append(" ORDER BY SORT_NUM DESC,PUBLISH_TIME DESC,ARTICLE_ID DESC LIMIT ? ");
502
		PreparedStatement ps = con.prepareStatement(sql.toString());
503
		try {
504
			ps.setLong(index++, sortNum);
505
			ps.setLong(index++, sortNum);
506
			ps.setString(index++, publishTime);
507
			ps.setLong(index++, sortNum);
508
			ps.setString(index++, publishTime);
509
			ps.setString(index++, id);
510
			if (key != null) {
511
				ps.setString(index++, key);
512
				ps.setString(index++, key);
513
				ps.setString(index++, key);
514
				ps.setString(index++, key);
515
				ps.setString(index++, key);
516
			}
517
			ps.setInt(index++, rows);
518
			ResultSet rs = ps.executeQuery();
519
			try {
520
				while (rs.next()) {
521
					Article article = new Article();
522
					article.setArticleId(rs.getString(1));
523
					java.lang.String _m_12 = rs.getString(2);
524
					if (rs.wasNull()) {
525
						_m_12 = null;
526
					}
527
					article.setProfessorId(_m_12);
528
					article.setArticleTitle(rs.getString(3));
529
					java.lang.String _m_13 = rs.getString(4);
530
					if (rs.wasNull()) {
531
						_m_13 = null;
532
					}
533
					article.setSubject(_m_13);
534
					java.lang.String _m_14 = rs.getString(5);
535
					if (rs.wasNull()) {
536
						_m_14 = null;
537
					}
538
					article.setIndustry(_m_14);
539
					java.lang.String _m_15 = rs.getString(6);
540
					if (rs.wasNull()) {
541
						_m_15 = null;
542
					}
543
					article.setPublishTime(_m_15);
544
					java.lang.String _m_16 = rs.getString(7);
545
					if (rs.wasNull()) {
546
						_m_16 = null;
547
					}
548
					article.setArticleImg(_m_16);
549
					java.lang.String _m_17 = rs.getString(8);
550
					if (rs.wasNull()) {
551
						_m_17 = null;
552
					}
553
					article.setOrgId(_m_17);
554
					java.lang.String _m_18 = rs.getString(9);
555
					if (rs.wasNull()) {
556
						_m_18 = null;
557
					}
558
					article.setArticleType(_m_18);
559
					article.setArticleAgree(rs.getInt(10));
560
					article.setPageViews(rs.getInt(11));
561
					java.lang.String _m_19 = rs.getString(12);
562
					if (rs.wasNull()) {
563
						_m_19 = null;
564
					}
565
					article.setStatus(_m_19);
566
					article.setShareId(rs.getLong(13));
567
					article.setColNum(rs.getInt(14));
568
					article.setCreateTime(rs.getString(15));
569
					article.setModifyTime(rs.getString(16));
570
					article.setSortNum(rs.getInt(17));
571
					result.add(article);
572
				}
573
				return result;
574
			} finally {
575
				try {
576
					rs.close();
577
				} catch (Exception _m_20) {
578
				}
579
			}
580
		} finally {
581
			try {
582
				ps.close();
583
			} catch (Exception _m_21) {
584
			}
585
		}
586
	}
587

493 588
	// public PageQueryResult<Article> firstPageQuery(Connection con, String
494 589
	// key, int pageSize, int pageNo) throws SQLException {
495 590
	// int total = 0;

+ 155 - 10
src/main/java/com/ekexiu/portal/dao/OrgDao.java

@ -1,12 +1,8 @@
1 1
package com.ekexiu.portal.dao;
2 2
3
import java.sql.Connection;
4
import java.sql.PreparedStatement;
5
import java.sql.ResultSet;
6
import java.sql.SQLException;
7
import java.util.ArrayList;
8
import java.util.List;
9
3
import com.ekexiu.portal.basepo.BaseOrganization;
4
import com.ekexiu.portal.po.Organization;
5
import com.ekexiu.portal.pojo.EditOrganization;
10 6
import org.jfw.apt.annotation.Nullable;
11 7
import org.jfw.apt.orm.annotation.dao.Column;
12 8
import org.jfw.apt.orm.annotation.dao.DAO;
@ -36,9 +32,12 @@ import org.jfw.apt.orm.annotation.dao.param.SqlColumn;
36 32
import org.jfw.apt.orm.core.defaultImpl.StringHandler;
37 33
import org.jfw.util.PageQueryResult;
38 34
39
import com.ekexiu.portal.basepo.BaseOrganization;
40
import com.ekexiu.portal.po.Organization;
41
import com.ekexiu.portal.pojo.EditOrganization;
35
import java.sql.Connection;
36
import java.sql.PreparedStatement;
37
import java.sql.ResultSet;
38
import java.sql.SQLException;
39
import java.util.ArrayList;
40
import java.util.List;
42 41
43 42
@DAO
44 43
public abstract class OrgDao {
@ -219,6 +218,152 @@ public abstract class OrgDao {
219 218
					"(ID IN (SELECT ORG_ID FROM ARTICLE WHERE ARTICLE_TYPE='2' AND ARTICLE_TITLE LIKE ?) AND IS_JOIN ='1')" }) String kw,
220 219
			int pageSize, int pageNo) throws SQLException;
221 220
221
	public List<EditOrganization> indexSearch(Connection con, String kw,long sortNum,String modifyTime,String id,int rows)throws SQLException {
222
		int index = 1;
223
		StringBuilder sql = new StringBuilder();
224
		sql.append("SELECT FOR_SHORT,ORG_URL,FOUND_TIME,PROVINCE,CITY,SUBJECT,INDUSTRY,ORG_SIZE,QUALIFICATION,IS_JOIN,AUTH_STATUS,ADDR,EMAIL,CONTACT_NUM,FIELD_OF_CUSTOMER,FIELD_OF_SUPPLIER,SORT_NUM,PAGE_VIEWS,SHARE_ID,COL_MGR,RES_MGR,ORG_ATTR,ID,NAME,ORG_TYPE,CREATE_TIME,MODIFY_TIME,DESCP FROM ORGANIZATION");
225
		sql.append(" WHERE (SORT_NUM < ? OR (SORT_NUM = ? AND MODIFY_TIME < ?) OR (SORT_NUM = ? AND MODIFY_TIME = ? AND ID < ?)) ");
226
		if (kw != null) {
227
			sql.append(" AND ((ID IN (SELECT ORG_ID FROM ARTICLE WHERE ARTICLE_TYPE='2' AND ARTICLE_TITLE LIKE ?) AND IS_JOIN ='1') OR (ID IN (SELECT ORG_ID FROM RESOURCE WHERE RESOURCE_TYPE='2' AND RESOURCE_NAME LIKE ?) AND IS_JOIN ='1') OR (industry LIKE ?  AND IS_JOIN ='1') OR (SUBJECT LIKE ? AND IS_JOIN ='1') OR (DESCP LIKE ?  AND IS_JOIN ='1') OR (FOR_SHORT LIKE ? AND IS_JOIN ='1') OR (NAME LIKE ? AND IS_JOIN ='1')) ");
228
		}
229
		sql.append(" ORDER BY SORT_NUM DESC, MODIFY_TIME DESC LIMIT ? ");
230
		PreparedStatement ps = con.prepareStatement(sql.toString());
231
		try {
232
			ps.setLong(index++, sortNum);
233
			ps.setLong(index++, sortNum);
234
			ps.setString(index++, modifyTime);
235
			ps.setLong(index++, sortNum);
236
			ps.setString(index++, modifyTime);
237
			ps.setString(index++, id);
238
			if (kw != null) {
239
				ps.setString(index++, kw);
240
				ps.setString(index++, kw);
241
				ps.setString(index++, kw);
242
				ps.setString(index++, kw);
243
				ps.setString(index++, kw);
244
				ps.setString(index++, kw);
245
				ps.setString(index++, kw);
246
			}
247
			ps.setInt(index++, rows);
248
			ResultSet resultSet = ps.executeQuery();
249
			try {
250
				List<EditOrganization> orgs = new ArrayList<>();
251
				while (resultSet.next()) {
252
					EditOrganization organization = new EditOrganization();
253
					String forshort = resultSet.getString(1);
254
					if(resultSet.wasNull()){
255
						forshort = null;
256
					}
257
					organization.setForShort(forshort);
258
					String orgUrl = resultSet.getString(2);
259
					if(resultSet.wasNull()){
260
						orgUrl = null;
261
					}
262
					organization.setOrgUrl(orgUrl);
263
					String foundTime = resultSet.getString(3);
264
					if(resultSet.wasNull()){
265
						foundTime = null;
266
					}
267
					organization.setFoundTime(foundTime);
268
					String province = resultSet.getString(4);
269
					if(resultSet.wasNull()){
270
						province = null;
271
					}
272
					organization.setProvince(province);
273
					String city = resultSet.getString(5);
274
					if(resultSet.wasNull()){
275
						city = null;
276
					}
277
					organization.setCity(city);
278
					String subject = resultSet.getString(6);
279
					if(resultSet.wasNull()){
280
						subject = null;
281
					}
282
					organization.setSubject(subject);
283
					String industry = resultSet.getString(7);
284
					if(resultSet.wasNull()){
285
						industry = null;
286
					}
287
					organization.setIndustry(industry);
288
					String orgSize = resultSet.getString(8);
289
					if(resultSet.wasNull()){
290
						orgSize = null;
291
					}
292
					organization.setOrgSize(orgSize);
293
					String qualification = resultSet.getString(9);
294
					if(resultSet.wasNull()){
295
						qualification = null;
296
					}
297
					organization.setQualification(qualification);
298
					organization.setIsJoin(resultSet.getString(10));
299
					organization.setAuthStatus(resultSet.getString(11));
300
					String addr = resultSet.getString(12);
301
					if(resultSet.wasNull()){
302
						addr = null;
303
					}
304
					organization.setAddr(addr);
305
					String email = resultSet.getString(13);
306
					if(resultSet.wasNull()){
307
						email = null;
308
					}
309
					organization.setEmail(email);
310
					String contactNum = resultSet.getString(14);
311
					if(resultSet.wasNull()){
312
						contactNum = null;
313
					}
314
					organization.setContactNum(contactNum);
315
					String fieldOfCustomer = resultSet.getString(15);
316
					if(resultSet.wasNull()){
317
						fieldOfCustomer = null;
318
					}
319
					organization.setFieldOfCustomer(fieldOfCustomer);
320
					String fieldOfSupplier = resultSet.getString(16);
321
					if(resultSet.wasNull()){
322
						fieldOfSupplier = null;
323
					}
324
					organization.setFieldOfSupplier(fieldOfSupplier);
325
					organization.setSortNum(resultSet.getLong(17));
326
					organization.setPageViews(resultSet.getLong(18));
327
					organization.setShareId(resultSet.getLong(19));
328
					organization.setColMgr("1".equals(resultSet.getString(20)));
329
					organization.setResMgr("1".equals(resultSet.getString(21)));
330
					String orgAttr = resultSet.getString(22);
331
					if(resultSet.wasNull()){
332
						orgAttr = null;
333
					}
334
					organization.setOrgAttr(orgAttr);
335
					organization.setId(resultSet.getString(23));
336
					organization.setName(resultSet.getString(24));
337
					String orgType = resultSet.getString(25);
338
					if(resultSet.wasNull()){
339
						orgType = null;
340
					}
341
					organization.setOrgType(orgType);
342
					organization.setCreateTime(resultSet.getString(26));
343
					organization.setModifyTime(resultSet.getString(27));
344
					String descp = resultSet.getString(28);
345
					if(resultSet.wasNull()){
346
						descp = null;
347
					}
348
					organization.setDescp(descp);
349
					orgs.add(organization);
350
				}
351
				return orgs;
352
			} finally {
353
				try {
354
					resultSet.close();
355
				} catch (Exception e1) {
356
				}
357
			}
358
		} finally {
359
			try {
360
				ps.close();
361
			} catch (Exception e2) {
362
			}
363
		}
364
365
	}
366
222 367
	@PageQuery
223 368
	@Select(Organization.class)
224 369
	@From(Organization.class)

+ 90 - 11
src/main/java/com/ekexiu/portal/dao/PpaperDao.java

@ -1,12 +1,7 @@
1 1
package com.ekexiu.portal.dao;
2 2

3
import java.sql.Connection;
4
import java.sql.PreparedStatement;
5
import java.sql.ResultSet;
6
import java.sql.SQLException;
7
import java.util.ArrayList;
8
import java.util.List;
9

3
import com.ekexiu.portal.po.Ppaper;
4
import com.ekexiu.portal.pojo.AssedPaper;
10 5
import org.jfw.apt.annotation.Nullable;
11 6
import org.jfw.apt.orm.annotation.dao.DAO;
12 7
import org.jfw.apt.orm.annotation.dao.method.Exclude;
@ -27,8 +22,12 @@ import org.jfw.apt.orm.annotation.dao.param.SqlColumn;
27 22
import org.jfw.apt.orm.core.defaultImpl.FixLenStringHandler;
28 23
import org.jfw.util.PageQueryResult;
29 24

30
import com.ekexiu.portal.po.Ppaper;
31
import com.ekexiu.portal.pojo.AssedPaper;
25
import java.sql.Connection;
26
import java.sql.PreparedStatement;
27
import java.sql.ResultSet;
28
import java.sql.SQLException;
29
import java.util.ArrayList;
30
import java.util.List;
32 31

33 32
@DAO
34 33
public abstract class PpaperDao {
@ -76,8 +75,88 @@ public abstract class PpaperDao {
76 75
	@OrderBy(" ORDER BY SORT_NUM DESC,CREATE_TIME DESC,ID DESC")
77 76
	@Or
78 77
	public abstract PageQueryResult<Ppaper> query(Connection con,@Alias({"name","authors","keywords","cn4periodical","en4periodical"}) @Like String cnt,int pageSize,int pageNo) throws SQLException;
79
	
80
	
78

79
	public List<Ppaper> indexSearch(Connection con, String key, long sortNum, String createTime, String id, int rows) throws SQLException {
80
		List<Ppaper> result = new ArrayList<>();
81
		StringBuilder sql = new StringBuilder();
82
		sql.append("SELECT AUTHORS,SORT_NUM,ID,NAME,PAGE_VIEWS,CN4PERIODICAL,EN4PERIODICAL,PERIODICALTYPE,PUB_DAY,KEYWORDS,REF_PARAM,SHARE_ID,CREATE_TIME FROM PPAPER");
83
		sql.append(" WHERE (SORT_NUM < ? OR (SORT_NUM = ? AND CREATE_TIME < ?) OR (SORT_NUM=? AND CREATE_TIME = ? AND ID < ?)) ");
84
		if (key != null) {
85
			sql.append(" AND (EN4PERIODICAL LIKE ? OR CN4PERIODICAL LIKE ? OR KEYWORDS LIKE ? OR AUTHORS LIKE ? OR NAME LIKE ?) ");
86
		}
87
		sql.append(" ORDER BY SORT_NUM DESC,CREATE_TIME DESC,ID DESC LIMIT ? ");
88
		PreparedStatement ps = con.prepareStatement(sql.toString());
89
		try {
90
			int index = 1;
91
			ps.setLong(index++, sortNum);
92
			ps.setLong(index++, sortNum);
93
			ps.setString(index++, createTime);
94
			ps.setLong(index++, sortNum);
95
			ps.setString(index++, createTime);
96
			ps.setString(index++, id);
97
			if (key != null) {
98
				ps.setString(index++, key);
99
				ps.setString(index++, key);
100
				ps.setString(index++, key);
101
				ps.setString(index++, key);
102
				ps.setString(index++, key);
103
			}
104
			ps.setInt(index++, rows);
105
			ResultSet rs = ps.executeQuery();
106
			try {
107
				while (rs.next()) {
108
					Ppaper ppaper = new Ppaper();
109
					ppaper.setAuthors(rs.getString(1));
110
					ppaper.setSortNum(rs.getLong(2));
111
					ppaper.setId(rs.getString(3));
112
					ppaper.setName(rs.getString(4));
113
					ppaper.setPageViews(rs.getLong(5));
114
					String cn4periodical = rs.getString(6);
115
					if (rs.wasNull()) {
116
						cn4periodical = null;
117
					}
118
					ppaper.setCn4periodical(cn4periodical);
119
					String en4periodical = rs.getString(7);
120
					if (rs.wasNull()) {
121
						en4periodical = null;
122
					}
123
					ppaper.setEn4periodical(en4periodical);
124
					String periodicaltype = rs.getString(8);
125
					if (rs.wasNull()) {
126
						periodicaltype = null;
127
					}
128
					ppaper.setPeriodicaltype(periodicaltype);
129
					ppaper.setPubDay(rs.getString(9));
130
					String keywords = rs.getString(10);
131
					if (rs.wasNull()) {
132
						keywords = null;
133
					}
134
					ppaper.setKeywords(keywords);
135
					String refParam = rs.getString(11);
136
					if (rs.wasNull()) {
137
						refParam = null;
138
					}
139
					ppaper.setRef_param(refParam);
140
					ppaper.setShareId(rs.getLong(12));
141
					ppaper.setCreateTime(rs.getString(13));
142
					result.add(ppaper);
143
				}
144
				return result;
145
			} finally {
146
				try {
147
					rs.close();
148
				} catch (Exception _m_16) {
149
				}
150
			}
151
		} finally {
152
			try {
153
				ps.close();
154
			} catch (Exception _m_17) {
155
			}
156
		}
157
	}
158

159

81 160
	@SelectOne
82 161
	@Nullable
83 162
	public abstract Ppaper query(Connection con,long shareId)throws SQLException;

+ 99 - 9
src/main/java/com/ekexiu/portal/dao/PpatentDao.java

@ -1,12 +1,7 @@
1 1
package com.ekexiu.portal.dao;
2 2

3
import java.sql.Connection;
4
import java.sql.PreparedStatement;
5
import java.sql.ResultSet;
6
import java.sql.SQLException;
7
import java.util.ArrayList;
8
import java.util.List;
9

3
import com.ekexiu.portal.po.Ppatent;
4
import com.ekexiu.portal.pojo.AssedPatent;
10 5
import org.jfw.apt.annotation.Nullable;
11 6
import org.jfw.apt.orm.annotation.dao.DAO;
12 7
import org.jfw.apt.orm.annotation.dao.method.Exclude;
@ -27,8 +22,12 @@ import org.jfw.apt.orm.annotation.dao.param.SqlColumn;
27 22
import org.jfw.apt.orm.core.defaultImpl.FixLenStringHandler;
28 23
import org.jfw.util.PageQueryResult;
29 24

30
import com.ekexiu.portal.po.Ppatent;
31
import com.ekexiu.portal.pojo.AssedPatent;
25
import java.sql.Connection;
26
import java.sql.PreparedStatement;
27
import java.sql.ResultSet;
28
import java.sql.SQLException;
29
import java.util.ArrayList;
30
import java.util.List;
32 31

33 32
@DAO
34 33
public abstract class PpatentDao {
@ -79,6 +78,97 @@ public abstract class PpatentDao {
79 78
	public abstract PageQueryResult<Ppatent> query(Connection con, @Alias({ "code", "authors", "name", "keywords","reqPerson" }) @Like String cnt, int pageSize, int pageNo)
80 79
			throws SQLException;
81 80

81

82
	public List<Ppatent> indexSearch(Connection con, String key, long sortNum, String createTime, String id, int rows) throws SQLException {
83
		List<Ppatent> result = new ArrayList<>();
84
		StringBuilder sql = new StringBuilder();
85
		sql.append("SELECT AUTHORS,SORT_NUM,ID,NAME,PAGE_VIEWS,CODE,REQ_CODE,REQ_PERSON,REQ_DAY,PUB_DAY,REF_PARAM,KEYWORDS,SHARE_ID,CREATE_TIME FROM PPATENT");
86
		sql.append(" WHERE (SORT_NUM < ? OR (SORT_NUM = ? AND CREATE_TIME < ?) OR (SORT_NUM=? AND CREATE_TIME = ? AND ID < ?)) ");
87
		if (key != null) {
88
			sql.append(" AND (REQ_PERSON LIKE ? OR KEYWORDS LIKE ? OR NAME LIKE ? OR AUTHORS LIKE ? OR CODE LIKE ?) ");
89
		}
90
		sql.append("ORDER BY SORT_NUM DESC,CREATE_TIME DESC,ID DESC LIMIT ?");
91
		PreparedStatement ps = con.prepareStatement(sql.toString());
92
		try {
93
			int index = 1;
94
			ps.setLong(index++, sortNum);
95
			ps.setLong(index++, sortNum);
96
			ps.setString(index++, createTime);
97
			ps.setLong(index++, sortNum);
98
			ps.setString(index++, createTime);
99
			ps.setString(index++, id);
100
			if (key != null) {
101
				ps.setString(index++, key);
102
				ps.setString(index++, key);
103
				ps.setString(index++, key);
104
				ps.setString(index++, key);
105
				ps.setString(index++, key);
106
			}
107
			ps.setInt(index++, rows);
108
			ResultSet rs = ps.executeQuery();
109
			try {
110
				while (rs.next()) {
111
					Ppatent ppatent = new Ppatent();
112
					ppatent.setAuthors(rs.getString(1));
113
					ppatent.setSortNum(rs.getLong(2));
114
					ppatent.setId(rs.getString(3));
115
					ppatent.setName(rs.getString(4));
116
					ppatent.setPageViews(rs.getLong(5));
117
					String code = rs.getString(6);
118
					if (rs.wasNull()) {
119
						code = null;
120
					}
121
					ppatent.setCode(code);
122
					String reqCode = rs.getString(7);
123
					if (rs.wasNull()) {
124
						reqCode = null;
125
					}
126
					ppatent.setReqCode(reqCode);
127
					String reqPerson = rs.getString(8);
128
					if (rs.wasNull()) {
129
						reqPerson = null;
130
					}
131
					ppatent.setReqPerson(reqPerson);
132
					String reqDay = rs.getString(9);
133
					if (rs.wasNull()) {
134
						reqDay = null;
135
					}
136
					ppatent.setReqDay(reqDay);
137
					String pubDay = rs.getString(10);
138
					if (rs.wasNull()) {
139
						pubDay = null;
140
					}
141
					ppatent.setPubDay(pubDay);
142
					String refParam = rs.getString(11);
143
					if (rs.wasNull()) {
144
						refParam = null;
145
					}
146
					ppatent.setRef_param(refParam);
147
					String keyWords = rs.getString(12);
148
					if (rs.wasNull()) {
149
						keyWords = null;
150
					}
151
					ppatent.setKeywords(keyWords);
152
					ppatent.setShareId(rs.getLong(13));
153
					ppatent.setCreateTime(rs.getString(14));
154
					result.add(ppatent);
155
				}
156
				return result;
157
			} finally {
158
				try {
159
					rs.close();
160
				} catch (Exception _m_18) {
161
				}
162
			}
163
		} finally {
164
			try {
165
				ps.close();
166
			} catch (Exception _m_19) {
167
			}
168
		}
169
	}
170

171

82 172
	@SelectOne
83 173
	@Nullable
84 174
	public abstract Ppatent query(Connection con, long shareId) throws SQLException;

+ 23 - 14
src/main/java/com/ekexiu/portal/dao/ProfessorDao.java

@ -1,14 +1,11 @@
1 1
package com.ekexiu.portal.dao;
2 2

3
import java.math.BigDecimal;
4
import java.sql.Connection;
5
import java.sql.PreparedStatement;
6
import java.sql.ResultSet;
7
import java.sql.SQLException;
8
import java.util.ArrayList;
9
import java.util.Collections;
10
import java.util.List;
11

3
import com.ekexiu.portal.po.Organization;
4
import com.ekexiu.portal.po.Professor;
5
import com.ekexiu.portal.pojo.EditProfessor;
6
import com.ekexiu.portal.pojo.ProfessorInfo;
7
import com.ekexiu.portal.pojo.SortedPro;
8
import com.ekexiu.portal.pojo.UserInfo;
12 9
import org.jfw.apt.annotation.DefaultValue;
13 10
import org.jfw.apt.annotation.Nullable;
14 11
import org.jfw.apt.orm.annotation.dao.Column;
@ -20,6 +17,7 @@ import org.jfw.apt.orm.annotation.dao.method.Select;
20 17
import org.jfw.apt.orm.annotation.dao.method.SetSentence;
21 18
import org.jfw.apt.orm.annotation.dao.method.operator.DeleteWith;
22 19
import org.jfw.apt.orm.annotation.dao.method.operator.Insert;
20
import org.jfw.apt.orm.annotation.dao.method.operator.LimitQuery;
23 21
import org.jfw.apt.orm.annotation.dao.method.operator.PageSelect;
24 22
import org.jfw.apt.orm.annotation.dao.method.operator.QueryOne;
25 23
import org.jfw.apt.orm.annotation.dao.method.operator.QueryVal;
@ -27,6 +25,7 @@ import org.jfw.apt.orm.annotation.dao.method.operator.SelectList;
27 25
import org.jfw.apt.orm.annotation.dao.method.operator.SelectOne;
28 26
import org.jfw.apt.orm.annotation.dao.method.operator.Update;
29 27
import org.jfw.apt.orm.annotation.dao.method.operator.UpdateWith;
28
import org.jfw.apt.orm.annotation.dao.param.GroupSqlColumn;
30 29
import org.jfw.apt.orm.annotation.dao.param.In;
31 30
import org.jfw.apt.orm.annotation.dao.param.LessThan;
32 31
import org.jfw.apt.orm.annotation.dao.param.Set;
@ -37,11 +36,14 @@ import org.jfw.apt.orm.core.defaultImpl.StringHandler;
37 36
import org.jfw.util.PageQueryResult;
38 37
import org.jfw.util.exception.JfwBaseException;
39 38

40
import com.ekexiu.portal.po.Organization;
41
import com.ekexiu.portal.po.Professor;
42
import com.ekexiu.portal.pojo.EditProfessor;
43
import com.ekexiu.portal.pojo.ProfessorInfo;
44
import com.ekexiu.portal.pojo.UserInfo;
39
import java.math.BigDecimal;
40
import java.sql.Connection;
41
import java.sql.PreparedStatement;
42
import java.sql.ResultSet;
43
import java.sql.SQLException;
44
import java.util.ArrayList;
45
import java.util.Collections;
46
import java.util.List;
45 47

46 48
@DAO
47 49
public abstract class ProfessorDao {
@ -1386,6 +1388,13 @@ public abstract class ProfessorDao {
1386 1388
		}
1387 1389
	}
1388 1390

1391
	@LimitQuery
1392
	@OrderBy("ORDER BY sort_desc DESC ")
1393
	public abstract List<SortedPro> indexSearch(Connection con,
1394
											  @SqlColumn(handlerClass = StringHandler.class, value = {"(case when sort_first=0 then '00000' else TO_CHAR(sort_first,'00009') end || TO_CHAR(CEIL(star_level * 100),'0009') || p.id )< ? "}) String sortDesc, @Nullable @GroupSqlColumn(value = {
1395
			"P.NAME LIKE ?", "O.NAME LIKE ?", "P.DEPARTMENT LIKE ?", "P.DESCP LIKE ?", "P.SUBJECT LIKE ?", "P.INDUSTRY LIKE ?", "P.ID IN (SELECT DISTINCT PROFESSOR_ID FROM RESEARCH_AREA WHERE CAPTION LIKE ?)", "P.ID IN (SELECT DISTINCT PROFESSOR_ID FROM RESOURCE WHERE RESOURCE_NAME LIKE ?)", "P.ID IN (SELECT DISTINCT PROFESSOR_ID FROM ARTICLE WHERE ARTICLE_TITLE LIKE ?)", "P.ID IN (SELECT DISTINCT PROFESSOR_ID FROM PAPER_AUTHOR WHERE PAPER_ID IN (SELECT ID FROM PPAPER WHERE NAME LIKE ?))", "P.ID IN (SELECT DISTINCT PROFESSOR_ID FROM PATENT_AUTHOR WHERE PATENT_ID IN (SELECT ID FROM PPATENT WHERE NAME LIKE ?))"
1396
	}, handlerClass = StringHandler.class, isAnd = false) String key, @Nullable String subject, @Nullable String industry, @Nullable String address, @Nullable Integer authType, int rows) throws SQLException;
1397

1389 1398
	/**
1390 1399
	 * 分页查询专家基础信息,多条件查询专家列表。
1391 1400
	 * 

+ 147 - 14
src/main/java/com/ekexiu/portal/dao/ResourceDao.java

@ -1,13 +1,9 @@
1 1
package com.ekexiu.portal.dao;
2 2

3
import java.sql.Connection;
4
import java.sql.PreparedStatement;
5
import java.sql.ResultSet;
6
import java.sql.SQLException;
7
import java.util.ArrayList;
8
import java.util.Collections;
9
import java.util.List;
10

3
import com.ekexiu.portal.po.Image;
4
import com.ekexiu.portal.po.Professor;
5
import com.ekexiu.portal.po.Resource;
6
import com.ekexiu.portal.pojo.EditProfessor;
11 7
import org.jfw.apt.annotation.Autowrie;
12 8
import org.jfw.apt.annotation.Nullable;
13 9
import org.jfw.apt.orm.annotation.dao.DAO;
@ -29,10 +25,13 @@ import org.jfw.apt.orm.annotation.dao.param.Like;
29 25
import org.jfw.apt.orm.annotation.dao.param.Set;
30 26
import org.jfw.util.PageQueryResult;
31 27

32
import com.ekexiu.portal.po.Image;
33
import com.ekexiu.portal.po.Professor;
34
import com.ekexiu.portal.po.Resource;
35
import com.ekexiu.portal.pojo.EditProfessor;
28
import java.sql.Connection;
29
import java.sql.PreparedStatement;
30
import java.sql.ResultSet;
31
import java.sql.SQLException;
32
import java.util.ArrayList;
33
import java.util.Collections;
34
import java.util.List;
36 35

37 36
@DAO
38 37
public abstract class ResourceDao {
@ -1324,8 +1323,142 @@ public abstract class ResourceDao {
1324 1323
            try{ps.close();}catch(Exception e4){}
1325 1324
        }
1326 1325
    }
1327
	
1328
	/**
1326

1327
    public List<Resource> indexSearch(Connection con, String key, long sortNum, String modifyTime, String id, int rows)throws SQLException {
1328
        List<Resource> result = new ArrayList<>();
1329
        StringBuilder sql = new StringBuilder();
1330
        sql.append("SELECT RESOURCE_ID,RESOURCE_NAME,SUBJECT,INDUSTRY,SUPPORTED_SERVICES,ORG_NAME,SPEC,PARAMETER,STATUS,DESCP,PROFESSOR_ID,ASCRIPTION,HOPE_PAY_METHOD,COOPERATION_NOTES,PUBLISH_TIME,PAGE_VIEWS,COMP,RESOURCE_TYPE,ORG_ID,SHARE_ID,CREATE_TIME,MODIFY_TIME,SORT_NUM FROM RESOURCE");
1331
        sql.append(" WHERE STATUS='1' AND ((SORT_NUM < ?) OR (SORT_NUM = ? AND PUBLISH_TIME < ?) OR (SORT_NUM=? AND PUBLISH_TIME = ? AND RESOURCE_ID < ?)) ");
1332
        if (key != null) {
1333
            sql.append(" AND (PROFESSOR_ID IN (SELECT ID FROM PROFESSOR WHERE NAME LIKE ?) OR ORG_ID IN (SELECT ID FROM ORGANIZATION WHERE NAME LIKE ? OR FOR_SHORT LIKE ?) OR RESOURCE_NAME LIKE ? OR SUBJECT LIKE ? OR SUPPORTED_SERVICES LIKE ? OR ORG_NAME LIKE ? OR SPEC LIKE ?) ");
1334
        }
1335
        sql.append(" ORDER BY SORT_NUM DESC,PUBLISH_TIME DESC,RESOURCE_ID DESC LIMIT ? ");
1336
        PreparedStatement ps = con.prepareStatement(sql.toString());
1337
        try {
1338
            int index = 1;
1339
            ps.setLong(index++,sortNum);
1340
            ps.setLong(index++,sortNum);
1341
            ps.setString(index++, modifyTime);
1342
            ps.setLong(index++, sortNum);
1343
            ps.setString(index++, modifyTime);
1344
            ps.setString(index++, id);
1345
            if (key != null) {
1346
                ps.setString(index++,key);
1347
                ps.setString(index++,key);
1348
                ps.setString(index++,key);
1349
                ps.setString(index++,key);
1350
                ps.setString(index++,key);
1351
                ps.setString(index++,key);
1352
                ps.setString(index++,key);
1353
                ps.setString(index++,key);
1354
            }
1355
            ps.setInt(index++,rows);
1356
            ResultSet rs = ps.executeQuery();
1357
            try {
1358
                while (rs.next()) {
1359
                    Resource resource =  new Resource();
1360
                    resource.setResourceId(rs.getString(1));
1361
                    resource.setResourceName(rs.getString(2));
1362
                    String subject = rs.getString(3);
1363
                    if(rs.wasNull()){
1364
                        subject = null;
1365
                    }
1366
                    resource.setSubject(subject);
1367
                    String indeustry = rs.getString(4);
1368
                    if(rs.wasNull()){
1369
                        indeustry = null;
1370
                    }
1371
                    resource.setIndustry(indeustry);
1372
                    resource.setSupportedServices(rs.getString(5));
1373
                    String orgName = rs.getString(6);
1374
                    if(rs.wasNull()){
1375
                        orgName = null;
1376
                    }
1377
                    resource.setOrgName(orgName);
1378
                    String spec = rs.getString(7);
1379
                    if(rs.wasNull()){
1380
                        spec = null;
1381
                    }
1382
                    resource.setSpec(spec);
1383
                    String parameter = rs.getString(8);
1384
                    if(rs.wasNull()){
1385
                        parameter = null;
1386
                    }
1387
                    resource.setParameter(parameter);
1388
                    String status = rs.getString(9);
1389
                    if(rs.wasNull()){
1390
                        status = null;
1391
                    }
1392
                    resource.setStatus(status);
1393
                    String descp = rs.getString(10);
1394
                    if(rs.wasNull()){
1395
                        descp = null;
1396
                    }
1397
                    resource.setDescp(descp);
1398
                    String professorId = rs.getString(11);
1399
                    if(rs.wasNull()){
1400
                        professorId = null;
1401
                    }
1402
                    resource.setProfessorId(professorId);
1403
                    String ascription = rs.getString(12);
1404
                    if(rs.wasNull()){
1405
                        ascription = null;
1406
                    }
1407
                    resource.setAscription(ascription);
1408
                    String payMethod = rs.getString(13);
1409
                    if(rs.wasNull()){
1410
                        payMethod = null;
1411
                    }
1412
                    resource.setHopePayMethod(payMethod);
1413
                    String cooperationNotes = rs.getString(14);
1414
                    if(rs.wasNull()){
1415
                        cooperationNotes = null;
1416
                    }
1417
                    resource.setCooperationNotes(cooperationNotes);
1418
                    String publishTime = rs.getString(15);
1419
                    if(rs.wasNull()){
1420
                        publishTime = null;
1421
                    }
1422
                    resource.setPublishTime(publishTime);
1423
                    resource.setPageViews(rs.getInt(16));
1424
                    String comp = rs.getString(17);
1425
                    if(rs.wasNull()){
1426
                        comp = null;
1427
                    }
1428
                    resource.setComp(comp);
1429
                    String resourceType = rs.getString(18);
1430
                    if(rs.wasNull()){
1431
                        resourceType = null;
1432
                    }
1433
                    resource.setResourceType(resourceType);
1434
                    String orgId = rs.getString(19);
1435
                    if(rs.wasNull()){
1436
                        orgId = null;
1437
                    }
1438
                    resource.setOrgId(orgId);
1439
                    resource.setShareId(rs.getLong(20));
1440
                    resource.setCreateTime(rs.getString(21));
1441
                    resource.setModifyTime(rs.getString(22));
1442
                    resource.setSortNum(rs.getInt(23));
1443
                    result.add(resource);
1444
                }
1445
                return result;
1446
            }finally {
1447
                try {
1448
                    rs.close();
1449
                } catch (Exception _m_8) {
1450
                }
1451
            }
1452
        }finally {
1453
            try {
1454
                ps.close();
1455
            } catch (Exception _m_9) {
1456
            }
1457
        }
1458

1459
    }
1460

1461
    /**
1329 1462
	 * 资源搜索页面接口,添加资源拥有者基本信息
1330 1463
	 * @param key 搜索条件
1331 1464
	 * @param subject 学术领域

+ 12 - 0
src/main/java/com/ekexiu/portal/po/Article.java

@ -5,6 +5,7 @@ import org.jfw.apt.orm.annotation.entry.PrimaryKey;
5 5
import org.jfw.apt.orm.annotation.entry.Table;
6 6
import org.jfw.apt.orm.core.defaultImpl.FixLenStringHandler;
7 7
import org.jfw.apt.orm.core.defaultImpl.IntHandler;
8
import org.jfw.apt.orm.core.defaultImpl.LongHandler;
8 9
import org.jfw.apt.orm.core.enums.DE;
9 10

10 11
import com.ekexiu.portal.basepo.CreateTimeSupported;
@ -35,6 +36,10 @@ public class Article implements CreateTimeSupported, ModifyTimeSupported {
35 36
	private Organization organization;
36 37
	private EditOrganization editOrganization;
37 38
	private int colNum;
39
	/**
40
	 * 排序字段
41
	 */
42
	private long sortNum;
38 43
	
39 44
	public EditProfessor getProfessor() {
40 45
		return professor;
@ -171,4 +176,11 @@ public class Article implements CreateTimeSupported, ModifyTimeSupported {
171 176
	public void setColNum(int colNum) {
172 177
		this.colNum = colNum;
173 178
	}
179
	@Column(handlerClass=LongHandler.class,dbType="BIGINT",fixSqlValueWithInsert="0",insertable=true,renewable=false,nullable=false,queryable=true)
180
	public long getSortNum() {
181
		return sortNum;
182
	}
183
	public void setSortNum(long sortNum) {
184
		this.sortNum = sortNum;
185
	}
174 186
}

+ 18 - 6
src/main/java/com/ekexiu/portal/po/Resource.java

@ -1,19 +1,19 @@
1 1
package com.ekexiu.portal.po;
2 2

3
import java.util.List;
4

3
import com.ekexiu.portal.basepo.CreateTimeSupported;
4
import com.ekexiu.portal.basepo.ModifyTimeSupported;
5
import com.ekexiu.portal.pojo.EditOrganization;
6
import com.ekexiu.portal.pojo.EditProfessor;
5 7
import org.jfw.apt.orm.annotation.entry.Column;
6 8
import org.jfw.apt.orm.annotation.entry.PrimaryKey;
7 9
import org.jfw.apt.orm.annotation.entry.Table;
8 10
import org.jfw.apt.orm.core.defaultImpl.FixLenStringHandler;
9 11
import org.jfw.apt.orm.core.defaultImpl.IntHandler;
12
import org.jfw.apt.orm.core.defaultImpl.LongHandler;
10 13
import org.jfw.apt.orm.core.defaultImpl.StringHandler;
11 14
import org.jfw.apt.orm.core.enums.DE;
12 15

13
import com.ekexiu.portal.basepo.CreateTimeSupported;
14
import com.ekexiu.portal.basepo.ModifyTimeSupported;
15
import com.ekexiu.portal.pojo.EditOrganization;
16
import com.ekexiu.portal.pojo.EditProfessor;
16
import java.util.List;
17 17

18 18
@PrimaryKey("resourceId")
19 19
@Table
@ -78,6 +78,10 @@ public class Resource implements CreateTimeSupported, ModifyTimeSupported{
78 78
	private String orgId;
79 79
	
80 80
	private long shareId;
81
	/**
82
	 * 排序字段
83
	 */
84
	private long sortNum;
81 85
	
82 86
	public List<Image> getImages() {
83 87
		return images;
@ -278,6 +282,14 @@ public class Resource implements CreateTimeSupported, ModifyTimeSupported{
278 282
	public void setShareId(long shareId) {
279 283
		this.shareId = shareId;
280 284
	}
285

286
	@Column(handlerClass=LongHandler.class,dbType="BIGINT",fixSqlValueWithInsert="0",insertable=true,renewable=false,nullable=false,queryable=true)
287
	public long getSortNum() {
288
		return sortNum;
289
	}
290
	public void setSortNum(long sortNum) {
291
		this.sortNum = sortNum;
292
	}
281 293
	
282 294
	
283 295
}

+ 55 - 0
src/main/java/com/ekexiu/portal/pojo/SortedPro.java

@ -0,0 +1,55 @@
1
package com.ekexiu.portal.pojo;
2
3
import com.ekexiu.portal.po.Professor;
4
import com.ekexiu.portal.po.ResearchArea;
5
import org.jfw.apt.orm.annotation.entry.CalcColumn;
6
import org.jfw.apt.orm.annotation.entry.ExtendView;
7
import org.jfw.apt.orm.core.defaultImpl.StringHandler;
8
9
import java.util.List;
10
11
/**
12
 * Created by TT on 2018/3/8.
13
 */
14
@ExtendView(fromSentence = "Professor p left join organization o on p.org_id = o.id",tableAlias = "p")
15
public class SortedPro extends Professor {
16
    private String sortDesc;
17
    private String orgName;
18
    private Integer hasHeadImage;
19
    private List<ResearchArea> researchAreas;
20
21
    @CalcColumn(nullable = false,handlerClass = StringHandler.class,column = "case when sort_first = 0 then '00000' else TO_CHAR(sort_first,'00009') end || TO_CHAR(CEIL(star_level * 100),'0009') || p.id sort_desc ")
22
    public String getSortDesc() {
23
        return sortDesc;
24
    }
25
26
    public void setSortDesc(String sortDesc) {
27
        this.sortDesc = sortDesc;
28
    }
29
30
    @CalcColumn(handlerClass = StringHandler.class, column = "o.name")
31
    public String getOrgName() {
32
        return orgName;
33
    }
34
35
    public void setOrgName(String orgName) {
36
        this.orgName = orgName;
37
    }
38
39
40
    public Integer getHasHeadImage() {
41
        return hasHeadImage;
42
    }
43
44
    public void setHasHeadImage(Integer hasHeadImage) {
45
        this.hasHeadImage = hasHeadImage;
46
    }
47
48
    public List<ResearchArea> getResearchAreas() {
49
        return researchAreas;
50
    }
51
52
    public void setResearchAreas(List<ResearchArea> researchAreas) {
53
        this.researchAreas = researchAreas;
54
    }
55
}

+ 27 - 0
src/main/java/com/ekexiu/portal/service/ArticleService.java

@ -962,6 +962,33 @@ public class ArticleService {
962 962
		return queryResult;
963 963
	}
964 964

965
	@Get
966
	@Path("/index/search")
967
	public List<Article> indexSearch(@JdbcConn Connection con, @Nullable String key, @DefaultValue("Long.MAX_VALUE") long sortNum, @DefaultValue("\"9\"") String publishTime, @DefaultValue("\"G\"") String id, @DefaultValue("10000000") int rows) throws SQLException {
968
		if (key != null) {
969
			key = "%" + key + "%";
970
		}
971
		List<Article> articles = this.articleDao.indexSearch(con, key, sortNum, publishTime, id, rows);
972
		if (!articles.isEmpty()) {
973
			for (Article article : articles) {
974
				if ("1".equals(article.getArticleType())) {
975
					EditProfessor professor = this.professorDao.queryBaseInfo(con, article.getProfessorId());
976
					if (professor != null) {
977
						professor.setHasHeadImage(this.imageService.hasProfessorImage(professor.getId()));
978
					}
979
					article.setProfessor(professor);
980
				} else if ("2".equals(article.getArticleType())) {
981
					EditOrganization organization = this.orgDao.queryEditOrg(con, article.getOrgId());
982
					if (organization != null) {
983
						organization.setHasOrgLogo(this.imageService.hasOrgLogo(organization.getId()));
984
					}
985
					article.setEditOrganization(organization);
986
				}
987
			}
988
		}
989
		return articles;
990
	}
991

965 992
	@Get
966 993
	@Path("/pqself")
967 994
	public PageQueryResult<SelfArticle> queryPageSelf(@JdbcConn Connection con, @Nullable String professorId, @Nullable String orgId,

+ 23 - 11
src/main/java/com/ekexiu/portal/service/OrgService.java

@ -1,11 +1,10 @@
1 1
package com.ekexiu.portal.service;
2 2
3
import java.io.IOException;
4
import java.sql.Connection;
5
import java.sql.SQLException;
6
import java.util.Collections;
7
import java.util.List;
8
3
import com.ekexiu.portal.dao.OrgDao;
4
import com.ekexiu.portal.dao.OrgRegInfoDao;
5
import com.ekexiu.portal.po.OrgRegInfo;
6
import com.ekexiu.portal.po.Organization;
7
import com.ekexiu.portal.pojo.EditOrganization;
9 8
import org.jfw.apt.annotation.Autowrie;
10 9
import org.jfw.apt.annotation.DefaultValue;
11 10
import org.jfw.apt.annotation.Nullable;
@ -17,11 +16,11 @@ import org.jfw.apt.web.annotation.param.PathVar;
17 16
import org.jfw.util.PageQueryResult;
18 17
import org.jfw.util.StringUtil;
19 18
20
import com.ekexiu.portal.dao.OrgDao;
21
import com.ekexiu.portal.dao.OrgRegInfoDao;
22
import com.ekexiu.portal.po.OrgRegInfo;
23
import com.ekexiu.portal.po.Organization;
24
import com.ekexiu.portal.pojo.EditOrganization;
19
import java.io.IOException;
20
import java.sql.Connection;
21
import java.sql.SQLException;
22
import java.util.Collections;
23
import java.util.List;
25 24
26 25
@Path("/org")
27 26
public class OrgService {
@ -245,6 +244,19 @@ public class OrgService {
245 244
		}
246 245
		return pqr;
247 246
	}
247
248
	@Get
249
	@Path("/index/search")
250
	public List<EditOrganization> indexSearch(@JdbcConn Connection con, @Nullable String key, @DefaultValue("Long.MAX_VALUE") long sortNum, @DefaultValue("\"9\"") String modifyTime,@DefaultValue("\"Z\"")String id, @DefaultValue("10000000") int rows)throws SQLException {
251
		if (key != null) {
252
			key = "%" + key + "%";
253
		}
254
		List<EditOrganization> orgs = this.orgDao.indexSearch(con,key,sortNum,modifyTime,id,rows);
255
		for (EditOrganization organization : orgs) {
256
			organization.setHasOrgLogo(this.imageService.hasOrgLogo(organization.getId()));
257
		}
258
		return orgs;
259
	}
248 260
	@Get
249 261
	@Path("/qm")
250 262
	public List<EditOrganization> query(@JdbcConn Connection con,String[] id)throws SQLException{

+ 9 - 0
src/main/java/com/ekexiu/portal/service/PpaperService.java

@ -143,6 +143,15 @@ public class PpaperService {
143 143
		return null == qw ? this.ppaperDao.query(con, pageSize, pageNo) : this.ppaperDao.query(con, "%" + qw + "%", pageSize, pageNo);
144 144
	}
145 145

146
	@Get
147
	@Path("/index/search")
148
	public List<Ppaper> indexSearch(@JdbcConn Connection con, @Nullable String key, @DefaultValue("Long.MAX_VALUE") long sortNum, @DefaultValue("\"9\"") String createTime,@DefaultValue("\"G\"")String id, @DefaultValue("10000000") int rows)throws SQLException {
149
		if (key != null) {
150
			key = "%" + key + "%";
151
		}
152
		return this.ppaperDao.indexSearch(con, key, sortNum, createTime, id, rows);
153

154
	}
146 155
	/**
147 156
	 * 
148 157
	 * @param con

+ 9 - 0
src/main/java/com/ekexiu/portal/service/PpatentServcie.java

@ -145,6 +145,15 @@ public class PpatentServcie {
145 145
			throws SQLException {
146 146
		return null == qw ? this.ppatentDao.query(con, pageSize, pageNo) : this.ppatentDao.query(con, "%" + qw + "%", pageSize, pageNo);
147 147
	}
148

149
	@Get
150
	@Path("/index/search")
151
	public List<Ppatent> indexSearch(@JdbcConn Connection con, @Nullable String key, @DefaultValue("Long.MAX_VALUE") long sortNum, @DefaultValue("\"9\"") String createTime,@DefaultValue("\"G\"")String id, @DefaultValue("10000000") int rows)throws SQLException {
152
		if (key != null) {
153
			key = "%" + key + "%";
154
		}
155
		return this.ppatentDao.indexSearch(con, key, sortNum, createTime,id, rows);
156
	}
148 157
	/**
149 158
	 * 
150 159
	 * @param con

+ 61 - 30
src/main/java/com/ekexiu/portal/service/ProfessorService.java

@ -1,35 +1,5 @@
1 1
package com.ekexiu.portal.service;
2 2

3
import java.io.IOException;
4
import java.math.BigDecimal;
5
import java.net.URLEncoder;
6
import java.sql.Connection;
7
import java.sql.PreparedStatement;
8
import java.sql.ResultSet;
9
import java.sql.SQLException;
10
import java.text.DecimalFormat;
11
import java.util.ArrayList;
12
import java.util.Collections;
13
import java.util.HashMap;
14
import java.util.List;
15
import java.util.Map;
16

17
import org.jfw.apt.annotation.Autowrie;
18
import org.jfw.apt.annotation.DefaultValue;
19
import org.jfw.apt.annotation.Nullable;
20
import org.jfw.apt.web.annotation.Path;
21
import org.jfw.apt.web.annotation.operate.Delete;
22
import org.jfw.apt.web.annotation.operate.Get;
23
import org.jfw.apt.web.annotation.operate.Post;
24
import org.jfw.apt.web.annotation.operate.Put;
25
import org.jfw.apt.web.annotation.param.JdbcConn;
26
import org.jfw.apt.web.annotation.param.PathVar;
27
import org.jfw.apt.web.annotation.param.RequestBody;
28
import org.jfw.util.PageQueryResult;
29
import org.jfw.util.StringUtil;
30
import org.jfw.util.jdbc.JdbcUtil;
31
import org.jfw.util.jdbc.PreparedStatementConfig;
32

33 3
import com.ekexiu.portal.dao.ArticleDao;
34 4
import com.ekexiu.portal.dao.DemandDao;
35 5
import com.ekexiu.portal.dao.HonorDao;
@ -55,8 +25,38 @@ import com.ekexiu.portal.po.User;
55 25
import com.ekexiu.portal.pojo.EditProfessor;
56 26
import com.ekexiu.portal.pojo.EditResearchAreaLog;
57 27
import com.ekexiu.portal.pojo.ProfessorInfo;
28
import com.ekexiu.portal.pojo.SortedPro;
58 29
import com.ekexiu.portal.pojo.UserInfo;
59 30
import com.ekexiu.portal.util.Calculate;
31
import org.jfw.apt.annotation.Autowrie;
32
import org.jfw.apt.annotation.DefaultValue;
33
import org.jfw.apt.annotation.Nullable;
34
import org.jfw.apt.web.annotation.Path;
35
import org.jfw.apt.web.annotation.operate.Delete;
36
import org.jfw.apt.web.annotation.operate.Get;
37
import org.jfw.apt.web.annotation.operate.Post;
38
import org.jfw.apt.web.annotation.operate.Put;
39
import org.jfw.apt.web.annotation.param.JdbcConn;
40
import org.jfw.apt.web.annotation.param.PathVar;
41
import org.jfw.apt.web.annotation.param.RequestBody;
42
import org.jfw.util.PageQueryResult;
43
import org.jfw.util.StringUtil;
44
import org.jfw.util.jdbc.JdbcUtil;
45
import org.jfw.util.jdbc.PreparedStatementConfig;
46

47
import java.io.IOException;
48
import java.math.BigDecimal;
49
import java.net.URLEncoder;
50
import java.sql.Connection;
51
import java.sql.PreparedStatement;
52
import java.sql.ResultSet;
53
import java.sql.SQLException;
54
import java.text.DecimalFormat;
55
import java.util.ArrayList;
56
import java.util.Collections;
57
import java.util.HashMap;
58
import java.util.List;
59
import java.util.Map;
60 60

61 61
@Path("/professor")
62 62
public class ProfessorService {
@ -761,6 +761,37 @@ public class ProfessorService {
761 761
		return queryResult;
762 762
	}
763 763

764
	@Get
765
	@Path("/index/search")
766
	public List<SortedPro> searchPro(@JdbcConn(false) Connection con, @Nullable String key, @Nullable String subject,
767
									 @Nullable String industry, @Nullable String address, @Nullable Integer authType, @DefaultValue("99999") int sortFirst, @DefaultValue("\"Z\"")String id, @DefaultValue("0")double starLevel, @DefaultValue("10000000") int rows)
768
			throws SQLException {
769
		if (key != null) {
770
			key = "%" + key + "%";
771
		}
772
		if (subject != null) {
773
			subject = "%" + subject + "%";
774
		}
775
		if (null != industry) {
776
			industry = "%" + industry + "%";
777
		}
778
		if (null != address) {
779
			address = "%" + address + "%";
780
		}
781
		String sortDesc = "000000"+ sortFirst;
782
		String a =  "0000" + (int)(starLevel*100);
783
		sortDesc = sortDesc.substring(sortDesc.length()-5)+a.substring(a.length()-4)+id;
784
		List<SortedPro> queryResult = this.professorDao.indexSearch(con,sortDesc, key, subject, industry, address, authType,rows );
785
		if (!queryResult.isEmpty()) {
786
			for (SortedPro editProfessor : queryResult) {
787
				editProfessor.setHasHeadImage(this.imageService.hasProfessorImage(editProfessor.getId()));
788
				editProfessor.setResearchAreas(this.researchAreaDao.query(con, editProfessor.getId()));
789
			}
790
			hiddenPrivacyInfo(queryResult);
791
		}
792
		return queryResult;
793
	}
794

764 795
	@Get
765 796
	@Path("/pqUserInfo")
766 797
	public PageQueryResult<UserInfo> queryUserInfo(@JdbcConn(false) Connection con, @Nullable String key, @Nullable String address, @Nullable String orgName,

+ 48 - 21
src/main/java/com/ekexiu/portal/service/ResourceService.java

@ -1,26 +1,5 @@
1 1
package com.ekexiu.portal.service;
2 2

3
import java.io.IOException;
4
import java.sql.Connection;
5
import java.sql.SQLException;
6
import java.text.SimpleDateFormat;
7
import java.util.Collections;
8
import java.util.Date;
9
import java.util.List;
10

11
import org.jfw.apt.annotation.Autowrie;
12
import org.jfw.apt.annotation.DefaultValue;
13
import org.jfw.apt.annotation.Nullable;
14
import org.jfw.apt.web.annotation.Path;
15
import org.jfw.apt.web.annotation.operate.Delete;
16
import org.jfw.apt.web.annotation.operate.Get;
17
import org.jfw.apt.web.annotation.operate.Post;
18
import org.jfw.apt.web.annotation.param.JdbcConn;
19
import org.jfw.apt.web.annotation.param.PathVar;
20
import org.jfw.util.PageQueryResult;
21
import org.jfw.util.StringUtil;
22
import org.jfw.util.exception.JfwBaseException;
23

24 3
import com.ekexiu.portal.dao.ArticleDao;
25 4
import com.ekexiu.portal.dao.ArticleResDao;
26 5
import com.ekexiu.portal.dao.ImageDao;
@ -39,6 +18,26 @@ import com.ekexiu.portal.po.Resource;
39 18
import com.ekexiu.portal.po.ResourceTmpLog;
40 19
import com.ekexiu.portal.pojo.EditOrganization;
41 20
import com.ekexiu.portal.pojo.EditProfessor;
21
import org.jfw.apt.annotation.Autowrie;
22
import org.jfw.apt.annotation.DefaultValue;
23
import org.jfw.apt.annotation.Nullable;
24
import org.jfw.apt.web.annotation.Path;
25
import org.jfw.apt.web.annotation.operate.Delete;
26
import org.jfw.apt.web.annotation.operate.Get;
27
import org.jfw.apt.web.annotation.operate.Post;
28
import org.jfw.apt.web.annotation.param.JdbcConn;
29
import org.jfw.apt.web.annotation.param.PathVar;
30
import org.jfw.util.PageQueryResult;
31
import org.jfw.util.StringUtil;
32
import org.jfw.util.exception.JfwBaseException;
33

34
import java.io.IOException;
35
import java.sql.Connection;
36
import java.sql.SQLException;
37
import java.text.SimpleDateFormat;
38
import java.util.Collections;
39
import java.util.Date;
40
import java.util.List;
42 41

43 42
@Path("/resource")
44 43
public class ResourceService {
@ -946,6 +945,34 @@ public class ResourceService {
946 945
		}
947 946
		return queryResult;
948 947
	}
948

949
	@Get
950
	@Path("/index/search")
951
	public List<Resource> indexSearch(@JdbcConn Connection con, @Nullable String key, @DefaultValue("Long.MAX_VALUE") long sortNum, @DefaultValue("\"9\"") String publishTime,@DefaultValue("\"G\"")String id, @DefaultValue("10000000") int rows)throws SQLException {
952
		if (key != null) {
953
			key = "%" + key + "%";
954
		}
955
		List<Resource> resources =  this.resourceDao.indexSearch(con, key, sortNum, publishTime,id, rows);
956
		if(!resources.isEmpty()){
957
			for (Resource resource : resources) {
958
				resource.setImages(this.imagesService.queryRes(con, resource.getResourceId()));
959
				if(resource.getProfessorId() != null){
960
					EditProfessor professor = this.professorDao.queryBaseInfo(con, resource.getProfessorId());
961
					if(professor != null){
962
						professor.setHasHeadImage(this.imageService.hasProfessorImage(professor.getId()));
963
					}
964
					resource.setEditProfessor(professor);
965
				}else if(resource.getOrgId() != null){
966
					EditOrganization organization = this.orgDao.queryEditOrg(con, resource.getOrgId());
967
					if(organization != null){
968
						organization.setHasOrgLogo(this.imageService.hasOrgLogo(organization.getId()));
969
					}
970
					resource.setOrganization(organization);
971
				}
972
			}
973
		}
974
		return resources;
975
	}
949 976
	
950 977
	@Get
951 978
	@Path("/pqRes")

+ 6 - 10
src/main/java/com/ekexiu/portal/ware/WareDao.java

@ -1,17 +1,10 @@
1 1
package com.ekexiu.portal.ware;
2 2

3
import java.sql.Connection;
4
import java.sql.PreparedStatement;
5
import java.sql.SQLException;
6
import java.util.ArrayList;
7
import java.util.List;
8

9 3
import org.jfw.apt.annotation.DefaultValue;
10 4
import org.jfw.apt.annotation.Nullable;
11 5
import org.jfw.apt.orm.annotation.dao.Column;
12 6
import org.jfw.apt.orm.annotation.dao.DAO;
13 7
import org.jfw.apt.orm.annotation.dao.method.From;
14
import org.jfw.apt.orm.annotation.dao.method.IncludeFixSet;
15 8
import org.jfw.apt.orm.annotation.dao.method.OrderBy;
16 9
import org.jfw.apt.orm.annotation.dao.method.Select;
17 10
import org.jfw.apt.orm.annotation.dao.method.SetSentence;
@ -33,10 +26,13 @@ import org.jfw.apt.orm.annotation.dao.param.SqlColumn;
33 26
import org.jfw.apt.orm.annotation.dao.param.UnEquals;
34 27
import org.jfw.apt.orm.core.defaultImpl.LongHandler;
35 28
import org.jfw.apt.orm.core.defaultImpl.StringHandler;
36
import org.jfw.apt.web.annotation.method.SetCookie;
37 29
import org.jfw.util.PageQueryResult;
38 30

39
import com.ekexiu.portal.question.Answer;
31
import java.sql.Connection;
32
import java.sql.PreparedStatement;
33
import java.sql.SQLException;
34
import java.util.ArrayList;
35
import java.util.List;
40 36

41 37
@DAO
42 38
public abstract class WareDao {
@ -122,7 +118,7 @@ public abstract class WareDao {
122 118
	public abstract List<Ware> queryPublish(Connection con, String category, String owner, @LessThan String modifyTime, int rows) throws SQLException;
123 119

124 120
	@PageSelect
125
	@OrderBy("OrderBy STATE DESC,MODIFY_TIMDE DESC")
121
	@OrderBy("ORDER By STATE DESC,MODIFY_TIME DESC")
126 122
	@Where("(STATE='1' OR STATE ='2') AND CATEGORY='1'")
127 123
	public abstract PageQueryResult<Ware> pageQuery(Connection con,
128 124
			@Nullable @GroupSqlColumn(handlerClass = StringHandler.class, value = { "NAME LIKE ?", "CNT LIKE ?", "KEYWORDS LIKE ?" }, isAnd = false) String key,