Browse Source

完善PC端首页搜索过滤条件。

zzy.zhiyuan.foxmail 8 years ago
parent
commit
bba5e660c2

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

863
			sql.append(" WHERE (( professor.ID IN (SELECT PROFESSOR_ID FROM RESEARCH_AREA WHERE CAPTION LIKE ?)) "
863
			sql.append(" WHERE (( professor.ID IN (SELECT PROFESSOR_ID FROM RESEARCH_AREA WHERE CAPTION LIKE ?)) "
864
					+ " OR (ORG_ID IN(SELECT organization.ID FROM ORGANIZATION WHERE organization.NAME LIKE ?)) "
864
					+ " OR (ORG_ID IN(SELECT organization.ID FROM ORGANIZATION WHERE organization.NAME LIKE ?)) "
865
					+ " OR ( professor.NAME LIKE ?) OR (professor.SUBJECT LIKE ?) "
865
					+ " OR ( professor.NAME LIKE ?) OR (professor.SUBJECT LIKE ?) "
866
					+ " OR (professor.INDUSTRY LIKE ?) OR (professor.ADDRESS LIKE ?))");
866
					+ " OR (professor.INDUSTRY LIKE ?) OR (professor.ADDRESS LIKE ?)"
867
					+ " OR (PROFESSOR.ID IN (SELECT PROFESSOR_ID FROM RESOURCE WHERE RESOURCE_NAME LIKE ?)) )");
867
		}
868
		}
868
		boolean hasSubject = null != subject;
869
		boolean hasSubject = null != subject;
869
		boolean hasIndustry = null != industry;
870
		boolean hasIndustry = null != industry;
899
				ps.setString(paramIndex++, key);
900
				ps.setString(paramIndex++, key);
900
				ps.setString(paramIndex++, key);
901
				ps.setString(paramIndex++, key);
901
				ps.setString(paramIndex++, key);
902
				ps.setString(paramIndex++, key);
903
				ps.setString(paramIndex++, key);
902
			}
904
			}
903
			if (hasSubject) {
905
			if (hasSubject) {
904
				ps.setString(paramIndex++, subject);
906
				ps.setString(paramIndex++, subject);
977
				ps.setString(paramIndex++, key);
979
				ps.setString(paramIndex++, key);
978
				ps.setString(paramIndex++, key);
980
				ps.setString(paramIndex++, key);
979
				ps.setString(paramIndex++, key);
981
				ps.setString(paramIndex++, key);
982
				ps.setString(paramIndex++, key);
980
			}
983
			}
981
			if (hasSubject) {
984
			if (hasSubject) {
982
				ps.setString(paramIndex++, subject);
985
				ps.setString(paramIndex++, subject);

+ 27 - 12
src/main/java/com/ekexiu/portal/dao/ResourceDao.java

123
    }
123
    }
124
	
124
	
