Files
api-retribusi/pkg/handlers/data_retribusi/data_retribusi.go
2025-06-19 12:53:42 +07:00

172 lines
3.9 KiB
Go

package data_retribusi
import (
"api-lis/internal/database"
connDatabase "api-lis/pkg/database/simrs"
satudata_models "api-lis/pkg/models/satudata"
"github.com/gin-gonic/gin"
"github.com/google/uuid"
"log"
"net/http"
)
func InsertDataRetribusi(c *gin.Context) {
db := database.New().GetDB("satudata")
satudata := connDatabase.NewDatabaseService(db)
var req *satudata_models.DataRetribusiInsert
err := c.Bind(&req)
if err != nil {
log.Println(err)
c.JSON(http.StatusBadRequest, gin.H{
"message": err,
})
return
}
log.Println("REQUEST", req)
req.ID = uuid.New().String()
errData := satudata.Insertdataretribusi(req)
if errData != nil {
log.Println(errData)
c.JSON(http.StatusBadRequest, gin.H{
"message": errData,
})
return
}
c.JSON(http.StatusOK, gin.H{"message": "Successfully insert User"})
}
func GetAllDataRetribusi(c *gin.Context) {
db := database.New().GetDB("satudata")
satudata := connDatabase.NewDatabaseService(db)
Limit := c.Param("limit")
Offset := c.Param("offset")
dataallretribusi, errData := satudata.GetAlldataretribusi(Limit, Offset)
if errData != nil {
log.Println(errData)
c.JSON(http.StatusBadRequest, gin.H{
"message": errData,
})
return
}
c.JSON(http.StatusOK, dataallretribusi)
}
func DataretribusigetbyKel(c *gin.Context) {
db := database.New().GetDB("satudata")
satudata := connDatabase.NewDatabaseService(db)
kel := c.Param("kelompok")
log.Println("REQUEST", kel)
validasi, err := satudata.Validasikelompok(kel)
if err != nil {
log.Println("Error validating kelompok_obyek:", err)
c.JSON(http.StatusInternalServerError, gin.H{
"message": "Failed to validate kelompok_obyek",
})
return
}
if !validasi {
c.JSON(http.StatusBadRequest, gin.H{
"message": "Tidak di Temukan Kelompok Obyek",
})
return
}
dataRetribusi, errData := satudata.GetdataretribusibyKelompok(kel)
if errData != nil {
log.Println(errData)
c.JSON(http.StatusBadRequest, gin.H{
"message": errData.Error(),
})
return
}
c.JSON(http.StatusOK, dataRetribusi)
}
func Dataretribusiget(c *gin.Context) {
db := database.New().GetDB("satudata")
satudata := connDatabase.NewDatabaseService(db)
kodetarif := c.Param("kodetarif")
log.Println("REQUEST", kodetarif)
validasi, err := satudata.Validasikode(kodetarif)
if err != nil {
log.Println("Error validating kodetarif:", err)
c.JSON(http.StatusInternalServerError, gin.H{
"message": "Failed to validate kodetarif",
})
return
}
if !validasi {
c.JSON(http.StatusBadRequest, gin.H{
"message": "Tidak di Temukan Kode Tarif",
})
return
}
dataRetribusi, errData := satudata.Getdataretribusi(kodetarif)
if errData != nil {
log.Println(errData)
c.JSON(http.StatusBadRequest, gin.H{
"message": errData,
})
return
}
c.JSON(http.StatusOK, dataRetribusi)
}
func UpdateDataRetribusi(c *gin.Context) {
db := database.New().GetDB("satudata")
satudata := connDatabase.NewDatabaseService(db)
var req *satudata_models.DataRetribusiPut
err := c.Bind(&req)
if err != nil {
log.Println(err)
c.JSON(http.StatusBadRequest, gin.H{
"message": err,
})
return
}
log.Println("REQUEST", req)
errData := satudata.Putdataretribusi(req)
if errData != nil {
log.Println(errData)
c.JSON(http.StatusBadRequest, gin.H{
"message": errData,
})
return
}
c.JSON(http.StatusOK, gin.H{"message": "Successfully Updated User"})
}
func DeleteDataRetribusi(c *gin.Context) {
db := database.New().GetDB("satudata")
satudata := connDatabase.NewDatabaseService(db)
var req *satudata_models.DataRetribusiDelete
err := c.Bind(&req)
if err != nil {
log.Println(err)
c.JSON(http.StatusBadRequest, gin.H{
"message": err,
})
return
}
log.Println("REQUEST", req)
errData := satudata.Deletedataretribusi(req.ID)
if errData != nil {
log.Println(errData)
c.JSON(http.StatusBadRequest, gin.H{
"message": errData,
})
return
}
c.JSON(http.StatusOK, gin.H{"message": "Successfully Delete"})
}