cshenfu
2024-05-21 09d8c671d5e6e6045677bfb5218a5fb78c26aa0f
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
const formRules = require("../util/formRules.js");
module.exports = {
  /**
   * 批量新增
   * @url admin/system/menu/sys/adds 前端调用的url参数地址
   * data 请求参数 说明
     * @param {Number} mode                     模式 1 :覆盖 2:忽略
     * @param {Array<Object>} menus     菜单json
   * res 返回参数说明
   * @param {Number} code 错误码,0表示成功
   * @param {String} msg 详细信息
   */
  main: async (event) => {
        let { data = {}, userInfo, util, filterResponse, originalParam } = event;
        let { customUtil, uniID, config, pubFun, vk , db, _ } = util;
        let { uid } = data;
        let res = { code : 0, msg : '' };
    // 业务逻辑开始----------------------------------------------------------- 
        let { 
            mode, 
            menus, 
        } = data;
        
        // 参数合法校验开始-----------------------------------------------------------
        let formRulesRes = await formRules.adds(event);
        if(formRulesRes.code !== 0){
            return formRulesRes;
        }
        // 参数合法校验结束-----------------------------------------------------------
        let dataArr = [];
        for(let i=0;i<menus.length;i++){
            let {
                menu_id, 
                name,
                comment,
                url,
                icon,
                sort = 0,
                parent_id,
                enable = true
            } = menus[i];
            
            dataArr.push({
                menu_id,
                name,
                comment,
                url,
                icon,
                sort,
                parent_id,
                enable
            });
        }
        if(mode == 1){
            // 如果是覆盖,则先删除原先的数据
            let menuIds = vk.pubfn.arrayObjectGetArray(dataArr, "menu_id");
            await vk.baseDao.del({
                dbName:"opendb-admin-menus",
                whereJson:{
                    menu_id : _.in(menuIds)
                }
            });
        }
        // 执行数据库API请求
        await vk.baseDao.adds({
            dbName:"opendb-admin-menus",
            dataJson:dataArr
        });
    return res;
  }
 
}