浏览代码

分类ID关联权限

hsun 1 年之前
父节点
当前提交
35e226cb4c

+ 12 - 7
controller/crm/chart_permission.go

@@ -33,9 +33,13 @@ func (cp *ChartPermissionController) SyncClassifyChartPermission(c *gin.Context)
 		resp.Fail("分类名称不能为空", c)
 		return
 	}
+	if req.ClassifyId <= 0 {
+		resp.Fail("分类ID不能为空", c)
+		return
+	}
 
 	etaOb := new(eta.ChartPermissionSearchKeyWordMapping)
-	mappingList, err := etaOb.GetPermissionByKeyword(req.Keyword)
+	mappingList, err := etaOb.GetPermissionByKeyword(req.ClassifyId)
 	if err != nil {
 		resp.FailData("查询分类权限失败", err.Error(), c)
 		return
@@ -49,11 +53,12 @@ func (cp *ChartPermissionController) SyncClassifyChartPermission(c *gin.Context)
 			From:               v.From,
 			TacticType:         v.TacticType,
 			TeleconferenceSort: v.TeleconferenceSort,
+			ClassifyId:         v.ClassifyId,
 		}
 		finalList = append(finalList, tmp)
 	}
 	ob := new(crm.ChartPermissionSearchKeyWordMapping)
