发表于: 2019-11-08 10:02:27

1 953


今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了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;
}





返回列表 返回列表
评论

    分享到