|
@ -413,6 +413,115 @@ public abstract class ProfessorDao {
|
413
|
413
|
"" + "ORG_ID IN(SELECT ID FROM ORGANIZATION WHERE NAME LIKE ?)", "NAME LIKE ?" }, handlerClass = StringHandler.class) String key,
|
414
|
414
|
int pageSize, int pageNo) throws SQLException;
|
415
|
415
|
|
|
416
|
/**
|
|
417
|
* 首页搜索热门专家
|
|
418
|
* @param con
|
|
419
|
* @return 返回8个热门专家,按咨询星级排序
|
|
420
|
* @throws SQLException
|
|
421
|
*/
|
|
422
|
public PageQueryResult<EditProfessor> queryHot(Connection con, int pageSize, int pageNo) throws SQLException {
|
|
423
|
PageQueryResult<EditProfessor> _result = new PageQueryResult<EditProfessor>();
|
|
424
|
StringBuilder sql = new StringBuilder();
|
|
425
|
sql.append(" WHERE AUTHENTICATION = '1' ");
|
|
426
|
StringBuilder whereSql = sql;
|
|
427
|
sql = new StringBuilder();
|
|
428
|
sql.append("SELECT COUNT(1) FROM PROFESSOR");
|
|
429
|
if (whereSql.length() > 0) {
|
|
430
|
sql.append(whereSql);
|
|
431
|
}
|
|
432
|
PreparedStatement ps = con.prepareStatement(sql.toString());
|
|
433
|
int totalSize = 0;
|
|
434
|
try {
|
|
435
|
_result.setPageSize(pageSize);
|
|
436
|
ResultSet _pageRs = ps.executeQuery();
|
|
437
|
try {
|
|
438
|
_pageRs.next();
|
|
439
|
totalSize = _pageRs.getInt(1);
|
|
440
|
} finally {
|
|
441
|
try {
|
|
442
|
_pageRs.close();
|
|
443
|
} catch (Exception _m_6) {
|
|
444
|
}
|
|
445
|
}
|
|
446
|
} finally {
|
|
447
|
try {
|
|
448
|
ps.close();
|
|
449
|
} catch (Exception _m_7) {
|
|
450
|
}
|
|
451
|
}
|
|
452
|
_result.setTotal(totalSize);
|
|
453
|
if (0 == totalSize) {
|
|
454
|
_result.setPageNo(1);
|
|
455
|
_result.setData(Collections.<EditProfessor> emptyList());
|
|
456
|
return _result;
|
|
457
|
}
|
|
458
|
if (1 == pageNo) {
|
|
459
|
_result.setPageNo(1);
|
|
460
|
sql = new StringBuilder();
|
|
461
|
sql.append("SELECT OFFICE,ADDRESS,TITLE,AUTHENTICATION,PROFESSOR.ID,PROFESSOR.NAME,ORG_ID,ORGANIZATION.NAME"
|
|
462
|
+ " FROM PROFESSOR LEFT JOIN ORGANIZATION ON PROFESSOR.ORG_ID=ORGANIZATION.ID ");
|
|
463
|
if (whereSql.length() > 0) {
|
|
464
|
sql.append(whereSql);
|
|
465
|
}
|
|
466
|
sql.append(" ORDER BY STAR_LEVEL DESC ");
|
|
467
|
sql.append(" LIMIT ").append(pageSize);
|
|
468
|
} else {
|
|
469
|
int _pageSize = totalSize / pageSize;
|
|
470
|
if (totalSize % pageSize != 0) {
|
|
471
|
++_pageSize;
|
|
472
|
}
|
|
473
|
if (pageNo > _pageSize) {
|
|
474
|
pageNo = _pageSize;
|
|
475
|
}
|
|
476
|
_result.setPageNo(pageNo);
|
|
477
|
--pageNo;
|
|
478
|
int _m_10 = (pageNo * pageSize);
|
|
479
|
sql = new StringBuilder();
|
|
480
|
sql.append("SELECT OFFICE,ADDRESS,TITLE,AUTHENTICATION,PROFESSOR.ID,PROFESSOR.NAME,ORG_ID,ORGANIZATION.NAME"
|
|
481
|
+ " FROM PROFESSOR LEFT JOIN ORGANIZATION ON PROFESSOR.ORG_ID=ORGANIZATION.ID ");
|
|
482
|
if (whereSql.length() > 0) {
|
|
483
|
sql.append(whereSql);
|
|
484
|
}
|
|
485
|
sql.append(" ORDER BY STAR_LEVEL DESC ");
|
|
486
|
sql.append(" LIMIT ").append(pageSize).append(" OFFSET ").append(_m_10);
|
|
487
|
}
|
|
488
|
ps = con.prepareStatement(sql.toString());
|
|
489
|
try {
|
|
490
|
java.sql.ResultSet rs = ps.executeQuery();
|
|
491
|
try {
|
|
492
|
List<EditProfessor> _m_11 = new ArrayList<EditProfessor>();
|
|
493
|
_result.setData(_m_11);
|
|
494
|
while (rs.next()) {
|
|
495
|
EditProfessor professor = new EditProfessor();
|
|
496
|
String _m_1 = rs.getString(1);
|
|
497
|
if(rs.wasNull()){
|
|
498
|
_m_1 = null;
|
|
499
|
}
|
|
500
|
professor.setOffice(_m_1);
|
|
501
|
professor.setAddress(rs.getString(2));
|
|
502
|
professor.setTitle(rs.getString(3));
|
|
503
|
professor.setAuthentication("1".equals(rs.getString(4)));
|
|
504
|
professor.setId(rs.getString(5));
|
|
505
|
professor.setName(rs.getString(6));
|
|
506
|
professor.setOrgId(rs.getString(7));
|
|
507
|
professor.setOrgName(rs.getString(8));
|
|
508
|
_m_11.add(professor);
|
|
509
|
}
|
|
510
|
return _result;
|
|
511
|
} finally {
|
|
512
|
try {
|
|
513
|
rs.close();
|
|
514
|
} catch (Exception e1) {
|
|
515
|
}
|
|
516
|
}
|
|
517
|
} finally {
|
|
518
|
try {
|
|
519
|
ps.close();
|
|
520
|
} catch (Exception e2) {
|
|
521
|
}
|
|
522
|
}
|
|
523
|
}
|
|
524
|
|
416
|
525
|
/**
|
417
|
526
|
* APP专家搜索列表分页多条件查询
|
418
|
527
|
* @param con
|
|
@ -424,7 +533,7 @@ public abstract class ProfessorDao {
|
424
|
533
|
* @param authentication 是否认证
|
425
|
534
|
* @param pageSize
|
426
|
535
|
* @param pageNo
|
427
|
|
* @return 按搜索条件返回专家列表
|
|
536
|
* @return 按搜索条件返回专家列表 按咨询星级排序
|
428
|
537
|
* @throws SQLException
|
429
|
538
|
*/
|
430
|
539
|
public PageQueryResult<EditProfessor> queryAPP(Connection con, @Nullable String key, String subject, String industry,
|