Ver código fonte

fix:分类更新可见权限

zqbao 5 meses atrás
pai
commit
1d611b652e

+ 1 - 1
controllers/classify.go

@@ -325,7 +325,7 @@ func (this *ClassifyController) Edit() {
 	}
 
 	// 修改分类
-	err, errMsg, isSentEmail := services.EditReportClassify(req.ClassifyId, req.ClassifyName, req.IsRemind, req.RemindTime)
+	err, errMsg, isSentEmail := services.EditReportClassify(req.ClassifyId, req.ClassifyName, req.IsRemind, req.RemindTime, req.VisibleUserIds)
 	if err != nil {
 		br.Msg = "修改失败"
 		if errMsg != "" {

+ 2 - 1
controllers/report_v2.go

@@ -12,11 +12,12 @@ import (
 	"eta_gn/eta_api/services/data"
 	"eta_gn/eta_api/utils"
 	"fmt"
-	"github.com/rdlucklib/rdluck_tools/paging"
 	"html"
 	"strconv"
 	"strings"
 	"time"
+
+	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 // ListReport

+ 24 - 1
models/classify_visible.go

@@ -17,7 +17,7 @@ func (ClassifyVisible) TableName() string {
 	return "classify_visible"
 }
 
-func UpdateClassifyVisible(parentId, classifyId int, adminIds []int) (err error) {
+func ExtendClassifyVisible(parentId, classifyId int, adminIds []int) (err error) {
 	tx := global.DmSQL["rddp"].Begin()
 	defer func() {
 		if err != nil {
@@ -40,6 +40,29 @@ func UpdateClassifyVisible(parentId, classifyId int, adminIds []int) (err error)
 	return
 }
 
+func UpdateClassifyVisible(classifyId int, adminId []int) (err error) {
+	tx := global.DmSQL["rddp"].Begin()
+	defer func() {
+		if err != nil {
+			tx.Rollback()
+			return
+		}
+		tx.Commit()
+	}()
+	err = tx.Table(ClassifyVisible{}.TableName()).Where("classify_id =?", classifyId).Delete(&ClassifyVisible{}).Error
+	insertList := make([]ClassifyVisible, 0, len(adminId))
+	for _, admin := range adminId {
+		classifyVisible := ClassifyVisible{
+			ClassifyId: classifyId,
+			AdminId:    admin,
+			CreateTime: time.Now(),
+		}
+		insertList = append(insertList, classifyVisible)
+	}
+	err = tx.CreateInBatches(insertList, utils.MultiAddNum).Error
+	return
+}
+
 func GetClassifyVisibleUserIdByClassifyId(classifyId int) (classifyVisibles []int, err error) {
 	db := global.DmSQL["rddp"]
 	err = db.Table(ClassifyVisible{}.TableName()).Where("classify_id =?", classifyId).Pluck("admin_id", &classifyVisibles).Error

+ 7 - 2
services/classify.go

@@ -331,7 +331,7 @@ func inheritParentClassifyVisibleUser(parentClassifyId, currClassifyId int) (err
 		return
 	}
 	parentUserIds = append(parentUserIds, currUserIds...)
-	err = models.UpdateClassifyVisible(parentClassifyId, currClassifyId, parentUserIds)
+	err = models.ExtendClassifyVisible(parentClassifyId, currClassifyId, parentUserIds)
 	return
 }
 
@@ -678,7 +678,7 @@ func inheritReportApproveFlow(parentClassifyItem, currClassifyItem *models.Class
 // @return err error
 // @return errMsg string
 // @return isSendEmail bool
-func EditReportClassify(classifyId int, classifyName string, isRemind int, remindTime string) (err error, errMsg string, isSendEmail bool) {
+func EditReportClassify(classifyId int, classifyName string, isRemind int, remindTime string, visibleUserIds []int) (err error, errMsg string, isSendEmail bool) {
 	isSendEmail = true
 	errMsg = `修改失败`
 
@@ -731,6 +731,11 @@ func EditReportClassify(classifyId int, classifyName string, isRemind int, remin
 	if err != nil {
 		return
 	}
+	err = models.UpdateClassifyVisible(item.Id, visibleUserIds)
+	if err != nil {
+		errMsg = "更新可见权限失败"
+		return
+	}
 	return
 }