125
	public Resource query(Connection con,String resourceId) throws SQLException{
125
	public Resource query(Connection con,String resourceId) throws SQLException{
126
        List<Image> images = this.imageDao.queryRes(con, resourceId);
127
		int _m_1 = 1;
126
		int _m_1 = 1;
128
        String sql = "SELECT RESOURCE_ID,RESOURCE_NAME,RESOURCE.SUBJECT,RESOURCE.INDUSTRY,"
127
        String sql = "SELECT RESOURCE_ID,RESOURCE_NAME,RESOURCE.SUBJECT,RESOURCE.INDUSTRY,"
129
        		+ " SUPPORTED_SERVICES,RESOURCE.DESCP,PROFESSOR_ID,ASCRIPTION,HOPE_PAY_METHOD,"
128
        		+ " SUPPORTED_SERVICES,RESOURCE.DESCP,PROFESSOR_ID,ASCRIPTION,HOPE_PAY_METHOD,"
171
                    _result.setModifyTime(rs.getString(12));
170
                    _result.setModifyTime(rs.getString(12));
172
                    professor.setName(rs.getString(13));
171
                    professor.setName(rs.getString(13));
173
                    _result.setProfessor(professor);
172
                    _result.setProfessor(professor);
174
                    _result.setImages(images);
175
                    return _result;
173
                    return _result;
176
                }else{
174
                }else{
177
                    return null;
175
                    return null;
192
	 * @throws SQLException
190
	 * @throws SQLException
193
	 */
191
	 */
194
	public Resource queryInfo(Connection con,String resourceId) throws SQLException{
192
	public Resource queryInfo(Connection con,String resourceId) throws SQLException{
195
        List<Image> images = this.imageDao.queryRes(con, resourceId);
196
		int _m_1 = 1;
193
		int _m_1 = 1;
197
        String sql = "SELECT RESOURCE_ID,RESOURCE_NAME,SUBJECT,INDUSTRY,SUPPORTED_SERVICES,DESCP,PROFESSOR_ID,"
194
        String sql = "SELECT RESOURCE_ID,RESOURCE_NAME,SUBJECT,INDUSTRY,SUPPORTED_SERVICES,DESCP,PROFESSOR_ID,"
198
        		+ " ASCRIPTION,HOPE_PAY_METHOD,COOPERATION_NOTES,CREATE_TIME,MODIFY_TIME "
195
        		+ " ASCRIPTION,HOPE_PAY_METHOD,COOPERATION_NOTES,CREATE_TIME,MODIFY_TIME "
236
                    _result.setCooperationNotes(_m_5);
233
                    _result.setCooperationNotes(_m_5);
237
                    _result.setCreateTime(rs.getString(11));
234
                    _result.setCreateTime(rs.getString(11));
238
                    _result.setModifyTime(rs.getString(12));
235
                    _result.setModifyTime(rs.getString(12));
239
                    _result.setImages(images);
240
                    return _result;
236
                    return _result;
241
                }else{
237
                }else{
242
                    return null;
238
                    return null;
349
                    _obj.setModifyTime(rs.getString(12));
345
                    _obj.setModifyTime(rs.getString(12));
350
                    professor.setName(rs.getString(13));
346
                    professor.setName(rs.getString(13));
351
                    _obj.setProfessor(professor);
347
                    _obj.setProfessor(professor);
352
                    List<Image> images = this.imageDao.queryRes(con, _obj.getResourceId());
353
                    _obj.setImages(images);
354
                    _m_8.add(_obj);
348
                    _m_8.add(_obj);
355
                }
349
                }
356
                return _result;
350
                return _result;
448
                    _obj.setCooperationNotes(_m_7);
442
                    _obj.setCooperationNotes(_m_7);
449
                    _obj.setCreateTime(rs.getString(11));
443
                    _obj.setCreateTime(rs.getString(11));
450
                    _obj.setModifyTime(rs.getString(12));
444
                    _obj.setModifyTime(rs.getString(12));
451
                    List<Image> images = this.imageDao.queryRes(con, _obj.getResourceId());
452
                    _obj.setImages(images);
453
                    _result.add(_obj);
445
                    _result.add(_obj);
454
                }
446
                }
455
                return _result;
447
                return _result;
511
        	append("(RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE PROFESSOR.ADDRESS LIKE ?))");
503
        	append("(RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE PROFESSOR.ADDRESS LIKE ?))");
512
        }
504
        }
513
        if(!_m7){
505
        if(!_m7){
514
				sql.append(sql.length() > 0 ? " AND " : " WHERE ").
515
				append("(RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE PROFESSOR.AUTH_TYPE = ?))");
506
			sql.append(sql.length() > 0 ? " AND " : " WHERE ").
507
			append("(RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE PROFESSOR.AUTH_TYPE = ?))");
516
		}
508
		}
517
        StringBuilder _m_6 = sql;
509
        StringBuilder _m_6 = sql;
518
        sql = new StringBuilder();
510
        sql = new StringBuilder();
681
	 * @return 按搜索条件返回资源列表
673
	 * @return 按搜索条件返回资源列表
682
	 * @throws SQLException
674
	 * @throws SQLException
683
	 */
675
	 */
