jiapeng 7 years ago
parent
commit
fadee47a99

+ 8 - 1
src/main/java/com/ekexiu/portal/question/Question.java

@ -6,7 +6,6 @@ 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.enums.DE;
8 8

9
import com.ekexiu.portal.basepo.CreateTimeSupported;
10 9
import com.ekexiu.portal.basepo.ModifyTimeSupported;
11 10

12 11
@PrimaryKey("id")
@ -24,9 +23,17 @@ public class Question implements ModifyTimeSupported{
24 23
	private String lastReplyTime;
25 24
	private long replyCount;
26 25
	private String state;
26
	private long pageViews;
27 27
	private transient String timeDesc;
28 28
	
29 29
	
30
	@Column(DE.long_de)
31
	public long getPageViews() {
32
		return pageViews;
33
	}
34
	public void setPageViews(long pageViews) {
35
		this.pageViews = pageViews;
36
	}
30 37
	@Column(DE.text_de)
31 38
	public String getTimeDesc() {
32 39
		return timeDesc;

+ 25 - 8
src/main/java/com/ekexiu/portal/question/QuestionDao.java

@ -1,18 +1,30 @@
1 1
package com.ekexiu.portal.question;
2 2

3
import java.sql.Connection;
4
import java.sql.SQLException;
5
import java.util.List;
6

3 7
import org.jfw.apt.annotation.Nullable;
4 8
import org.jfw.apt.orm.annotation.dao.Batch;
5 9
import org.jfw.apt.orm.annotation.dao.DAO;
6
import org.jfw.apt.orm.annotation.dao.method.*;
7
import org.jfw.apt.orm.annotation.dao.method.operator.*;
8
import org.jfw.apt.orm.annotation.dao.param.*;
9
import org.jfw.apt.orm.core.defaultImpl.IntHandler;
10
import org.jfw.apt.orm.annotation.dao.method.From;
11
import org.jfw.apt.orm.annotation.dao.method.IncludeFixSet;
12
import org.jfw.apt.orm.annotation.dao.method.OrderBy;
13
import org.jfw.apt.orm.annotation.dao.method.SetSentence;
14
import org.jfw.apt.orm.annotation.dao.method.Where;
15
import org.jfw.apt.orm.annotation.dao.method.operator.DeleteWith;
16
import org.jfw.apt.orm.annotation.dao.method.operator.Insert;
17
import org.jfw.apt.orm.annotation.dao.method.operator.LimitQuery;
18
import org.jfw.apt.orm.annotation.dao.method.operator.LimitSelect;
19
import org.jfw.apt.orm.annotation.dao.method.operator.SelectList;
20
import org.jfw.apt.orm.annotation.dao.method.operator.SelectOne;
21
import org.jfw.apt.orm.annotation.dao.method.operator.UpdateWith;
22
import org.jfw.apt.orm.annotation.dao.param.In;
23
import org.jfw.apt.orm.annotation.dao.param.LessThan;
24
import org.jfw.apt.orm.annotation.dao.param.Set;
25
import org.jfw.apt.orm.annotation.dao.param.SqlColumn;
10 26
import org.jfw.apt.orm.core.defaultImpl.StringHandler;
11 27

12
import java.sql.Connection;
13
import java.sql.SQLException;
14
import java.util.List;
15

16 28
@DAO
17 29
public interface QuestionDao {
18 30

@ -28,6 +40,11 @@ public interface QuestionDao {
28 40
	@From(Question.class)
29 41
	@SetSentence("REPLY_COUNT=REPLY_COUNT+1")
30 42
	int incQuestionReply(Connection con,String id)throws SQLException;
43
	
44
	@UpdateWith
45
	@From(Question.class)
46
	@SetSentence("PAGE_VIEWS=PAGE_VIEWS+1")
47
	int incQuestionPageViews(Connection con,String id)throws SQLException;
31 48

32 49
	@Insert
33 50
	@Batch

+ 7 - 0
src/main/java/com/ekexiu/portal/question/Service.java

@ -143,6 +143,7 @@ public class Service {
143 143
		q.setId(id);
144 144
		q.setReplyCount(0);
145 145
		q.setState("1");
146
		q.setPageViews(0);
146 147
		List<String> kws = ListUtil.splitTrimExcludeEmpty(q.getKeys(), ',');
147 148
		if (kws.isEmpty())
148 149
			throw new IllegalArgumentException("param keys invalid");
@ -150,6 +151,12 @@ public class Service {
150 151
		questionDao.insert(con, build(id, kws));
151 152
		return id;
152 153
	}
154
	
155
	@Path("/pageViews")
156
	@Post
157
	public void incQuestionPageView(@JdbcConn(true) Connection con,String qid)throws SQLException{
158
		questionDao.incQuestionPageViews(con, qid);
159
	}
153 160

154 161
	/**
155 162
	 * 默认的邀请专家