Skip to content

Commit

Permalink
Finalizando inserção das ordens de pagamento
Browse files Browse the repository at this point in the history
  • Loading branch information
williamfl2007 committed Mar 1, 2024
1 parent 4698278 commit 39769de
Show file tree
Hide file tree
Showing 14 changed files with 175 additions and 252 deletions.
13 changes: 13 additions & 0 deletions src/cnab/dto/item-transacao.dto.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

export class ItemTransacaoDTO {
id_item_transacao: number;
dt_transacao: Date;
dt_processamento: Date;
dt_captura: Date;
nome_consorcio: string;
id_tipo_pagamento: number;
tipo_transacao: string;
valor_item_transacao: number;
id_transacao: number;
id_cliente_favorecido:number;
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { IsNotEmpty, ValidateIf } from 'class-validator';

function isCreate(object: SavePagadorDTO): boolean {
function isCreate(object: PagadorDTO): boolean {
return object.id_pagador === undefined;
}

export class SavePagadorDTO {
export class PagadorDTO {
id_pagador?: number;

@ValidateIf(isCreate)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { IsNotEmpty, ValidateIf } from 'class-validator';

function isCreate(object: SaveTransacaoDTO): boolean {
function isCreate(object: TransacaoDTO): boolean {
return object.id_transacao === undefined;
}

export class SaveTransacaoDTO {
export class TransacaoDTO {
id_transacao?: number;

@ValidateIf(isCreate)
Expand Down Expand Up @@ -77,4 +77,4 @@ export class SaveTransacaoDTO {
@ValidateIf(isCreate)
@IsNotEmpty()
id_pagador?: number;
}
}
25 changes: 15 additions & 10 deletions src/cnab/entity/item-transacao.entity.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,26 @@
import { EntityHelper } from 'src/utils/entity-helper';
import { EntityHelper} from 'src/utils/entity-helper';
import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';

@Entity()
export class ItemTransacao extends EntityHelper {
@PrimaryGeneratedColumn()
id_item_transacao: number;
@Column({ type: String, unique: false, nullable: true })
dt_transacao: string;
@Column({ type: String, unique: false, nullable: true })
dt_processamento: string;
dt_captura: string;
modo: string;
@Column({ type: Date, unique: false, nullable: true })
dt_captura: Date;
@Column({ type: String, unique: false, nullable: true })
nome_consorcio: string;
@Column({ type: Number, unique: false, nullable: true })
id_tipo_pagamento: number;
@Column({ type: String, unique: false, nullable: true })
tipo_transacao: string;
@Column({ type: Number, unique: false, nullable: true })
valor_item_transacao: number;
@Column({ type: String, unique: false, nullable: true })
id_transacao: number;
}

function Entity(): (
target: typeof ItemTransacao,
) => void | typeof ItemTransacao {
throw new Error('Function not implemented.');
}
@Column({ type: String, unique: false, nullable: true })
id_cliente_transacao: number;
}
4 changes: 2 additions & 2 deletions src/cnab/repository/cliente-favorecido.repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,13 @@ export class ClienteFavorecidoRepository {
fields:
| EntityCondition<ClienteFavorecido>
| EntityCondition<ClienteFavorecido>[],
): Promise<Nullable<ClienteFavorecido>> {
): Promise<ClienteFavorecido> {
return await this.clienteFavorecidoRepository.findOne({
where: fields,
});
}

public async findMany(
public async findAll(
fields:
| EntityCondition<ClienteFavorecido>
| EntityCondition<ClienteFavorecido>[],
Expand Down
35 changes: 35 additions & 0 deletions src/cnab/repository/item-transacao.repository.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import { Injectable, Logger } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { EntityCondition } from 'src/utils/types/entity-condition.type';
import { Nullable } from 'src/utils/types/nullable.type';
import { Repository } from 'typeorm';
import { ItemTransacao } from '../entity/item-transacao.entity';
import { ItemTransacaoDTO } from '../dto/item-transacao.dto';

@Injectable()
export class ItemTransacaoRepository {
private logger: Logger = new Logger('ItemTransacaoRepository', {
timestamp: true,
});

constructor(
@InjectRepository(ItemTransacao)
private itemtransacaoRepository: Repository<ItemTransacao>,
) {}

public async save(itemTransacao: ItemTransacaoDTO): Promise<ItemTransacao> {
return await this.itemtransacaoRepository.save(itemTransacao);
}

public async findOne(
fields: EntityCondition<ItemTransacao> | EntityCondition<ItemTransacao>[],
): Promise<Nullable<ItemTransacao>> {
return await this.itemtransacaoRepository.findOne({
where: fields,
});
}

public async findAll(): Promise<ItemTransacao[]> {
return await this.itemtransacaoRepository.find();
}
}
45 changes: 9 additions & 36 deletions src/cnab/repository/pagador.repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import { Injectable, Logger } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { EntityCondition } from 'src/utils/types/entity-condition.type';
import { Nullable } from 'src/utils/types/nullable.type';
import { Repository, UpdateResult } from 'typeorm';
import { Repository } from 'typeorm';
import { Pagador } from '../entity/pagador.entity';
import { SavePagadorDTO } from '../dto/save-pagador.dto';
import { PagadorDTO } from '../dto/pagador.dto';

@Injectable()
export class PagadorRepository {
Expand All @@ -15,34 +15,11 @@ export class PagadorRepository {
private PagadorRepository: Repository<Pagador>,
) {}

public async save(dto: SavePagadorDTO): Promise<void> {
if (dto.id_pagador === undefined) {
await this.create(dto);
} else {
await this.update(dto.id_pagador, dto);
}
}

public async create(createProfileDto: SavePagadorDTO): Promise<Pagador> {
const createdItem = await this.PagadorRepository.save(
this.PagadorRepository.create(createProfileDto),
);
this.logger.log(`Pagador criado: ${createdItem[0].getLogInfo()}`);
return createdItem;
}

public async create(pagadorDTO: PagadorDTO): Promise<Pagador> {
return await this.PagadorRepository.save(pagadorDTO);
}

public async update(
id: number,
updateDto: SavePagadorDTO,
): Promise<UpdateResult> {
const updatePayload = await this.PagadorRepository.update(
{ id_pagador: id },
updateDto,
);
const updatedItem = new Pagador({ id_pagador: id, ...updateDto });
this.logger.log(`Pagador atualizado: ${updatedItem.getLogInfo()}`);
return updatePayload;
}

public async findOne(
fields: EntityCondition<Pagador> | EntityCondition<Pagador>[],
Expand All @@ -52,11 +29,7 @@ export class PagadorRepository {
});
}

public async findMany(
fields: EntityCondition<Pagador> | EntityCondition<Pagador>[],
): Promise<Pagador[]> {
return await this.PagadorRepository.find({
where: fields,
});
public async findAll(): Promise<Pagador[]> {
return await this.PagadorRepository.find();
}
}
}
72 changes: 0 additions & 72 deletions src/cnab/repository/transacao-cliente-item.repository.ts

This file was deleted.

41 changes: 5 additions & 36 deletions src/cnab/repository/transacao.repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { EntityCondition } from 'src/utils/types/entity-condition.type';
import { Nullable } from 'src/utils/types/nullable.type';
import { Repository, UpdateResult } from 'typeorm';
import { Transacao } from '../entity/transacao.entity';
import { SaveTransacaoDTO } from '../dto/save-transacao.dto';
import { TransacaoDTO } from '../dto/transacao.dto';

@Injectable()
export class TransacaoRepository {
Expand All @@ -17,35 +17,8 @@ export class TransacaoRepository {
private transacaoRepository: Repository<Transacao>,
) {}

public async save(dto: SaveTransacaoDTO): Promise<number> {
if (dto.id_transacao === undefined) {
const createdItem = await this.create(dto);
return createdItem.id_transacao;
} else {
await this.update(dto.id_transacao, dto);
return dto.id_transacao;
}
}

private async create(createProfileDto: SaveTransacaoDTO): Promise<Transacao> {
const createdItem = await this.transacaoRepository.save(
this.transacaoRepository.create(createProfileDto),
);
this.logger.log(`Transacao criado: ${createdItem.getLogInfo()}`);
return createdItem;
}

private async update(
id: number,
updateDto: SaveTransacaoDTO,
): Promise<UpdateResult> {
const updatePayload = await this.transacaoRepository.update(
{ id_transacao: id },
updateDto,
);
const updatedItem = new Transacao({ id_transacao: id, ...updateDto });
this.logger.log(`Transacao atualizado: ${updatedItem.getLogInfo()}`);
return updatePayload;
public async save(transacaoDTO: TransacaoDTO): Promise<Transacao> {
return this.transacaoRepository.save(transacaoDTO);
}

public async findOne(
Expand All @@ -56,11 +29,7 @@ export class TransacaoRepository {
});
}

public async findMany(
fields: EntityCondition<Transacao> | EntityCondition<Transacao>[],
): Promise<Transacao[]> {
return await this.transacaoRepository.find({
where: fields,
});
public async findAll(): Promise<Transacao[]> {
return await this.transacaoRepository.find();
}
}
11 changes: 8 additions & 3 deletions src/cnab/service/cliente-favorecido.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@ import { UsersService } from 'src/users/users.service';
import { ClienteFavorecido } from '../entity/cliente-favorecido.entity';
import { ClienteFavorecidoRepository } from '../repository/cliente-favorecido.repository';
import { SaveClienteFavorecidoDTO } from '../dto/save-cliente-favorecido.dto';
import { validateDTO } from 'src/utils/validation-utils';

@Injectable()
export class ClienteFavorecidoService {
private logger: Logger = new Logger('ClienteFavorecidoService', {
timestamp: true,
timestamp: true
});

constructor(
Expand All @@ -34,8 +33,14 @@ export class ClienteFavorecidoService {
}
}


public async findCpfCnpj(cpf_cnpj:string):Promise<ClienteFavorecido> {
return await this.clienteFavorecidoRepository.findOne(cpf_cnpj);
}


public async getAll(): Promise<ClienteFavorecido[]> {
return await this.clienteFavorecidoRepository.findMany({});
return await this.clienteFavorecidoRepository.findAll({});
}

private async saveFavorecidoFromUser(
Expand Down
18 changes: 18 additions & 0 deletions src/cnab/service/item-transacao.service.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// WIP

import { Injectable } from '@nestjs/common';
import { ItemTransacaoRepository } from '../repository/item-transacao.repository';
import { ItemTransacaoDTO } from '../dto/item-transacao.dto';
import { ItemTransacao } from '../entity/item-transacao.entity';


@Injectable()
export class ItemTransacaoService {
constructor(
private itemtransacaoRepository: ItemTransacaoRepository
) {}

public async save(itemTransacaoDTO:ItemTransacaoDTO): Promise<ItemTransacao> {
return await this.itemtransacaoRepository.save(itemTransacaoDTO);
}
}
2 changes: 1 addition & 1 deletion src/cnab/service/pagador.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,4 @@ export class PagadorService {
return pagador;
}
}
}
}
Loading

0 comments on commit 39769de

Please sign in to comment.