Blame view

ais-structure/src/modules/membercard/getMembership.ctrl.js 5.43 KB
8221da7a   Nattapon Wongpaet   update flow membe...
1
2
3
4
5
6
7
8
9
10
11
var parseJson = require('xml-js');

var stats = require('../helper/stats.js'); 
var messageSOAP = require('../helper/messageSOAP.js'); 
var validatorHelper = require('../helper/validator.js');
var connection = require('../helper/connection.js');
var responseMsg = require('../helper/responseMsg.js');
var log = require('../helper/log.js');
var constant = require('../helper/constants.js')

exports.getMembership = async function (req, res, next) {
818cf50b   Nattapon Wongpaet   update get custom...
12
13
14
15
    var getCmd = "CustomerMembership";
    var sendCusCmd = "Customer";
    var sendMemCmd = "MemberCard";
    var d01 = "D01";
8221da7a   Nattapon Wongpaet   update flow membe...
16
17
    var method = constant.METHOD.GET;

818cf50b   Nattapon Wongpaet   update get custom...
18
19
20
21
22
23
24
    if(req.params.customerId){
        var customerId = req.params.customerId
    } else if(req.params.userData && req.params.userType){
        var customerId = req.params.userData+"@"+req.params.userType
    } else if(req.query.clientName && req.query.commandId){
        var customerId = req.query.clientName+"@"+req.query.commandId;
    }
8221da7a   Nattapon Wongpaet   update flow membe...
25

1f123eb1   Nattapon Wongpaet   update post membe...
26
27
    log.startlog(method+"_"+getCmd,req.query.commandId,customerId);
    log.logDetail.addInput(req.query.clientName,method+"_"+getCmd,constant.REQUEST,req,req.body);
8221da7a   Nattapon Wongpaet   update flow membe...
28
    
b77690fa   Nattapon Wongpaet   update post custo...
29
    var err = validator(req,getCmd);
8221da7a   Nattapon Wongpaet   update flow membe...
30
31
32
    
    if(err.length > 0)
    {
1f123eb1   Nattapon Wongpaet   update post membe...
33
        log.addErrorSummary(req.query.clientName,method+"_"+getCmd,"null","Fail");
8221da7a   Nattapon Wongpaet   update flow membe...
34
35
        log.log(err,'error'); 
        var response = responseMsg.error(req,getCmd,40300);
8221da7a   Nattapon Wongpaet   update flow membe...
36
37
        // res.status(200).json(response);
    }else
1f123eb1   Nattapon Wongpaet   update post membe...
38
    {        
818cf50b   Nattapon Wongpaet   update get custom...
39
        log.addSuccessSummary(req.query.clientName,method+"_"+getCmd,"null","Success");
03f3be38   Nattapon Wongpaet   fix bugs
40
        var objectData = Object.assign(req.query,req.params);
1f123eb1   Nattapon Wongpaet   update post membe...
41
        const result = await connection.requestJsonToD01(objectData,sendCusCmd,method);
887b2ec5   Nattapon Wongpaet   update put customer
42
        log.logDetail.addInput(d01,method+"_"+sendCusCmd,constant.RESPONSE,result,result.response);
9a512329   Nattapon Wongpaet   no flow membership
43
44
        if(typeof result.err === 'undefined'){  
            var resultObj = result.response;
8221da7a   Nattapon Wongpaet   update flow membe...
45
            if(resultObj.resultCode.startsWith("2"))
818cf50b   Nattapon Wongpaet   update get custom...
46
47
48
49
50
            {
                if(resultObj.resultData && resultObj.resultData.length>0)
                {
                    log.addSuccessSummary(d01,method+"_"+sendCusCmd,resultObj.resultCode,resultObj.resultDescription);
                    var cusIdArr = [];
887b2ec5   Nattapon Wongpaet   update put customer
51
                    stats.receiveRestResponse(d01,method,sendCusCmd,constant.SUCCESS);
818cf50b   Nattapon Wongpaet   update get custom...
52
                    for(var i = 0; i < resultObj.resultData.length; i++){
887b2ec5   Nattapon Wongpaet   update put customer
53
                        cusIdArr.push(resultObj.resultData[i].customerId)
818cf50b   Nattapon Wongpaet   update get custom...
54
55
56
                    }
                    objectData = {customerId : cusIdArr}
                    // console.log(objectData)
03f3be38   Nattapon Wongpaet   fix bugs
57
58
                    const resultMemberCard = await connection.requestJsonToD01(objectData,sendMemCmd,method);
                    stats.receiveRestResponse(d01,method,sendMemCmd,constant.SUCCESS);
818cf50b   Nattapon Wongpaet   update get custom...
59
                    log.logDetail.addInput(d01,method+"_"+sendCusCmd,constant.RESPONSE,resultMemberCard,resultMemberCard.response);
9a512329   Nattapon Wongpaet   no flow membership
60
61
                    // console.log(JSON.stringify(resultMemberCard));
                    var resultMemberCardObj = resultMemberCard.response;
b77690fa   Nattapon Wongpaet   update post custo...
62
63
64
                    console.log(JSON.stringify(resultMemberCardObj))
                    log.addSuccessSummary(d01,method+"_"+sendMemCmd,resultMemberCardObj.resultCode,resultMemberCardObj.resultDescription);

887b2ec5   Nattapon Wongpaet   update put customer
65
66
67
                    for(var i = 0; i < resultObj.resultData.length; i++){
                        for(var j = 0; j < resultMemberCardObj.resultData.length; j++){
                            if(resultMemberCardObj.resultData[j].cardOwnerIdList.includes(resultObj.resultData[i].customerId)){
a0638777   Nattapon Wongpaet   add try catch and...
68
69
70
71
72
73
74
                                resultObj.resultData[i] = Object.assign(resultObj.resultData[i],{cardId : resultMemberCardObj.resultData[j].cardId});
                            }
                        }
                    }
                    var response = responseMsg.success(req,getCmd,resultObj);
                }else
                {
9a512329   Nattapon Wongpaet   no flow membership
75
76
                    stats.receiveRestResponse(d01,method,sendCusCmd,constant.RESPONSERESULT.DATA_NOT_FOUND.developerMessage);
                    var response = responseMsg.error(req,getCmd,40300);
a0638777   Nattapon Wongpaet   add try catch and...
77
                    log.addErrorSummary(d01,method+"_"+sendCusCmd,response.resultCode,response.developerMessage);
9a512329   Nattapon Wongpaet   no flow membership
78
                }
a0638777   Nattapon Wongpaet   add try catch and...
79
80
81
82
            } else {
                stats.receiveRestResponse(d01,method,sendCusCmd,constant.ERROR);
                var response = responseMsg.direct(req,getCmd,resultObj);
                log.addErrorSummary(d01,method+"_"+sendCusCmd,resultObj.resultCode,resultObj.developerMessage);
887b2ec5   Nattapon Wongpaet   update put customer
83
            }
a0638777   Nattapon Wongpaet   add try catch and...
84
85
86
87
        } else {
            stats.receiveRestResponse(d01,method,sendCusCmd,constant.ERROR);
            var response = responseMsg.error(req,getCmd,50000);
            // log.addErrorSummary(d01,method+"_"+sendCmd,response.resultCode,response.developerMessage);
9a512329   Nattapon Wongpaet   no flow membership
88
        }
887b2ec5   Nattapon Wongpaet   update put customer
89
    }
cf541103   Nattapon Wongpaet   update post custo...
90

887b2ec5   Nattapon Wongpaet   update put customer
91
    // console.log(response);
818cf50b   Nattapon Wongpaet   update get custom...
92
    log.logDetail.addOutput(req.query.clientName,method+"_"+getCmd,constant.RESPONSE,response,response); 
9a512329   Nattapon Wongpaet   no flow membership
93
    res.status(200).json(response);
887b2ec5   Nattapon Wongpaet   update put customer
94
    next();
9a512329   Nattapon Wongpaet   no flow membership
95
};
887b2ec5   Nattapon Wongpaet   update put customer
96

