cshenfu
2024-06-27 58aa6e282bb343503be3cb198948328ea3ed7b79
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
'use strict';
module.exports = {
    /**
     * 修改用户所做题目状态
     * @url client/quest-bank/kh/saveAnswer 前端调用的url参数地址
     * data 请求参数
     * @param {String} params1  参数1
     */
    main: async (event) => {
        let { data = {}, userInfo, util, filterResponse, originalParam } = event;
        let { customUtil, uniID, config, pubFun, vk, db, _ } = util;
        let { uid, answercard, typeId, cate_id } = data;
        let res = { code: 0, msg: "" };
        // 业务逻辑开始-----------------------------------------------------------
        let time = new Date().getTime()
        // 遍历
        for (let key in answercard) {
            // 先找之前有没有写过
            let info = await vk.baseDao.findByWhereJson({
                dbName: "q_user_count",
                whereJson: {
                    type_id: typeId,
                    question_id: key,
                    user_id: uid
                }
            })
            // 新增
            if (info == null) {
                await vk.baseDao.add({
                    dbName: "q_user_count",
                    dataJson: {
                        type_id: typeId,
                        question_id: key,
                        user_id: uid,
                        answer: answercard[key].a,
                        is_right: answercard[key].r,
                        _add_time: time,
                        cate_id
                    }
                });
            }
            // 修改
            if (info != null) {
                let newInfo = await vk.baseDao.updateById({
                    dbName: "q_user_count",
                    id: info._id,
                    dataJson: {
                        type_id: typeId,
                        question_id: key,
                        user_id: uid,
                        answer: answercard[key].a,
                        is_right: answercard[key].r,
                        _add_time: time,
                        _add_time_str: vk.pubfn.timeFormat(time, "yyyy-MM-dd hh:mm:ss"),
                    },
                });
            }
 
            // 错题存储
            if (answercard[key].r == 2) {
                let error = await vk.baseDao.findByWhereJson({
                    dbName: "q_user_error",
                    whereJson: {
                        question_id: key,
                        user_id: uid
                    }
                })
                // 新增
                if (error == null) {
                    await vk.baseDao.add({
                        dbName: "q_user_error",
                        dataJson: {
                            question_id: key,
                            user_id: uid
                        }
                    });
                }
                // 修改
                if (error != null) {
                    let newInfo = await vk.baseDao.updateById({
                        dbName: "q_user_error",
                        id: error._id,
                        dataJson: {
                            question_id: key,
                            user_id: uid
                        },
                    });
                }
            }
        }
 
        // 业务逻辑结束-----------------------------------------------------------
        return res;
    }
}