|
@@ -5,6 +5,7 @@ import (
|
|
|
"errors"
|
|
|
"eta/eta_api/models"
|
|
|
"eta/eta_api/models/report"
|
|
|
+ "eta/eta_api/models/report_approve"
|
|
|
"eta/eta_api/models/system"
|
|
|
"eta/eta_api/utils"
|
|
|
"fmt"
|
|
@@ -89,24 +90,8 @@ func AddReportAndChapter(reportInfo *models.Report, inheritReportId int, grantAd
|
|
|
go models.ModifyReportCode(reportId, reportCode)
|
|
|
}
|
|
|
|
|
|
- // TODO 报告权限处理
|
|
|
- //处理权限
|
|
|
- //go func() {
|
|
|
- // permissionItems, e := models.GetPermission(req.ClassifyIdSecond)
|
|
|
- // if e != nil {
|
|
|
- // alarm_msg.SendAlarmMsg("获取权限失败,Err:"+e.Error(), 3)
|
|
|
- // return
|
|
|
- // }
|
|
|
- // for _, v := range permissionItems {
|
|
|
- // e = models.AddChartPermissionChapterMapping(v.ChartPermissionId, int64(item.Id))
|
|
|
- // if e != nil {
|
|
|
- // alarm_msg.SendAlarmMsg("新增权限失败,Err:"+e.Error(), 3)
|
|
|
- // return
|
|
|
- // }
|
|
|
- // }
|
|
|
- // // 同步crm权限
|
|
|
- // _ = EditReportPermissionSync(int64(item.Id), req.ClassifyIdSecond)
|
|
|
- //}()
|
|
|
+ // 报告权限处理
|
|
|
+ go handleReportPermission(reportId, minClassifyId)
|
|
|
|
|
|
return
|
|
|
}
|
|
@@ -237,29 +222,15 @@ func EditReport(reportInfo *models.Report, req models.EditReq, sysUser *system.A
|
|
|
if err != nil {
|
|
|
return
|
|
|
}
|
|
|
- // TODO 权限处理
|
|
|
- //处理权限
|
|
|
- //go func() {
|
|
|
- // e := models.RemoveChartPermissionChapterMapping(req.ReportId)
|
|
|
- // if e != nil {
|
|
|
- // alarm_msg.SendAlarmMsg("修改删除报告权限失败,Err:"+e.Error(), 3)
|
|
|
- // return
|
|
|
- // }
|
|
|
- // permissionItems, e := models.GetPermission(req.ClassifyIdSecond)
|
|
|
- // if e != nil {
|
|
|
- // alarm_msg.SendAlarmMsg("获取权限失败,Err:"+e.Error(), 3)
|
|
|
- // return
|
|
|
- // }
|
|
|
- // for _, v := range permissionItems {
|
|
|
- // e = models.AddChartPermissionChapterMapping(v.ChartPermissionId, req.ReportId)
|
|
|
- // if e != nil {
|
|
|
- // alarm_msg.SendAlarmMsg("新增权限失败,Err:"+e.Error(), 3)
|
|
|
- // return
|
|
|
- // }
|
|
|
- // }
|
|
|
- // // 同步crm权限
|
|
|
- // _ = services.EditReportPermissionSync(req.ReportId, req.ClassifyIdSecond)
|
|
|
- //}()
|
|
|
+
|
|
|
+ // 报告权限处理
|
|
|
+ {
|
|
|
+ minClassifyId, tmpErr := getMinClassifyId(reportInfo)
|
|
|
+ if tmpErr != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ go handleReportPermission(int64(reportInfo.Id), minClassifyId)
|
|
|
+ }
|
|
|
|
|
|
return
|
|
|
}
|
|
@@ -315,7 +286,9 @@ func getAddChapter(reportInfo *models.Report, minClassifyId, inheritReportId int
|
|
|
}
|
|
|
|
|
|
// 待添加的章节
|
|
|
- typeList := make([]*models.ReportChapterType, 0)
|
|
|
+ chapterTypeList := make([]*models.ReportChapterType, 0)
|
|
|
+ // 待添加的章节类型id列表
|
|
|
+ chapterTypeIdList := make([]int, 0)
|
|
|
|
|
|
nowTime := time.Now().Local()
|
|
|
for _, chapterType := range allTypeList {
|
|
@@ -342,15 +315,42 @@ func getAddChapter(reportInfo *models.Report, minClassifyId, inheritReportId int
|
|
|
}
|
|
|
|
|
|
// 正常的章节类型状态,那么应该自动创建该章节
|
|
|
- typeList = append(typeList, chapterType)
|
|
|
+ chapterTypeList = append(chapterTypeList, chapterType)
|
|
|
+ chapterTypeIdList = append(chapterTypeIdList, chapterType.ReportChapterTypeId)
|
|
|
}
|
|
|
|
|
|
- // 分类章节的授权用户
|
|
|
- typeGrantListMap := make(map[int][]*report.ReportChapterGrant)
|
|
|
+ // 待继承的章节类id的授权用户
|
|
|
+ oldChapterIdGrantListMap := make(map[int][]*report.ReportChapterGrant)
|
|
|
+ // 待继承的章节类id关联的品种列表
|
|
|
+ oldChapterPermissionListMap := make(map[int][]*report.ReportChapterPermissionMapping)
|
|
|
// 自定义章节列表
|
|
|
customAddChapterList := make([]models.AddReportChapter, 0)
|
|
|
// 报告继承
|
|
|
inheritChapterMap := make(map[int]*models.ReportChapter)
|
|
|
+
|
|
|
+ // 当前分类下配置的章节类型id所关联的品种列表(默认配置,不是从继承报告里面获取的,如果有继承章节,那么需要从继承报告里面获取)
|
|
|
+ currChapterTypePermissionListMap := make(map[int][]*report.ReportChapterPermissionMapping)
|
|
|
+
|
|
|
+ if len(chapterTypeIdList) > 0 {
|
|
|
+ mappingList, e := models.GetChapterTypePermissionByChapterTypeIdList(chapterTypeIdList)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("获取章节类型权限列表失败, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range mappingList {
|
|
|
+ tmpChapterTypePermissionList, ok := currChapterTypePermissionListMap[v.ReportChapterTypeId]
|
|
|
+ if !ok {
|
|
|
+ tmpChapterTypePermissionList = make([]*report.ReportChapterPermissionMapping, 0)
|
|
|
+ }
|
|
|
+ currChapterTypePermissionListMap[v.ReportChapterTypeId] = append(tmpChapterTypePermissionList, &report.ReportChapterPermissionMapping{
|
|
|
+ ReportChapterPermissionMappingId: 0,
|
|
|
+ ReportChapterId: 0,
|
|
|
+ ChartPermissionId: v.ChartPermissionId,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if inheritReportId > 0 {
|
|
|
// 继承待继承的报告章节内容
|
|
|
inheritReportChapters, tmpErr := models.GetChapterListByReportId(inheritReportId)
|
|
@@ -366,8 +366,13 @@ func getAddChapter(reportInfo *models.Report, minClassifyId, inheritReportId int
|
|
|
|
|
|
// 继承的报告章节用户map
|
|
|
grantListMap := make(map[int][]*report.ReportChapterGrant)
|
|
|
+
|
|
|
+ // 继承的报告章节的关联品种map
|
|
|
+ chapterPermissionListMap := make(map[int][]*report.ReportChapterPermissionMapping)
|
|
|
+
|
|
|
// 授权数据列表
|
|
|
if len(reportChaptersIdList) > 0 {
|
|
|
+ // 授权用户数据
|
|
|
obj := report.ReportChapterGrant{}
|
|
|
grantList, tmpErr := obj.GetGrantListByIdList(reportChaptersIdList)
|
|
|
if tmpErr != nil {
|
|
@@ -392,6 +397,27 @@ func getAddChapter(reportInfo *models.Report, minClassifyId, inheritReportId int
|
|
|
tmpGrantList = append(tmpGrantList, v)
|
|
|
grantListMap[currReportChapterId] = tmpGrantList
|
|
|
}
|
|
|
+
|
|
|
+ // 授权关联品种数据
|
|
|
+ permissionObj := report.ReportChapterPermissionMapping{}
|
|
|
+ permissionList, tmpErr := permissionObj.GetPermissionListByIdList(reportChaptersIdList)
|
|
|
+ if tmpErr != nil {
|
|
|
+ errMsg = "获取待继承的报告章节的授权用户列表失败"
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range permissionList {
|
|
|
+ currReportChapterId := v.ReportChapterId
|
|
|
+ tmpPermissionList, ok := chapterPermissionListMap[currReportChapterId]
|
|
|
+ if !ok {
|
|
|
+ tmpPermissionList = make([]*report.ReportChapterPermissionMapping, 0)
|
|
|
+ }
|
|
|
+ v.ReportChapterId = 0
|
|
|
+ v.ReportChapterPermissionMappingId = 0
|
|
|
+ tmpPermissionList = append(tmpPermissionList, v)
|
|
|
+ chapterPermissionListMap[currReportChapterId] = tmpPermissionList
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 继承的报告章节内容
|
|
@@ -403,7 +429,14 @@ func getAddChapter(reportInfo *models.Report, minClassifyId, inheritReportId int
|
|
|
if !ok {
|
|
|
tmpGrantList = make([]*report.ReportChapterGrant, 0)
|
|
|
}
|
|
|
- typeGrantListMap[customChapter.TypeId] = tmpGrantList
|
|
|
+ oldChapterIdGrantListMap[customChapter.ReportChapterId] = tmpGrantList
|
|
|
+
|
|
|
+ // 关联品种列表
|
|
|
+ chapterPermissionList, ok := chapterPermissionListMap[customChapter.ReportChapterId]
|
|
|
+ if !ok {
|
|
|
+ chapterPermissionList = make([]*report.ReportChapterPermissionMapping, 0)
|
|
|
+ }
|
|
|
+ oldChapterPermissionListMap[customChapter.ReportChapterId] = chapterPermissionList
|
|
|
|
|
|
// 判断该章节是否是系统章节,如果是的话,那就是需要额外创建的
|
|
|
if customChapter.TypeId > 0 {
|
|
@@ -425,8 +458,9 @@ func getAddChapter(reportInfo *models.Report, minClassifyId, inheritReportId int
|
|
|
customChapter.ContentModifyTime = time.Now()
|
|
|
|
|
|
customAddChapter := models.AddReportChapter{
|
|
|
- ReportChapter: customChapter,
|
|
|
- GrantList: tmpGrantList,
|
|
|
+ ReportChapter: customChapter,
|
|
|
+ GrantList: tmpGrantList,
|
|
|
+ GrantPermissionList: chapterPermissionList,
|
|
|
}
|
|
|
customAddChapterList = append(customAddChapterList, customAddChapter)
|
|
|
}
|
|
@@ -434,10 +468,18 @@ func getAddChapter(reportInfo *models.Report, minClassifyId, inheritReportId int
|
|
|
|
|
|
// 最大排序
|
|
|
var maxSort int
|
|
|
- for _, typeItem := range typeList {
|
|
|
- v := inheritChapterMap[typeItem.ReportChapterTypeId]
|
|
|
+ for _, typeItem := range chapterTypeList {
|
|
|
+ v, ok := inheritChapterMap[typeItem.ReportChapterTypeId]
|
|
|
+
|
|
|
+ // 章节授权用户
|
|
|
+ var tmpGrantList []*report.ReportChapterGrant
|
|
|
+ // 章节关联品种
|
|
|
+ var tmpChapterPermissionList []*report.ReportChapterPermissionMapping
|
|
|
+
|
|
|
chapterItem := new(models.ReportChapter)
|
|
|
- if v != nil {
|
|
|
+
|
|
|
+ if ok && v != nil {
|
|
|
+ // 如果存在继承的章节,那么就从继承的章节内容中获取
|
|
|
chapterItem.AddType = 2
|
|
|
chapterItem.Title = v.Title
|
|
|
chapterItem.ReportType = v.ReportType
|
|
@@ -459,6 +501,17 @@ func getAddChapter(reportInfo *models.Report, minClassifyId, inheritReportId int
|
|
|
chapterItem.ContentStruct = v.ContentStruct
|
|
|
chapterItem.ReportLayout = v.ReportLayout
|
|
|
chapterItem.ReportCreateTime = time.Now()
|
|
|
+
|
|
|
+ // 继承历史章节中的授权用户列表
|
|
|
+ tmpGrantList, ok = oldChapterIdGrantListMap[v.ReportChapterId]
|
|
|
+ if !ok {
|
|
|
+ tmpGrantList = make([]*report.ReportChapterGrant, 0)
|
|
|
+ }
|
|
|
+ // 继承历史章节中的关联品种列表
|
|
|
+ tmpChapterPermissionList, ok = oldChapterPermissionListMap[v.ReportChapterId]
|
|
|
+ if !ok {
|
|
|
+ tmpChapterPermissionList = make([]*report.ReportChapterPermissionMapping, 0)
|
|
|
+ }
|
|
|
} else {
|
|
|
chapterItem.AddType = 1
|
|
|
chapterItem.Title = typeItem.ReportChapterTypeName
|
|
@@ -479,20 +532,23 @@ func getAddChapter(reportInfo *models.Report, minClassifyId, inheritReportId int
|
|
|
//chapterItem.ContentStruct = v.ContentStruct
|
|
|
chapterItem.ReportLayout = reportInfo.ReportLayout
|
|
|
chapterItem.ReportCreateTime = time.Now()
|
|
|
+
|
|
|
+ // 默认配置:从当前分类下配置的章节类型id所关联的品种列表
|
|
|
+ tmpChapterPermissionList, ok = currChapterTypePermissionListMap[v.TypeId]
|
|
|
+ if !ok {
|
|
|
+ tmpChapterPermissionList = make([]*report.ReportChapterPermissionMapping, 0)
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
if typeItem.Sort > maxSort {
|
|
|
maxSort = typeItem.Sort
|
|
|
}
|
|
|
|
|
|
- // 授权用户列表
|
|
|
- tmpGrantList, ok := typeGrantListMap[chapterItem.TypeId]
|
|
|
- if !ok {
|
|
|
- tmpGrantList = make([]*report.ReportChapterGrant, 0)
|
|
|
- }
|
|
|
addChapter := models.AddReportChapter{
|
|
|
- ReportChapter: chapterItem,
|
|
|
- GrantList: tmpGrantList,
|
|
|
+ ReportChapter: chapterItem,
|
|
|
+ GrantList: tmpGrantList,
|
|
|
+ GrantPermissionList: tmpChapterPermissionList,
|
|
|
}
|
|
|
|
|
|
chapterList = append(chapterList, addChapter)
|
|
@@ -505,19 +561,19 @@ func getAddChapter(reportInfo *models.Report, minClassifyId, inheritReportId int
|
|
|
chapterList = append(chapterList, addChapterItem)
|
|
|
}
|
|
|
|
|
|
- hasGrantUserMap := make(map[int]bool)
|
|
|
- for _, grantList := range typeGrantListMap {
|
|
|
- for _, grant := range grantList {
|
|
|
- if _, ok := hasGrantUserMap[grant.AdminId]; !ok {
|
|
|
- allGrantUserList = append(allGrantUserList, &report.ReportGrant{
|
|
|
- //GrantId: 0,
|
|
|
- //ReportId: 0,
|
|
|
- AdminId: grant.AdminId,
|
|
|
- CreateTime: time.Now(),
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ //hasGrantUserMap := make(map[int]bool)
|
|
|
+ //for _, grantList := range typeGrantListMap {
|
|
|
+ // for _, grant := range grantList {
|
|
|
+ // if _, ok := hasGrantUserMap[grant.AdminId]; !ok {
|
|
|
+ // allGrantUserList = append(allGrantUserList, &report.ReportGrant{
|
|
|
+ // //GrantId: 0,
|
|
|
+ // //ReportId: 0,
|
|
|
+ // AdminId: grant.AdminId,
|
|
|
+ // CreateTime: time.Now(),
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ //}
|
|
|
|
|
|
return
|
|
|
}
|
|
@@ -927,28 +983,196 @@ func CheckReportAuthByReportChapterInfo(adminId, createAdminId int, reportInfoId
|
|
|
func EditReportLayoutImg(reportInfo *models.Report, req models.EditLayoutImgReq, sysUser *system.Admin) (err error, errMsg string) {
|
|
|
errMsg = `保存失败`
|
|
|
|
|
|
+ reportInfo.HeadResourceId = req.HeadResourceId
|
|
|
+ reportInfo.HeadImg = req.HeadImg
|
|
|
+ reportInfo.EndResourceId = req.EndResourceId
|
|
|
+ reportInfo.EndImg = req.EndImg
|
|
|
reportInfo.CanvasColor = req.CanvasColor
|
|
|
reportInfo.LastModifyAdminId = sysUser.AdminId
|
|
|
reportInfo.LastModifyAdminName = sysUser.RealName
|
|
|
reportInfo.ModifyTime = time.Now()
|
|
|
|
|
|
- updateCols := []string{"CanvasColor", "LastModifyAdminId", "LastModifyAdminName", "ModifyTime"}
|
|
|
+ updateCols := []string{"HeadResourceId", "HeadImg", "EndResourceId", "EndImg", "CanvasColor", "LastModifyAdminId", "LastModifyAdminName", "ModifyTime"}
|
|
|
|
|
|
- if req.HeadResourceId > 0 {
|
|
|
- reportInfo.HeadResourceId = req.HeadResourceId
|
|
|
- reportInfo.HeadImg = req.HeadImg
|
|
|
- updateCols = append(updateCols, "HeadResourceId", "HeadImg")
|
|
|
+ err = reportInfo.UpdateReport(updateCols)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
}
|
|
|
- if req.EndResourceId > 0 {
|
|
|
- reportInfo.EndResourceId = req.EndResourceId
|
|
|
- reportInfo.EndImg = req.EndImg
|
|
|
- updateCols = append(updateCols, "EndResourceId", "EndImg")
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// PublishReport
|
|
|
+// @Description: 报告发布
|
|
|
+// @author: Roc
|
|
|
+// @datetime 2024-06-20 09:44:13
|
|
|
+// @param reportId int
|
|
|
+// @param reportUrl string
|
|
|
+// @param sysUser *system.Admin
|
|
|
+// @return tips string
|
|
|
+// @return err error
|
|
|
+// @return errMsg string
|
|
|
+func PublishReport(reportId int, reportUrl string, sysUser *system.Admin) (tips string, err error, errMsg string) {
|
|
|
+ errMsg = `报告发布失败`
|
|
|
+ reportInfo, err := models.GetReportByReportId(reportId)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "获取报告信息失败"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if reportInfo == nil {
|
|
|
+ errMsg = "获取报告信息失败"
|
|
|
+ err = errors.New(errMsg)
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
- err = reportInfo.UpdateReport(updateCols)
|
|
|
+ var publishTime time.Time
|
|
|
+ if reportInfo.MsgIsSend == 1 && reportInfo.PublishTime.IsZero() { //如果报告曾经发布过,并且已经发送过模版消息,则章节的发布时间为报告的发布时间
|
|
|
+ publishTime = reportInfo.PublishTime
|
|
|
+ } else {
|
|
|
+ publishTime = time.Now()
|
|
|
+ }
|
|
|
+ var tmpErr error
|
|
|
+
|
|
|
+ // 章节类型的报告(原来的晨周报)
|
|
|
+ if reportInfo.HasChapter == 1 {
|
|
|
+ tips, tmpErr = PublishDayWeekReport(reportId)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = errors.New("晨周报发布失败, Err:" + tmpErr.Error() + ", report_id:" + strconv.Itoa(reportId))
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 普通报告
|
|
|
+ if reportInfo.Content == "" {
|
|
|
+ errMsg = `报告内容为空,不可发布`
|
|
|
+ err = errors.New("报告内容为空,不需要生成,report_id:" + strconv.Itoa(reportId))
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 根据审批开关及审批流判断当前报告状态
|
|
|
+ state, e := CheckReportCurrState(report_approve.FlowReportTypeChinese, reportInfo.ClassifyIdFirst, reportInfo.ClassifyIdSecond, reportInfo.ClassifyIdThird, models.ReportOperatePublish)
|
|
|
+ if e != nil {
|
|
|
+ errMsg = "操作失败"
|
|
|
+ err = errors.New("校验报告当前状态失败, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if state == models.ReportStatePublished {
|
|
|
+ // 发布报告
|
|
|
+ if tmpErr = models.PublishReportById(reportId, publishTime); tmpErr != nil {
|
|
|
+ err = errors.New("报告发布失败, Err:" + tmpErr.Error() + ", report_id:" + strconv.Itoa(reportId))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ go func() {
|
|
|
+ // 生成音频
|
|
|
+ if reportInfo.VideoUrl == "" {
|
|
|
+ _ = CreateVideo(reportInfo)
|
|
|
+ }
|
|
|
+ // 更新报告Es
|
|
|
+ _ = UpdateReportEs(reportId, 2)
|
|
|
+ }()
|
|
|
+ } else {
|
|
|
+ // 从无审批切换为有审批, 状态重置
|
|
|
+ if e = models.ResetReportById(reportId, state); tmpErr != nil {
|
|
|
+ errMsg = "操作失败"
|
|
|
+ err = fmt.Errorf("重置报告状态失败, Err: %s, ReportId: %d", e.Error(), reportId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ recordItem := &models.ReportStateRecord{
|
|
|
+ ReportId: reportId,
|
|
|
+ ReportType: 1,
|
|
|
+ State: state,
|
|
|
+ AdminId: sysUser.AdminId,
|
|
|
+ AdminName: sysUser.AdminName,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ }
|
|
|
+ go func() {
|
|
|
+ _, _ = models.AddReportStateRecord(recordItem)
|
|
|
+ }()
|
|
|
+
|
|
|
+ // TODO 生成报告pdf和长图
|
|
|
+ // 生成报告pdf和长图
|
|
|
+ if reportUrl != "" {
|
|
|
+ go Report2pdfAndJpeg(reportUrl, reportId, 1)
|
|
|
+ }
|
|
|
+
|
|
|
+ // 报告权限处理
|
|
|
+ {
|
|
|
+ minClassifyId, tmpErr := getMinClassifyId(reportInfo)
|
|
|
+ if tmpErr != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ go handleReportPermission(int64(reportInfo.Id), minClassifyId)
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// getMinClassifyId
|
|
|
+// @Description: 获取最小分类ID
|
|
|
+// @author: Roc
|
|
|
+// @datetime 2024-06-20 09:23:19
|
|
|
+// @param reportInfo *models.Report
|
|
|
+// @return minClassifyId int
|
|
|
+// @return err error
|
|
|
+func getMinClassifyId(reportInfo *models.Report) (minClassifyId int, err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Error("获取最小分类ID失败,报告ID:%d,Err:%s", reportInfo.Id, err.Error())
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ minClassifyId = reportInfo.ClassifyIdThird
|
|
|
+ if minClassifyId <= 0 {
|
|
|
+ minClassifyId = reportInfo.ClassifyIdSecond
|
|
|
+ }
|
|
|
+ if minClassifyId <= 0 {
|
|
|
+ minClassifyId = reportInfo.ClassifyIdFirst
|
|
|
+ }
|
|
|
+ if minClassifyId <= 0 {
|
|
|
+ err = errors.New("分类异常")
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// handleReportPermission
|
|
|
+// @Description: 报告权限处理
|
|
|
+// @author: Roc
|
|
|
+// @datetime 2024-06-19 18:00:51
|
|
|
+// @param reportId int64
|
|
|
+// @param minClassifyId int
|
|
|
+func handleReportPermission(reportId int64, minClassifyId int) {
|
|
|
+ // TODO 报告权限处理
|
|
|
+ var err error
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Error("报告权限处理失败,报告ID:%d,分类ID:%d,Err:%s", reportId, minClassifyId, err.Error())
|
|
|
+ //alarm_msg.SendAlarmMsg("修改删除报告权限失败,Err:"+err.Error(), 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ err = models.RemoveChartPermissionChapterMapping(reportId)
|
|
|
if err != nil {
|
|
|
+ err = errors.New("修改删除报告权限失败,Err:" + err.Error())
|
|
|
return
|
|
|
}
|
|
|
+ permissionItems, err := models.GetPermission(minClassifyId)
|
|
|
+ if err != nil {
|
|
|
+ err = errors.New("获取权限失败,Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range permissionItems {
|
|
|
+ err = models.AddChartPermissionChapterMapping(v.ChartPermissionId, reportId)
|
|
|
+ if err != nil {
|
|
|
+ err = errors.New("新增权限失败,Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 同步crm权限
|
|
|
+ _ = EditReportPermissionSync(reportId, minClassifyId)
|
|
|
|
|
|
return
|
|
|
}
|