package com.chantha.jdbc.jpa.service.customer import com.chantha.jdbc.jpa.model.Customer import com.chantha.jdbc.jpa.model.Order import com.chantha.jdbc.jpa.model.view.CustomerOrderView import com.chantha.jdbc.jpa.model.view.OrderDetailView import com.chantha.jdbc.jpa.model.view.OrderView import com.chantha.jdbc.jpa.repo.CustomerRepo import org.springframework.beans.factory.annotation.Autowired import org.springframework.stereotype.Service @Service class CustomerServiceImpl @Autowired constructor(private val customerRepo: CustomerRepo) : CustomerService { override fun fetchAllCustomerOrder(): List { return customerRepo.findAll().map { toView(it) } } private fun toView(data:Customer):CustomerOrderView{ val view=CustomerOrderView() view.cusID=data.id view.cusName=data.cusName view.gender=data.gender view.orderList=data.orders.map { toCustomerOrderView(it) } return view } private fun toCustomerOrderView(data:Order):OrderView{ val view=OrderView() view.orderId=data.orderId view.orderDate=data.orderDate view.amount=data.amount return view } // private fun toView(data: Product): ProductWithOrderDetail { // val view = ProductWithOrderDetail() // view.productId = data.productId // view.productName = data.productName // view.details = data.orderDetails.map { toOrderDetailView(it) } // return view // } // // private fun toOrderDetailView(data: OrderDetail): OrderDetailView { // val view = OrderDetailView() // view.orderDetailId = data.orderDetailId // view.price = data.price // view.qty = data.qty // return view // } }