Example #1
0
 success: function(msgResponse) {
   var contents = [];
   if (msgResponse.length == 0) {
     // add new msg
     var msgOBJ = new MSG();
     msgOBJ.set("msg", msgFromUser);
     msgOBJ.set("replyMsg", replyMsgFromUser);
     var msgChar = msgFromUser.join('');
     var wc = wordcut.cut(msgChar)
     let arr = wc.split('|');
     msgOBJ.set("wordsArray", arr);
     msgOBJ.save(null, {
       success: function(success) {
         response.success({
           "msg": msgFromUser,
           "replyMsg": replyMsgFromUser
         });
       },
       error: function(error) {
         response.error("save failed : " + error.code);
       }
     });
   } else {
     // put another reply
     var msgOBJ = new MSG();
     msgOBJ = msgResponse[0];
     for (var i = 0; i < msgFromUser.length; i++) {
       var msgChar = msgFromUser[i];
       var wc = wordcut.cut(msgChar)
       let arr = wc.split('|');
       msgOBJ.addUnique("wordsArray", arr);
       msgOBJ.addUnique("msg", msgFromUser[i]);
     }
     for (var i = 0; i < replyMsgFromUser.length; i++) {
       msgOBJ.addUnique("replyMsg", replyMsgFromUser[i]);
     }
     msgOBJ.save(null, {
       success: function(success) {
         response.success({
           "msg": msgFromUser,
           "replyMsg": replyMsgFromUser
         });
       },
       error: function(error) {
         response.error("save failed : " + error.code);
       }
     });
   }
   //response.success(msgResponse);
 },