9a512329   Nattapon Wongpaet   no flow membership
97

887b2ec5   Nattapon Wongpaet   update put customer
98
function validator(req,cmd)
9a512329   Nattapon Wongpaet   no flow membership
99
{
887b2ec5   Nattapon Wongpaet   update put customer
100
    var list = [];
9a512329   Nattapon Wongpaet   no flow membership
101
    list.push([true,"queryStr","commandId","int"]);
887b2ec5   Nattapon Wongpaet   update put customer
102
    list.push([true,"queryStr","clientName","string"]);
9a512329   Nattapon Wongpaet   no flow membership
103
    // list.push([true,"queryStr","lastName","string"]);
818cf50b   Nattapon Wongpaet   update get custom...
104
    // list.push([true,"queryStr","emailAddress","string"]);
9a512329   Nattapon Wongpaet   no flow membership
105
    // list.push([true,"queryStr","mobileNo","string"]);
887b2ec5   Nattapon Wongpaet   update put customer
106
    // list.push([false,"queryStr","mobileNo","string"]);
27aed231   Nattapon Wongpaet   update post membe...
107
108

    var err = validatorHelper(req,list);
9a512329   Nattapon Wongpaet   no flow membership
109
110
111
    if(err.length > 0)    
        stats.receiveBadRequest(req.method,cmd);    
    else
27aed231   Nattapon Wongpaet   update post membe...
112
        stats.receiveRequest(req.method,cmd);
887b2ec5   Nattapon Wongpaet   update put customer
113

818cf50b   Nattapon Wongpaet   update get custom...
114
    return err;
887b2ec5   Nattapon Wongpaet   update put customer
115
}
818cf50b   Nattapon Wongpaet   update get custom...

9a512329   Nattapon Wongpaet   no flow membership

887b2ec5   Nattapon Wongpaet   update put customer

818cf50b   Nattapon Wongpaet   update get custom...

887b2ec5   Nattapon Wongpaet   update put customer

9a512329   Nattapon Wongpaet   no flow membership

887b2ec5   Nattapon Wongpaet   update put customer

9a512329   Nattapon Wongpaet   no flow membership

887b2ec5   Nattapon Wongpaet   update put customer

9a512329   Nattapon Wongpaet   no flow membership

887b2ec5   Nattapon Wongpaet   update put customer

9a512329   Nattapon Wongpaet   no flow membership

8221da7a   Nattapon Wongpaet   update flow membe...

8221da7a   Nattapon Wongpaet   update flow membe...

887b2ec5   Nattapon Wongpaet   update put customer

818cf50b   Nattapon Wongpaet   update get custom...

8221da7a   Nattapon Wongpaet   update flow membe...

8221da7a   Nattapon Wongpaet   update flow membe...

1f123eb1   Nattapon Wongpaet   update post membe...

8221da7a   Nattapon Wongpaet   update flow membe...