同时将数据保存在多个表中?

时间:2017-12-16 12:44:49

标签: javascript php node.js rest sugarcrm

我正在研究Node REST API,其中我尝试在数据库的不同表中导入CSV文件。我想通过一个函数来实现它,为此,我创建了一个数组并在那里放了4个元素。这些元素也是数据库的模块和表格。

我正在逐个检查数组的元素,如果用户选择了一个元素,那么它将匹配条件并将文件导入数据库并以json格式返回数据。为此,我也在使用' sugarcrm-js-rest-consumer'浏览器和node.js的npm包。 " sugar.setEntries"是该休息使用者的预定义方法。

我还没有在代码中添加任何csv导入包,请在下面找到我的代码以便更好地理解。请帮我解决这个问题。

home.js

/**
 * POST /importfile
 */
exports.importFile = (req, res) => {  
    //var selMod = req.body.selectedModule;
    console.log("req.body---------", req.body);
    var selMod = 'Accounts';

    if(req.body.sessionId != "")
    {   

        var modules = ['Contacts', 'Accounts', 'Leads', 'Opportunities'];

        if (modules.indexOf('Contacts')!=-1 && selMod=='Contacts') {
            console.log("Good day Contacts");
            // setEntries
            sugar.setEntries("Contacts", false, req.body.saveData).then(function(response)
            {
                res.send({status:'success',msg:'Contacts added successfully.',responseData:response['id']});  
            })
            .catch(function(err)
            {
                console.error(err);
                res.send({status:'error',msg:'Unable to created Contacts.'}); 
            });
        }
        else if (modules.indexOf('Accounts')!=-1 && selMod=='Accounts') {
            console.log("Good day Accounts");
            sugar.setEntries("Accounts", false, req.body.saveData).then(function(response)
            {
                res.send({status:'success',msg:'Accounts added successfully.',responseData:response['id']});  
            })
            .catch(function(err)
            {
                console.error(err);
                res.send({status:'error',msg:'Unable to created Accounts.'}); 
            });
        }
        else if (modules.indexOf('Leads')!=-1 && selMod=='Leads') {
            console.log("Good day Leads");
            sugar.setEntries("Leads", false, req.body.saveData).then(function(response)
            {
                res.send({status:'success',msg:'Leads added successfully.',responseData:response['id']});  
            })
            .catch(function(err)
            {
                console.error(err);
                res.send({status:'error',msg:'Unable to created Leads.'}); 
            });
        }
        else if (modules.indexOf('Opportunities')!=-1 && selMod=='Opportunities') {
            console.log("Good day Opportunities");
            sugar.setEntries("Opportunities", false, req.body.saveData).then(function(response)
            {
                res.send({status:'success',msg:'Opportunities added successfully.',responseData:response['id']});  
            })
            .catch(function(err)
            {
                console.error(err);
                res.send({status:'error',msg:'Unable to created Opportunities.'}); 
            });
        }    
    }
    else 
    {
        res.send({status:'error',msg:Constants.COMN_SESSION_MESSAGE}); 
    }
};

的index.php

case '26':
        ?>
            <h3> Import data</h3>
            <form action="http://localhost:5000/importfile" method="POST">
            <table>
                <tr>
                <td>
                Select Module in which you want to import file<select name="modules" id="modules" title="">
                    <option label="Contacts" value="Contacts" selected="selected">Contacts</option>
                    <option label="Accounts" value="Accounts">Accounts</option>
                    <option label="Leads" value="Leads">Leads</option>
                    <option label="Opportunities" value="Opportunities">Opportunities</option>
                </select>  
                </td>
                </tr>
                <tr>
                <td>
                <input type="file" name="fileUpload" value="fileUpload"> 
                </td>
                </tr>
                <tr>
                <td>
                <input type="submit" name="submit" value="submit">  
                </td>
                </tr>    
            </table>            
            </form>
        <?php  
        break;

index.js

app.post('/importfile', homeController.isAuthenticated, homeController.importFile);

0 个答案:

没有答案