Example #2
0
Parse.Cloud.define('findBestReplyMsg', function(request, response) {
  var MSG = Parse.Object.extend("Message");
  var query = new Parse.Query(MSG);
  var msgFromUser = request.params.msg;
  //console.log("request:" + request.params["msg"]);
  //console.log("msg from user:"******"request null values");
  } else {
    var wc = wordcut.cut(msgFromUser)
    let arr = wc.split('|');
    var msgChar = arr.join('.*');

    query.matches("msg", '.*' + msgChar + '.*');
    query.limit(appQueryLimit);
    query.find({
      success: function(msgResponse) {
        var contents = [];
        if (msgResponse.length == 0) {
          response.success({
            "msg": msgFromUser,
            "replyMsg": ""
          });
        } else {
          //console.log("all msgResponse:" + JSON.stringify(msgResponse));
          contents = msgResponse[0].get("replyMsg");
          //console.log("contents:" + contents);
          var replyCount = contents.length;
          //console.log("replyCount:" + replyCount);
          if (replyCount == 0) {
            response.success({
              "msg": msgFromUser,
              "replyMsg": ""
            });
            //console.log("resultReplyMsg:" + "0");
          } else {
            var randomIndex = Math.floor((Math.random() * replyCount) + 0);
            //console.log("randomIndex:" + randomIndex);
            var resultReplyMsg = contents[randomIndex].toString();
            response.success({
              "msg": msgFromUser,
              "replyMsg": resultReplyMsg
            });
            //console.log("resultReplyMsg:" + resultReplyMsg);
          }
        }
        //response.success(msgResponse);
      },
      error: function() {
        response.error("get replyMsg failed");
      }
    });
  }
});
Example #3
0
  }).then(function(res) {
      var objs = [];
      var removeobjs = [];
      if(res.length == 0){
        response.success("chain2 done");
        console.log(" chain2 res 0");

      }else {
        console.log(" chain2 res.length:" +res.length);

        for (var i = 0; i < res.length; i++) {
          var obj = res[i];
          var msgArray = res[i].get('msg');
          var replyMsgArray = res[i].get('replyMsg');
          var msgChar = msgArray.join('');
          var wc = wordcut.cut(msgChar)
          let arr = wc.split('|');
          var msgObj = new MSG();
          msgObj.set("wordsArray", arr);
          msgObj.set("msg", msgArray);
          msgObj.set("replyMsg", replyMsgArray);

          objs.push(msgObj);
          removeobjs.push(obj);
        }
        Parse.Object.saveAll(objs, {
          success: function(result) {
            console.log("saveAll done");
            Parse.Object.destroyAll(removeobjs, {
              success: function(result) {
                //response.success("chain2 done and run chain1");
                chain1(function(r){

                });
                console.log(" chain2 done and run chain1");
              },
              error: function(err) {
                //response.error("destroyAll error:" + err.message);
                console.log(" chain2  err.message:" +  err.message);

              }
            });
          },
          error: function(err) {
            //response.error("saveAll error:" + err.message);
            console.log(" chain2  err.message:" +  err.message);

          }
        });

      }
    },
Example #4
0
  }).then(function(res) {
      var objs = [];
      for (var i = 0; i < res.length; i++) {
        var obj = res[i];
        var msgArray = res[i].get('msg');
        var msgChar = msgArray.join('');
        var wc = wordcut.cut(msgChar)
        let arr = wc.split('|');
        obj.set("wordsArray", arr);
        objs.push(obj);
        //console.log("arr:" + JSON.stringify(arr));
      }
      Parse.Object.saveAll(objs, {
        success: function(result) {
          response.success("done");
        },
        error: function(err) {
          response.error("saveAll error:" + err.message);
        }
      });

    },
Example #5
0
Parse.Cloud.define("findBestMsgFromUnknow", function(request, response) {
  var MSG = Parse.Object.extend("Message");
  var query = new Parse.Query(MSG);
  var msgFromUser = request.params.msg;
  var wc = wordcut.cut(msgFromUser)
  let arr = wc.split('|');
  //console.log("wordcut:" + wordcut.cut(msgFromUser));
  //console.log("request:" + request.params["msg"]);
  //console.log("msg from user:"******"arr:" + JSON.stringify(arr));

  if (msgFromUser == null) {
    response.error("request null values");
  } else {
    query.containedIn("wordsArray", arr);
    query.limit(appQueryLimit);
    query.find({
      success: function(msgResponse) {
        var contents = [];
        if (msgResponse.length == 0 || msgResponse == null) {
          response.success({
            "msg": msgFromUser,
            "replyMsg": ""
          });
        } else {
          var msgArray = [];
          _.each(msgResponse, function(obj) {
            var msgs = obj.get('msg');
            _.each(msgs, function(msg) {
              msgArray.push(msg);
            });
          });
          var matches = stringSimilarity.findBestMatch(msgFromUser, msgArray);
          //console.log("matches:" + JSON.stringify(matches));
          //console.log("best matches:" + JSON.stringify(matches.bestMatch));
          var target = matches.bestMatch.target;
          //console.log("result bestMatch target:" + target);

          getReplyMsg({
            params: {
              msg: target
            }
          }, {
            success: function(result) {
              //console.log("result:" + JSON.stringify(result));
              response.success({
                "msg": msgFromUser,
                "replyMsg": result.replyMsg
              });
            },
            error: function(error) {
              response.error(error);
            }
          });
        }
        //response.success(msgResponse);
      },
      error: function() {
        response.error("get replyMsg failed");
      }
    });
  }
});
Example #6
0
Parse.Cloud.define("findBestReplyMsgFromCharSet", function(request, response) {
  var MSG = Parse.Object.extend("Message");
  var query = new Parse.Query(MSG);
  var msgFromUser = request.params.msg;
  var wc = wordcut.cut(msgFromUser)
  let arr = wc.split('|');
  //console.log("wordcut:" + wordcut.cut(msgFromUser));

  //console.log("request:" + request.params["msg"]);
  //console.log("msg from user:"******"arr:" + JSON.stringify(arr));

  if (msgFromUser == null) {
    response.error("request null values");
  } else {
    query.containedIn("wordsArray", arr);
    query.limit(appQueryLimit);
    query.find({
      success: function(msgResponse) {
        var contents = [];
        if (msgResponse.length == 0) {
          response.success({
            "msg": msgFromUser,
            "replyMsg": ""
          });
        } else {
          var randomMsgResponseIndex = Math.floor((Math.random() * msgResponse.length) + 0);
          //console.log("all msgResponse:" + JSON.stringify(msgResponse));
          var msgArray = [];
          _.each(msgResponse, function(obj) {
            var msgs = obj.get('msg');
            _.each(msgs, function(msg) {
              msgArray.push(msg);
            });
          });
          var matches = stringSimilarity.findBestMatch(msgFromUser, msgArray);
          //console.log("matches:" + JSON.stringify(matches));
          //console.log("best matches:" + JSON.stringify(matches.bestMatch));
          contents = msgResponse[randomMsgResponseIndex].get("replyMsg");
          //console.log("contents:" + contents);
          var replyCount = contents.length;
          //console.log("replyCount:" + replyCount);
          if (replyCount == 0) {
            response.success({
              "msg": msgFromUser,
              "replyMsg": ""
            });
            //console.log("resultReplyMsg:" + "0");
          } else {
            var randomIndex = Math.floor((Math.random() * replyCount) + 0);
            //console.log("randomIndex:" + randomIndex);
            var resultReplyMsg = contents[randomIndex].toString();
            response.success({
              "msg": msgFromUser,
              "replyMsg": resultReplyMsg
            });
            //console.log("resultReplyMsg:" + resultReplyMsg);
          }
        }
        //response.success(msgResponse);
      },
      error: function() {
        response.error("get replyMsg failed");
      }
    });
  }
});