Skip to content

Commit dabfaec

Browse files
committed
重构表结构
1 parent e8b10ca commit dabfaec

25 files changed

+226
-139
lines changed

src/main/java/com/javachina/controller/BaseController.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,4 +107,9 @@ public Integer getUid() {
107107
return null != user ? user.getUid() : null;
108108
}
109109

110+
public String getUsername() {
111+
LoginUser user = getLoginUser();
112+
return null != user ? user.getUsername() : null;
113+
}
114+
110115
}

src/main/java/com/javachina/controller/MemberController.java

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -64,29 +64,44 @@ public class MemberController extends BaseController {
6464
@Inject
6565
private FavoriteService favoriteService;
6666

67+
@Inject
68+
private RemindService remindService;
69+
6770
private Patchca patchca = new DefaultPatchca();
6871

6972
/**
7073
* 通知列表
7174
*/
72-
@Route(value = "/notices", method = HttpMethod.GET)
73-
public ModelAndView notices(Request request, Response response,
75+
@Route(value = "/reminds", method = HttpMethod.GET)
76+
@Access
77+
public ModelAndView reminds(Request request,
7478
@QueryParam(defaultValue = "1", value = "page") Integer page,
7579
@QueryParam(defaultValue = "15", value = "limit") Integer limit) {
7680

77-
LoginUser user = SessionKit.getLoginUser();
78-
if (null == user) {
79-
response.go("/signin");
80-
return null;
81-
}
81+
Paginator<Remind> remindPaginator = remindService.getReminds(getUsername(), page, limit);
82+
request.attribute("remindPage", remindPaginator);
83+
84+
return this.getView("reminds");
85+
}
8286

83-
return this.getView("notices");
87+
/**
88+
* 清除我的未读
89+
*
90+
* @return
91+
*/
92+
@Route(value = "/reminds/clean", method = HttpMethod.POST)
93+
@JSON
94+
@Access
95+
public RestResponse cleanReminds() {
96+
remindService.readReminds(getUsername());
97+
return RestResponse.ok();
8498
}
8599

86100
/**
87101
* 修改新密码
88102
*/
89103
@Route(value = "/reset_pwd", method = HttpMethod.POST)
104+
@Access
90105
public ModelAndView reset_pwd(Request request, @QueryParam String code,
91106
@QueryParam String password,
92107
@QueryParam String re_password) {
@@ -156,7 +171,7 @@ public ModelAndView member(@PathParam("username") String username,
156171
Request request, Response response) {
157172

158173
Take up = new Take(User.class);
159-
up.eq("status", 1).eq("login_name", username);
174+
up.eq("status", 1).eq("username", username);
160175

161176
User user = userService.getUserByTake(up);
162177
if (null == user) {
@@ -180,14 +195,14 @@ public ModelAndView member(@PathParam("username") String username,
180195

181196
// 最新创建的主题
182197
Take tp = new Take(Topic.class);
183-
tp.eq("status", 1).eq("uid", user.getUid()).orderby("created desc, updated desc").page(1, 10);
198+
tp.eq("status", 1).eq("username", user.getUsername()).orderby("created desc, updated desc").page(1, 10);
184199
Paginator<Map<String, Object>> topicPage = topicService.getPageList(tp);
185200
request.attribute("topicPage", topicPage);
186201

187202
// 最新发布的回复
188203
Take cp = new Take(Comment.class);
189-
cp.eq("uid", user.getUid()).orderby("created desc").page(1, 10);
190-
Paginator<Map<String, Object>> commentPage = null;//commentService.getPageListMap(cp);
204+
cp.eq("author", user.getUsername()).orderby("created desc").page(1, 10);
205+
Paginator<Map<String, Object>> commentPage = commentService.getPages(cp);
191206
request.attribute("commentPage", commentPage);
192207

193208
return this.getView("member_detail");

src/main/java/com/javachina/controller/OAuthController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public ModelAndView githubCall(Request request, Response response) {
8686
Openid openid = openIdService.getOpenid(EventType.GITHUB, open_id);
8787
if (null == openid) {
8888
Map<String, String> githubInfo = new HashMap<String, String>(3);
89-
githubInfo.put("login_name", login);
89+
githubInfo.put("username", login);
9090
githubInfo.put("open_id", open_id.toString());
9191

9292
SessionKit.set(request.session(), EventType.GITHUB, githubInfo);

src/main/java/com/javachina/controller/TopicController.java

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public ModelAndView show_ediot_topic(@PathParam("tid") String tid, Request reque
7979
return this.getView("info");
8080
}
8181

82-
if (!topic.getUid().equals(getUid())) {
82+
if (!topic.getUsername().equals(getLoginUser().getUsername())) {
8383
request.attribute(this.ERROR, "您无权限编辑该帖");
8484
return this.getView("info");
8585
}
@@ -119,7 +119,7 @@ public RestResponse edit_topic(Request request, Response response) {
119119
}
120120

121121
// 无权限操作
122-
if (!topic.getUid().equals(getUid())) {
122+
if (!topic.getUsername().equals(getLoginUser().getUsername())) {
123123
return RestResponse.fail("无权限操作该帖");
124124
}
125125

@@ -144,7 +144,7 @@ public RestResponse edit_topic(Request request, Response response) {
144144
return RestResponse.fail("内容太长了,试试少吐点口水");
145145
}
146146

147-
Integer last_time = topicService.getLastUpdateTime(getUid());
147+
Integer last_time = topicService.getLastUpdateTime(getUsername());
148148
if (null != last_time && (DateKit.getCurrentUnixTime() - last_time) < 10) {
149149
return RestResponse.fail("您操作频率太快,过一会儿操作吧!");
150150
}
@@ -192,7 +192,7 @@ public RestResponse publish(@QueryParam String title,
192192

193193
Integer uid = getUid();
194194

195-
Integer last_time = topicService.getLastCreateTime(uid);
195+
Integer last_time = topicService.getLastCreateTime(getUsername());
196196
if (null != last_time && (DateKit.getCurrentUnixTime() - last_time) < 10) {
197197
return RestResponse.fail("您操作频率太快,过一会儿操作吧!");
198198
}
@@ -203,7 +203,7 @@ public RestResponse publish(@QueryParam String title,
203203
// 发布帖子
204204
try {
205205
Topic topic = new Topic();
206-
topic.setUid(uid);
206+
topic.setUsername(getLoginUser().getUsername());
207207
topic.setNid(nid);
208208
topic.setTitle(title);
209209
topic.setContent(content);
@@ -262,8 +262,8 @@ private void putDetail(Request request, Integer uid, Topic topic) {
262262
request.attribute("is_love", is_love);
263263

264264
Take cp = new Take(Comment.class);
265-
cp.and("tid", topic.getTid()).asc("cid").page(page, 20);
266-
Paginator<Map<String, Object>> commentPage = null;//commentService.getPageListMap(cp);
265+
cp.eq("tid", topic.getTid()).asc("cid").page(page, 20);
266+
Paginator<Map<String, Object>> commentPage = commentService.getPages(cp);
267267
request.attribute("commentPage", commentPage);
268268
}
269269

@@ -294,9 +294,12 @@ public RestResponse comment(Request request, Response response,
294294

295295
Integer uid = getUid();
296296

297-
Comment comment = Comment.builder().author_id(uid).author(getLoginUser().getUsername())
298-
.owner_id(topic.getUid())
299-
.content(content).agent(request.userAgent()).build();
297+
Comment comment = Comment.builder()
298+
.tid(tid)
299+
.author(getLoginUser().getUsername())
300+
.owner(topic.getUsername())
301+
.content(content)
302+
.agent(request.userAgent()).ip(request.address()).build();
300303

301304
topicService.comment(comment, topic.getTitle());
302305
Constant.SYS_INFO = optionsService.getSystemInfo();

src/main/java/com/javachina/ext/Funcs.java renamed to src/main/java/com/javachina/ext/TplFunctions.java

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,20 @@
11
package com.javachina.ext;
22

3+
import com.blade.jdbc.ActiveRecord;
34
import com.blade.kit.DateKit;
45
import com.blade.kit.StringKit;
56
import com.javachina.constants.Constant;
7+
import com.javachina.dto.LoginUser;
8+
import com.javachina.kit.SessionKit;
9+
import com.javachina.model.Remind;
610

7-
public class Funcs {
11+
public class TplFunctions {
12+
13+
private static ActiveRecord activeRecord;
14+
15+
public static void setActiveRecord(ActiveRecord ar) {
16+
activeRecord = ar;
17+
}
818

919
/**
1020
* 获取相对路径
@@ -122,4 +132,16 @@ public static String timespan(Integer ctime) {
122132
return r;
123133
}
124134

135+
/**
136+
* 读取我的未读
137+
*
138+
* @return
139+
*/
140+
public static int unreads() {
141+
LoginUser loginUser = SessionKit.getLoginUser();
142+
if (null != loginUser) {
143+
return activeRecord.count(Remind.builder().to_user(loginUser.getUsername()).is_read(false).build());
144+
}
145+
return 0;
146+
}
125147
}

src/main/java/com/javachina/init/WebStartup.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,10 @@
1111
import com.blade.mvc.view.ViewSettings;
1212
import com.blade.mvc.view.template.JetbrickTemplateEngine;
1313
import com.javachina.constants.Constant;
14-
import com.javachina.ext.Funcs;
14+
import com.javachina.ext.TplFunctions;
1515
import jetbrick.template.JetGlobalContext;
1616
import jetbrick.template.resolver.GlobalResolver;
1717
import lombok.extern.slf4j.Slf4j;
18-
import org.slf4j.Logger;
19-
import org.slf4j.LoggerFactory;
2018

2119
import javax.servlet.ServletContext;
2220
import javax.sql.DataSource;
@@ -34,7 +32,7 @@ public void init(BConfig bConfig, ServletContext sec) {
3432
JetbrickTemplateEngine templateEngine = new JetbrickTemplateEngine();
3533
JetGlobalContext context = templateEngine.getGlobalContext();
3634
GlobalResolver resolver = templateEngine.getGlobalResolver();
37-
resolver.registerFunctions(Funcs.class);
35+
resolver.registerFunctions(TplFunctions.class);
3836

3937
Config config = bConfig.config();
4038
String version = config.get("app.version", "1.0");
@@ -77,6 +75,7 @@ public void register(Ioc ioc) {
7775
DataSource dataSource = DruidDataSourceFactory.createDataSource(props);
7876
ActiveRecord activeRecord = new SampleActiveRecord(dataSource);
7977
ioc.addBean(activeRecord);
78+
TplFunctions.setActiveRecord(activeRecord);
8079
} catch (Exception ex) {
8180
log.error("初始化数据库配置失败", ex);
8281
}

src/main/java/com/javachina/kit/MailKit.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ public class MailKit {
1313

1414
private static ExecutorService executorService = Executors.newFixedThreadPool(3);
1515

16-
public static void sendForgot(String login_name, String email, String code) {
16+
public static void sendForgot(String username, String email, String code) {
1717

1818
}
1919

20-
public static void sendSignup(String login_name, String to_addr, String code) {
20+
public static void sendSignup(String username, String to_addr, String code) {
2121
String url = Constant.SITE_URL + "/active/" + code;
2222
String content = "您的激活链接是:<a href='" + url + "'>" + url + "</a> 点击链接激活账号!";
23-
send(login_name + ", 欢迎你加入" + Constant.MAIL_USERNAME, to_addr, content);
23+
send(username + ", 欢迎你加入" + Constant.MAIL_USERNAME, to_addr, content);
2424
}
2525

2626
public static void send(final String subject, final String to_addr, final String content) {

src/main/java/com/javachina/kit/Utils.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import com.blade.mvc.http.Request;
88
import com.javachina.constants.Constant;
99
import com.javachina.ext.Commons;
10-
import com.javachina.ext.Funcs;
10+
import com.javachina.ext.TplFunctions;
1111
import org.commonmark.Extension;
1212
import org.commonmark.ext.gfm.tables.TablesExtension;
1313
import org.commonmark.node.Node;
@@ -154,7 +154,7 @@ public static String markdown2html(String markdown) {
154154
HtmlRenderer renderer = HtmlRenderer.builder().extensions(extensions).build();
155155
String content = renderer.render(document);
156156

157-
String member = Funcs.base_url("/member/");
157+
String member = TplFunctions.base_url("/member/");
158158
content = content.replaceAll("@([a-zA-Z_0-9-]+)\\s", "<a href='" + member + "$1'>@$1</a>&nbsp;");
159159

160160
content = Commons.emoji(content);

src/main/java/com/javachina/model/Comment.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.javachina.model;
22

33
import com.blade.jdbc.annotation.Table;
4+
import lombok.AllArgsConstructor;
45
import lombok.Builder;
56
import lombok.Data;
67
import lombok.NoArgsConstructor;
@@ -14,13 +15,13 @@
1415
@Data
1516
@Builder
1617
@NoArgsConstructor
18+
@AllArgsConstructor
1719
public class Comment implements Serializable {
1820

1921
private Integer cid;
20-
private Integer author_id;
21-
private Integer owner_id;
2222
private String tid;
2323
private String author;
24+
private String owner;
2425
private String content;
2526
private String ip;
2627
private String agent;

src/main/java/com/javachina/model/Remind.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.javachina.model;
22

33
import com.blade.jdbc.annotation.Table;
4+
import com.blade.kit.StringKit;
45
import lombok.AllArgsConstructor;
56
import lombok.Builder;
67
import lombok.Data;
@@ -20,7 +21,7 @@ public class Remind implements Serializable {
2021

2122
private Integer id;
2223
private String from_user;
23-
private Integer to_uid;
24+
private String to_user;
2425
private String event_id;
2526
private String title;
2627
private String content;

0 commit comments

Comments
 (0)