| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- 'use strict';
- /**
- * Created by EllisRan on 2020/3/3.
- */
- const BaseService = require('../base/base_service');
- module.exports = app => {
- class FinancialPayTender extends BaseService {
- /**
- * 构造函数
- *
- * @param {Object} ctx - egg全局变量
- * @return {void}
- */
- constructor(ctx) {
- super(ctx);
- this.tableName = 'financial_pay_tender';
- this.dataId = 'id';
- }
- async savePayTender(spid, data) {
- if (data.id === 0) {
- delete data.id;
- data.spid = spid;
- const result = await this.db.insert(this.tableName, data);
- return await this.getDataById(result.insertId);
- }
- await this.db.update(this.tableName, data);
- return await this.getDataById(data.id);
- }
- async copyBank2otherTender(spid, tenders, copy_tender) {
- const insertDatas = [];
- const updateDatas = [];
- for (const tender of tenders) {
- if (tender.tid === copy_tender.tid) {
- continue; // 跳过复制的标
- }
- if (tender.id === 0) {
- delete tender.id;
- insertDatas.push({
- tid: tender.tid,
- spid,
- name: copy_tender.name,
- bank: copy_tender.bank,
- bank_account: copy_tender.bank_account,
- contact: copy_tender.contact,
- phone: copy_tender.phone,
- });
- } else {
- updateDatas.push({
- id: tender.id,
- name: copy_tender.name,
- bank: copy_tender.bank,
- bank_account: copy_tender.bank_account,
- contact: copy_tender.contact,
- phone: copy_tender.phone,
- });
- }
- }
- const transaction = await this.db.beginTransaction();
- try {
- if (insertDatas.length > 0) {
- await transaction.insert(this.tableName, insertDatas);
- }
- if (updateDatas.length > 0) {
- await transaction.updateRows(this.tableName, updateDatas);
- }
- await transaction.commit();
- } catch (e) {
- await transaction.rollback();
- throw e;
- }
- return await this.getAllDataByCondition({ where: { spid } });
- }
- }
- return FinancialPayTender;
- };
|