initial commit
This commit is contained in:
261
controllers/deliveriesController.go
Normal file
261
controllers/deliveriesController.go
Normal file
@@ -0,0 +1,261 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"strconv"
|
||||
|
||||
"nearle/models"
|
||||
"nearle/services"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
type DeliveriesController struct {
|
||||
deliveriesService services.DeliveriesService
|
||||
}
|
||||
|
||||
func NewDeliveriesController(deliveriesService services.DeliveriesService) *DeliveriesController {
|
||||
return &DeliveriesController{deliveriesService: deliveriesService}
|
||||
}
|
||||
|
||||
func (ctl *DeliveriesController) CreateDeliveries(c *fiber.Ctx) error {
|
||||
var deliveries []models.Deliveries
|
||||
|
||||
if err := c.BodyParser(&deliveries); err != nil {
|
||||
return c.Status(http.StatusBadRequest).JSON(fiber.Map{
|
||||
"code": 400,
|
||||
"status": false,
|
||||
"message": "Invalid request body",
|
||||
})
|
||||
}
|
||||
|
||||
err := ctl.deliveriesService.CreateDeliveriesService(deliveries)
|
||||
if err != nil {
|
||||
return c.Status(http.StatusInternalServerError).JSON(fiber.Map{
|
||||
"code": 500,
|
||||
"status": false,
|
||||
"message": err.Error(),
|
||||
})
|
||||
}
|
||||
|
||||
return c.Status(http.StatusOK).JSON(fiber.Map{
|
||||
"code": 200,
|
||||
"status": true,
|
||||
"message": "Deliveries created successfully",
|
||||
})
|
||||
}
|
||||
|
||||
func (ctl *DeliveriesController) UpdateDelivery(c *fiber.Ctx) error {
|
||||
var data models.UpdateDeliveryStatus
|
||||
|
||||
if err := c.BodyParser(&data); err != nil {
|
||||
return c.Status(http.StatusBadRequest).JSON(fiber.Map{
|
||||
"code": http.StatusBadRequest,
|
||||
"message": "Invalid request body",
|
||||
"status": false,
|
||||
})
|
||||
}
|
||||
|
||||
err := ctl.deliveriesService.UpdateDeliveryService(data)
|
||||
if err != nil {
|
||||
return c.Status(http.StatusConflict).JSON(fiber.Map{
|
||||
"code": http.StatusConflict,
|
||||
"message": err.Error(),
|
||||
"status": false,
|
||||
})
|
||||
}
|
||||
|
||||
return c.Status(http.StatusCreated).JSON(fiber.Map{
|
||||
"code": http.StatusCreated,
|
||||
"message": "Success",
|
||||
"status": true,
|
||||
})
|
||||
}
|
||||
|
||||
func (ctl *DeliveriesController) GetDeliverySummary(c *fiber.Ctx) error {
|
||||
tid, _ := strconv.Atoi(c.Query("tenantid"))
|
||||
pid, _ := strconv.Atoi(c.Query("partnerid"))
|
||||
uid, _ := strconv.Atoi(c.Query("userid"))
|
||||
aid, _ := strconv.Atoi(c.Query("applocationid"))
|
||||
lid, _ := strconv.Atoi(c.Query("locationid"))
|
||||
fdate := c.Query("fromdate")
|
||||
tdate := c.Query("todate")
|
||||
|
||||
data, err := ctl.deliveriesService.GetDeliverySummary(tid, pid, uid, aid, lid, fdate, tdate)
|
||||
if err != nil {
|
||||
return c.Status(http.StatusInternalServerError).JSON(fiber.Map{
|
||||
"code": http.StatusInternalServerError,
|
||||
"message": err.Error(),
|
||||
"status": false,
|
||||
})
|
||||
}
|
||||
|
||||
return c.Status(http.StatusOK).JSON(fiber.Map{
|
||||
"code": http.StatusOK,
|
||||
"message": "Success",
|
||||
"status": true,
|
||||
"details": data,
|
||||
})
|
||||
}
|
||||
|
||||
func (ctl *DeliveriesController) GetDeliveryInsight(c *fiber.Ctx) error {
|
||||
// Get tenantid from query param
|
||||
tenantIDStr := c.Query("tenantid")
|
||||
tenantID, _ := strconv.Atoi(tenantIDStr)
|
||||
|
||||
// Call service with tenantID
|
||||
locations, err := ctl.deliveriesService.GetDeliveryInsightService(tenantID)
|
||||
if err != nil {
|
||||
return c.Status(http.StatusConflict).JSON(fiber.Map{
|
||||
"code": http.StatusConflict,
|
||||
"message": err.Error(),
|
||||
"status": false,
|
||||
})
|
||||
}
|
||||
|
||||
return c.Status(http.StatusOK).JSON(fiber.Map{
|
||||
"code": http.StatusOK,
|
||||
"message": "Success",
|
||||
"status": true,
|
||||
"details": locations,
|
||||
})
|
||||
}
|
||||
|
||||
func (ctl *DeliveriesController) GetLocationDeliverySummary(c *fiber.Ctx) error {
|
||||
tenantIDStr := c.Query("tenantid")
|
||||
tenantID, _ := strconv.Atoi(tenantIDStr)
|
||||
|
||||
data, err := ctl.deliveriesService.GetLocationDeliverySummary(tenantID)
|
||||
if err != nil {
|
||||
return c.Status(http.StatusInternalServerError).JSON(fiber.Map{
|
||||
"status": false,
|
||||
"code": http.StatusInternalServerError,
|
||||
"message": err.Error(),
|
||||
})
|
||||
}
|
||||
|
||||
return c.JSON(fiber.Map{
|
||||
"code": http.StatusOK,
|
||||
"message": "Success",
|
||||
"status": true,
|
||||
"details": data,
|
||||
})
|
||||
}
|
||||
|
||||
func (ctl *DeliveriesController) GetReportSummary(c *fiber.Ctx) error {
|
||||
tid, _ := strconv.Atoi(c.Query("tenantid"))
|
||||
pid, _ := strconv.Atoi(c.Query("partnerid"))
|
||||
uid, _ := strconv.Atoi(c.Query("userid"))
|
||||
aid, _ := strconv.Atoi(c.Query("applocationid"))
|
||||
fdate := c.Query("fromdate")
|
||||
tdate := c.Query("todate")
|
||||
|
||||
data, err := ctl.deliveriesService.GetReportSummary(tid, pid, uid, aid, fdate, tdate)
|
||||
if err != nil {
|
||||
return c.JSON(fiber.Map{
|
||||
"code": http.StatusInternalServerError,
|
||||
"message": err.Error(),
|
||||
"status": false,
|
||||
})
|
||||
}
|
||||
|
||||
return c.JSON(fiber.Map{
|
||||
"code": http.StatusOK,
|
||||
"message": "Success",
|
||||
"status": true,
|
||||
"details": data,
|
||||
})
|
||||
}
|
||||
|
||||
func (ctl *DeliveriesController) GetRiderSummary(c *fiber.Ctx) error {
|
||||
aid, _ := strconv.Atoi(c.Query("applocationid"))
|
||||
pid, _ := strconv.Atoi(c.Query("partnerid"))
|
||||
tid, _ := strconv.Atoi(c.Query("tenantid"))
|
||||
fdate := c.Query("fromdate")
|
||||
tdate := c.Query("todate")
|
||||
|
||||
data, err := ctl.deliveriesService.GetRiderSummary(aid, pid, tid, fdate, tdate)
|
||||
if err != nil {
|
||||
return c.JSON(fiber.Map{
|
||||
"code": http.StatusInternalServerError,
|
||||
"message": err.Error(),
|
||||
"status": false,
|
||||
})
|
||||
}
|
||||
|
||||
return c.JSON(fiber.Map{
|
||||
"code": http.StatusOK,
|
||||
"message": "Success",
|
||||
"status": true,
|
||||
"details": data,
|
||||
})
|
||||
}
|
||||
|
||||
func (ctl *DeliveriesController) GetDeliveries(c *fiber.Ctx) error {
|
||||
|
||||
pid, _ := strconv.Atoi(c.Query("partnerid"))
|
||||
tid, _ := strconv.Atoi(c.Query("tenantid"))
|
||||
uid, _ := strconv.Atoi(c.Query("userid"))
|
||||
cid, _ := strconv.Atoi(c.Query("customerid"))
|
||||
aid, _ := strconv.Atoi(c.Query("applocationid"))
|
||||
aud, _ := strconv.Atoi(c.Query("appuserid"))
|
||||
lid, _ := strconv.Atoi(c.Query("locationid")) // 👈 NEW
|
||||
|
||||
pageno, _ := strconv.Atoi(c.Query("pageno", "1"))
|
||||
pagesize, _ := strconv.Atoi(c.Query("pagesize", ""))
|
||||
|
||||
fdate := c.Query("fromdate")
|
||||
tdate := c.Query("todate")
|
||||
stat := c.Query("status")
|
||||
keyword := c.Query("keyword")
|
||||
|
||||
info := models.DeliveryQuery{
|
||||
Partnerid: pid,
|
||||
Tenantid: tid,
|
||||
UserID: uid,
|
||||
Customerid: cid,
|
||||
Appuserid: aud,
|
||||
Applocationid: aid,
|
||||
Locationid: lid, // 👈 NEW
|
||||
Fromdate: fdate,
|
||||
ToDate: tdate,
|
||||
Status: stat,
|
||||
Pageno: pageno,
|
||||
Pagesize: pagesize,
|
||||
Keyword: keyword,
|
||||
}
|
||||
|
||||
result := ctl.deliveriesService.GetDeliveries(info)
|
||||
if result == nil {
|
||||
result = []models.Deliveryinfo{}
|
||||
}
|
||||
|
||||
return c.JSON(fiber.Map{
|
||||
"code": http.StatusOK,
|
||||
"message": "Success",
|
||||
"status": true,
|
||||
"details": result,
|
||||
})
|
||||
}
|
||||
|
||||
func (ctl *DeliveriesController) GetDeliveryQueues(c *fiber.Ctx) error {
|
||||
fdate := c.Query("fromdate")
|
||||
tdate := c.Query("todate")
|
||||
uid, _ := strconv.Atoi(c.Query("userid"))
|
||||
|
||||
result, err := ctl.deliveriesService.GetDeliveryQueues(uid, fdate, tdate)
|
||||
if err != nil {
|
||||
return c.Status(http.StatusInternalServerError).JSON(fiber.Map{
|
||||
"code": http.StatusInternalServerError,
|
||||
"message": err.Error(),
|
||||
"status": false,
|
||||
})
|
||||
}
|
||||
|
||||
return c.JSON(fiber.Map{
|
||||
"code": http.StatusOK,
|
||||
"message": "Success",
|
||||
"status": true,
|
||||
"details": result,
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user