package crm import ( "github.com/gin-gonic/gin" "github.com/go-playground/validator/v10" "hongze/hz_crm_eta/controller/resp" "hongze/hz_crm_eta/global" "hongze/hz_crm_eta/models/crm" "hongze/hz_crm_eta/models/eta" crmService "hongze/hz_crm_eta/services/crm" ) type ChartPermissionController struct{} // SyncClassifyChartPermission // @Description 同步分类权限 // @Success 200 {string} string "操作成功" // @Router /crm/chart_permission/classify/sync [post] func (cp *ChartPermissionController) SyncClassifyChartPermission(c *gin.Context) { var req crm.ClassifyPermissionEditReq err := c.Bind(&req) if err != nil { errs, ok := err.(validator.ValidationErrors) if !ok { resp.FailData("参数解析失败", "Err:"+err.Error(), c) return } resp.FailData("参数解析失败", errs.Translate(global.Trans), c) return } if req.Keyword == "" { resp.Fail("分类名称不能为空", c) return } if req.ClassifyId <= 0 { resp.Fail("分类ID不能为空", c) return } etaOb := new(eta.ChartPermissionSearchKeyWordMapping) mappingList, err := etaOb.GetPermissionByKeyword(req.ClassifyId) if err != nil { resp.FailData("查询分类权限失败", err.Error(), c) return } finalList := make([]*crm.ChartPermissionSearchKeyWordMapping, 0) for _, v := range mappingList { tmp := &crm.ChartPermissionSearchKeyWordMapping{ Id: v.Id, ChartPermissionId: v.ChartPermissionId, KeyWord: v.KeyWord, 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, req.ClassifyId) if e != nil { resp.FailData("设置分类权限失败", e.Error(), c) return } resp.Ok("操作成功", c) } // Sync // @Title 同步chart_permission数据 // @Description 启用/禁用品种 // @Param request body crm.PermissionEnabledReq true "type json string" // @Success 200 新增成功 // @router /crm/chart_permission/sync [post] func (this *ChartPermissionController) Sync(c *gin.Context) { e, msg := crmService.SyncChartPermission() if e != nil { resp.FailData(msg, e.Error(), c) return } resp.Ok("操作成功", c) } // SyncReportMapping // @Title 同步chart_permission_chapter_mapping数据 // @Description 启用/禁用品种 // @Param request body crm.PermissionEnabledReq true "type json string" // @Success 200 新增成功 // @router /crm/chart_permission/report/sync [post] func (this *ChartPermissionController) SyncReportMapping(c *gin.Context) { var req crm.PermissionReportReq err := c.Bind(&req) if err != nil { errs, ok := err.(validator.ValidationErrors) if !ok { resp.FailData("参数解析失败", "Err:"+err.Error(), c) return } resp.FailData("参数解析失败", errs.Translate(global.Trans), c) return } if req.ReportId <= 0 { resp.Fail("报告ID不能为空", c) return } if req.ClassifyIdSecond <= 0 { resp.Fail("分类ID不能为空", c) return } e, msg := crmService.SyncChartPermissionReportMapping(req) if e != nil { resp.FailData(msg, e.Error(), c) return } resp.Ok("操作成功", c) } // SyncKeywordMapping // @Title 同步chart_permission_search_key_word_mapping数据 // @Description 同步chart_permission_search_key_word_mapping数据 // @Param request body crm.PermissionKeywordReq true "type json string" // @Success 200 新增成功 // @router /crm/chart_permission/keyword/sync [post] func (this *ChartPermissionController) SyncKeywordMapping(c *gin.Context) { var req crm.PermissionKeywordReq err := c.Bind(&req) if err != nil { errs, ok := err.(validator.ValidationErrors) if !ok { resp.FailData("参数解析失败", "Err:"+err.Error(), c) return } resp.FailData("参数解析失败", errs.Translate(global.Trans), c) return } if req.NewKeyword == "" { resp.Fail("新报告分类名称不能为空", c) return } if req.ClassifyId <= 0 { resp.Fail("分类ID不能为空", c) return } e := crm.UpdateChartPermissionNameFromMappingByKeyword(req.NewKeyword, req.ClassifyId, "rddp") if e != nil { resp.FailData("更新权限中的报告分类名称失败", e.Error(), c) return } resp.Ok("操作成功", c) }