-	e := ob.EditChartPermissionSearchKeyWordMappingMulti(req.Keyword, finalList)
+	e := ob.EditChartPermissionSearchKeyWordMappingMulti(req.Keyword, finalList, req.ClassifyId)
 	if e != nil {
 		resp.FailData("设置分类权限失败", e.Error(), c)
 		return
@@ -98,8 +103,8 @@ func (this *ChartPermissionController) SyncReportMapping(c *gin.Context) {
 		resp.Fail("报告ID不能为空", c)
 		return
 	}
-	if req.ClassifyNameSecond == "" {
-		resp.Fail("报告分类不能为空", c)
+	if req.ClassifyIdSecond <= 0 {
+		resp.Fail("分类ID不能为空", c)
 		return
 	}
 	e, msg := crmService.SyncChartPermissionReportMapping(req)
@@ -132,11 +137,11 @@ func (this *ChartPermissionController) SyncKeywordMapping(c *gin.Context) {
 		resp.Fail("新报告分类名称不能为空", c)
 		return
 	}
-	if req.Keyword == "" {
-		resp.Fail("报告分类名称不能为空", c)
+	if req.ClassifyId <= 0 {
+		resp.Fail("分类ID不能为空", c)
 		return
 	}
-	e := crm.UpdateChartPermissionNameFromMappingByKeyword(req.NewKeyword, req.Keyword, "rddp")
+	e := crm.UpdateChartPermissionNameFromMappingByKeyword(req.NewKeyword, req.ClassifyId, "rddp")
 	if e != nil {
 		resp.FailData("更新权限中的报告分类名称失败", e.Error(), c)
 		return

+ 3 - 2
models/crm/chart_permission_chapter_mapping.go

@@ -14,8 +14,9 @@ func (c *ChartPermissionChapterMapping) TableName() string {
 }
 
 type PermissionReportReq struct {
-	ReportId           int64  `description:"报告id"`
-	ClassifyNameSecond string `description:"二级分类名称"`
+	ReportId int64 `description:"报告id"`
+	//ClassifyNameSecond string `description:"二级分类名称"`
+	ClassifyIdSecond int `description:"二级分类ID"`
 }
 
 func RemoveChartPermissionChapterMapping(reportId int64) (err error) {

+ 10 - 8
models/crm/chart_permission_search_key_word_mapping.go

@@ -9,6 +9,7 @@ type ChartPermissionSearchKeyWordMapping struct {
 	From               string `gorm:"column:from;default:"`
 	TacticType         string `gorm:"column:tactic_type;default:;comment:'策略表type字段值'"`
 	TeleconferenceSort int    `gorm:"column:teleconference_sort;default:0;comment:'电话会类型排序'"`
+	ClassifyId         int    `gorm:"column:classify_id;default:0;comment:'报告分类ID'"`
 }
 
 func (c *ChartPermissionSearchKeyWordMapping) TableName() string {
@@ -35,16 +36,17 @@ func (c *ChartPermissionSearchKeyWordMapping) GetPermission() (items []*ChartPer
 
 // ClassifyPermissionEditReq 编辑分类权限请求
 type ClassifyPermissionEditReq struct {
-	Keyword string
+	Keyword    string
+	ClassifyId int
 }
 
 type PermissionKeywordReq struct {
 	NewKeyword string
-	Keyword    string
+	ClassifyId int
 }
 
 // EditChartPermissionSearchKeyWordMappingMulti 修改报告报告权限(先删除原有的权限,再添加新的权限)
-func (c *ChartPermissionSearchKeyWordMapping) EditChartPermissionSearchKeyWordMappingMulti(keyword string, permissionIdList []*ChartPermissionSearchKeyWordMapping) (err error) {
+func (c *ChartPermissionSearchKeyWordMapping) EditChartPermissionSearchKeyWordMappingMulti(keyword string, permissionIdList []*ChartPermissionSearchKeyWordMapping, classifyId int) (err error) {
 	tx := global.MYSQL["hz_crm"].Begin()
 	defer func() {
 		if err != nil {
@@ -53,21 +55,21 @@ func (c *ChartPermissionSearchKeyWordMapping) EditChartPermissionSearchKeyWordMa
 			tx.Commit()
 		}
 	}()
-	sql1 := "delete from chart_permission_search_key_word_mapping WHERE `from`='rddp' AND key_word=? "
-	err = tx.Exec(sql1, keyword).Error
+	sql1 := "DELETE FROM chart_permission_search_key_word_mapping WHERE `from` = 'rddp' AND classify_id = ? "
+	err = tx.Exec(sql1, classifyId).Error
 	if err != nil {
 		return
 	}
 	// 批量插入绑定的权限
 	if len(permissionIdList) > 0 {
-		err = tx.CreateInBatches(permissionIdList, len(permissionIdList)).Error
+		err = tx.CreateInBatches(permissionIdList, 200).Error
 	}
 	return
 }
 
 // UpdateChartPermissionNameFromMappingByKeyword 根据关键词及来源更新新关键词
-func UpdateChartPermissionNameFromMappingByKeyword(newKeyword, keyword, source string) (err error) {
+func UpdateChartPermissionNameFromMappingByKeyword(newKeyword string, classifyId int, source string) (err error) {
 	sql := " UPDATE chart_permission_search_key_word_mapping SET key_word = ? WHERE key_word = ? AND `from` = ? "
-	err = global.MYSQL["hz_crm"].Exec(sql, newKeyword, keyword, source).Error
+	err = global.MYSQL["hz_crm"].Exec(sql, newKeyword, classifyId, source).Error
 	return
 }

+ 3 - 2
models/eta/chart_permission_search_key_word_mapping.go

@@ -9,6 +9,7 @@ type ChartPermissionSearchKeyWordMapping struct {
 	From               string `gorm:"column:from;default:"`
 	TacticType         string `gorm:"column:tactic_type;default:;comment:'策略表type字段值'"`
 	TeleconferenceSort int    `gorm:"column:teleconference_sort;default:0;comment:'电话会类型排序'"`
+	ClassifyId         int    `gorm:"column:classify_id;default:0;comment:'报告分类ID'"`
 }
 
 func (c *ChartPermissionSearchKeyWordMapping) TableName() string {
@@ -23,8 +24,8 @@ type ClassifyPermissionResp struct {
 	List []*ChartPermissionSearchKeyWordMapping
 }
 
-func (c *ChartPermissionSearchKeyWordMapping) GetPermissionByKeyword(classifyNameSecond string) (items []*ChartPermissionSearchKeyWordMapping, err error) {
-	err = global.MYSQL["rddp"].Where("`from`='rddp' AND key_word = ?", classifyNameSecond).Find(&items).Error
+func (c *ChartPermissionSearchKeyWordMapping) GetPermissionByKeyword(classifyId int) (items []*ChartPermissionSearchKeyWordMapping, err error) {
+	err = global.MYSQL["rddp"].Where("`from`='rddp' AND classify_id = ?", classifyId).Find(&items).Error
 	return
 }
 

+ 1 - 1
services/crm/chart_permission_chapter_mapping.go

@@ -21,7 +21,7 @@ func SyncChartPermissionReportMapping(req crm.PermissionReportReq) (err error, e
 		return
 	}
 	etaOb := new(eta.ChartPermissionSearchKeyWordMapping)
-	list, e := etaOb.GetPermissionByKeyword(req.ClassifyNameSecond)
+	list, e := etaOb.GetPermissionByKeyword(req.ClassifyIdSecond)
 	if e != nil {
 		errMsg = "查询品种信息失败"
 		err = fmt.Errorf("查询品种信息失败, Err: " + e.Error())