684
	public PageQueryResult<Resource> queryPage(Connection con,String key,String subject,String industry,String address,int pageSize,int pageNo) throws SQLException{
676
	public PageQueryResult<Resource> queryPage(Connection con,String key,String subject,String industry,
677
			String address,Integer authType,int pageSize,int pageNo) throws SQLException{
685
        int _m_1 = 0;
678
        int _m_1 = 0;
686
        PageQueryResult<Resource> _result = new PageQueryResult<Resource>();
679
        PageQueryResult<Resource> _result = new PageQueryResult<Resource>();
687
        int _m_3 = 1;
680
        int _m_3 = 1;
689
        boolean _m_4 = null == subject;
682
        boolean _m_4 = null == subject;
690
        boolean _m_5 = null == industry;
683
        boolean _m_5 = null == industry;
691
        boolean _m6 = null == address;
684
        boolean _m6 = null == address;
685
        boolean _m7 = null == authType;
692
        StringBuilder sql = new StringBuilder();
686
        StringBuilder sql = new StringBuilder();
693
        boolean _m_7 = true;
687
        boolean _m_7 = true;
694
        if(!_m_2){
688
        if(!_m_2){
695
            _m_7 =  false;
689
            _m_7 =  false;
696
            sql.append(" WHERE ((RESOURCE_NAME LIKE ?) OR (SUPPORTED_SERVICES LIKE ?) "
690
            sql.append(" WHERE ((RESOURCE_NAME LIKE ?) OR (SUPPORTED_SERVICES LIKE ?) "
697
            		+ " OR (RESOURCE.SUBJECT LIKE ?) OR (RESOURCE.INDUSTRY LIKE ?) "
691
            		+ " OR (RESOURCE.SUBJECT LIKE ?) OR (RESOURCE.INDUSTRY LIKE ?) "
698
            		+ " OR (RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE PROFESSOR.ADDRESS LIKE ?))) ");
692
            		+ " OR (RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR "
693
            		+ " WHERE PROFESSOR.ADDRESS LIKE ? OR PROFESSOR.NAME LIKE ?))"
694
            		+ " OR (RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE ORG_ID "
695
            		+ " IN(SELECT ORGANIZATION.ID FROM ORGANIZATION WHERE ORGANIZATION.NAME LIKE ?) )) ) ");
699
        }
696
        }
700
        if(!_m_4){
697
        if(!_m_4){
701
            if(_m_7){
698
            if(_m_7){
721
        		sql.append(" AND (RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE PROFESSOR.ADDRESS LIKE ?)) ");
718
        		sql.append(" AND (RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE PROFESSOR.ADDRESS LIKE ?)) ");
722
        	}
719
        	}
723
        }
720
        }
721
        if(!_m7){
722
        	if(_m_7){
723
                _m_7 =  false;
724
                sql.append(" WHERE (RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE PROFESSOR.AUTH_TYPE = ?)) ");
725
            }else{
726
                sql.append(" AND (RESOURCE.PROFESSOR_ID IN (SELECT PROFESSOR.ID FROM PROFESSOR WHERE PROFESSOR.AUTH_TYPE = ?)) ");
727
            }
728
		}
724
        StringBuilder _m_6 = sql;
729
        StringBuilder _m_6 = sql;
725
        sql = new StringBuilder();
730
        sql = new StringBuilder();
726
        sql.append(" SELECT COUNT(1) FROM RESOURCE ");
731
        sql.append(" SELECT COUNT(1) FROM RESOURCE ");
735
                ps.setString(_m_3++,key);
740
                ps.setString(_m_3++,key);
736
                ps.setString(_m_3++,key);
741
                ps.setString(_m_3++,key);
737
                ps.setString(_m_3++,key);
742
                ps.setString(_m_3++,key);
743
                ps.setString(_m_3++,key);
744
                ps.setString(_m_3++,key);
738
            }
745
            }
