// 向专题投稿 async addArticle(userID: number, collection: Collection, articleID: number, status: number) { await this.collectionRepository.manager.connection.transaction(async manager => { // article_collection 中存在相同的记录的话,就更新 status 字段, 还可以在article_collection表中增加投稿时间字段,审核时间字段 // contributor_collection 中存在相同的记录的话,更新date字段(目前表中还无date字段) const sql2 = `INSERT INTO article_collection (collection_id, article_id, status) VALUES (${collection.id}, ${articleID}, ${status})`; const sql3 = `INSERT INTO contributor_collection (collection_id, user_id) VALUES (${collection.id}, ${userID}) ON DUPLICATE KEY UPDATE user_id = ${userID}`; await manager.query(sql2); await manager.query(sql3); if (status === ArticleCollectionStatus.Auditing) { const postMsg = new PostMsg(); postMsg.authorID = userID; postMsg.userID = collection.creatorID; postMsg.articleID = articleID; postMsg.collectionID = collection.id; postMsg.status = ArticleCollectionStatus.Auditing; postMsg.createdAt = new Date(); await manager.save(postMsg); } }); }
public async openTransaction( userId: string = "admin", transactionId: number ): Promise<number> { const transactionHeader = await this.fetchFinishedTransactionHeader( transactionId ); if (!transactionHeader) { throw Messages.TRANSACTION_ID_NOT_FOUND; } transactionHeader.transactionStatus = TransactionStatus.Pending; transactionHeader.updatedBy = userId; await getManager().save(transactionHeader); return transactionId; }
// serves "pointsSave(id: Int, date: Date, : String, text: String): Points" requests @Mutation() pointsSave(args) { // add current user to points saved if (this.currentUser) { const user = new User(); user.id = this.currentUser.id; user.firstName = this.currentUser.firstName; user.lastName = this.currentUser.lastName; args.user = user; } const points = this.entityManager.create(Points, args); return this.entityManager.save(Points, points); }
private async revertThePreviousCreditTransaction( manager: EntityManager, previousCreditTransaction: CreditTransactions, currentDebt: number, userId: string ): Promise<number> { const ct = new CreditTransactions(); ct.customerId = previousCreditTransaction.customerId; ct.amountPaid = currency(previousCreditTransaction.billAmount).subtract( previousCreditTransaction.amountPaid ).value; ct.balance = 0; ct.totalDebt = currency(currentDebt).subtract(ct.amountPaid).value; ct.createdBy = userId; ct.updatedBy = userId; ct.isReverted = true; ct.type = CreditTransactionsType.SaleRevertPayment; ct.paidDate = new Date(); await manager.save(CreditTransactions, ct); return ct.totalDebt; }
transactionHeader.salesType = saleDetails.saleType; return manager.save(transactionHeader);
current.updatedBy = userId; const res = await queryRunner.manager.save(current); pointer.balanceAmount = current.totalDebt; await queryRunner.manager.save(pointer); previousTransaction.updatedBy = userId; await queryRunner.manager.save(previousTransaction); await queryRunner.manager.save(transactionHeader);