153 lines
3.3 KiB
Go
153 lines
3.3 KiB
Go
package handlers
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/niangaodev/art-code/models"
|
|
"github.com/niangaodev/art-code/repositories"
|
|
"github.com/niangaodev/art-code/utils"
|
|
)
|
|
|
|
// GetTestimonials 获取客户评价
|
|
func GetTestimonials(c *gin.Context) {
|
|
testimonials, err := repositories.GetTestimonials()
|
|
if err != nil {
|
|
utils.ServerError(c, err)
|
|
return
|
|
}
|
|
if testimonials == nil {
|
|
utils.Success(c, []interface{}{})
|
|
} else {
|
|
utils.Success(c, testimonials)
|
|
}
|
|
}
|
|
|
|
// GetPartners 获取合作伙伴
|
|
func GetPartners(c *gin.Context) {
|
|
partners, err := repositories.GetPartners()
|
|
if err != nil {
|
|
utils.ServerError(c, err)
|
|
return
|
|
}
|
|
if partners == nil {
|
|
utils.Success(c, []interface{}{})
|
|
} else {
|
|
utils.Success(c, partners)
|
|
}
|
|
}
|
|
|
|
// AdminCreateTestimonial 创建客户评价
|
|
func AdminCreateTestimonial(c *gin.Context) {
|
|
var t models.Testimonial
|
|
if err := c.ShouldBindJSON(&t); err != nil {
|
|
utils.Error(c, 400, "Invalid request")
|
|
return
|
|
}
|
|
|
|
if err := repositories.CreateTestimonial(&t); err != nil {
|
|
utils.ServerError(c, err)
|
|
return
|
|
}
|
|
|
|
utils.SuccessWithMsg(c, "Testimonial created successfully", nil)
|
|
}
|
|
|
|
// AdminUpdateTestimonial 更新客户评价
|
|
func AdminUpdateTestimonial(c *gin.Context) {
|
|
idStr := c.Param("id")
|
|
var id uint
|
|
if _, err := fmt.Sscanf(idStr, "%d", &id); err != nil {
|
|
utils.Error(c, 400, "Invalid ID")
|
|
return
|
|
}
|
|
|
|
var t models.Testimonial
|
|
if err := c.ShouldBindJSON(&t); err != nil {
|
|
utils.Error(c, 400, "Invalid request")
|
|
return
|
|
}
|
|
t.ID = id
|
|
|
|
if err := repositories.UpdateTestimonial(&t); err != nil {
|
|
utils.ServerError(c, err)
|
|
return
|
|
}
|
|
|
|
utils.SuccessWithMsg(c, "Testimonial updated successfully", nil)
|
|
}
|
|
|
|
// AdminDeleteTestimonial 删除客户评价
|
|
func AdminDeleteTestimonial(c *gin.Context) {
|
|
idStr := c.Param("id")
|
|
var id uint
|
|
if _, err := fmt.Sscanf(idStr, "%d", &id); err != nil {
|
|
utils.Error(c, 400, "Invalid ID")
|
|
return
|
|
}
|
|
|
|
if err := repositories.DeleteTestimonial(id); err != nil {
|
|
utils.ServerError(c, err)
|
|
return
|
|
}
|
|
|
|
utils.SuccessWithMsg(c, "Testimonial deleted successfully", nil)
|
|
}
|
|
|
|
// AdminCreatePartner 创建合作伙伴
|
|
func AdminCreatePartner(c *gin.Context) {
|
|
var p models.Partner
|
|
if err := c.ShouldBindJSON(&p); err != nil {
|
|
utils.Error(c, 400, "Invalid request")
|
|
return
|
|
}
|
|
|
|
if err := repositories.CreatePartner(&p); err != nil {
|
|
utils.ServerError(c, err)
|
|
return
|
|
}
|
|
|
|
utils.SuccessWithMsg(c, "Partner created successfully", nil)
|
|
}
|
|
|
|
// AdminUpdatePartner 更新合作伙伴
|
|
func AdminUpdatePartner(c *gin.Context) {
|
|
idStr := c.Param("id")
|
|
var id uint
|
|
if _, err := fmt.Sscanf(idStr, "%d", &id); err != nil {
|
|
utils.Error(c, 400, "Invalid ID")
|
|
return
|
|
}
|
|
|
|
var p models.Partner
|
|
if err := c.ShouldBindJSON(&p); err != nil {
|
|
utils.Error(c, 400, "Invalid request")
|
|
return
|
|
}
|
|
p.ID = id
|
|
|
|
if err := repositories.UpdatePartner(&p); err != nil {
|
|
utils.ServerError(c, err)
|
|
return
|
|
}
|
|
|
|
utils.SuccessWithMsg(c, "Partner updated successfully", nil)
|
|
}
|
|
|
|
// AdminDeletePartner 删除合作伙伴
|
|
func AdminDeletePartner(c *gin.Context) {
|
|
idStr := c.Param("id")
|
|
var id uint
|
|
if _, err := fmt.Sscanf(idStr, "%d", &id); err != nil {
|
|
utils.Error(c, 400, "Invalid ID")
|
|
return
|
|
}
|
|
|
|
if err := repositories.DeletePartner(id); err != nil {
|
|
utils.ServerError(c, err)
|
|
return
|
|
}
|
|
|
|
utils.SuccessWithMsg(c, "Partner deleted successfully", nil)
|
|
}
|