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
const userGoodsDao = require('../../dao/modules/userGoodsDao.js')
 
module.exports = async (obj, originalParam) => {
    let user_order_success = true;
    let {
        data = {}, verifyResult
    } = obj;
    let {
        db,
        _
    } = originalParam;
    let {
        out_trade_no,
        total_fee
    } = data;
 
    //设置订单支付成功
    let order = await db.collection('uni-id-base-order').doc(out_trade_no)
        .update({
            status: 2,
            transaction_id: data.payNo,
            paid_time: new Date().getTime(),
            update_time: new Date().getTime()
        });
 
    //----发货----
    let goods = await db.collection('order_goods').where({
        oid: out_trade_no
    }).get()
 
    let ids = []
    let userGoods = goods.data.map(v => {
        //后期可以再加入课程有效期 分销逻辑等
        let item = {
            user_id: v.user_id,
            goods_id: v.goods_id,
            goods_type: v.type,
            oid: v.oid,
        }
        ids.push(v.goods_id)
        return item
    })
 
    //课程订阅人数+1
    let addRes = await db.collection('live_course').where({
        _id: _.in(ids)
    }).update({
        "user_count": _.inc(1)
    })
 
    let res = await userGoodsDao.addAllUserGoods(userGoods)
 
    return user_order_success;
};