发表于: 2019-11-08 10:02:27
1 958
今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin)
1、完成意见反馈和个人中心的server和Controller
明天计划的事情:(一定要写非常细致的内容)
1、优化个人中心 的sql
2、完成签到的server和Controller
遇到的问题:(遇到什么困难,怎么解决的)
1、sql的优化问题
问题:在写个人中心的时候遇到这个困惑
用户表中有很多资料
在业务逻辑上 有很多地方会对不同的资料做不同的修改
这里我想到两种sql的写法
这两种哪个更符合 实际使用
1、动态 sql 判断 (只写1条sql)
2、多条sql
因为是不同接口的内容所以就分了开来
2、sql的优化问题2
问题:比如在添加一条意见反馈的时候 我有 userId和具体的反馈信息
但是数据库中要 加入 关于用户的其他资料
这里我想到两种方式
这两种哪个更符合 实际使用
1、两条sql
一条是通过 userId 获取到用户资料
一条是 将用户资料 和 意见反馈 添加到 意见反馈数据表中
2、一条 sql
在sql 中加入 通过userId 获取用户资料 ,然后添加到 意见反馈 数据表中
收获:(通过今天的学习,学到了什么知识)
1、主要写server 和Controller
这里我们有一个结果类
使用 RequestBody直接返回该类的对象
我在写Controller的时候 多了很多if 判断
会感觉很奇怪 但是目前没有解决思路
@PostMapping(value = "/a/u/help")
public Result help(@RequestParam FeedBack feedBack, HttpServletRequest request) {
long userId = JWTUtil.getUserIdFromToken(request);
if (feedBack.getFeedBackType() == 0) {
log.info("userId:" + userId + '\t' + CodeInfo.NOFEEDBACKTYPE.toString());
result.setCode(CodeInfo.NOFEEDBACKTYPE.getCode());
result.setMessage(CodeInfo.NOFEEDBACKTEXT.getMessage());
return result;
}
if (feedBack.getFeedBackText().isEmpty()) {
log.info("userId:" + userId + '\t' + CodeInfo.NOFEEDBACKTEXT.toString());
result.setCode(CodeInfo.NOFEEDBACKTEXT.getCode());
result.setMessage(CodeInfo.NOFEEDBACKTEXT.getMessage());
return result;
}
feedBack.setUserId(userId);
long feedBackId = feedBackServer.insertOne(feedBack);
if (feedBackId == 0) {
log.info("userId:" + userId + '\t' + CodeInfo.FEEDBACKFAIL.toString());
result.setCode(CodeInfo.FEEDBACKFAIL.getCode());
result.setMessage(CodeInfo.FEEDBACKFAIL.getMessage());
return result;
}
log.info("userId:" + userId + '\t' + CodeInfo.FEEDBACKSUCCESS.toString());
result.setCode(CodeInfo.FEEDBACKSUCCESS.getCode());
result.setMessage(CodeInfo.FEEDBACKSUCCESS.getMessage());
return result;
}
评论