role force delete

master
Han Joker 2 months ago
parent 621e96ef00
commit 75895204aa

@ -57,7 +57,7 @@ func Delete(ctx *gin.Context) {
//log.Println(req)
// 2. 删除数据
rowsNum, err := models.RoleDelete(req.IDList)
rowsNum, err := models.RoleDelete(req.IDList, req.Force)
if err != nil {
// 记录日志
utils.Logger().Error(err.Error())

@ -12,6 +12,7 @@ type RestoreReq struct {
// DeleteReq 删除的请求消息
type DeleteReq struct {
IDList []uint `form:"id" binding:"gt=0"`
Force bool `form:"force" binding:""`
}
// 添加请求消息

@ -36,12 +36,18 @@ func RoleRestore(idList []uint) (int64, error) {
}
// RoleDelete 角色删除
// @param force bool 是否强制删除
// @return 删除的记录数error
func RoleDelete(idList []uint) (int64, error) {
func RoleDelete(idList []uint, force bool) (int64, error) {
// 将delete操作在事务里完成删除时有时会涉及到关联数据的处理
rowsNum := int64(0)
err := utils.DB().Transaction(func(tx *gorm.DB) error {
result := tx.Delete(&Role{}, idList)
query := tx.Model(&Role{})
// 强制
if force {
query.Unscoped()
}
result := query.Delete(&Role{}, idList)
if result.Error != nil {
return result.Error
} else {

Loading…
Cancel
Save