Light12306/Web12306/js/platform/parser.js

84 lines
2.4 KiB
JavaScript
Raw Normal View History

2014-06-12 21:36:05 +08:00
define(function (require, exports) {
2014-08-06 20:56:47 +08:00
var utility = require("../utility.js");
2014-06-12 21:36:05 +08:00
exports.getError = function (data) {
/// <summary>获得指定返回数据中的错误信息</summary>
if (data.messages && data.messages instanceof Array) {
return { message: data.messages.join(";") };
}
if (data.data && data.data.isRelogin) {
return { message: "登录状态异常,请重新登录。", relogin: true };
}
return { message: "未知错误信息" };
};
2014-06-26 22:24:54 +08:00
exports.canPassageAddToOrder = function (p) {
if (p.passenger_id_type_code === "C" || p.passenger_id_type_code === "G" || p.passenger_id_type_code === "B")
return true;
if (p.passenger_id_type_code === "2")
return false;
2014-08-26 21:29:58 +08:00
return p.total_times == "93" || p.total_times == "95" || p.total_times == "97" || p.total_times == "99";
2014-06-26 22:24:54 +08:00
};
exports.getAvailableTicketType = function (p, stu) {
var a = [];
var pt = p.passenger_type;
if (pt === "3" && stu) {
a.push({ id: 3, name: "学生票" });
} else {
a.push({ id: 1, name: "成人票" });
a.push({ id: 2, name: "儿童票" });
2014-07-31 21:30:48 +08:00
if (pt === "3")
a.push({ id: 3, name: "学生票" });
2014-06-26 22:24:54 +08:00
}
if (pt === "4") {
a.push({ id: 4, name: "残军票" });
}
return a;
};
2014-07-01 20:07:44 +08:00
exports.processPassenger = function (list) {
list.forEach(function (e) {
2014-06-26 22:24:54 +08:00
e.key = e.passenger_type + "$" + e.passenger_name + "$" + e.passenger_id_type_code + "$" + e.passenger_id_no;
});
};
2014-07-01 20:07:44 +08:00
exports.getSeats = function (trainSeats) {
2014-08-05 20:54:33 +08:00
var seats = _.filter(_.clone(trainSeats), function(t) {return t.count>0;});
2014-07-01 20:07:44 +08:00
//排序
seats.sort(function (x, y) {
return x.price - y.price;
});
//如果有硬座/二等座和无座,则隐藏无座
var removeNonSeat = _.findWhere(seats, { code: "1" }) || _.findWhere(seats, { code: "O" }) || false;
if (removeNonSeat) {
for (var i = 0; i < seats.length; i++) {
if (seats[i].code === "0") {
seats.splice(i, 1);
break;
}
}
2014-09-01 20:24:57 +08:00
} else {
//有无座的时候,则设置无座的席别代码
var emptySeatCode = _.findWhere(trainSeats, { code: "1" }) ? "1" : "O";
var emptyItem = _.findWhere(seats, { code: "0" });
if (emptyItem)
emptyItem.code = emptySeatCode;
2014-07-01 20:07:44 +08:00
}
return seats;
};
2014-07-04 20:57:57 +08:00
2014-08-05 20:54:33 +08:00
exports.sortCity = function (cities) {
/// <summary>对城市进行排序</summary>
cities.sort(function(x,y) {
if (x.s != y.s)
return x.s - y.s;
return x.c > y.c ? 1 : -1;
});
};
2014-07-31 21:30:48 +08:00
});