You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
900 B

package moments_copy
import (
"github.com/gin-gonic/gin"
"recook/internal/back"
"recook/internal/dbc"
"recook/internal/model/goods"
"recook/tools"
)
type deleteParam struct {
CopyID uint `json:"momentCopyId" validate:"required"`
}
func DeleteMomentCopy(c *gin.Context) {
var p deleteParam
if err := tools.Params(&p, c); err != nil {
back.Fail(c, err.Error())
return
}
if p.CopyID == 0 {
back.Fail(c, "参数错误")
return
}
var photos []goods.MomentsCopyPhoto
dbc.DB.Select("id").Find(&photos, "moments_copy_id = ?", p.CopyID)
tx := dbc.DB.Begin()
{
if err := tx.Delete(&goods.MomentsCopy{ID: p.CopyID}).Error; err != nil {
tx.Rollback()
back.Err(c, err.Error())
return
}
for _, v := range photos {
if err := tx.Delete(&v).Error; err != nil {
tx.Rollback()
back.Err(c, err.Error())
return
}
}
}
tx.Commit()
back.Suc(c, "", nil)
}