2014-12-10 21:01:34 +08:00
|
|
|
|
define(function (require, exports, module) {
|
|
|
|
|
var ordersubmit = require("../ui/ui-submit-order.js");
|
|
|
|
|
var sessMgr = require("../account/sessionMgr.js");
|
2014-12-11 22:15:32 +08:00
|
|
|
|
var cacheKey = "ydcoupon";
|
2014-12-10 21:01:34 +08:00
|
|
|
|
|
|
|
|
|
var toHex = function (b) {
|
|
|
|
|
var str = b.toString(16);
|
|
|
|
|
return str.length == 2 ? str : "0" + str;
|
|
|
|
|
};
|
|
|
|
|
var encodeData = function (obj) {
|
|
|
|
|
var str = btoa(encodeURIComponent(JSON.stringify(obj)));
|
|
|
|
|
var code = Math.floor(Math.random() * 256);
|
|
|
|
|
|
|
|
|
|
var result = [toHex(code)];
|
|
|
|
|
for (var i = 0; i < str.length; i++) {
|
|
|
|
|
result.push(toHex(str.charCodeAt(i) ^ code));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result.join("");
|
|
|
|
|
};
|
|
|
|
|
|
2014-12-11 22:15:32 +08:00
|
|
|
|
var cacheResult = function (data) {
|
|
|
|
|
if (!data)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
localStorage[cacheKey] = JSON.stringify(data);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var loadCache = function () {
|
|
|
|
|
var cacheStr = localStorage[cacheKey];
|
|
|
|
|
if (!cacheStr)
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
|
|
var data = JSON.parse(cacheStr);
|
|
|
|
|
var time = data.time || 0;
|
|
|
|
|
|
|
|
|
|
if ((new Date().getTime() - time) > 1000 * 3600 * 24 * 3)
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
|
|
return data;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var showResult = function (data) {
|
|
|
|
|
var container = $(".ticket-submit-success-bd");
|
2014-12-12 23:28:35 +08:00
|
|
|
|
container.find("i").html(data.desc + "优惠码 <strong>" + data.code + "</strong>");
|
2014-12-11 22:15:32 +08:00
|
|
|
|
container.show();
|
|
|
|
|
};
|
|
|
|
|
|
2014-12-10 21:01:34 +08:00
|
|
|
|
ordersubmit.on("orderSuccess", function (e, orderdata) {
|
2014-12-12 23:28:35 +08:00
|
|
|
|
$(".ticket-submit-success-bd").hide();
|
|
|
|
|
|
2014-12-11 22:15:32 +08:00
|
|
|
|
var data = loadCache();
|
|
|
|
|
if (data) {
|
|
|
|
|
showResult(data);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2014-12-10 21:01:34 +08:00
|
|
|
|
var orderId = orderdata.orderId;
|
|
|
|
|
var userid = sessMgr.current.username;
|
|
|
|
|
var amount = _.reduce(_.map(orderdata.passengers, function (p) {
|
|
|
|
|
var seat = _.findWhere(p.seats, { code: p.seat });
|
|
|
|
|
return (seat && seat.price) || 0;
|
|
|
|
|
}), function (a, b) { return a + b; }, 0);
|
2014-12-11 22:15:32 +08:00
|
|
|
|
|
|
|
|
|
var requestData = {
|
|
|
|
|
orderId: orderId,
|
|
|
|
|
amount: amount,
|
|
|
|
|
userName: userid,
|
|
|
|
|
timeStamp: new Date().getTime()
|
|
|
|
|
};
|
2014-12-12 23:28:35 +08:00
|
|
|
|
var request = $.post("http://wxservice.ijinshan.com/Outward/ticketCode", { data: encodeData(requestData) });
|
2014-12-11 22:15:32 +08:00
|
|
|
|
request.done(function (result) {
|
|
|
|
|
if (result && result.success) {
|
|
|
|
|
result.time = new Date().getTime();
|
|
|
|
|
cacheResult(result);
|
|
|
|
|
showResult(result);
|
|
|
|
|
}
|
|
|
|
|
}).fail(function () {
|
|
|
|
|
|
|
|
|
|
});
|
2014-12-10 21:01:34 +08:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//var decodeToArray = function (str) {
|
|
|
|
|
// var arr = [];
|
|
|
|
|
// for (var i = 0; i < str.length; i += 2)
|
|
|
|
|
// arr.push(parseInt(str.substr(i, 2), 16));
|
|
|
|
|
|
|
|
|
|
// return arr;
|
|
|
|
|
//};
|
|
|
|
|
//var decodeArray = function (arr) {
|
|
|
|
|
// var seed = arr.shift();
|
|
|
|
|
// for (var i = 0; i < arr.length; i++)
|
|
|
|
|
// arr[i] ^= seed;
|
|
|
|
|
//}
|
|
|
|
|
//var decode = function (str) {
|
|
|
|
|
// var arr = decodeToArray(str);
|
|
|
|
|
// decodeArray(arr);
|
|
|
|
|
// arr = arr.map(function (code) { return String.fromCharCode(code); });
|
|
|
|
|
// var resultStr = decodeURIComponent(atob(arr.join("")));
|
|
|
|
|
// return JSON.parse(resultStr);
|
|
|
|
|
//};
|
|
|
|
|
|
|
|
|
|
//window.decodeTest = decode;
|
|
|
|
|
});
|