UNPKG

jbzwebsdk

Version:

Shanghai jinbaozheng easy network technology Co.,Ltd sdk

589 lines (536 loc) 23 kB
// /** // * Created by cuppi on 2016/12/7. // */ 'use strict'; var _promise = require("babel-runtime/core-js/promise"); var _promise2 = _interopRequireDefault(_promise); var _assign = require("babel-runtime/core-js/object/assign"); var _assign2 = _interopRequireDefault(_assign); var _stringify = require("babel-runtime/core-js/json/stringify"); var _stringify2 = _interopRequireDefault(_stringify); var _getIterator2 = require("babel-runtime/core-js/get-iterator"); var _getIterator3 = _interopRequireDefault(_getIterator2); var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require("babel-runtime/helpers/createClass"); var _createClass3 = _interopRequireDefault(_createClass2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } Object.defineProperty(exports, "__esModule", { value: true }); var JNetworkTrade_1 = require("../network/JNetworkTrade"); // /** // * 交易管理类 // * @memberOf module:manager // */ var instance = null; var TradeManager = function () { function TradeManager() { (0, _classCallCheck3.default)(this, TradeManager); if (!instance) { instance = this; } return instance; } /** * 获取单例实例 * @returns {TradeManager} */ (0, _createClass3.default)(TradeManager, [{ key: "lockSeatHandlerFrom", /** * 获取锁座处理者 * @param type 平台类型 * @param paras 参数 * @returns {*} 返回请求promise */ value: function lockSeatHandlerFrom(type, paras) { return JNetworkTrade_1.default.tradeLockSeat(type, paras); } /** * 获取下订单处理者 * @param type 平台类型 * @param paras 参数 * @returns {{terminate, then}|*} 返回请求promise */ }, { key: "confirmOrderHandlerFrom", value: function confirmOrderHandlerFrom(type, paras) { return JNetworkTrade_1.default.tradeApplyOrder(type, paras); } /** * 获取锁座时需要的座位参数 * @param type 平台类型 * @param seatList 座位列表(需要购买的) * @param mobile 手机号码 * @param openId 身份标识符(目前跟手机号码一样) * @returns {*} 返回参数对象 */ }, { key: "seatInforParas", value: function seatInforParas(type, seatList, mobile, openId) { // 网票 if (type === 'wangpiao') { var seatInfos = []; var seatNumberInfos = []; var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for (var _iterator = (0, _getIterator3.default)(seatList), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var seat = _step.value; seatInfos.push(seat.seatModel.SeatIndex); seatNumberInfos.push(seat.rowNumber + ':' + seat.colNumber); } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator.return) { _iterator.return(); } } finally { if (_didIteratorError) { throw _iteratorError; } } } return { seatIds: seatInfos.join('|'), count: seatInfos.length, seatNumberInfos: seatNumberInfos.join('|'), mobile: mobile, openId: openId }; } // 蜘蛛 if (type === 'spider') { var _seatInfos = []; var _seatNumberInfos = []; var _iteratorNormalCompletion2 = true; var _didIteratorError2 = false; var _iteratorError2 = undefined; try { for (var _iterator2 = (0, _getIterator3.default)(seatList), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { var _seat = _step2.value; _seatInfos.push(_seat.seatModel.rowId + ':' + _seat.seatModel.columnId); _seatNumberInfos.push(_seat.rowNumber + ':' + _seat.colNumber); } } catch (err) { _didIteratorError2 = true; _iteratorError2 = err; } finally { try { if (!_iteratorNormalCompletion2 && _iterator2.return) { _iterator2.return(); } } finally { if (_didIteratorError2) { throw _iteratorError2; } } } return { seatIds: _seatInfos.join('|'), count: _seatInfos.length, seatNumberInfos: _seatNumberInfos.join('|'), mobile: mobile, openId: openId }; } // 卖座 if (type === 'maizuo') { var _seatInfos2 = []; var _seatNumberInfos2 = []; var _iteratorNormalCompletion3 = true; var _didIteratorError3 = false; var _iteratorError3 = undefined; try { for (var _iterator3 = (0, _getIterator3.default)(seatList), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { var _seat2 = _step3.value; _seatInfos2.push(_seat2.seatModel.rowId + ':' + _seat2.seatModel.columnId); _seatNumberInfos2.push(_seat2.rowNumber + ':' + _seat2.colNumber); } } catch (err) { _didIteratorError3 = true; _iteratorError3 = err; } finally { try { if (!_iteratorNormalCompletion3 && _iterator3.return) { _iterator3.return(); } } finally { if (_didIteratorError3) { throw _iteratorError3; } } } return { seatIds: _seatInfos2.join('|'), count: _seatInfos2.length, seatNumberInfos: _seatNumberInfos2.join('|'), mobile: mobile, openId: openId }; } // 单车 if (type === 'danche') { var _seatInfos3 = []; var _seatNumberInfos3 = []; var _iteratorNormalCompletion4 = true; var _didIteratorError4 = false; var _iteratorError4 = undefined; try { for (var _iterator4 = (0, _getIterator3.default)(seatList), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { var _seat3 = _step4.value; _seatInfos3.push(_seat3.seatModel.rowId + ':' + _seat3.seatModel.columnId); _seatNumberInfos3.push(_seat3.rowNumber + ':' + _seat3.colNumber); } } catch (err) { _didIteratorError4 = true; _iteratorError4 = err; } finally { try { if (!_iteratorNormalCompletion4 && _iterator4.return) { _iterator4.return(); } } finally { if (_didIteratorError4) { throw _iteratorError4; } } } return { seatIds: _seatInfos3.join('|'), count: _seatInfos3.length, seatNumberInfos: _seatNumberInfos3.join('|'), mobile: mobile, openId: openId }; } // 猫眼 if (type === 'maoyan' || type === 'meituan' || type === 'dazhong') { var _seatInfos4 = []; var _seatNumberInfos4 = []; var _iteratorNormalCompletion5 = true; var _didIteratorError5 = false; var _iteratorError5 = undefined; try { for (var _iterator5 = (0, _getIterator3.default)(seatList), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { var _seat4 = _step5.value; if (!_seat4.seatModel || true) { console.log(_seat4); } console.log(_seat4.seatModel); _seatInfos4.push({ sectionId: _seat4.seatModel.sectionId, columnId: _seat4.seatModel.columnId, rowId: _seat4.seatModel.rowId, seatNo: _seat4.seatModel.seatNo }); _seatNumberInfos4.push(_seat4.seatModel.rowId + ':' + _seat4.seatModel.columnId); } } catch (err) { _didIteratorError5 = true; _iteratorError5 = err; } finally { try { if (!_iteratorNormalCompletion5 && _iterator5.return) { _iterator5.return(); } } finally { if (_didIteratorError5) { throw _iteratorError5; } } } return { seatIds: (0, _stringify2.default)({ count: seatList.length, list: _seatInfos4 }), seatNumberInfos: _seatNumberInfos4.join('|'), mobile: mobile, openId: openId }; } // 百度 if (type === 'baidu') { var seatIds = []; var _seatNumberInfos5 = []; var _iteratorNormalCompletion6 = true; var _didIteratorError6 = false; var _iteratorError6 = undefined; try { for (var _iterator6 = (0, _getIterator3.default)(seatList), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { var _seat5 = _step6.value; seatIds.push(_seat5.seatModel.seatNo); _seatNumberInfos5.push(_seat5.seatModel.rowId + ':' + _seat5.seatModel.columnId); } } catch (err) { _didIteratorError6 = true; _iteratorError6 = err; } finally { try { if (!_iteratorNormalCompletion6 && _iterator6.return) { _iterator6.return(); } } finally { if (_didIteratorError6) { throw _iteratorError6; } } } return { count: seatIds.length, // 后台设置特意反过来的 seatIds: _seatNumberInfos5.join('|'), seatNumberInfos: seatIds.join('|'), mobile: mobile, openId: openId }; } // 淘票票 if (type === 'taobao') { var _seatInfos5 = []; var _seatNumberInfos6 = []; var seatNameInfos = []; var _iteratorNormalCompletion7 = true; var _didIteratorError7 = false; var _iteratorError7 = undefined; try { for (var _iterator7 = (0, _getIterator3.default)(seatList), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { var _seat6 = _step7.value; _seatInfos5.push(_seat6.seatModel.seatId); _seatNumberInfos6.push(_seat6.rowOriNumber + ':' + _seat6.colOriNumber); seatNameInfos.push(_seat6.seatModel.name); } } catch (err) { _didIteratorError7 = true; _iteratorError7 = err; } finally { try { if (!_iteratorNormalCompletion7 && _iterator7.return) { _iterator7.return(); } } finally { if (_didIteratorError7) { throw _iteratorError7; } } } return { seatIds: _seatInfos5.join('|'), count: _seatInfos5.length, seatNumberInfos: _seatNumberInfos6.join('|'), seatsName: seatNameInfos.join('|'), applyKey: '', mobile: mobile, openId: openId }; } } /** * 购票(执行锁座 下订单 的事务) * @param type 平台类型 * @param tradeParas 商务参数(与座位无关的参数集合) * @param seatList 座位列表 * @param mobile 手机号码 * @param openId 身份标识符(同上) * @returns {*} 返回请求promise */ }, { key: "buyTicket", value: function buyTicket(type, tradeParas, seatList, mobile) { var paras = (0, _assign2.default)({}, tradeParas, this.seatInforParas(type, seatList, mobile)); var bridgeSelf = this; return { next: function next(lockSeatCallback) { return { next: function next(confirmOrderCallback) { var _this = this; bridgeSelf.lockSeatHandlerFrom(type, (0, _assign2.default)({}, paras, { cinemaId: paras.platformCinemaId })).then(function (data) { lockSeatCallback(null, data); var orderId = data.orderId; var cinemaId = paras.cinemaId, jbzFilmId = paras.jbzFilmId, filmId = paras.filmId, showId = paras.showId; var city = _this.callbackCityInfo(); var cityId = city.id; var cityName = city.name; bridgeSelf.confirmOrderHandlerFrom(type, { orderId: orderId, cinemaId: cinemaId, jbzFilmId: jbzFilmId, filmId: filmId, showId: showId, cityId: cityId, cityName: cityName }).then(function (data) { confirmOrderCallback(null, data); }, function (error) { confirmOrderCallback(error, null); }); }, function (error) { lockSeatCallback(error, null); }); } }; } }; } /** * 锁座 * @param type 平台类型 * @param tradeParas 商务参数(与座位无关的参数集合) * @param seatList 座位列表 * @param mobile 手机号码 * @returns {Promise} 返回请求promise */ }, { key: "lockSeat", value: function lockSeat(type, tradeParas, seatList, mobile) { var _this2 = this; var paras = (0, _assign2.default)({}, tradeParas, this.seatInforParas(type, seatList, mobile)); return new _promise2.default(function (resolve, reject) { _this2.lockSeatHandlerFrom(type, (0, _assign2.default)({}, paras, { cinemaId: paras.platformCinemaId })).then(function (data) { var orderId = data.orderId; var amount = data.originalAmount; var cinemaId = paras.cinemaId, jbzFilmId = paras.jbzFilmId, filmId = paras.filmId, showId = paras.showId; // 下面两个 var city = _this2.callbackCityInfo(); var cityId = city.id; var cityName = city.name; resolve({ orderId: orderId, amount: amount, cinemaId: cinemaId, jbzFilmId: jbzFilmId, filmId: filmId, showId: showId, cityId: cityId, cityName: cityName }); }, function (error) { reject(error); }); }); } /** * 确认订单 * @param type 平台类型 * @param lockSeatResultData 锁座成功返回的数据 * @returns {Promise} */ }, { key: "applyOrder", value: function applyOrder(type, lockSeatResultData) { var _this3 = this; return new _promise2.default(function (resolve, reject) { _this3.confirmOrderHandlerFrom(type, lockSeatResultData).then(function (data) { resolve(data); }, function (error) { reject(error); }); }); } }], [{ key: "defaultManager", value: function defaultManager(delegate) { if (!delegate.hasOwnProperty('callbackCityInfo')) { console.log('没有找到城市信息实现'); return null; } instance = new TradeManager(); instance.callbackCityInfo = delegate.callbackCityInfo; return instance; } /** * 获取交易商务参数(与座位无关的) * @param platform 平台类型 * @param platformData 平台数据 * @param filmId 电影Id * @param filmName 电影名称 * @param cinemaId 影院Id * @param cinemaName 影院名称 * @returns {*} 商务参数 */ }, { key: "tradeParasFromPlatform", value: function tradeParasFromPlatform(platform, platformData, filmId, filmName, cinemaId, cinemaName) { if (platform === 'wangpiao') { return { jbzFilmId: filmId, filmId: platformData.filmId, showId: platformData.showIndex, cinemaName: cinemaName, platformCinemaId: platformData.cinemaId, cinemaId: cinemaId }; } if (platform === 'spider') { return { jbzFilmId: filmId, filmId: platformData.filmId, showId: platformData.showId, platformCinemaId: platformData.cinemaId, cinemaId: cinemaId }; } if (platform === 'maizuo') { return { jbzFilmId: filmId, filmId: platformData.filmId, showId: platformData.foretellId, filmName: filmName, cinemaName: cinemaName, platformCinemaId: platformData.cinemaId, cinemaId: cinemaId }; } if (platform === 'danche') { return { jbzFilmId: filmId, filmId: platformData.filmId, showId: platformData.id, platformCinemaId: platformData.cinemaId, cinemaId: cinemaId }; } if (platform === 'maoyan' || platform === 'meituan' || platform === 'dazhong') { return { jbzFilmId: filmId, filmId: platformData.filmId, showId: platformData.showId, cinemaName: cinemaName, platformCinemaId: platformData.cinemaId, cinemaId: cinemaId }; } if (platform === 'baidu') { return { showId: platformData.seqid, platformCinemaId: platformData.cinemaId, cinemaId: cinemaId }; } if (platform === 'taobao') { return { jbzFilmId: filmId, filmId: platform.filmId, showId: platform.showId, cinemaName: cinemaName, platformCinemaId: platform.cinemaId, filmName: filmName, cinemaId: cinemaId }; } } }]); return TradeManager; }(); exports.default = TradeManager; //# sourceMappingURL=JManagerTrade.js.map