feat: suporte a múltiplos sellerId e melhorias no código
- Adicionado suporte para sellerId como string separada por vírgula (ex: 270,431) - Melhorias em deb.repository: tipagem e documentação - Melhorias em deb.service: remoção de validação redundante - Melhorias em deb.controller: remoção de try/catch duplicado - Melhorias em orders.service: early returns e tipagem melhorada - Aplicado early returns para reduzir aninhamento - Melhorias de tipagem em todos os métodos
This commit is contained in:
@@ -1,34 +1,26 @@
|
||||
|
||||
import { Injectable, HttpException, HttpStatus } from '@nestjs/common';
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { DebRepository } from '../repositories/deb.repository';
|
||||
import { DebDto } from '../dto/DebDto';
|
||||
|
||||
@Injectable()
|
||||
export class DebService {
|
||||
constructor(
|
||||
private readonly debRepository: DebRepository,
|
||||
) {}
|
||||
constructor(
|
||||
private readonly debRepository: DebRepository,
|
||||
) {}
|
||||
|
||||
/**
|
||||
* Busca débitos por CPF ou CGCENT
|
||||
* @param cpfCgcent - CPF ou CGCENT do cliente
|
||||
* @param matricula - Matrícula do funcionário (opcional)
|
||||
* @param cobranca - Código de cobrança (opcional)
|
||||
* @returns Lista de débitos do cliente
|
||||
*/
|
||||
async findByCpfCgcent(cpfCgcent: string, matricula?: number, cobranca?: string): Promise<DebDto[]> {
|
||||
if (!cpfCgcent) {
|
||||
throw new HttpException('CPF/CGCENT é obrigatório', HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
|
||||
try {
|
||||
const result = await this.debRepository.findByCpfCgcent(cpfCgcent, matricula, cobranca);
|
||||
return result as DebDto[];
|
||||
} catch (error) {
|
||||
throw new HttpException(
|
||||
error.message || 'Erro ao buscar débitos',
|
||||
error.status || HttpStatus.INTERNAL_SERVER_ERROR,
|
||||
);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Busca débitos por CPF ou CGCENT
|
||||
* @param cpfCgcent - CPF ou CGCENT do cliente (validado pelo DTO)
|
||||
* @param matricula - Matrícula do funcionário (opcional)
|
||||
* @param cobranca - Código de cobrança (opcional)
|
||||
* @returns Lista de débitos do cliente
|
||||
* @throws {Error} Erro ao buscar débitos no banco de dados
|
||||
*/
|
||||
async findByCpfCgcent(
|
||||
cpfCgcent: string,
|
||||
matricula?: number,
|
||||
cobranca?: string,
|
||||
): Promise<DebDto[]> {
|
||||
return await this.debRepository.findByCpfCgcent(cpfCgcent, matricula, cobranca);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user