132 lines
3.0 KiB
Go
132 lines
3.0 KiB
Go
package ai_images
|
|
|
|
import (
|
|
"strconv"
|
|
|
|
"dubbo.apache.org/dubbo-go/v3/common/logger"
|
|
"github.com/fonchain_enterprise/fonchain-main/api/feedback"
|
|
"github.com/fonchain_enterprise/fonchain-main/pkg/e"
|
|
"github.com/fonchain_enterprise/fonchain-main/pkg/model/login"
|
|
"github.com/fonchain_enterprise/fonchain-main/pkg/service"
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/gin-gonic/gin/binding"
|
|
)
|
|
|
|
func Create(c *gin.Context) {
|
|
|
|
var req feedback.FeedbackRequest
|
|
|
|
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
|
service.Error(c, e.InvalidParams, err)
|
|
return
|
|
}
|
|
|
|
userInfo := login.GetUserInfoFromC(c)
|
|
logger.Info("-------------------------------")
|
|
logger.Info("userInfo:", userInfo)
|
|
// TODO 创建审批 防止重复提交
|
|
// lockKey := fmt.Sprintf("create_feedback_%v_%v", userInfo.ID, req.FeedbackType)
|
|
// reply := cache.RedisClient.SetNX(lockKey, 0, 3*time.Second)
|
|
// if !reply.Val() {
|
|
// service.Error(c, e.Error, nil, e.ErrorCreateFeedback)
|
|
// return
|
|
// }
|
|
//提交人
|
|
req.SubmitterName = userInfo.NickName
|
|
req.SubmitterID = userInfo.ID
|
|
|
|
res, err := service.FeedbackProvider.Create(c, &req)
|
|
if err != nil {
|
|
service.Error(c, e.Error, err)
|
|
return
|
|
}
|
|
|
|
service.Success(c, res)
|
|
}
|
|
|
|
func Remove(c *gin.Context) {
|
|
|
|
var req feedback.FeedbackDetail
|
|
|
|
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
|
service.Error(c, e.InvalidParams, err)
|
|
return
|
|
}
|
|
|
|
res, err := service.FeedbackProvider.Remove(c, &req)
|
|
if err != nil {
|
|
service.Error(c, e.Error, err)
|
|
return
|
|
}
|
|
|
|
service.Success(c, res)
|
|
}
|
|
|
|
func Detail(c *gin.Context) {
|
|
|
|
var req feedback.FeedbackDetail
|
|
|
|
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
|
service.Error(c, e.InvalidParams, err)
|
|
return
|
|
}
|
|
|
|
res, err := service.FeedbackProvider.Detail(c, &req)
|
|
if err != nil {
|
|
service.Error(c, e.Error, err)
|
|
return
|
|
}
|
|
|
|
service.Success(c, res)
|
|
}
|
|
|
|
func Update(c *gin.Context) {
|
|
|
|
var req feedback.FeedbackDetail
|
|
|
|
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
|
service.Error(c, e.InvalidParams, err)
|
|
return
|
|
}
|
|
|
|
userInfo := login.GetUserInfoFromC(c)
|
|
logger.Info("-------------------------------")
|
|
logger.Info("userInfo:", userInfo)
|
|
// TODO 创建审批 防止重复提交
|
|
// lockKey := fmt.Sprintf("create_feedback_%v_%v", userInfo.ID, req.FeedbackType)
|
|
// reply := cache.RedisClient.SetNX(lockKey, 0, 3*time.Second)
|
|
// if !reply.Val() {
|
|
// service.Error(c, e.Error, nil, e.ErrorCreateFeedback)
|
|
// return
|
|
// }
|
|
//提交人
|
|
req.HandleName = userInfo.NickName
|
|
req.HandleID = strconv.FormatInt(int64(userInfo.ID), 10)
|
|
|
|
res, err := service.FeedbackProvider.Update(c, &req)
|
|
if err != nil {
|
|
service.Error(c, e.Error, err)
|
|
return
|
|
}
|
|
|
|
service.Success(c, res)
|
|
}
|
|
|
|
func List(c *gin.Context) {
|
|
|
|
var req feedback.FeedbackList
|
|
|
|
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
|
service.Error(c, e.InvalidParams, err)
|
|
return
|
|
}
|
|
|
|
res, err := service.FeedbackProvider.List(c, &req)
|
|
if err != nil {
|
|
service.Error(c, e.Error, err)
|
|
return
|
|
}
|
|
|
|
service.Success(c, res)
|
|
}
|