739
            if(!_m_4){
746
            if(!_m_4){
740
                ps.setString(_m_3++,subject);
747
                ps.setString(_m_3++,subject);
745
            if(!_m6){
752
            if(!_m6){
746
            	ps.setString(_m_3++,address);
753
            	ps.setString(_m_3++,address);
747
            }
754
            }
755
            if(!_m7){
756
            	ps.setInt(_m_3++, authType);
757
            }
748
            _result.setPageSize(pageSize);
758
            _result.setPageSize(pageSize);
749
            ResultSet _pageRs = ps.executeQuery();
759
            ResultSet _pageRs = ps.executeQuery();
750
            try{
760
            try{
810
                ps.setString(_m_3++,key);
820
                ps.setString(_m_3++,key);
811
                ps.setString(_m_3++,key);
821
                ps.setString(_m_3++,key);
812
                ps.setString(_m_3++,key);
822
                ps.setString(_m_3++,key);
823
                ps.setString(_m_3++,key);
824
                ps.setString(_m_3++,key);
813
            }
825
            }
814
            if(!_m_4){
826
            if(!_m_4){
815
                ps.setString(_m_3++,subject);
827
                ps.setString(_m_3++,subject);
820
            if(!_m6){
832
            if(!_m6){
821
            	ps.setString(_m_3++,address);
833
            	ps.setString(_m_3++,address);
822
            }
834
            }
835
            if(!_m7){
836
            	ps.setInt(_m_3++, authType);
837
            }
823
            ResultSet rs = ps.executeQuery();
838
            ResultSet rs = ps.executeQuery();
824
            try{
839
            try{
825
                List<Resource> _m_13 = new ArrayList<Resource>();
840
                List<Resource> _m_13 = new ArrayList<Resource>();

+ 24 - 5
src/main/java/com/ekexiu/portal/service/ResourceService.java

153
	@Get
153
	@Get
154
	@Path("/{resourceId}")
154
	@Path("/{resourceId}")
155
	public Resource query(@JdbcConn Connection con, @PathVar String resourceId) throws SQLException {
155
	public Resource query(@JdbcConn Connection con, @PathVar String resourceId) throws SQLException {
156
		return this.resourceDao.query(con, resourceId);
156
		Resource resource = this.resourceDao.query(con, resourceId);
157
		if(resource != null){
158
			resource.setImages(this.imageDao.queryRes(con, resourceId));
159
		}
160
		return resource;
157
	}
161
	}
158
	
162
	
159
	@Get
163
	@Get
165
			professor.setHasHeadImage(this.imageService.hasProfessorImage(professor.getId()));
169
			professor.setHasHeadImage(this.imageService.hasProfessorImage(professor.getId()));
166
		}
170
		}
167
		resource.setProfessor(professor);
171
		resource.setProfessor(professor);
172
		resource.setImages(this.imageDao.queryRes(con, resourceId));
168
		return resource;
173
		return resource;
169
	}
174
	}
170
	
175
	
171
	@Get
176
	@Get
172
	@Path("/pqall")
177
	@Path("/pqall")
173
	public PageQueryResult<Resource> queryPageAll(@JdbcConn Connection con, @DefaultValue("10") int pageSize, @DefaultValue("1") int pageNo) throws SQLException {
178
	public PageQueryResult<Resource> queryPageAll(@JdbcConn Connection con, @DefaultValue("10") int pageSize, @DefaultValue("1") int pageNo) throws SQLException {
174
		return this.resourceDao.queryPageAll(con, pageSize, pageNo);
179
		PageQueryResult<Resource> queryResult = this.resourceDao.queryPageAll(con, pageSize, pageNo);
180
		List<Resource> resources = queryResult.getData();
181
		if(resources != null){
182
			for (Resource resource : resources) {
183
				resource.setImages(this.imageDao.queryRes(con, resource.getResourceId()));
184
			}
185
		}
186
		queryResult.setData(resources);
187
		return queryResult;
175
	}
188
	}
176
	
189
	
177
	@Get
190
	@Get
178
	@Path("/qapro")
191
	@Path("/qapro")
179
	public List<Resource> queryPro(@JdbcConn Connection con, String professorId) throws SQLException {
192
	public List<Resource> queryPro(@JdbcConn Connection con, String professorId) throws SQLException {
180
		return this.resourceDao.queryPro(con, professorId);
193
		List<Resource> resources = this.resourceDao.queryPro(con, professorId);
194
		if(resources != null) {
195
			for (Resource resource : resources) {
196
				resource.setImages(this.imageDao.queryRes(con, resource.getResourceId()));
197
			}
198
		}
199
		return resources;
181
	}
200
	}
182
	
201
	
183
	@Post
202
	@Post
255
	@Get
274
	@Get
256
	@Path("/pq")
275
	@Path("/pq")
257
	public PageQueryResult<Resource> queryPage(@JdbcConn(false) Connection con, @Nullable String key, 
276
	public PageQueryResult<Resource> queryPage(@JdbcConn(false) Connection con, @Nullable String key, 
258
			@Nullable String subject, @Nullable String industry, @Nullable String address, 
277
			@Nullable String subject, @Nullable String industry, @Nullable String address,@Nullable Integer authType, 
259
			@DefaultValue("10") int pageSize, @DefaultValue("1") int pageNo) throws SQLException {
278
			@DefaultValue("10") int pageSize, @DefaultValue("1") int pageNo) throws SQLException {
260
		if(key!=null) key="%"+key+"%";
279
		if(key!=null) key="%"+key+"%";
261
		if(subject!=null) subject ="%"+subject+"%";
280
		if(subject!=null) subject ="%"+subject+"%";
262
		if(industry!=null)industry="%"+industry+"%";
281
		if(industry!=null)industry="%"+industry+"%";
263
		if(address!=null)address="%"+address+"%";
282
		if(address!=null)address="%"+address+"%";
264
		PageQueryResult<Resource> queryResult = this.resourceDao.queryPage(con, key, subject, industry, address, pageSize, pageNo);
283
		PageQueryResult<Resource> queryResult = this.resourceDao.queryPage(con, key, subject, industry, address, authType, pageSize, pageNo);
265
		List<Resource> resources = queryResult.getData();
284
		List<Resource> resources = queryResult.getData();
266
		if(resources != null){
285
		if(resources != null){
267
			for (Resource resource : resources) {
286
			for (Resource resource : resources) {