yinbangzhong
2024-07-29 9f78e3b126b15a9b331c3a1a318da1ceea30114c
controllers/text.go
@@ -3,6 +3,7 @@
import (
   "errors"
   "github.com/gin-gonic/gin"
   "gorm.io/gorm"
   "speechAnalysis/extend/code"
   "speechAnalysis/extend/util"
   "speechAnalysis/models"
@@ -27,7 +28,7 @@
      return
   }
   text := models.Text{
   text := models.Word{
      Content:          req.Content,
      LocomotiveNumber: req.LocomotiveNumber,
   }
@@ -37,7 +38,7 @@
      return
   }
   if err := models.NewTextSearch().Create(&text); err != nil {
   if err := models.NewWordSearch().Create(&text); err != nil {
      util.ResponseFormat(c, code.SaveFail, "添加失败,请检查是否重复")
      return
   }
@@ -45,11 +46,74 @@
   util.ResponseFormat(c, code.Success, "添加成功")
}
func (slf TextCtl) paramsCheck(text models.Text) (err error) {
// UpdateText
// @Tags      文字库
// @Summary   修改文字
// @Produce   application/json
// @Param     object  body request.AddTextReq true  "参数"
// @Success   200 {object} util.Response "成功"
// @Router    /api-sa/v1/text/update [post]
func (slf TextCtl) UpdateText(c *gin.Context) {
   var req request.AddTextReq
   if err := c.BindJSON(&req); err != nil {
      logx.Errorf("add text params err:%v", err)
      util.ResponseFormat(c, code.RequestParamError, err.Error())
      return
   }
   text := models.Word{
      Model: gorm.Model{
         ID: req.Id,
      },
      Content:          req.Content,
      LocomotiveNumber: req.LocomotiveNumber,
   }
   if err := slf.paramsCheck(text); err != nil {
      util.ResponseFormat(c, code.RequestParamError, err.Error())
      return
   }
   if req.Id == 0 {
      util.ResponseFormat(c, code.RequestParamError, errors.New("ID不能为空"))
      return
   }
   if err := models.NewWordSearch().Save(&text); err != nil {
      util.ResponseFormat(c, code.SaveFail, "修改失败,请检查是否重复")
      return
   }
   util.ResponseFormat(c, code.Success, "修改成功")
}
// DeleteText
// @Tags      文字库
// @Summary   修改文字
// @Produce   application/json
// @Param    object  body request.AddTextReq true  "参数"
// @Success   200 {object} util.Response "成功"
// @Router    /api-sa/v1/text/delete [delete]
func (slf TextCtl) DeleteText(c *gin.Context) {
   var req request.AddTextReq
   if err := c.BindJSON(&req); err != nil {
      logx.Errorf("add text params err:%v", err)
      util.ResponseFormat(c, code.RequestParamError, err.Error())
      return
   }
   if err := models.NewWordSearch().SetID(req.Id).Delete(); err != nil {
      util.ResponseFormat(c, code.SaveFail, "删除失败,请检查是否重复")
      return
   }
   util.ResponseFormat(c, code.Success, "删除成功")
}
func (slf TextCtl) paramsCheck(text models.Word) (err error) {
   if text.Content == "" || text.LocomotiveNumber == "" {
      return errors.New("参数缺失")
   }
   _, err = models.NewTextSearch().SetLocomotiveNumber(text.LocomotiveNumber).SetContent(text.Content).First()
   _, err = models.NewWordSearch().SetLocomotiveNumber(text.LocomotiveNumber).SetContent(text.Content).First()
   if err == nil {
      return errors.New("文字重复")
   }
@@ -61,7 +125,7 @@
// @Summary   文字库列表
// @Produce   application/json
// @Param     object  query    request.GetTextList true  "参数"
// @Success   200   {object}  util.ResponseList{data=[]models.Text}  "成功"
// @Success   200   {object}  util.ResponseList{data=[]models.Word}  "成功"
// @Router    /api-sa/v1/text/list [get]
func (slf TextCtl) List(c *gin.Context) {
   var params request.GetTextList
@@ -75,7 +139,7 @@
      return
   }
   list, total, err := models.NewTextSearch().
   list, total, err := models.NewWordSearch().
      SetPage(params.Page, params.PageSize).
      SetKeyword(params.Keyword).
      Find()