This commit is contained in:
Felipe Batista
2025-01-27 17:44:27 -03:00
commit 47e7f75720
238 changed files with 36425 additions and 0 deletions

View File

@@ -0,0 +1,154 @@
/*
https://docs.nestjs.com/controllers#controllers
*/
import { Body, Controller, Get, HttpException, HttpStatus, Post, Req } from '@nestjs/common';
import { Param } from '@nestjs/common/decorators';
import { Cart } from 'src/domain/models/cart.model';
import { ResultModel } from 'src/domain/models/result.model';
import { OrderService } from './order.service';
import { ApiTags } from '@nestjs/swagger';
@ApiTags('Order')
@Controller('api/v1/order')
export class OrderController {
constructor(private readonly orderService: OrderService) { }
@Get('list')
async getOrder(@Req() request) {
try {
let store = '';
let initialDate = new Date();
let finalDate = new Date();
let name: string;
let document: string;
let sellerId = 0;
let idOrder = '';
if (request.query['x-store'])
store = request.query['x-store'];
if (request.query['initialDate']){
initialDate = request.query['initialDate'];
}
if (request.query['finalDate']){
finalDate = request.query['finalDate'] = finalDate;
}
if (request.query['document'])
document = request.query['document'];
if (request.query['name'])
name = request.query['name'];
if (request.query['sellerId'])
sellerId = request.query['sellerId'];
if (request.query['idOrder'])
idOrder = request.query['idOrder'];
const result = await this.orderService.getOrders(store, initialDate, finalDate, document, name, sellerId, idOrder);
return result;
} catch (err) {
throw new HttpException(new ResultModel(false, err.errors.message, {}, err),
HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Get('cart')
async getCart(@Req() request) {
console.log('consultando pedido de venda');
let orderId = 0;
const query = request.query;
if (query.orderId) {
orderId = query.orderId;
}
if (orderId == 0) {
throw new HttpException('Informe um número do pedido de venda para realizar a pesquisa.', HttpStatus.BAD_REQUEST);
}
return await this.orderService.getCartId(orderId);
}
@Get('productsTax')
async getProductsWithoutTax(@Req() request) {
let cartId = '';
let customerId = 0;
const query = request.query;
if (query.cartId) {
cartId = query.cartId;
}
if (query.customerId) {
customerId = query.customerId;
}
return await this.orderService.productsWithoutTax(cartId, customerId);
}
@Get('orderretiraposterior')
async getOrdersRetiraPosterior() {
return await this.orderService.OrderRetiraPosterior();
}
@Get('itens/:id')
async getItensOrder(@Param('id') orderId: number) {
console.log('consultando pedido de venda');
if (orderId == 0) {
throw new HttpException('Informe um número do pedido de venda para realizar a pesquisa.', HttpStatus.BAD_REQUEST);
}
return await this.orderService.getItensOrder(orderId);
}
@Post('create')
async createOrder(@Body() cart: Cart) {
console.log("cart: " + JSON.stringify(cart));
try {
const result = await this.orderService.create(cart);
return new ResultModel(true, null, result, null);
} catch (err) {
console.log(err);
throw new HttpException(new ResultModel(false, err.response, {}, err),
HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@Get('products-order')
async getProductsOrder(@Req() request) {
try {
let store = '';
let initialDate = new Date();
let finalDate = new Date();
let name: string;
let document: string;
let sellerId = 0;
let idOrder = '';
let typeFilterProduct = '';
let productText = '';
if (request.query['x-store'])
store = request.query['x-store'];
if (request.query['initialDate']){
initialDate = request.query['initialDate'];
}
if (request.query['finalDate']){
finalDate = request.query['finalDate'] = finalDate;
}
if (request.query['document'])
document = request.query['document'];
if (request.query['name'])
name = request.query['name'];
if (request.query['sellerId'])
sellerId = request.query['sellerId'];
if (request.query['idOrder'])
idOrder = request.query['idOrder'];
if (request.query['typeFilterProduct'])
typeFilterProduct = request.query['typeFilterProduct'];
if (request.query['productText'])
productText = request.query['productText'];
const result = await this.orderService
.getProductsOrder(store, initialDate, finalDate,
document, name, sellerId, idOrder,
typeFilterProduct,
productText );
return result;
} catch (err) {
throw new HttpException(new ResultModel(false, err.errors.message, {}, err),
HttpStatus.INTERNAL_SERVER_ERROR);
}
}
}

View File

@@ -0,0 +1,30 @@
import { OrderController } from './order.controller';
/*
https://docs.nestjs.com/modules
*/
import { HttpModule, Module } from '@nestjs/common';
import { OrderService } from './order.service';
import { ListsService } from 'src/backoffice/lists/lists.service';
import { CustomerService } from '../customer/customer.service';
import { AddressCustomerService } from '../address-customer/address-customer.service';
import { ShoppingService } from '../shopping/shopping.service';
import { UserService } from 'src/Auth/services/user.service';
@Module({
imports: [HttpModule],
controllers: [
OrderController,
OrderController,],
providers: [
OrderService,
OrderService,
ListsService,
CustomerService,
AddressCustomerService,
ShoppingService,
UserService,
],
exports: [OrderService]
})
export class OrderModule { }

File diff suppressed because it is too large Load Diff