Browse Source

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

jiapeng 6 years ago
parent
commit
83c70ee678

+ 57 - 79
src/main/java/com/ekexiu/portal/dao/ArticleDao.java

@ -97,7 +97,7 @@ public abstract class ArticleDao {
97 97

98 98
	@DeleteWith
99 99
	@From(Article.class)
100
	public abstract int deletePro(Connection con, String professorId) throws SQLException;
100
	public abstract int deletePro(Connection con, String ownerId) throws SQLException;
101 101

102 102
	@Exclude("articleContent")
103 103
	@SelectList
@ -107,19 +107,20 @@ public abstract class ArticleDao {
107 107
	@Exclude("articleContent")
108 108
	@SelectList
109 109
	@OrderBy(" ORDER BY MODIFY_TIME DESC ")
110
	public abstract List<Article> queryPro(Connection con, String professorId) throws SQLException;
110
	@Where("ARTICLE_TYPE = '1'")
111
	public abstract List<Article> queryPro(Connection con, String ownerId) throws SQLException;
111 112

112 113
	@Exclude("articleContent")
113 114
	@SelectList
114 115
	@OrderBy(" ORDER BY MODIFY_TIME DESC ")
115
	@Where("STATUS = '1'")
116
	public abstract List<Article> queryProPublish(Connection con, String professorId) throws SQLException;
116
	@Where("STATUS = '1' AND ARTICLE_TYPE = '1'")
117
	public abstract List<Article> queryProPublish(Connection con, String ownerId) throws SQLException;
117 118

118 119
	@Exclude("articleContent")
119 120
	@PageSelect
120 121
	@OrderBy(" ORDER BY PUBLISH_TIME DESC,SHARE_ID ASC")
121
	@Where("STATUS = '1'")
122
	public abstract PageQueryResult<Article> pageQueryProPublish(Connection con, String professorId, int pageSize, int pageNo) throws SQLException;
122
	@Where("STATUS = '1' AND ARTICLE_TYPE = '1'")
123
	public abstract PageQueryResult<Article> pageQueryProPublish(Connection con, String ownerId, int pageSize, int pageNo) throws SQLException;
123 124

124 125
	//@LimitSelect
125 126
	//@Exclude("articleContent")
@ -137,35 +138,37 @@ public abstract class ArticleDao {
137 138
	@Exclude("articleContent")
138 139
	@OrderBy(cols = {@LimitColumn(value = "publishTime", asc = false), @LimitColumn(value = "shareId",asc = false, handlerClass = LongHandler.class)}, value = "")
139 140
	@Where("STATUS = '1'")
140
	public abstract List<Article> publish(Connection con,String articleType,@GroupSqlColumn(handlerClass = StringHandler.class,value ={"PROFESSOR_ID = ?","ORG_ID = ?"},isAnd = false) String owner, String publishTime, long shareId, int rows)throws SQLException;
141
	public abstract List<Article> publish(Connection con,String articleType, String ownerId, String publishTime, long shareId, int rows)throws SQLException;
141 142

142 143
	@Exclude("articleContent")
143 144
	@SelectList
144 145
	@OrderBy(" ORDER BY MODIFY_TIME DESC ")
145
	@Where("STATUS IN ('0','1','2')")
146
	public abstract List<Article> queryForDesk(Connection con, String professorId) throws SQLException;
146
	@Where("STATUS IN ('0','1','2') AND ARTICLE_TYPE = '1'")
147
	public abstract List<Article> queryForDesk(Connection con, String ownerId) throws SQLException;
147 148

148 149
	@Exclude("articleContent")
149 150
	@SelectList
150 151
	@OrderBy(" ORDER BY MODIFY_TIME DESC ")
151
	public abstract List<Article> queryOrg(Connection con, String orgId) throws SQLException;
152
	@Where("ARTICLE_TYPE = '2'")
153
	public abstract List<Article> queryOrg(Connection con, String ownerId) throws SQLException;
152 154

153 155
	@Exclude("articleContent")
154 156
	@SelectList
155 157
	@OrderBy(" ORDER BY MODIFY_TIME DESC ")
156
	@Where("STATUS = '1'")
157
	public abstract List<Article> queryOrgPublish(Connection con, String onergId) throws SQLException;
158
	@Where("STATUS = '1' AND ARTICLE_TYPE = '2'")
159
	public abstract List<Article> queryOrgPublish(Connection con, String ownenerId) throws SQLException;
158 160

159 161
	@Exclude("articleContent")
160 162
	@PageSelect
161 163
	@OrderBy(" ORDER BY PUBLISH_TIME DESC,SHARE_ID ASC")
162
	@Where("STATUS = '1'")
163
	public abstract PageQueryResult<Article> pageQueryOrgPublish(Connection con, String onergId, int pageSize, int pageNo) throws SQLException;
164
	@Where("STATUS = '1' AND ARTICLE_TYPE = '2'")
165
	public abstract PageQueryResult<Article> pageQueryOrgPublish(Connection con, String ownenerId, int pageSize, int pageNo) throws SQLException;
164 166

165 167
	@Exclude("articleContent")
166 168
	@LimitSelect
167 169
	@OrderBy(" ORDER BY MODIFY_TIME DESC ")
168
	public abstract List<Article> queryLimit(Connection con, String orgId, @LessThan String modifyTime, int rows) throws SQLException;
170
	@Where("ARTICLE_TYPE = '2'")
171
	public abstract List<Article> queryLimit(Connection con, String ownerId, @LessThan String modifyTime, int rows) throws SQLException;
169 172

170 173
	@SelectOne
171 174
	@Nullable
@ -179,7 +182,7 @@ public abstract class ArticleDao {
179 182
		boolean hasArticleId = null != articleId;
180 183
		StringBuilder sql = new StringBuilder();
181 184
		sql.append(
182
				"SELECT ARTICLE_ID,PROFESSOR_ID,ARTICLE_TITLE,'',SUBJECT,PUBLISH_TIME,ARTICLE_IMG,ORG_ID,ARTICLE_TYPE,ARTICLE_AGREE,PAGE_VIEWS,STATUS,CREATE_TIME,MODIFY_TIME,SHARE_ID,COL_NUM FROM ARTICLE");
185
				"SELECT ARTICLE_ID,OWNER_ID,ARTICLE_TITLE,'',SUBJECT,PUBLISH_TIME,ARTICLE_IMG,ARTICLE_TYPE,ARTICLE_AGREE,PAGE_VIEWS,STATUS,CREATE_TIME,MODIFY_TIME,SHARE_ID,COL_NUM FROM ARTICLE");
183 186
		sql.append(" WHERE STATUS = '1'");
184 187
		if (hasArticleId) {
185 188
			sql.append(" AND ARTICLE_ID != ?");
@ -201,7 +204,7 @@ public abstract class ArticleDao {
201 204
					if (rs.wasNull()) {
202 205
						proId = null;
203 206
					}
204
					article.setProfessorId(proId);
207
					article.setOwnerId(proId);
205 208
					article.setArticleTitle(rs.getString(3));
206 209
					String articleContent = rs.getString(4);
207 210
					if (rs.wasNull()) {
@ -223,27 +226,22 @@ public abstract class ArticleDao {
223 226
						articleImg = null;
224 227
					}
225 228
					article.setArticleImg(articleImg);
226
					String org = rs.getString(8);
227
					if (rs.wasNull()) {
228
						org = null;
229
					}
230
					article.setOrgId(org);
231
					String articleType = rs.getString(9);
229
					String articleType = rs.getString(8);
232 230
					if (rs.wasNull()) {
233 231
						articleType = null;
234 232
					}
235 233
					article.setArticleType(articleType);
236
					article.setArticleAgree(rs.getInt(10));
237
					article.setPageViews(rs.getInt(11));
238
					String status = rs.getString(12);
234
					article.setArticleAgree(rs.getInt(9));
235
					article.setPageViews(rs.getInt(10));
236
					String status = rs.getString(11);
239 237
					if (rs.wasNull()) {
240 238
						status = null;
241 239
					}
242 240
					article.setStatus(status);
243
					article.setCreateTime(rs.getString(13));
244
					article.setModifyTime(rs.getString(14));
245
					article.setShareId(rs.getLong(15));
246
					article.setColNum(rs.getInt(16));
241
					article.setCreateTime(rs.getString(12));
242
					article.setModifyTime(rs.getString(13));
243
					article.setShareId(rs.getLong(14));
244
					article.setColNum(rs.getInt(15));
247 245
					articles.add(article);
248 246
				}
249 247
				return articles;
@ -261,20 +259,16 @@ public abstract class ArticleDao {
261 259
		}
262 260
	}
263 261

264
	public List<Article> queryByAuthor(Connection con, String professorId, String orgId, String articleId, int rows) throws SQLException {
262
	public List<Article> queryByAuthor(Connection con, String ownerId, String articleId, int rows) throws SQLException {
265 263
		int index = 1;
266
		boolean hasProId = null != professorId;
267
		boolean hasOrgId = null != orgId;
264
		boolean hasOwnerId = null != ownerId;
268 265
		boolean hasArticleId = null != articleId;
269 266
		StringBuilder sql = new StringBuilder();
270 267
		sql.append(
271
				"SELECT ARTICLE_ID,PROFESSOR_ID,ARTICLE_TITLE,'',SUBJECT,PUBLISH_TIME,ARTICLE_IMG,ORG_ID,ARTICLE_TYPE,ARTICLE_AGREE,PAGE_VIEWS,STATUS,CREATE_TIME,MODIFY_TIME,SHARE_ID,COL_NUM FROM ARTICLE");
268
				"SELECT ARTICLE_ID,OWNER_ID,ARTICLE_TITLE,'',SUBJECT,PUBLISH_TIME,ARTICLE_IMG,ARTICLE_TYPE,ARTICLE_AGREE,PAGE_VIEWS,STATUS,CREATE_TIME,MODIFY_TIME,SHARE_ID,COL_NUM FROM ARTICLE");
272 269
		sql.append(" WHERE STATUS = '1'");
273
		if (hasProId) {
274
			sql.append(" AND PROFESSOR_ID = ?");
275
		}
276
		if (hasOrgId) {
277
			sql.append(" AND ORG_ID = ?");
270
		if (hasOwnerId) {
271
			sql.append(" AND OWNER_ID = ?");
278 272
		}
279 273
		if (hasArticleId) {
280 274
			sql.append(" AND ARTICLE_ID != ?");
@ -283,11 +277,8 @@ public abstract class ArticleDao {
283 277
		sql.append(" LIMIT ").append(rows);
284 278
		PreparedStatement ps = con.prepareStatement(sql.toString());
285 279
		try {
286
			if (hasProId) {
287
				ps.setString(index++, professorId);
288
			}
289
			if (hasOrgId) {
290
				ps.setString(index++, orgId);
280
			if (hasOwnerId) {
281
				ps.setString(index++, ownerId);
291 282
			}
292 283
			if (hasArticleId) {
293 284
				ps.setString(index++, articleId);
@ -302,7 +293,7 @@ public abstract class ArticleDao {
302 293
					if (rs.wasNull()) {
303 294
						proId = null;
304 295
					}
305
					article.setProfessorId(proId);
296
					article.setOwnerId(proId);
306 297
					article.setArticleTitle(rs.getString(3));
307 298
					String articleContent = rs.getString(4);
308 299
					if (rs.wasNull()) {
@ -324,27 +315,22 @@ public abstract class ArticleDao {
324 315
						articleImg = null;
325 316
					}
326 317
					article.setArticleImg(articleImg);
327
					String org = rs.getString(8);
328
					if (rs.wasNull()) {
329
						org = null;
330
					}
331
					article.setOrgId(org);
332
					String articleType = rs.getString(9);
318
					String articleType = rs.getString(8);
333 319
					if (rs.wasNull()) {
334 320
						articleType = null;
335 321
					}
336 322
					article.setArticleType(articleType);
337
					article.setArticleAgree(rs.getInt(10));
338
					article.setPageViews(rs.getInt(11));
339
					String status = rs.getString(12);
323
					article.setArticleAgree(rs.getInt(9));
324
					article.setPageViews(rs.getInt(10));
325
					String status = rs.getString(11);
340 326
					if (rs.wasNull()) {
341 327
						status = null;
342 328
					}
343 329
					article.setStatus(status);
344
					article.setCreateTime(rs.getString(13));
345
					article.setModifyTime(rs.getString(14));
346
					article.setShareId(rs.getLong(15));
347
					article.setColNum(rs.getInt(16));
330
					article.setCreateTime(rs.getString(12));
331
					article.setModifyTime(rs.getString(13));
332
					article.setShareId(rs.getLong(14));
333
					article.setColNum(rs.getInt(15));
348 334
					articles.add(article);
349 335
				}
350 336
				return articles;
@ -511,8 +497,8 @@ public abstract class ArticleDao {
511 497
	@OrderBy(" ORDER BY SORT_NUM DESC, PUBLISH_TIME DESC")
512 498
	@Where("STATUS = '1'")
513 499
	public abstract PageQueryResult<Article> firstPageQuery(Connection con,
514
			@GroupSqlColumn(isAnd = false, handlerClass = StringHandler.class, value = { "PROFESSOR_ID IN (SELECT ID FROM PROFESSOR WHERE NAME LIKE ?)",
515
					"ONERG_ID IN (SELECT ID FROM ORGANIZATION WHERE NAME LIKE ? OR FOR_SHORT LIKE ?) ", "ARTICLE_TITLE LIKE ?",
500
			@GroupSqlColumn(isAnd = false, handlerClass = StringHandler.class, value = { "OWNER_ID IN (SELECT ID FROM PROFESSOR WHERE NAME LIKE ?)",
501
					"OWNENER_ID IN (SELECT ID FROM ORGANIZATION WHERE NAME LIKE ? OR FOR_SHORT LIKE ?) ", "ARTICLE_TITLE LIKE ?",
516 502
					"SUBJECT LIKE ?" }, additional = 1) @Nullable String key,
517 503
			int pageSize, int pageNo) throws SQLException;
518 504

@ -520,7 +506,7 @@ public abstract class ArticleDao {
520 506
	@Exclude("articleContent")
521 507
	@Where("STATUS = '1'")
522 508
	@OrderBy(cols = {@LimitColumn(value = "sortNum", asc = false, handlerClass = LongHandler.class), @LimitColumn(value = "publishTime", asc = false), @LimitColumn(value = "articleId", asc = false)}, value = "")
523
	public abstract List<Article> indexSearch(Connection con,@Nullable @GroupSqlColumn(handlerClass = StringHandler.class, value = {"PROFESSOR_ID IN (SELECT ID FROM PROFESSOR WHERE NAME LIKE ?)", "ONERG_ID IN (SELECT ID FROM ORGANIZATION WHERE NAME LIKE ? OR FOR_SHORT LIKE ?)", "ARTICLE_TITLE LIKE ?", "SUBJECT LIKE ?"}, additional = 1, isAnd = false) String key, long sortNum, String publishTime, String articleId, int rows) throws SQLException;
509
	public abstract List<Article> indexSearch(Connection con,@Nullable @GroupSqlColumn(handlerClass = StringHandler.class, value = {"OWNER_ID IN (SELECT ID FROM PROFESSOR WHERE NAME LIKE ?)", "OWNENER_ID IN (SELECT ID FROM ORGANIZATION WHERE NAME LIKE ? OR FOR_SHORT LIKE ?)", "ARTICLE_TITLE LIKE ?", "SUBJECT LIKE ?"}, additional = 1, isAnd = false) String key, long sortNum, String publishTime, String articleId, int rows) throws SQLException;
524 510

525 511
	// public PageQueryResult<Article> firstPageQuery(Connection con, String
526 512
	// key, int pageSize, int pageNo) throws SQLException {
@ -696,7 +682,7 @@ public abstract class ArticleDao {
696 682
	@Exclude("articleContent")
697 683
	@OrderBy(" ORDER BY selfOrderField DESC,SHARE_ID ASC ")
698 684
	@Where("STATUS IN ('1','0','2')")
699
	public abstract PageQueryResult<SelfArticle> queryPageForSelf(Connection con, @Nullable String professorId, @Nullable String orgId,
685
	public abstract PageQueryResult<SelfArticle> queryPageForSelf(Connection con, @Nullable String ownerId,
700 686
			@Like @Nullable String articleTitle, int pageSize, int pageNo) throws SQLException;
701 687

702 688
	public PageQueryResult<FindInfo> queryPage(Connection con, int pageSize, int pageNo) throws SQLException {
@ -732,7 +718,7 @@ public abstract class ArticleDao {
732 718
		boolean firstPage = (1 == pageNo);
733 719
		if (firstPage) {
734 720
			queryResult.setPageNo(1);
735
			sql = "SELECT ARTICLE_ID,ARTICLE_TITLE,ARTICLE_IMG,ARTICLE_TYPE,CREATE_TIME,ORG_ID,PROFESSOR_ID FROM ARTICLE"
721
			sql = "SELECT ARTICLE_ID,ARTICLE_TITLE,ARTICLE_IMG,ARTICLE_TYPE,CREATE_TIME,OWNER_ID FROM ARTICLE"
736 722
					+ " UNION ALL SELECT RESOURCE_ID,RESOURCE_NAME,NULL,'3',CREATE_TIME,NULL,PROFESSOR_ID FROM RESOURCE";
737 723
			sql = sql + " ORDER BY CREATE_TIME DESC ";
738 724
			sql = sql + " LIMIT " + pageSize;
@ -747,7 +733,7 @@ public abstract class ArticleDao {
747 733
			queryResult.setPageNo(pageNo);
748 734
			--pageNo;
749 735
			int offset = (pageNo * pageSize);
750
			sql = "SELECT ARTICLE_ID,ARTICLE_TITLE,ARTICLE_IMG,ARTICLE_TYPE,CREATE_TIME,ORG_ID,PROFESSOR_ID FROM ARTICLE"
736
			sql = "SELECT ARTICLE_ID,ARTICLE_TITLE,ARTICLE_IMG,ARTICLE_TYPE,CREATE_TIME,OWNER_ID FROM ARTICLE"
751 737
					+ " UNION ALL SELECT RESOURCE_ID,RESOURCE_NAME,NULL,'3',CREATE_TIME,NULL,PROFESSOR_ID FROM RESOURCE";
752 738
			sql = sql + " ORDER BY CREATE_TIME DESC ";
753 739
			sql = sql + " LIMIT " + pageSize + " OFFSET " + offset;
@ -771,12 +757,8 @@ public abstract class ArticleDao {
771 757
					findInfo.setImage(image);
772 758
					findInfo.setType(rs.getString(4));
773 759
					findInfo.setCreateTime(rs.getString(5));
774
					String onergId = rs.getString(6);
775
					if (rs.wasNull()) {
776
						findInfo.setOwner(rs.getString(7));
777
					} else {
778
						findInfo.setOwner(orgId);
779
					}
760
					String ownenerId = rs.getString(6);
761
					findInfo.setOwner(ownerId);
780 762
					findInfos.add(findInfo);
781 763
				}
782 764
				return queryResult;
@ -827,7 +809,7 @@ public abstract class ArticleDao {
827 809
		boolean firstPage = (1 == pageNo);
828 810
		if (firstPage) {
829 811
			queryResult.setPageNo(1);
830
			sql = "(SELECT ARTICLE_ID,ARTICLE_TITLE,ARTICLE_IMG,ARTICLE_TYPE,PUBLISH_TIME,ORG_ID,PROFESSOR_ID FROM ARTICLE WHERE STATUS = '1')"
812
			sql = "(SELECT ARTICLE_ID,ARTICLE_TITLE,ARTICLE_IMG,ARTICLE_TYPE,PUBLISH_TIME,OWNER_ID FROM ARTICLE WHERE STATUS = '1')"
831 813
					+ " UNION ALL (SELECT RESOURCE_ID,RESOURCE_NAME,NULL,CASE WHEN RESOURCE_TYPE = '1' THEN '3' WHEN RESOURCE_TYPE = '2' THEN '4' ELSE NULL END,"
832 814
					+ " PUBLISH_TIME,ORG_ID,PROFESSOR_ID FROM RESOURCE WHERE STATUS = '1')";
833 815
			sql = sql + " ORDER BY PUBLISH_TIME DESC ";
@ -843,7 +825,7 @@ public abstract class ArticleDao {
843 825
			queryResult.setPageNo(pageNo);
844 826
			--pageNo;
845 827
			int offset = (pageNo * pageSize);
846
			sql = "(SELECT ARTICLE_ID,ARTICLE_TITLE,ARTICLE_IMG,ARTICLE_TYPE,PUBLISH_TIME,ORG_ID,PROFESSOR_ID FROM ARTICLE WHERE STATUS = '1')"
828
			sql = "(SELECT ARTICLE_ID,ARTICLE_TITLE,ARTICLE_IMG,ARTICLE_TYPE,PUBLISH_TIME,OWNER_ID FROM ARTICLE WHERE STATUS = '1')"
847 829
					+ " UNION ALL (SELECT RESOURCE_ID,RESOURCE_NAME,NULL,CASE WHEN RESOURCE_TYPE = '1' THEN '3' WHEN RESOURCE_TYPE = '2' THEN '4' ELSE NULL END,"
848 830
					+ " PUBLISH_TIME,ORG_ID,PROFESSOR_ID FROM RESOURCE WHERE STATUS = '1')";
849 831
			sql = sql + " ORDER BY PUBLISH_TIME DESC ";
@ -872,12 +854,8 @@ public abstract class ArticleDao {
872 854
						createTime = null;
873 855
					}
874 856
					findInfo.setCreateTime(createTime);
875
					String onergId = rs.getString(6);
876
					if (rs.wasNull()) {
877
						findInfo.setOwner(rs.getString(7));
878
					} else {
879
						findInfo.setOwner(orgId);
880
					}
857
					String ownenerId = rs.getString(6);
858
					findInfo.setOwner(ownerId);
881 859
					findInfos.add(findInfo);
882 860
				}
883 861
				return queryResult;
@ -921,6 +899,6 @@ public abstract class ArticleDao {
921 899
	@Where("STATUS = '1'")
922 900
	@Column(value = "COUNT(1)", handlerClass = LongHandler.class)
923 901
	@From(Article.class)
924
	public abstract long countPublish(Connection con, String articleType,@GroupSqlColumn(handlerClass = StringHandler.class,value = {"PROFESSOR_ID = ?","ORG_ID = ?"},isAnd = false) String owner) throws SQLException;
902
	public abstract long countPublish(Connection con, String articleType, String ownerId) throws SQLException;
925 903

926 904
}

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

@ -217,7 +217,7 @@ public abstract class OrgDao {
217 217
			@SqlColumn(handlerClass = StringHandler.class, value = { "(NAME LIKE ? AND IS_JOIN ='1')", "(FOR_SHORT LIKE ? AND IS_JOIN ='1')",
218 218
					"(DESCP LIKE ?  AND IS_JOIN ='1')", "(SUBJECT LIKE ? AND IS_JOIN ='1') ", "(industry LIKE ?  AND IS_JOIN ='1')",
219 219
					"(ID IN (SELECT ORG_ID FROM RESOURCE WHERE RESOURCE_TYPE='2' AND RESOURCE_NAME LIKE ?) AND IS_JOIN ='1')",
220
					"(ID IN (SELECT ONERG_ID FROM ARTICLE WHERE ARTICLE_TYPE='2' AND ARTICLE_TITLE LIKE ?) AND IS_JOIN ='1')" }) String kw,
220
					"(ID IN (SELECT OWNENER_ID FROM ARTICLE WHERE ARTICLE_TYPE='2' AND ARTICLE_TITLE LIKE ?) AND IS_JOIN ='1')" }) String kw,
221 221
			int pageSize, int pageNo) throws SQLException;
222 222
223 223
	@LimitQuery
@ -226,7 +226,7 @@ public abstract class OrgDao {
226 226
	@OrderBy(cols = {@LimitColumn(value = "sortNum", asc = false, handlerClass = LongHandler.class), @LimitColumn(value = "modifyTime", asc = false), @LimitColumn(value = "id", asc = false)}, value = "")
227 227
	public abstract List<EditOrganization> indexSearch(Connection con, @Nullable @GroupSqlColumn(handlerClass = StringHandler.class, value = {"NAME LIKE ? AND IS_JOIN ='1'", "FOR_SHORT LIKE ? AND IS_JOIN ='1'", "DESCP LIKE ?  AND IS_JOIN ='1'", "SUBJECT LIKE ? AND IS_JOIN ='1' ", "industry LIKE ?  AND IS_JOIN ='1'",
228 228
			"ID IN (SELECT ORG_ID FROM RESOURCE WHERE RESOURCE_TYPE='2' AND RESOURCE_NAME LIKE ?) AND IS_JOIN ='1'",
229
			"ID IN (SELECT ONERG_ID FROM ARTICLE WHERE ARTICLE_TYPE='2' AND ARTICLE_TITLE LIKE ?) AND IS_JOIN ='1'"},isAnd = false) String kw, long sortNum, String modifyTime, String id, int rows) throws SQLException;
229
			"ID IN (SELECT OWNENER_ID FROM ARTICLE WHERE ARTICLE_TYPE='2' AND ARTICLE_TITLE LIKE ?) AND IS_JOIN ='1'"},isAnd = false) String kw, long sortNum, String modifyTime, String id, int rows) throws SQLException;
230 230
231 231
	@PageQuery
232 232
	@Select(Organization.class)
@ -236,7 +236,7 @@ public abstract class OrgDao {
236 236
			@GroupSqlColumn(isAnd=false, handlerClass = StringHandler.class, value = { "NAME LIKE ? AND IS_JOIN ='1'", "FOR_SHORT LIKE ? AND IS_JOIN ='1'",
237 237
					"DESCP LIKE ?  AND IS_JOIN ='1'", "SUBJECT LIKE ? AND IS_JOIN ='1' ", "industry LIKE ?  AND IS_JOIN ='1'",
238 238
					"ID IN (SELECT ORG_ID FROM RESOURCE WHERE RESOURCE_TYPE='2' AND RESOURCE_NAME LIKE ?) AND IS_JOIN ='1'",
239
					"ID IN (SELECT ONERG_ID FROM ARTICLE WHERE ARTICLE_TYPE='2' AND ARTICLE_TITLE LIKE ?) AND IS_JOIN ='1'" })
239
					"ID IN (SELECT OWNENER_ID FROM ARTICLE WHERE ARTICLE_TYPE='2' AND ARTICLE_TITLE LIKE ?) AND IS_JOIN ='1'" })
240 240
		@Nullable	String kw, @Nullable String industry,@Nullable String addr, int pageSize,
241 241
			int pageNo) throws SQLException;
242 242

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

@ -1193,7 +1193,7 @@ public abstract class ProfessorDao {
1193 1193
					+ " OR (ORG_ID IN(SELECT ORGANIZATION.ID FROM ORGANIZATION WHERE ORGANIZATION.NAME LIKE ?)) "
1194 1194
					+ " OR ( P.NAME LIKE ?) OR (P.SUBJECT LIKE ?) OR (P.INDUSTRY LIKE ?) OR (P.PROVINCE LIKE ?) OR (P.ADDRESS LIKE ?) "
1195 1195
					+ " OR P.ID IN (SELECT PROFESSOR_ID FROM RESOURCE WHERE RESOURCE_NAME LIKE ?) "
1196
					+ " OR P.ID IN (SELECT PROFESSOR_ID FROM ARTICLE WHERE ARTICLE_TITLE LIKE ?) "
1196
					+ " OR P.ID IN (SELECT OWNER_ID FROM ARTICLE WHERE ARTICLE_TYPE='1' AND ARTICLE_TITLE LIKE ?) "
1197 1197
					+ " OR (P.ID IN (SELECT PROFESSOR_ID FROM PATENT WHERE NAME LIKE ?)) OR (P.DEPARTMENT LIKE ?))");
1198 1198
		}
1199 1199
		boolean hasSubject = null != subject;
@ -1397,7 +1397,7 @@ public abstract class ProfessorDao {
1397 1397
	@OrderBy("ORDER BY sort_desc DESC ")
1398 1398
	public abstract List<SortedPro> indexSearch(Connection con,
1399 1399
											  @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 = {
1400
			"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 ?))"
1400
			"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 OWNER_ID FROM ARTICLE WHERE ARTICLE_TYPE='1' AND 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 ?))"
1401 1401
	}, handlerClass = StringHandler.class, isAnd = false) String key, @Nullable @Like String subject, @Nullable @Like String industry, @Nullable @Like String address, @Nullable Integer authType, int rows) throws SQLException;
1402 1402

1403 1403
	/**
@ -1435,7 +1435,7 @@ public abstract class ProfessorDao {
1435 1435
					.append("( P.INDUSTRY LIKE ? ) OR")
1436 1436
					.append("(P.ID IN (SELECT DISTINCT PROFESSOR_ID FROM RESEARCH_AREA WHERE CAPTION LIKE ?)) OR")
1437 1437
					.append("(P.ID IN (SELECT DISTINCT PROFESSOR_ID FROM RESOURCE WHERE RESOURCE_NAME LIKE ?)) OR")
1438
					.append("(P.ID IN (SELECT DISTINCT PROFESSOR_ID FROM ARTICLE WHERE ARTICLE_TITLE LIKE ?)) OR")
1438
					.append("(P.ID IN (SELECT DISTINCT OWNER_ID FROM ARTICLE WHERE ARTICLE_TYPE='1' AND ARTICLE_TITLE LIKE ?)) OR")
1439 1439
					.append("(P.ID IN (SELECT DISTINCT PROFESSOR_ID FROM PAPER_AUTHOR WHERE PAPER_ID IN (SELECT ID FROM PPAPER WHERE NAME LIKE ?))) OR ")
1440 1440
					.append("(P.ID IN (SELECT DISTINCT PROFESSOR_ID FROM PATENT_AUTHOR WHERE PATENT_ID IN (SELECT ID FROM PPATENT WHERE NAME LIKE ?)))")
1441 1441
					.append(") ");

+ 8 - 8
src/main/java/com/ekexiu/portal/found/Service.java

@ -1,11 +1,5 @@
1 1
package com.ekexiu.portal.found;
2 2

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

9 3
import org.jfw.apt.annotation.DefaultValue;
10 4
import org.jfw.apt.web.annotation.Path;
11 5
import org.jfw.apt.web.annotation.operate.Get;
@ -13,6 +7,12 @@ import org.jfw.apt.web.annotation.param.JdbcConn;
13 7
import org.jfw.util.jdbc.JdbcUtil;
14 8
import org.jfw.util.jdbc.PreparedStatementConfig;
15 9

10
import java.sql.Connection;
11
import java.sql.PreparedStatement;
12
import java.sql.SQLException;
13
import java.util.List;
14
import java.util.Map;
15

16 16
@Path("/found")
17 17
public class Service {
18 18
/**
@ -37,8 +37,8 @@ public class Service {
37 37
	public List<Map<String,Object>> query(@JdbcConn Connection con,@DefaultValue("\"9\"") final String time,@DefaultValue("\"0\"") final String id,@DefaultValue("20") final int rows,final String ex)throws SQLException{
38 38
		return JdbcUtil.queryMaps(con, "SELECT * FROM 	( "+
39 39
		"SELECT ID id,'3' ctype,uid uid,title title,	last_reply_time tm,reply_count num,img img,null col	FROM question where state='1' UNION ALL "+
40
		"SELECT ARTICLE_ID id,	'1' ctype,professor_id uid,article_title title,publish_time tm,	0 num,article_img img,col_num col FROM article WHERE status = '1' AND article_type = '1' AND article_id <>? UNION ALL "+
41
		"SELECT ARTICLE_ID id,	'2' ctype,onerg_id uid,article_title title,publish_time tm,0 num,article_img img,col_num col FROM article WHERE status = '1' AND article_type = '2' AND article_id <>? 	) T "+
40
		"SELECT ARTICLE_ID id,	'1' ctype,owner_id uid,article_title title,publish_time tm,	0 num,article_img img,col_num col FROM article WHERE status = '1' AND article_type = '1' AND article_id <>? UNION ALL "+
41
		"SELECT ARTICLE_ID id,	'2' ctype,ownener_id uid,article_title title,publish_time tm,0 num,article_img img,col_num col FROM article WHERE status = '1' AND article_type = '2' AND article_id <>? 	) T "+
42 42
        "WHERE T.tm<? OR (T.tm = ? AND T.id > ?) ORDER BY tm DESC LIMIT ?", new PreparedStatementConfig() {
43 43
			@Override
44 44
			public void config(PreparedStatement ps) throws SQLException {

+ 2 - 2
src/main/java/com/ekexiu/portal/leavemsg/Service.java

@ -147,8 +147,8 @@ public class Service {
147 147
			}
148 148

149 149
			if (reciver == null) {
150
				if (article.getArticleType().equals("1") && (!uid.equals(article.getProfessorId()))) {
151
					this.notifyService.notify(con, article.getProfessorId(), uid, uname, lid, article.getArticleTitle(), NotifyType.LEAVE_MSG_AT_ARTICLE, runs);
150
				if (article.getArticleType().equals("1") && (!uid.equals(article.getOwnerId()))) {
151
					this.notifyService.notify(con, article.getOwnerId(), uid, uname, lid, article.getArticleTitle(), NotifyType.LEAVE_MSG_AT_ARTICLE, runs);
152 152
				}
153 153
			} else {
154 154
				if (!uid.equals(reciver)) {

+ 11 - 16
src/main/java/com/ekexiu/portal/po/Article.java

@ -17,7 +17,6 @@ import com.ekexiu.portal.pojo.EditProfessor;
17 17
@PrimaryKey("articleId")
18 18
public class Article implements CreateTimeSupported, ModifyTimeSupported {
19 19
	private String articleId;
20
	private String professorId;
21 20
	private String articleTitle;
22 21
	private String articleContent;
23 22
	private String subject;
@ -26,7 +25,6 @@ public class Article implements CreateTimeSupported, ModifyTimeSupported {
26 25
	private String modifyTime;
27 26
	private String publishTime;
28 27
	private String articleImg;
29
	private String orgId;
30 28
	private String articleType;
31 29
	private int articleAgree;
32 30
	private int pageViews;
@ -40,6 +38,8 @@ public class Article implements CreateTimeSupported, ModifyTimeSupported {
40 38
	 * 排序字段
41 39
	 */
42 40
	private long sortNum;
41

42
	private String ownerId;
43 43
	
44 44
	public EditProfessor getProfessor() {
45 45
		return professor;
@ -66,13 +66,6 @@ public class Article implements CreateTimeSupported, ModifyTimeSupported {
66 66
	public void setArticleId(String articleId) {
67 67
		this.articleId = articleId;
68 68
	}
69
	@Column(handlerClass=FixLenStringHandler.class,dbType="CHAR(32)",nullable=true,renewable=false)
70
	public String getProfessorId() {
71
		return professorId;
72
	}
73
	public void setProfessorId(String professorId) {
74
		this.professorId = professorId;
75
	}
76 69
	@Column(value=DE.string_de,dbType="TEXT")
77 70
	public String getArticleTitle() {
78 71
		return articleTitle;
@ -127,13 +120,6 @@ public class Article implements CreateTimeSupported, ModifyTimeSupported {
127 120
	public void setArticleImg(String articleImg) {
128 121
		this.articleImg = articleImg;
129 122
	}
130
	@Column(handlerClass=FixLenStringHandler.class,dbType="CHAR(32)",nullable=true,renewable=false)
131
	public String getOrgId() {
132
		return orgId;
133
	}
134
	public void setOrgId(String orgId) {
135
		this.orgId = orgId;
136
	}
137 123
	@Column(handlerClass=FixLenStringHandler.class,dbType="CHAR(1)",nullable=true,renewable=false)
138 124
	public String getArticleType() {
139 125
		return articleType;
@ -183,4 +169,13 @@ public class Article implements CreateTimeSupported, ModifyTimeSupported {
183 169
	public void setSortNum(long sortNum) {
184 170
		this.sortNum = sortNum;
185 171
	}
172

173
	@Column(handlerClass=FixLenStringHandler.class,dbType="CHAR(32)",nullable=true,renewable=false)
174
	public String getOwnerId() {
175
		return ownerId;
176
	}
177

178
	public void setOwnerId(String ownerId) {
179
		this.ownerId = ownerId;
180
	}
186 181
}

+ 24 - 28
src/main/java/com/ekexiu/portal/service/ArticleService.java

@ -342,13 +342,12 @@ public class ArticleService {
342 342
			article.setPageViews(0);
343 343
			article.setStatus("1");
344 344
			article.setPublishTime(this.publishTime());
345
			if (article.getProfessorId() != null && article.getOrgId() == null) {
346
				article.setArticleType("1");
347
			} else if (article.getProfessorId() == null && article.getOrgId() != null) {
348
				article.setArticleType("2");
349
			} else {
345
			if (article.getOwnerId() == null) {
350 346
				throw new JfwBaseException(-1, "错误参数:文章发布者ID");
351 347
			}
348
			if (article.getArticleType() == null) {
349
				throw new JfwBaseException(-2, "错误参数:文章类型");
350
			}
352 351
			this.articleDao.insert(con, article);
353 352
			con.commit();
354 353
			this.templateService.push(ContentType.Article, article.getArticleId());
@ -381,13 +380,12 @@ public class ArticleService {
381 380
				article.setPageViews(0);
382 381
				article.setStatus("1");
383 382
				article.setPublishTime(this.publishTime());
384
				if (article.getProfessorId() != null && article.getOrgId() == null) {
385
					article.setArticleType("1");
386
				} else if (article.getProfessorId() == null && article.getOrgId() != null) {
387
					article.setArticleType("2");
388
				} else {
383
				if (article.getOwnerId() == null) {
389 384
					throw new JfwBaseException(-1, "错误参数:文章发布者ID");
390 385
				}
386
				if (article.getArticleType() == null) {
387
					throw new JfwBaseException(-2, "错误参数:文章类型");
388
				}
391 389
				this.articleDao.insert(con, article);
392 390
				this.keyWordService.refreshArticle(con, articleId, KeyWordService.splitKeyWord(article.getSubject()));
393 391
				if (professors != null) {
@ -500,13 +498,12 @@ public class ArticleService {
500 498
				article.setArticleAgree(0);
501 499
				article.setPageViews(0);
502 500
				article.setStatus("0");
503
				if (article.getProfessorId() != null && article.getOrgId() == null) {
504
					article.setArticleType("1");
505
				} else if (article.getProfessorId() == null && article.getOrgId() != null) {
506
					article.setArticleType("2");
507
				} else {
501
				if (article.getOwnerId() == null) {
508 502
					throw new JfwBaseException(-1, "错误参数:文章发布者ID");
509 503
				}
504
				if (article.getArticleType() == null) {
505
					throw new JfwBaseException(-2, "错误参数:文章类型");
506
				}
510 507
				this.articleDao.insert(con, article);
511 508
				this.keyWordService.refreshArticle(con, articleId, null);
512 509
				if (professors != null) {
@ -621,13 +618,12 @@ public class ArticleService {
621 618
				article.setArticleAgree(0);
622 619
				article.setPageViews(0);
623 620
				article.setStatus("2");
624
				if (article.getProfessorId() != null && article.getOrgId() == null) {
625
					article.setArticleType("1");
626
				} else if (article.getProfessorId() == null && article.getOrgId() != null) {
627
					article.setArticleType("2");
628
				} else {
621
				if (article.getOwnerId() == null) {
629 622
					throw new JfwBaseException(-1, "错误参数:文章发布者ID");
630 623
				}
624
				if (article.getArticleType() == null) {
625
					throw new JfwBaseException(-2, "错误参数:文章类型");
626
				}
631 627
				this.articleDao.insert(con, article);
632 628
				if (professors != null) {
633 629
					for (String professor : professors) {
@ -839,8 +835,8 @@ public class ArticleService {
839 835
			this.articleAgreeDao.insert(con, articleAgree);
840 836
			this.growthLogService.agree(con, operateId);
841 837
			if (uname != null) {
842
				if (article.getArticleType().equals("1") && (!operateId.equals(article.getProfessorId()))) {
843
					this.notifyService.notify(con, article.getProfessorId(), operateId, uname, articleId, article.getArticleTitle(), NotifyType.AGREE_ARTICLE,
838
				if (article.getArticleType().equals("1") && (!operateId.equals(article.getOwnerId()))) {
839
					this.notifyService.notify(con, article.getOwnerId(), operateId, uname, articleId, article.getArticleTitle(), NotifyType.AGREE_ARTICLE,
844 840
							runs);
845 841
				}
846 842
			}
@ -952,13 +948,13 @@ public class ArticleService {
952 948
		if (!articles.isEmpty()) {
953 949
			for (Article article : articles) {
954 950
				if ("1".equals(article.getArticleType())) {
955
					EditProfessor professor = this.professorDao.queryBaseInfo(con, article.getProfessorId());
951
					EditProfessor professor = this.professorDao.queryBaseInfo(con, article.getOwnerId());
956 952
					if (professor != null) {
957 953
						professor.setHasHeadImage(this.imageService.hasProfessorImage(professor.getId()));
958 954
					}
959 955
					article.setProfessor(professor);
960 956
				} else if ("2".equals(article.getArticleType())) {
961
					EditOrganization organization = this.orgDao.queryEditOrg(con, article.getOnergId());
957
					EditOrganization organization = this.orgDao.queryEditOrg(con, article.getOwnenerId());
962 958
					if (organization != null) {
963 959
						organization.setHasOrgLogo(this.imageService.hasOrgLogo(organization.getId()));
964 960
					}
@ -979,13 +975,13 @@ public class ArticleService {
979 975
		if (!articles.isEmpty()) {
980 976
			for (Article article : articles) {
981 977
				if ("1".equals(article.getArticleType())) {
982
					EditProfessor professor = this.professorDao.queryBaseInfo(con, article.getProfessorId());
978
					EditProfessor professor = this.professorDao.queryBaseInfo(con, article.getOwnerId());
983 979
					if (professor != null) {
984 980
						professor.setHasHeadImage(this.imageService.hasProfessorImage(professor.getId()));
985 981
					}
986 982
					article.setProfessor(professor);
987 983
				} else if ("2".equals(article.getArticleType())) {
988
					EditOrganization organization = this.orgDao.queryEditOrg(con, article.getOnergId());
984
					EditOrganization organization = this.orgDao.queryEditOrg(con, article.getOwnenerId());
989 985
					if (organization != null) {
990 986
						organization.setHasOrgLogo(this.imageService.hasOrgLogo(organization.getId()));
991 987
					}
@ -998,12 +994,12 @@ public class ArticleService {
998 994

999 995
	@Get
1000 996
	@Path("/pqself")
1001
	public PageQueryResult<SelfArticle> queryPageSelf(@JdbcConn Connection con, @Nullable String professorId, @Nullable String orgId,
997
	public PageQueryResult<SelfArticle> queryPageSelf(@JdbcConn Connection con, @Nullable String ownerId,
1002 998
			@Nullable String articleTitle, @DefaultValue("10") int pageSize, @DefaultValue("1") int pageNo) throws SQLException {
1003 999
		if (articleTitle != null) {
1004 1000
			articleTitle = "%" + articleTitle + "%";
1005 1001
		}
1006
		return this.articleDao.queryPageForSelf(con, professorId, orgId, articleTitle, pageSize, pageNo);
1002
		return this.articleDao.queryPageForSelf(con, ownerId, articleTitle, pageSize, pageNo);
1007 1003
	}
1008 1004

1009 1005
	@Get

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

@ -837,7 +837,7 @@ public class ProfessorService {
837 837
	@Path("/agree/sum")
838 838
	public long agreeSum(@JdbcConn Connection con, final String id) throws SQLException {
839 839
		return JdbcUtil.queryLong(con,
840
				" select SUM(agree) from (SELECT article_agree agree FROM ARTICLE WHERE STATUS ='1' AND professor_id =? UNION ALL SELECT AGREE FROM ANSWER WHERE STATE='1' AND UID =? ) t",
840
				" select SUM(agree) from (SELECT article_agree agree FROM ARTICLE WHERE STATUS ='1' AND owner_id =? AND ARTICLE_TYPE = '1' UNION ALL SELECT AGREE FROM ANSWER WHERE STATE='1' AND UID =? ) t",
841 841
				new PreparedStatementConfig() {
842 842
					@Override
843 843
					public void config(PreparedStatement ps) throws SQLException {

+ 2 - 2
src/main/java/com/ekexiu/portal/service/WatchService.java

@ -182,9 +182,9 @@ public class WatchService {
182 182
				Article article = this.articleDao.queryOne(con, watch.getWatchObject());
183 183
				if (article != null) {
184 184
					if ("1".equals(article.getArticleType())) {
185
						article.setProfessor(this.professorDao.queryBaseInfo(con, article.getProfessorId()));
185
						article.setProfessor(this.professorDao.queryBaseInfo(con, article.getOwnerId()));
186 186
					} else if ("2".equals(article.getArticleType())) {
187
						article.setOrganization(this.orgDao.query(con, article.getOnergId()));
187
						article.setOrganization(this.orgDao.query(con, article.getOwnenerId()));
188 188
					}
189 189
				}
190 190
				watch.setArticle(article);