Browse Source

查询所有资源申请记录返回值添加资源图片路径,我的工作台n条未读咨询改为n条未读消息。

zzy.zhiyuan.foxmail 8 years ago
parent
commit
43ebfde1bd

+ 27 - 1
src/main/java/com/ekexiu/portal/dao/ConsultDao.java

@ -105,7 +105,7 @@ public abstract class ConsultDao {
105 105
	public abstract Consult query(Connection con, String consultId) throws SQLException;
106 106
	
107 107
	/**
108
	 * 我的工作台中显示未查看的咨询条数
108
	 * 统计未查看的咨询条数
109 109
	 * @param con
110 110
	 * @param professorId 登陆者ID
111 111
	 * @return 返回未查看的资源条数
@ -126,6 +126,32 @@ public abstract class ConsultDao {
126 126
        }
127 127
	}
128 128
	
129
	/**
130
	 * 统计所有未查看的消息记录(包括咨询别人和别人咨询自己的所有未读消息)
131
	 * @param con
132
	 * @param professorId 登陆者ID
133
	 * @return 返回所有未查看的消息条数
134
	 * @throws SQLException
135
	 */
136
	public int queryNotReadReply(Connection con, String professorId) throws SQLException {
137
		int _m_2 = 1;
138
		String sql = " SELECT COUNT(1) FROM TIDINGS "
139
				+ " INNER JOIN CONSULT ON TIDINGS.CONSULT_ID = CONSULT.CONSULT_ID AND (TIDINGS.READ_STATUS = 0) "
140
				+ " AND (CONSULT.CONSULTANT_ID = ? OR CONSULT.PROFESSOR_ID = ?) AND (TIDINGS.SENDER_ID != ?) ";
141
		PreparedStatement ps = con.prepareStatement(sql);
142
		try {
143
			ps.setString(_m_2++, professorId);
144
			ps.setString(_m_2++, professorId);
145
			ps.setString(_m_2++, professorId);
146
			ResultSet rs = ps.executeQuery();
147
			rs.next();
148
			int count = rs.getInt(1);
149
			return count;
150
		} finally{
151
            try{ps.close();}catch(Exception _m_3){}
152
        }
153
	}
154
	
129 155
	/**
130 156
	 * 我的工作台中显示接受咨询的总次数
131 157
	 * @param con

+ 12 - 17
src/main/java/com/ekexiu/portal/dao/OperationDao.java

@ -233,24 +233,23 @@ public abstract class OperationDao {
233 233
//        }
234 234
//    }
235 235
	
236
	/**
237
	 * 搜索当前用户的所有资源申请(包括申请别人和别人申请自己的)
238
	 * @param con
239
	 * @param id 登录用户ID
240
	 * @param pageSize
241
	 * @param pageNo
242
	 * @return 返回所有资源申请记录(包括申请别人和别人申请自己的)
243
	 * @throws SQLException
244
	 */
236 245
	public PageQueryResult<Operation> queryPro(Connection con, @Nullable String id,int pageSize,int pageNo) throws SQLException{
237 246
        int _m_1 = 0;
238 247
        PageQueryResult<Operation> _result = new PageQueryResult<Operation>();
239 248
        int _m_3 = 1;
240 249
        boolean _m_2 = null == id;
241 250
        StringBuilder sql = new StringBuilder();
242
        boolean _m_5 = true;
243 251
        if(!_m_2){
244
            _m_5 =  false;
245
            sql.append(" WHERE O.RESOURCE_ID IN (SELECT R.RESOURCE_ID FROM RESOURCE R WHERE R.PROFESSOR_ID = ?)");
246
        }
247
        if(!_m_2){
248
            if(_m_5){
249
                _m_5 =  false;
250
                sql.append(" WHERE (O.DEMAND_ID = ?) ");
251
            }else{
252
                sql.append(" OR (O.DEMAND_ID = ?) ");
253
            }
252
            sql.append(" WHERE O.RESOURCE_ID IN (SELECT R.RESOURCE_ID FROM RESOURCE R WHERE R.PROFESSOR_ID = ?) OR (O.DEMAND_ID = ?) ");
254 253
        }
255 254
        StringBuilder _m_4 = sql;
256 255
        sql = new StringBuilder();
@ -262,8 +261,6 @@ public abstract class OperationDao {
262 261
        try{
263 262
            if(!_m_2){
264 263
                ps.setString(_m_3++,id);
265
            }
266
            if(!_m_2){
267 264
                ps.setString(_m_3++,id);
268 265
            }
269 266
            _result.setPageSize(pageSize);
@ -327,8 +324,6 @@ public abstract class OperationDao {
327 324
        try{
328 325
            if(!_m_2){
329 326
                ps.setString(_m_3++,id);
330
            }
331
            if(!_m_2){
332 327
                ps.setString(_m_3++,id);
333 328
            }
334 329
            ResultSet rs = ps.executeQuery();
@ -376,10 +371,10 @@ public abstract class OperationDao {
376 371
                    resource.setResourceName(rs.getString(13));
377 372
                    resource.setSupportedServices(rs.getString(14));
378 373
                    resource.setDescp(rs.getString(15));
374
                    List<Image> images = this.imageDao.queryRes(con, resource.getResourceId());
375
                    resource.setImages(images);
379 376
                    Professor professor2 = new Professor();
380 377
                    professor2.setId(rs.getString(16));
381
                    List<Image> images = this.imageDao.queryRes(con, _obj.getResourceId());
382
                    resource.setImages(images);
383 378
                    professor.setName(rs.getString(17));
384 379
                    _obj.setProfessor(professor);
385 380
                    professor2.setName(rs.getString(18));

+ 13 - 12
src/main/java/com/ekexiu/portal/dao/TidingsDao.java

@ -32,7 +32,7 @@ public abstract class TidingsDao {
32 32
    }
33 33
	
34 34
	/**
35
	 * 查询未查看信息条数的接口 
35
	 * 查询当前咨询有几条未读消息
36 36
	 * @param con
37 37
	 * @param consultId 咨询ID
38 38
	 * @param senderId 登录者ID
@ -54,22 +54,24 @@ public abstract class TidingsDao {
54 54
	 * 我的工作台最新回复
55 55
	 * @param con
56 56
	 * @param consultantId 咨询者ID
57
	 * @return 返回最新回复信息
57
	 * @return 返回最新回复信息(包括咨询别人和别人咨询自己的最新回复)
58 58
	 * @throws SQLException
59 59
	 */
60 60
	public Tidings queryNewReply(Connection con, String consultantId) throws SQLException{
61 61
		int _m_1 = 1;
62 62
        String sql = "SELECT TIDINGS_ID,TIDINGS_CONTANT,SENDER_ID,TIDINGS.CONSULT_ID,TIDINGS.CREATE_TIME,"
63
        		+ " TIDINGS.READ_STATUS,CONSULT.CONSULT_TITLE,CONSULT.CREATE_TIME,PROFESSOR.NAME,PROFESSOR.OFFICE,"
63
        		+ " TIDINGS.READ_STATUS,CONSULT.CONSULT_TITLE,PROFESSOR.NAME,PROFESSOR.OFFICE,"
64 64
        		+ " PROFESSOR.DEPARTMENT,PROFESSOR.TITLE,PROFESSOR.ADDRESS,ORGANIZATION.NAME "
65 65
        		+ " FROM TIDINGS LEFT JOIN CONSULT ON TIDINGS.CONSULT_ID = CONSULT.CONSULT_ID "
66 66
        		+ " LEFT JOIN PROFESSOR ON CONSULT.PROFESSOR_ID = PROFESSOR.ID "
67 67
        		+ " LEFT JOIN ORGANIZATION ON PROFESSOR.ORG_ID = ORGANIZATION.ID "
68 68
        		+ " WHERE TIDINGS.CREATE_TIME IN "
69
        		+ " (SELECT MAX(TIDINGS.CREATE_TIME) FROM TIDINGS INNER JOIN CONSULT ON TIDINGS.CONSULT_ID = CONSULT.CONSULT_ID "
70
        		+ " AND (TIDINGS.READ_STATUS = 0) AND (CONSULT.CONSULTANT_ID = ?) AND (TIDINGS.SENDER_ID != ?)) ";
69
        		+ " (SELECT MAX(TIDINGS.CREATE_TIME) FROM TIDINGS "
70
        		+ " INNER JOIN CONSULT ON TIDINGS.CONSULT_ID = CONSULT.CONSULT_ID AND (TIDINGS.READ_STATUS = 0) "
71
        		+ " AND (CONSULT.CONSULTANT_ID = ? OR CONSULT.PROFESSOR_ID = ?) AND (TIDINGS.SENDER_ID != ?)) ";
71 72
        PreparedStatement ps = con.prepareStatement(sql);
72 73
        try{
74
            ps.setString(_m_1++,consultantId);
73 75
            ps.setString(_m_1++,consultantId);
74 76
            ps.setString(_m_1++,consultantId);
75 77
            ResultSet rs = ps.executeQuery();
@ -85,13 +87,12 @@ public abstract class TidingsDao {
85 87
                	tidings.setCreateTime(rs.getString(5));
86 88
                	tidings.setReadStatus(rs.getShort(6));
87 89
                	consult.setConsultTitle(rs.getString(7));
88
                	consult.setCreateTime(rs.getString(8));
89
                	professor.setName(rs.getString(9));
90
                	professor.setOffice(rs.getString(10));
91
                	professor.setDepartment(rs.getString(11));
92
                	professor.setTitle(rs.getString(12));
93
                	professor.setAddress(rs.getString(13));
94
                	professor.setOrgName(rs.getString(14));
90
                	professor.setName(rs.getString(8));
91
                	professor.setOffice(rs.getString(9));
92
                	professor.setDepartment(rs.getString(10));
93
                	professor.setTitle(rs.getString(11));
94
                	professor.setAddress(rs.getString(12));
95
                	professor.setOrgName(rs.getString(13));
95 96
                	tidings.setProfessor(professor);
96 97
                	tidings.setConsult(consult);
97 98
                	return tidings;

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

@ -78,7 +78,9 @@ public class ConsultService {
78 78
	@Get
79 79
	@Path("/qaReadStatus")
80 80
	public int queryReadStatus(@JdbcConn Connection con, String professorId) throws SQLException {
81
		return this.consultDao.queryReadStatus(con, professorId);
81
		int notReadConsult = this.consultDao.queryReadStatus(con, professorId);
82
		int notReadReply = this.consultDao.queryNotReadReply(con, professorId);
83
		return notReadConsult+notReadReply;
82 84
	}
83 85
	
84 86
	@Get