启用快速提交模式(仅常规订单)
This commit is contained in:
parent
d7a3625db9
commit
18d9200095
@ -6,12 +6,7 @@
|
||||
var formData;
|
||||
var submitData;
|
||||
|
||||
window.test=function(token, data) {
|
||||
submitToken = token;
|
||||
submitData = data;
|
||||
}
|
||||
|
||||
exports.formatJson = function(data) {
|
||||
exports.formatJson = function (data) {
|
||||
return data.replace(/'/g, '"');
|
||||
};
|
||||
|
||||
@ -61,12 +56,173 @@
|
||||
return def;
|
||||
};
|
||||
|
||||
exports.fastPrepareOrder = function(train, profile) {
|
||||
exports.fastPrepareOrder = function (train, profile, passenger) {
|
||||
var purposeCode = profile.studentTicket ? "0X00" : "ADULT";
|
||||
var pas1 = [];
|
||||
var pas2 = [];
|
||||
|
||||
passenger.forEach(function (e) {
|
||||
pas1.push(e.seat + "," + "1" + "," + e.passenger_type + "," + e.passenger_name + "," + e.passenger_id_type_code + "," + e.passenger_id_no + "," + e.mobile_no + "," + (profile.resign ? "Y" : "N"));
|
||||
if (e.passenger_type === "2")
|
||||
pas2.push(" ");
|
||||
else pas2.push(e.passenger_name + "," + e.passenger_id_type_code + "," + e.passenger_id_no + "," + e.passenger_type);
|
||||
});
|
||||
pas1 = pas1.join("_");
|
||||
pas2 = pas2.join("_") + "_";
|
||||
var data = "secretStr" + "=" + train.secureStr + "&train_date=" + train.date + "&tour_flag" + "=" + (profile.resign ? "gc" : "dc") + "&" +
|
||||
"purpose_codes" + "=" + purposeCode + "&" +
|
||||
"query_from_station_name" + "=" + profile.fromText + "&" +
|
||||
"query_to_station_name" + "=" + profile.toText + "&" + (ajax.userAtts ? "_json_att=" + ajax.userAtts : "undefined") +
|
||||
"&cancel_flag=2&bed_level_order_num=000000000000000000000000000000&" +
|
||||
"passengerTicketStr=" + pas1 + "&" +
|
||||
"oldPassengerStr=" + pas2
|
||||
;
|
||||
|
||||
var def = new $.Deferred();
|
||||
|
||||
var autoSubmitRequest = function () {
|
||||
ajax.sendPost("confirmPassenger/autoSubmitOrderRequest", "leftTicket/init", data, "json", function (json) {
|
||||
if (!json.status || !json.data) {
|
||||
def.reject({ msg: parser.getError(json).message || "12306返回了未知的状态信息,请刷新重试。" });
|
||||
} else if (json.data.isRelogin) {
|
||||
def.reject({ msg: "请重新登录" });
|
||||
} else if (json.data.errMsg) {
|
||||
def.reject({ msg: "无法提交订单:" + json.data.errMsg });
|
||||
} else {
|
||||
var arr = json.data.result.split('#');
|
||||
submitData = {
|
||||
key_check_isChange: arr[1],
|
||||
leftTicketStr: arr[2],
|
||||
train_location: arr[0],
|
||||
async: arr[3]
|
||||
};
|
||||
checkQueueInfo();
|
||||
}
|
||||
}, function () {
|
||||
def.reject({ msg: "12306不给力唷,请尽快重试..." });
|
||||
});
|
||||
};
|
||||
var checkQueueInfo = function () {
|
||||
def.notify({ msg: "正在检测排队信息..." });
|
||||
|
||||
|
||||
ajax.sendPost("confirmPassenger/getQueueCountAsync", "leftTicket/init", {
|
||||
train_date: new Date(train.date) + '',
|
||||
train_no: train.id,
|
||||
stationTrainCode: train.code,
|
||||
seatType: passenger[0].seat,
|
||||
fromStationTelecode: train.from.code,
|
||||
toStationTelecode: train.to.code,
|
||||
leftTicket: submitData["leftTicketStr"],
|
||||
purpose_codes: profile.studentTicket ? "0X00" : "ADULT",
|
||||
_json_att: ajax.userAtts
|
||||
}, "json", function (json) {
|
||||
if (!json || !json.status || !json.data) {
|
||||
def.reject({ msg: (parser.getError(json) || { message: "未知错误" }).message });
|
||||
} else if (json.data.isRelogin) {
|
||||
def.reject({ msg: "登录状态异常,请重新登录。" });
|
||||
} else if (json.data.op_2 === "true") {
|
||||
def.reject({ msg: "排队人数过多,不允许提交订单。排队人数=" + json.data.countT });
|
||||
} else {
|
||||
def.resolve({ success: true });
|
||||
}
|
||||
}, function () {
|
||||
def.reject({ msg: "12306不给力啊,唉。出现网络错误了,请重试.." });
|
||||
});
|
||||
};
|
||||
autoSubmitRequest();
|
||||
|
||||
return def;
|
||||
};
|
||||
|
||||
exports.fastSubmitOrder = function (train, profile, passenger, randcode) {
|
||||
var def = new $.Deferred();
|
||||
|
||||
var pas1 = [];
|
||||
var pas2 = [];
|
||||
|
||||
passenger.forEach(function (e) {
|
||||
pas1.push(e.seat + "," + "1" + "," + e.passenger_type + "," + e.passenger_name + "," + e.passenger_id_type_code + "," + e.passenger_id_no + "," + e.mobile_no + "," + (profile.resign ? "Y" : "N"));
|
||||
if (e.passenger_type === "2")
|
||||
pas2.push(" ");
|
||||
else pas2.push(e.passenger_name + "," + e.passenger_id_type_code + "," + e.passenger_id_no + "," + e.passenger_type);
|
||||
});
|
||||
pas1 = pas1.join("_");
|
||||
pas2 = pas2.join("_") + "_";
|
||||
|
||||
|
||||
var submitOrder = function () {
|
||||
def.notify({ msg: "正在提交订单..." });
|
||||
|
||||
var url = "confirmPassenger/confirmSingleForQueueAsys";
|
||||
var data = {
|
||||
passengerTicketStr: pas1,
|
||||
oldPassengerStr: pas2,
|
||||
randCode: randcode,
|
||||
purpose_codes: profile.studentTicket ? "0X00" : "ADULT",
|
||||
key_check_isChange: submitData["key_check_isChange"],
|
||||
leftTicketStr: submitData["leftTicketStr"],
|
||||
train_location: submitData["train_location"],
|
||||
_json_att: ajax.userAtts
|
||||
}
|
||||
|
||||
ajax.sendPost(url, "leftTicket/init", data, "json", function (json) {
|
||||
if (!json || !json.status || !json.data) {
|
||||
def.reject({ msg: parser.getError(json) });
|
||||
} else if (!json.data.submitStatus) {
|
||||
def.reject({ msg: json.data.errMsg || "提交订单错误,错误原因未知..." });
|
||||
} else {
|
||||
waitQueueToComplete();
|
||||
}
|
||||
}, function () {
|
||||
def.reject({ msg: "12306不给力啊,唉。出现网络错误了,请重试.." });
|
||||
});
|
||||
};
|
||||
|
||||
var waitQueueToComplete = function () {
|
||||
def.notify({ msg: "正在等待订单处理..." });
|
||||
|
||||
var url = "confirmPassenger/queryOrderWaitTime?random=" + Math.random() + "&tourFlag=" + "dc" + "&_json_att=" + ajax.userAtts;
|
||||
var callback = function (json) {
|
||||
if (!json || !json.status || !json.data) {
|
||||
def.notify({ msg: "检查队列时出现错误,重试中..." });
|
||||
setTimeout(sendRequest, 2000);
|
||||
} else if (!json.data.queryOrderWaitTimeStatus) {
|
||||
def.reject({ msg: (parser.getError(json) || { message: "检查队列时出现错误,请重试..." }).message });
|
||||
} else if (json.data.waitTime === -1) {
|
||||
def.resolve({ orderId: json.data.orderId });
|
||||
} else if (json.data.waitTime < 0) {
|
||||
def.reject({ msg: json.data.msg || "出票失败..." });
|
||||
} else {
|
||||
def.notify({ msg: "等待订单处理(预计 " + formatSeconds(json.data.waitTime) + " 完成,排队 " + json.data.waitCount + " 人)..." });
|
||||
setTimeout(sendRequest, 2000);
|
||||
}
|
||||
};
|
||||
var sendRequest = function () {
|
||||
ajax.sendGet(url, "leftTicket/init", null, "json", callback, function () {
|
||||
def.notify({ msg: "检查队列时出现错误,重试中..." });
|
||||
setTimeout(sendRequest, 2000);
|
||||
});
|
||||
};
|
||||
var formatSeconds = function (num) {
|
||||
if (num < 60)
|
||||
return num + "秒";
|
||||
var str = (num % 60) + "秒";
|
||||
num = Math.round(num / 60);
|
||||
str = (num % 60) + "分" + str;
|
||||
if (num >= 60) {
|
||||
num = Math.round(num / 60);
|
||||
str = num + "时" + str;
|
||||
}
|
||||
|
||||
return str;
|
||||
};
|
||||
|
||||
sendRequest();
|
||||
};
|
||||
submitOrder();
|
||||
|
||||
return def;
|
||||
};
|
||||
|
||||
exports.submitOrder = function (train, profile, passenger, randcode) {
|
||||
@ -137,7 +293,7 @@
|
||||
|
||||
ajax.sendPost("confirmPassenger/getQueueCount", page, data, "json", function (json) {
|
||||
if (!json || !json.status || !json.data) {
|
||||
def.reject({ msg: (parser.getError(json)|| {message:"未知错误"}).message });
|
||||
def.reject({ msg: (parser.getError(json) || { message: "未知错误" }).message });
|
||||
} else if (json.data.isRelogin) {
|
||||
def.reject({ msg: "登录状态异常,请重新登录。" });
|
||||
} else if (json.data.op_2 === "true") {
|
||||
|
@ -20,8 +20,8 @@
|
||||
pPassengers = ps.selectedPassenger;
|
||||
exports.prepareOrder().done(function () { exports.showConfirmOrderUi(); });
|
||||
});
|
||||
so.on("requireResubmitOrder", function() {
|
||||
exports.prepareOrder().done(function() { exports.showConfirmOrderUi(); });
|
||||
so.on("requireResubmitOrder", function () {
|
||||
exports.prepareOrder().done(function () { exports.showConfirmOrderUi(); });
|
||||
});
|
||||
};
|
||||
|
||||
@ -65,7 +65,8 @@
|
||||
exports.prepareOrder = function () {
|
||||
var tip = new mp.MessagePopup("loading", "正在准备提交订单,请稍等...");
|
||||
tip.show();
|
||||
var def = op.prepareOrder(pTrain, pProfile);
|
||||
|
||||
var def = pProfile.resign ? op.prepareOrder(pTrain, pProfile) : op.fastPrepareOrder(pTrain, pProfile, pPassengers);
|
||||
|
||||
def.done(function () {
|
||||
tip.close();
|
||||
|
@ -60,6 +60,8 @@
|
||||
}
|
||||
$("#ticket-submit-info").find(">section").hide().first().show().find(":text").val("")[0].select();
|
||||
submitProgress.hide();
|
||||
|
||||
$("#ticket-submit-info .ticket-submit-vc").attr("data-target", profile.resign ? "order" : "login");
|
||||
if (!vc_inited) {
|
||||
vc_inited = true;
|
||||
vc.load($("#ticket-submit-info .ticket-submit-vc"));
|
||||
@ -84,7 +86,7 @@
|
||||
submitBtn[0].disabled = true;
|
||||
submitProgress.removeClass().addClass("ticket-submit-status ticket-submit-status-loading").show().find("span").html("正在提交订单中...");
|
||||
|
||||
submitDef = op.submitOrder(pTrain, pProfile, pPassengers, randCode);
|
||||
submitDef = pProfile.resign ? op.submitOrder(pTrain, pProfile, pPassengers, randCode) : op.fastSubmitOrder(pTrain, pProfile, pPassengers, randCode);
|
||||
submitDef.done(function (data) {
|
||||
that.fireEvent("orderSuccess", data);
|
||||
var dom = $("#ticket-submit-info").find("section.ticket-submit-info-vc").hide().end().find("section.ticket-submit-info-status-ok").show();
|
||||
|
Loading…
Reference in New Issue
Block a user