UNPKG

ticatec-node-common-library

Version:

A set of common classes for node express apps.

68 lines 2.5 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const DBManager_1 = __importDefault(require("./db/DBManager")); const BeanFactory_1 = __importDefault(require("./BeanFactory")); class CommonService { constructor() { /** * 在事务中运行 * @param dbProcessor */ this.executeInTx = (dbProcessor) => __awaiter(this, void 0, void 0, function* () { let conn = yield this.getDBConnection(); try { yield conn.beginTransaction(); let result = yield dbProcessor(conn); yield conn.commit(); return result; } catch (ex) { yield conn.rollback(); throw ex; } finally { yield conn.close(); } }); /** * 在非事务中运行 * @param dbProcessor */ this.executeNonTx = (dbProcessor) => __awaiter(this, void 0, void 0, function* () { let conn = yield this.getDBConnection(); try { return yield dbProcessor(conn); } finally { yield conn.close(); } }); } getDBConnection() { return __awaiter(this, void 0, void 0, function* () { return yield DBManager_1.default.connect(); }); } /** * 获取对应的DAO实例 * @param name * @protected */ getDAOInstance(name) { return BeanFactory_1.default.getInstance(name); } } exports.default = CommonService; //# sourceMappingURL=CommonService.js.map