|
@@ -1695,202 +1695,182 @@ func EditChapterBaseInfoAndPermission(reportInfo *models.Report, reportChapterIn
|
|
|
// @param adminIdList []int
|
|
|
// @return err error
|
|
|
// @return errMsg string
|
|
|
-func DelChapter(reportInfo *models.Report, reportChapterInfo *models.ReportChapter, title string, permissionIdList []int, adminIdList []int) (err error, errMsg string) {
|
|
|
- errMsg = "删除失败"
|
|
|
-
|
|
|
- if reportInfo.State == 2 {
|
|
|
- errMsg = "该报告已发布,不允许删除"
|
|
|
- err = errors.New(errMsg)
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- updateCols := make([]string, 0)
|
|
|
- // 如果标题内容,那么就修改
|
|
|
- if title != `` {
|
|
|
- reportChapterInfo.Title = title
|
|
|
- reportChapterInfo.ModifyTime = time.Now()
|
|
|
- updateCols = append(updateCols, "Title", "ModifyTime")
|
|
|
- reportChapterInfo.UpdateChapter(updateCols)
|
|
|
- }
|
|
|
-
|
|
|
- reportGrantObj := report.ReportGrant{}
|
|
|
- chapterGrantObj := report.ReportChapterGrant{}
|
|
|
- chapterPermissionObj := report.ReportChapterPermissionMapping{}
|
|
|
-
|
|
|
- // 需要添加的报告章节授权数据
|
|
|
- addChapterAdminList := make([]*report.ReportChapterGrant, 0)
|
|
|
- // 待移除的报告章节授权数据id
|
|
|
- delReportChapterGrantIdList := make([]int, 0)
|
|
|
-
|
|
|
- // 处理当前报告章节需要新增/移除的授权信息
|
|
|
- {
|
|
|
- // 获取当前章节已经授权的用户信息
|
|
|
- chapterGrantList, tmpErr := chapterGrantObj.GetGrantListById(reportChapterInfo.ReportChapterId)
|
|
|
- if tmpErr != nil {
|
|
|
- err = tmpErr
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- // 当前章节已经授权的用户信息
|
|
|
- currChapterAdminMap := make(map[int]*report.ReportChapterGrant)
|
|
|
- // 需要删除的报告章节授权数据
|
|
|
- delChapterAdminMap := make(map[int]*report.ReportChapterGrant)
|
|
|
- for _, v := range chapterGrantList {
|
|
|
- currChapterAdminMap[v.AdminId] = v
|
|
|
- delChapterAdminMap[v.AdminId] = v
|
|
|
- }
|
|
|
-
|
|
|
- for _, adminId := range adminIdList {
|
|
|
- _, ok := currChapterAdminMap[adminId]
|
|
|
- // 如果存在,那么从 “需要删除的报告章节授权数据” 的map中移除
|
|
|
- if ok {
|
|
|
- delete(delChapterAdminMap, adminId)
|
|
|
- continue
|
|
|
- }
|
|
|
- // 如果不存在,那么就新增授权
|
|
|
- addChapterAdminList = append(addChapterAdminList, &report.ReportChapterGrant{
|
|
|
- //GrantId: 0,
|
|
|
- ReportChapterId: reportChapterInfo.ReportChapterId,
|
|
|
- AdminId: adminId,
|
|
|
- CreateTime: time.Now(),
|
|
|
- })
|
|
|
- }
|
|
|
-
|
|
|
- // 查出需要移除的授权id
|
|
|
- for _, v := range delChapterAdminMap {
|
|
|
- delReportChapterGrantIdList = append(delReportChapterGrantIdList, v.GrantId)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 其他章节授权的用户
|
|
|
- otherChapterAdminMap := make(map[int]bool)
|
|
|
- {
|
|
|
- // 获取报告所有的章节id
|
|
|
- reportChapterIdList, tmpErr := models.GetReportChapterIdList(reportInfo.Id)
|
|
|
- if tmpErr != nil {
|
|
|
- err = tmpErr
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- if len(reportChapterIdList) > 0 {
|
|
|
- list, tmpErr := chapterGrantObj.GetGrantListByIdList(reportChapterIdList)
|
|
|
- if tmpErr != nil {
|
|
|
- err = tmpErr
|
|
|
- return
|
|
|
- }
|
|
|
- for _, v := range list {
|
|
|
- // 如果是当前章节,因为涉及到重新授权,所以得过滤
|
|
|
- if v.ReportChapterId == reportChapterInfo.ReportChapterId {
|
|
|
- continue
|
|
|
- }
|
|
|
- otherChapterAdminMap[v.AdminId] = true
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 需要添加的报告授权数据
|
|
|
- addReportAdminList := make([]*report.ReportGrant, 0)
|
|
|
- // 待移除的报告授权数据id
|
|
|
- delReportGrantIdList := make([]int, 0)
|
|
|
-
|
|
|
- // 处理当前报告需要新增/移除的授权信息
|
|
|
- {
|
|
|
- // 获取当前报告已经授权的用户信息
|
|
|
- reportGrantList, tmpErr := reportGrantObj.GetGrantListById(reportInfo.Id)
|
|
|
- if tmpErr != nil {
|
|
|
- err = tmpErr
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- // 当前报告已经授权的用户信息
|
|
|
- currReportAdminMap := make(map[int]*report.ReportGrant)
|
|
|
- // 需要删除的报告授权数据
|
|
|
- delReportAdminMap := make(map[int]*report.ReportGrant)
|
|
|
- for _, v := range reportGrantList {
|
|
|
- currReportAdminMap[v.AdminId] = v
|
|
|
- delReportAdminMap[v.AdminId] = v
|
|
|
- }
|
|
|
-
|
|
|
- // 先看需要新增哪些用户
|
|
|
- for _, tmpAdminId := range adminIdList {
|
|
|
- _, ok := currReportAdminMap[tmpAdminId]
|
|
|
- // 如果章节中需要新增的用户 已经在 报告授权用户里面,那么就忽略,可以不用新增了
|
|
|
- if ok {
|
|
|
- delete(delReportAdminMap, tmpAdminId)
|
|
|
- continue
|
|
|
- }
|
|
|
-
|
|
|
- // 如果不存在,那么就新增授权
|
|
|
- addReportAdminList = append(addReportAdminList, &report.ReportGrant{
|
|
|
- //GrantId: 0,
|
|
|
- ReportId: reportInfo.Id,
|
|
|
- AdminId: tmpAdminId,
|
|
|
- CreateTime: time.Now(),
|
|
|
- })
|
|
|
- }
|
|
|
-
|
|
|
- // 再看看章节中,需要移除的用户
|
|
|
- for _, tmpAdminId := range delReportChapterGrantIdList {
|
|
|
- _, ok := otherChapterAdminMap[tmpAdminId]
|
|
|
- // 如果章节中需要移除的用户 在 报告中其他章节的授权用户里面,那么就忽略,可以不用删除了
|
|
|
- if ok {
|
|
|
- delete(delReportAdminMap, tmpAdminId)
|
|
|
- continue
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 查出需要移除的授权id
|
|
|
- for _, v := range delReportAdminMap {
|
|
|
- delReportGrantIdList = append(delReportGrantIdList, v.GrantId)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 需要添加的报告章节品种权限数据
|
|
|
- addChapterPermissionList := make([]*report.ReportChapterPermissionMapping, 0)
|
|
|
- // 待移除的报告章节品种权限数据id
|
|
|
- delChapterPermissionMappingIdList := make([]int, 0)
|
|
|
-
|
|
|
- // 处理当前报告章节需要新增/移除的品种权限信息
|
|
|
- {
|
|
|
- // 获取当前章节已经配置的品种权限信息
|
|
|
- chapterPermissionList, tmpErr := chapterPermissionObj.GetPermissionListById(reportChapterInfo.ReportChapterId)
|
|
|
- if tmpErr != nil {
|
|
|
- err = tmpErr
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- // 当前章节已经配置的品种权限信息
|
|
|
- currChapterPermissionMap := make(map[int]*report.ReportChapterPermissionMapping)
|
|
|
- // 需要删除的报告章节品种权限配置
|
|
|
- delChapterPermissionMap := make(map[int]*report.ReportChapterPermissionMapping)
|
|
|
- for _, v := range chapterPermissionList {
|
|
|
- currChapterPermissionMap[v.ChartPermissionId] = v
|
|
|
- delChapterPermissionMap[v.ChartPermissionId] = v
|
|
|
- }
|
|
|
-
|
|
|
- for _, permissionId := range permissionIdList {
|
|
|
- _, ok := currChapterPermissionMap[permissionId]
|
|
|
- // 如果存在,那么从 “需要删除的报告章节品种权限配置” 的map中移除
|
|
|
- if ok {
|
|
|
- delete(delChapterPermissionMap, permissionId)
|
|
|
- continue
|
|
|
- }
|
|
|
- // 如果不存在,那么就新增品种权限配置
|
|
|
- addChapterPermissionList = append(addChapterPermissionList, &report.ReportChapterPermissionMapping{
|
|
|
- //ReportChapterPermissionMappingId: 0,
|
|
|
- ReportChapterId: reportChapterInfo.ReportChapterId,
|
|
|
- ChartPermissionId: permissionId,
|
|
|
- CreateTime: time.Now(),
|
|
|
- })
|
|
|
- }
|
|
|
-
|
|
|
- // 查出需要移除的品种权限配置
|
|
|
- for _, v := range delChapterPermissionMap {
|
|
|
- delChapterPermissionMappingIdList = append(delChapterPermissionMappingIdList, v.ReportChapterPermissionMappingId)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- err = models.EditChapterBaseInfoAndPermission(reportChapterInfo, updateCols, addReportAdminList, addChapterAdminList, addChapterPermissionList, delReportGrantIdList, delReportChapterGrantIdList, delChapterPermissionMappingIdList)
|
|
|
-
|
|
|
- return
|
|
|
-}
|
|
|
+//func DelChapter(reportInfo *models.Report, reportChapterInfo *models.ReportChapter, title string, permissionIdList []int, adminIdList []int) (err error, errMsg string) {
|
|
|
+// errMsg = "删除失败"
|
|
|
+//
|
|
|
+// if reportInfo.State == 2 {
|
|
|
+// errMsg = "该报告已发布,不允许删除"
|
|
|
+// err = errors.New(errMsg)
|
|
|
+// return
|
|
|
+// }
|
|
|
+//
|
|
|
+// updateCols := make([]string, 0)
|
|
|
+// // 如果标题内容,那么就修改
|
|
|
+// if title != `` {
|
|
|
+// reportChapterInfo.Title = title
|
|
|
+// reportChapterInfo.ModifyTime = time.Now()
|
|
|
+// updateCols = append(updateCols, "Title", "ModifyTime")
|
|
|
+// reportChapterInfo.UpdateChapter(updateCols)
|
|
|
+// }
|
|
|
+//
|
|
|
+// reportGrantObj := report.ReportGrant{}
|
|
|
+// chapterGrantObj := report.ReportChapterGrant{}
|
|
|
+// chapterPermissionObj := report.ReportChapterPermissionMapping{}
|
|
|
+//
|
|
|
+// // 需要添加的报告章节授权数据
|
|
|
+// addChapterAdminList := make([]*report.ReportChapterGrant, 0)
|
|
|
+// // 待移除的报告章节授权数据id
|
|
|
+// delReportChapterGrantIdList := make([]int, 0)
|
|
|
+//
|
|
|
+// // 处理当前报告章节需要新增/移除的授权信息
|
|
|
+// {
|
|
|
+// // 获取当前章节已经授权的用户信息
|
|
|
+// chapterGrantList, tmpErr := chapterGrantObj.GetGrantListById(reportChapterInfo.ReportChapterId)
|
|
|
+// if tmpErr != nil {
|
|
|
+// err = tmpErr
|
|
|
+// return
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 当前章节已经授权的用户信息
|
|
|
+// currChapterAdminMap := make(map[int]*report.ReportChapterGrant)
|
|
|
+// // 需要删除的报告章节授权数据
|
|
|
+// delChapterAdminMap := make(map[int]*report.ReportChapterGrant)
|
|
|
+// for _, v := range chapterGrantList {
|
|
|
+// currChapterAdminMap[v.AdminId] = v
|
|
|
+// delChapterAdminMap[v.AdminId] = v
|
|
|
+// }
|
|
|
+//
|
|
|
+// for _, adminId := range adminIdList {
|
|
|
+// _, ok := currChapterAdminMap[adminId]
|
|
|
+// // 如果存在,那么从 “需要删除的报告章节授权数据” 的map中移除
|
|
|
+// if ok {
|
|
|
+// delete(delChapterAdminMap, adminId)
|
|
|
+// continue
|
|
|
+// }
|
|
|
+// // 如果不存在,那么就新增授权
|
|
|
+// addChapterAdminList = append(addChapterAdminList, &report.ReportChapterGrant{
|
|
|
+// //GrantId: 0,
|
|
|
+// ReportChapterId: reportChapterInfo.ReportChapterId,
|
|
|
+// AdminId: adminId,
|
|
|
+// CreateTime: time.Now(),
|
|
|
+// })
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 查出需要移除的授权id
|
|
|
+// for _, v := range delChapterAdminMap {
|
|
|
+// delReportChapterGrantIdList = append(delReportChapterGrantIdList, v.GrantId)
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 其他章节授权的用户
|
|
|
+// otherChapterAdminMap := make(map[int]bool)
|
|
|
+// {
|
|
|
+// // 获取报告所有的章节id
|
|
|
+// reportChapterIdList, tmpErr := models.GetReportChapterIdList(reportInfo.Id)
|
|
|
+// if tmpErr != nil {
|
|
|
+// err = tmpErr
|
|
|
+// return
|
|
|
+// }
|
|
|
+//
|
|
|
+// if len(reportChapterIdList) > 0 {
|
|
|
+// list, tmpErr := chapterGrantObj.GetGrantListByIdList(reportChapterIdList)
|
|
|
+// if tmpErr != nil {
|
|
|
+// err = tmpErr
|
|
|
+// return
|
|
|
+// }
|
|
|
+// for _, v := range list {
|
|
|
+// // 如果是当前章节,因为涉及到重新授权,所以得过滤
|
|
|
+// if v.ReportChapterId == reportChapterInfo.ReportChapterId {
|
|
|
+// continue
|
|
|
+// }
|
|
|
+// otherChapterAdminMap[v.AdminId] = true
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 待移除的报告授权数据id
|
|
|
+// delReportGrantIdList := make([]int, 0)
|
|
|
+//
|
|
|
+// // 处理当前报告需要新增/移除的授权信息
|
|
|
+// {
|
|
|
+// // 获取当前报告已经授权的用户信息
|
|
|
+// reportGrantList, tmpErr := reportGrantObj.GetGrantListById(reportInfo.Id)
|
|
|
+// if tmpErr != nil {
|
|
|
+// err = tmpErr
|
|
|
+// return
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 当前报告已经授权的用户信息
|
|
|
+// currReportAdminMap := make(map[int]*report.ReportGrant)
|
|
|
+// // 需要删除的报告授权数据
|
|
|
+// delReportAdminMap := make(map[int]*report.ReportGrant)
|
|
|
+// for _, v := range reportGrantList {
|
|
|
+// currReportAdminMap[v.AdminId] = v
|
|
|
+// delReportAdminMap[v.AdminId] = v
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 再看看章节中,需要移除的用户
|
|
|
+// for _, tmpAdminId := range delReportChapterGrantIdList {
|
|
|
+// _, ok := otherChapterAdminMap[tmpAdminId]
|
|
|
+// // 如果章节中需要移除的用户 在 报告中其他章节的授权用户里面,那么就忽略,可以不用删除了
|
|
|
+// if ok {
|
|
|
+// delete(delReportAdminMap, tmpAdminId)
|
|
|
+// continue
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 查出需要移除的授权id
|
|
|
+// for _, v := range delReportAdminMap {
|
|
|
+// delReportGrantIdList = append(delReportGrantIdList, v.GrantId)
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 需要添加的报告章节品种权限数据
|
|
|
+// addChapterPermissionList := make([]*report.ReportChapterPermissionMapping, 0)
|
|
|
+// // 待移除的报告章节品种权限数据id
|
|
|
+// delChapterPermissionMappingIdList := make([]int, 0)
|
|
|
+//
|
|
|
+// // 处理当前报告章节需要新增/移除的品种权限信息
|
|
|
+// {
|
|
|
+// // 获取当前章节已经配置的品种权限信息
|
|
|
+// chapterPermissionList, tmpErr := chapterPermissionObj.GetPermissionListById(reportChapterInfo.ReportChapterId)
|
|
|
+// if tmpErr != nil {
|
|
|
+// err = tmpErr
|
|
|
+// return
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 当前章节已经配置的品种权限信息
|
|
|
+// currChapterPermissionMap := make(map[int]*report.ReportChapterPermissionMapping)
|
|
|
+// // 需要删除的报告章节品种权限配置
|
|
|
+// delChapterPermissionMap := make(map[int]*report.ReportChapterPermissionMapping)
|
|
|
+// for _, v := range chapterPermissionList {
|
|
|
+// currChapterPermissionMap[v.ChartPermissionId] = v
|
|
|
+// delChapterPermissionMap[v.ChartPermissionId] = v
|
|
|
+// }
|
|
|
+//
|
|
|
+// for _, permissionId := range permissionIdList {
|
|
|
+// _, ok := currChapterPermissionMap[permissionId]
|
|
|
+// // 如果存在,那么从 “需要删除的报告章节品种权限配置” 的map中移除
|
|
|
+// if ok {
|
|
|
+// delete(delChapterPermissionMap, permissionId)
|
|
|
+// continue
|
|
|
+// }
|
|
|
+// // 如果不存在,那么就新增品种权限配置
|
|
|
+// addChapterPermissionList = append(addChapterPermissionList, &report.ReportChapterPermissionMapping{
|
|
|
+// //ReportChapterPermissionMappingId: 0,
|
|
|
+// ReportChapterId: reportChapterInfo.ReportChapterId,
|
|
|
+// ChartPermissionId: permissionId,
|
|
|
+// CreateTime: time.Now(),
|
|
|
+// })
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 查出需要移除的品种权限配置
|
|
|
+// for _, v := range delChapterPermissionMap {
|
|
|
+// delChapterPermissionMappingIdList = append(delChapterPermissionMappingIdList, v.ReportChapterPermissionMappingId)
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// err = models.EditChapterBaseInfoAndPermission(reportChapterInfo, updateCols, addReportAdminList, addChapterAdminList, addChapterPermissionList, delReportGrantIdList, delReportChapterGrantIdList, delChapterPermissionMappingIdList)
|
|
|
+//
|
|
|
+// return
|
|
|
+//}
|