fix: ticket update based on review meeting

This commit is contained in:
zhangsz
2025-07-11 17:25:47 +08:00
parent 6e9765ceaa
commit 53283b0669
6 changed files with 150 additions and 11 deletions

View File

@@ -24,6 +24,10 @@ func Register(r *gin.RouterGroup) {
middleware.PreAuthorize(nil),
m.Update,
)
mfCallingGroup.PATCH("/:ticketId/status",
middleware.PreAuthorize(nil),
m.StartProcessingTicket,
)
mfCallingGroup.DELETE("/:ticketId",
middleware.PreAuthorize(nil),
m.Delete,
@@ -94,6 +98,69 @@ func (m *CallbackTicket) Update(c *gin.Context) {
c.JSON(200, result.Ok(nil))
}
func (m *CallbackTicket) UpdateTicketStatus(c *gin.Context) {
language := ctx.AcceptLanguage(c)
username := ctx.LoginUserToUserName(c)
// 获取路径参数
ticketId := c.Param("ticketId")
if ticketId == "" {
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
return
}
id, err := strconv.ParseInt(ticketId, 10, 64)
if err != nil {
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
return
}
// 绑定请求体
var statusUpdate struct {
Status string `json:"status" binding:"required"`
UpdatedBy string `json:"updatedBy"`
}
if err := c.ShouldBindJSON(&statusUpdate); err != nil {
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
return
}
statusUpdate.UpdatedBy = username
service := NewCallbackTicketService()
if err := service.UpdateCallbackTicketStatus(id, statusUpdate.Status, statusUpdate.UpdatedBy); err != nil {
c.JSON(500, result.ErrMsg(err.Error()))
return
}
c.JSON(200, result.Ok(nil))
}
func (m *CallbackTicket) StartProcessingTicket(c *gin.Context) {
language := ctx.AcceptLanguage(c)
username := ctx.LoginUserToUserName(c)
// 获取路径参数
ticketId := c.Param("ticketId")
if ticketId == "" {
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
return
}
id, err := strconv.ParseInt(ticketId, 10, 64)
if err != nil {
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
return
}
service := NewCallbackTicketService()
if err := service.StartProcessingTicket(id, username); err != nil {
c.JSON(500, result.ErrMsg(err.Error()))
return
}
c.JSON(200, result.Ok(nil))
}
// Delete 删除回调工单
func (m *CallbackTicket) Delete(c *gin.Context) {
language := ctx.AcceptLanguage(c)