Browse Source

fix:报告分类权限,报告章节权限,报告权限同步逻辑调整

Roc 8 months ago
parent
commit
8c61af3c7f

+ 25 - 23
models/crm/report_chapter_type.go

@@ -7,29 +7,31 @@ import (
 )
 
 type ReportChapterType struct {
-	ReportChapterTypeId    int       `gorm:"column:report_chapter_type_id;primary_key;AUTO_INCREMENT;NOT NULL;comment:'报告章节类型id'"`
-	ReportChapterTypeKey   string    `gorm:"column:report_chapter_type_key;default:NULL;comment:'章节key'"`
-	ReportChapterTypeThumb string    `gorm:"column:report_chapter_type_thumb;default:NULL;comment:'H5展示的图片'"`
-	BannerUrl              string    `gorm:"column:banner_url;default:NULL;comment:'banner显示图片'"`
-	ReportChapterTypeName  string    `gorm:"column:report_chapter_type_name;default:NULL;comment:'报告章节类型名称'"`
-	Sort                   int       `gorm:"column:sort;default:0;NOT NULL;comment:'排序字段'"`
-	Enabled                int       `gorm:"column:enabled;default:NULL;comment:'报告类型状态'"`
-	CreatedTime            time.Time `gorm:"column:created_time;default:CURRENT_TIMESTAMP;comment:'创建时间'"`
-	LastUpdatedTime        time.Time `gorm:"column:last_updated_time;default:CURRENT_TIMESTAMP;NOT NULL"`
-	ResearchType           string    `gorm:"column:research_type;default:week;comment:'研报类型'"`
-	SelectedImage          string    `gorm:"column:selected_image;default:NULL;comment:'选中时的图片'"`
-	UnselectedImage        string    `gorm:"column:unselected_image;default:NULL;comment:'没选中时的图片'"`
-	PcSelectedImage        string    `gorm:"column:pc_selected_image;default:NULL;comment:'选中时的图片'"`
-	PcUnselectedImage      string    `gorm:"column:pc_unselected_image;default:NULL;comment:'没选中时的图片'"`
-	EditImgUrl             string    `gorm:"column:edit_img_url;default:NULL;comment:'管理后台编辑时选用的图'"`
-	TickerTitle            string    `gorm:"column:ticker_title;default:NULL;comment:'指标列的标题'"`
-	IsShow                 int       `gorm:"column:is_show;default:1;comment:'是否显示'"`
-	PauseStartTime         string    `gorm:"column:pause_start_time;default:NULL;comment:'暂停开始日期'"`
-	PauseEndTime           string    `gorm:"column:pause_end_time;default:NULL;comment:'暂停结束日期'"`
-	IsSet                  int       `gorm:"column:is_set;default:0;comment:'是否设置:0为设置,1已设置'"`
-	YbIconUrl              string    `gorm:"column:yb_icon_url;default:NULL;comment:'研报小程序3.0图标地址'"`
-	YbBottomIcon           string    `gorm:"column:yb_bottom_icon;default:NULL;comment:'研报小程序3.0底部菜单图标地址'"`
-	YbHidden               uint      `gorm:"column:yb_hidden;default:0;NOT NULL;comment:'研报小程序隐藏章节: 0-显示; 1-隐藏'"`
+	ReportChapterTypeId        int       `gorm:"column:report_chapter_type_id;primary_key;AUTO_INCREMENT;NOT NULL;comment:'报告章节类型id'"`
+	ReportChapterTypeKey       string    `gorm:"column:report_chapter_type_key;default:NULL;comment:'章节key'"`
+	ReportChapterTypeThumb     string    `gorm:"column:report_chapter_type_thumb;default:NULL;comment:'H5展示的图片'"`
+	BannerUrl                  string    `gorm:"column:banner_url;default:NULL;comment:'banner显示图片'"`
+	ReportChapterTypeName      string    `gorm:"column:report_chapter_type_name;default:NULL;comment:'报告章节类型名称'"`
+	Sort                       int       `gorm:"column:sort;default:0;NOT NULL;comment:'排序字段'"`
+	Enabled                    int       `gorm:"column:enabled;default:NULL;comment:'报告类型状态'"`
+	CreatedTime                time.Time `gorm:"column:created_time;default:CURRENT_TIMESTAMP;comment:'创建时间'"`
+	LastUpdatedTime            time.Time `gorm:"column:last_updated_time;default:CURRENT_TIMESTAMP;NOT NULL"`
+	ResearchType               string    `gorm:"column:research_type;default:week;comment:'研报类型'"`
+	SelectedImage              string    `gorm:"column:selected_image;default:NULL;comment:'选中时的图片'"`
+	UnselectedImage            string    `gorm:"column:unselected_image;default:NULL;comment:'没选中时的图片'"`
+	PcSelectedImage            string    `gorm:"column:pc_selected_image;default:NULL;comment:'选中时的图片'"`
+	PcUnselectedImage          string    `gorm:"column:pc_unselected_image;default:NULL;comment:'没选中时的图片'"`
+	EditImgUrl                 string    `gorm:"column:edit_img_url;default:NULL;comment:'管理后台编辑时选用的图'"`
+	TickerTitle                string    `gorm:"column:ticker_title;default:NULL;comment:'指标列的标题'"`
+	IsShow                     int       `gorm:"column:is_show;default:1;comment:'是否显示'"`
+	PauseStartTime             string    `gorm:"column:pause_start_time;default:NULL;comment:'暂停开始日期'"`
+	PauseEndTime               string    `gorm:"column:pause_end_time;default:NULL;comment:'暂停结束日期'"`
+	IsSet                      int       `gorm:"column:is_set;default:0;comment:'是否设置:0为设置,1已设置'"`
+	YbIconUrl                  string    `gorm:"column:yb_icon_url;default:NULL;comment:'研报小程序3.0图标地址'"`
+	YbBottomIcon               string    `gorm:"column:yb_bottom_icon;default:NULL;comment:'研报小程序3.0底部菜单图标地址'"`
+	YbHidden                   uint      `gorm:"column:yb_hidden;default:0;NOT NULL;comment:'研报小程序隐藏章节: 0-显示; 1-隐藏'"`
+	ReportClassifyId           int       `description:"所属分类id"`
+	InheritReportChapterTypeId int       `description:"继承的报告章节类型id"`
 }
 
 func (r *ReportChapterType) TableName() string {

+ 34 - 13
models/crm/report_chapter_type_permission.go

@@ -2,7 +2,6 @@ package crm
 
 import (
 	"hongze/hz_crm_eta/global"
-	"hongze/hz_crm_eta/utils"
 	"time"
 )
 
@@ -31,25 +30,46 @@ func SetReportChapterTypePermission(chapterTypeId int, researchType string, newP
 		}
 	}()
 
-	// 删除原章节类型权限
-	sql := `DELETE FROM report_chapter_type_permission WHERE report_chapter_type_id = ? AND research_type = ?`
-	err = tx.Exec(sql, chapterTypeId, researchType).Error
-	if err != nil {
-		return
-	}
-
-	// 新增章节类型权限
-	if len(newPermissions) > 0 {
-		err = tx.CreateInBatches(newPermissions, len(newPermissions)).Error
+	// 章节类型权限调整
+	{
+		// 删除原章节类型权限
+		sql := `DELETE FROM report_chapter_type_permission WHERE report_chapter_type_id = ? AND research_type = ?`
+		err = tx.Exec(sql, chapterTypeId, researchType).Error
 		if err != nil {
 			return
 		}
+
+		// 新增章节类型权限
+		if len(newPermissions) > 0 {
+			err = tx.CreateInBatches(newPermissions, len(newPermissions)).Error
+			if err != nil {
+				return
+			}
+		}
 	}
 
 	// 周报章节调整chart_permission_chapter_mapping表
-	if researchType == utils.REPORT_TYPE_WEEK {
+	//if researchType == utils.REPORT_TYPE_WEEK {
+	//	// 删除原权限
+	//	sql = `DELETE FROM chart_permission_chapter_mapping WHERE report_chapter_type_id = ? AND research_type = ?`
+	//	err = tx.Exec(sql, chapterTypeId, researchType).Error
+	//	if err != nil {
+	//		return
+	//	}
+	//
+	//	// 新增权限
+	//	if len(newWeekPermissions) > 0 {
+	//		err = tx.CreateInBatches(newWeekPermissions, len(newWeekPermissions)).Error
+	//		if err != nil {
+	//			return
+	//		}
+	//	}
+	//}
+
+	// 章节报告权限调整
+	{
 		// 删除原权限
-		sql = `DELETE FROM chart_permission_chapter_mapping WHERE report_chapter_type_id = ? AND research_type = ?`
+		sql := `DELETE FROM chart_permission_chapter_mapping WHERE report_chapter_type_id = ? AND research_type = ?`
 		err = tx.Exec(sql, chapterTypeId, researchType).Error
 		if err != nil {
 			return
@@ -63,6 +83,7 @@ func SetReportChapterTypePermission(chapterTypeId int, researchType string, newP
 			}
 		}
 	}
+
 	return
 }
 

+ 25 - 23
models/eta/report_chapter_type.go

@@ -7,29 +7,31 @@ import (
 )
 
 type ReportChapterType struct {
-	ReportChapterTypeId    int       `gorm:"column:report_chapter_type_id;primary_key;AUTO_INCREMENT;NOT NULL;comment:'报告章节类型id'"`
-	ReportChapterTypeKey   string    `gorm:"column:report_chapter_type_key;default:NULL;comment:'章节key'"`
-	ReportChapterTypeThumb string    `gorm:"column:report_chapter_type_thumb;default:NULL;comment:'H5展示的图片'"`
-	BannerUrl              string    `gorm:"column:banner_url;default:NULL;comment:'banner显示图片'"`
-	ReportChapterTypeName  string    `gorm:"column:report_chapter_type_name;default:NULL;comment:'报告章节类型名称'"`
-	Sort                   int       `gorm:"column:sort;default:0;NOT NULL;comment:'排序字段'"`
-	Enabled                int       `gorm:"column:enabled;default:NULL;comment:'报告类型状态'"`
-	CreatedTime            time.Time `gorm:"column:created_time;default:CURRENT_TIMESTAMP;comment:'创建时间'"`
-	LastUpdatedTime        time.Time `gorm:"column:last_updated_time;default:CURRENT_TIMESTAMP;NOT NULL"`
-	ResearchType           string    `gorm:"column:research_type;default:week;comment:'研报类型'"`
-	SelectedImage          string    `gorm:"column:selected_image;default:NULL;comment:'选中时的图片'"`
-	UnselectedImage        string    `gorm:"column:unselected_image;default:NULL;comment:'没选中时的图片'"`
-	PcSelectedImage        string    `gorm:"column:pc_selected_image;default:NULL;comment:'选中时的图片'"`
-	PcUnselectedImage      string    `gorm:"column:pc_unselected_image;default:NULL;comment:'没选中时的图片'"`
-	EditImgUrl             string    `gorm:"column:edit_img_url;default:NULL;comment:'管理后台编辑时选用的图'"`
-	TickerTitle            string    `gorm:"column:ticker_title;default:NULL;comment:'指标列的标题'"`
-	IsShow                 int       `gorm:"column:is_show;default:1;comment:'是否显示'"`
-	PauseStartTime         string    `gorm:"column:pause_start_time;default:NULL;comment:'暂停开始日期'"`
-	PauseEndTime           string    `gorm:"column:pause_end_time;default:NULL;comment:'暂停结束日期'"`
-	IsSet                  int       `gorm:"column:is_set;default:0;comment:'是否设置:0为设置,1已设置'"`
-	YbIconUrl              string    `gorm:"column:yb_icon_url;default:NULL;comment:'研报小程序3.0图标地址'"`
-	YbBottomIcon           string    `gorm:"column:yb_bottom_icon;default:NULL;comment:'研报小程序3.0底部菜单图标地址'"`
-	YbHidden               uint      `gorm:"column:yb_hidden;default:0;NOT NULL;comment:'研报小程序隐藏章节: 0-显示; 1-隐藏'"`
+	ReportChapterTypeId        int       `gorm:"column:report_chapter_type_id;primary_key;AUTO_INCREMENT;NOT NULL;comment:'报告章节类型id'"`
+	ReportChapterTypeKey       string    `gorm:"column:report_chapter_type_key;default:NULL;comment:'章节key'"`
+	ReportChapterTypeThumb     string    `gorm:"column:report_chapter_type_thumb;default:NULL;comment:'H5展示的图片'"`
+	BannerUrl                  string    `gorm:"column:banner_url;default:NULL;comment:'banner显示图片'"`
+	ReportChapterTypeName      string    `gorm:"column:report_chapter_type_name;default:NULL;comment:'报告章节类型名称'"`
+	Sort                       int       `gorm:"column:sort;default:0;NOT NULL;comment:'排序字段'"`
+	Enabled                    int       `gorm:"column:enabled;default:NULL;comment:'报告类型状态'"`
+	CreatedTime                time.Time `gorm:"column:created_time;default:CURRENT_TIMESTAMP;comment:'创建时间'"`
+	LastUpdatedTime            time.Time `gorm:"column:last_updated_time;default:CURRENT_TIMESTAMP;NOT NULL"`
+	ResearchType               string    `gorm:"column:research_type;default:week;comment:'研报类型'"`
+	SelectedImage              string    `gorm:"column:selected_image;default:NULL;comment:'选中时的图片'"`
+	UnselectedImage            string    `gorm:"column:unselected_image;default:NULL;comment:'没选中时的图片'"`
+	PcSelectedImage            string    `gorm:"column:pc_selected_image;default:NULL;comment:'选中时的图片'"`
+	PcUnselectedImage          string    `gorm:"column:pc_unselected_image;default:NULL;comment:'没选中时的图片'"`
+	EditImgUrl                 string    `gorm:"column:edit_img_url;default:NULL;comment:'管理后台编辑时选用的图'"`
+	TickerTitle                string    `gorm:"column:ticker_title;default:NULL;comment:'指标列的标题'"`
+	IsShow                     int       `gorm:"column:is_show;default:1;comment:'是否显示'"`
+	PauseStartTime             string    `gorm:"column:pause_start_time;default:NULL;comment:'暂停开始日期'"`
+	PauseEndTime               string    `gorm:"column:pause_end_time;default:NULL;comment:'暂停结束日期'"`
+	IsSet                      int       `gorm:"column:is_set;default:0;comment:'是否设置:0为设置,1已设置'"`
+	YbIconUrl                  string    `gorm:"column:yb_icon_url;default:NULL;comment:'研报小程序3.0图标地址'"`
+	YbBottomIcon               string    `gorm:"column:yb_bottom_icon;default:NULL;comment:'研报小程序3.0底部菜单图标地址'"`
+	YbHidden                   uint      `gorm:"column:yb_hidden;default:0;NOT NULL;comment:'研报小程序隐藏章节: 0-显示; 1-隐藏'"`
+	ReportClassifyId           int       `description:"所属分类id"`
+	InheritReportChapterTypeId int       `description:"继承的报告章节类型id"`
 }
 
 func (r *ReportChapterType) TableName() string {

+ 2 - 2
models/eta/report_chapter_type_permission.go

@@ -20,7 +20,7 @@ func (r *ReportChapterTypePermission) TableName() string {
 }
 
 // GetChapterTypePermissionByTypeIdAndResearchType 根据章节类型ID及研报类型获取章节类型权限列表
-func GetChapterTypePermissionByTypeIdAndResearchType(reportChapterTypeId int, researchType string) (items []*ReportChapterTypePermission, err error) {
-	err = global.MYSQL["rddp"].Model(ReportChapterTypePermission{}).Where("report_chapter_type_id = ? and research_type = ?", reportChapterTypeId, researchType).Order("chart_permission_id ASC").Scan(&items).Error
+func GetChapterTypePermissionByTypeIdAndResearchType(reportChapterTypeId int) (items []*ReportChapterTypePermission, err error) {
+	err = global.MYSQL["rddp"].Model(ReportChapterTypePermission{}).Where("report_chapter_type_id = ?", reportChapterTypeId).Order("chart_permission_id ASC").Scan(&items).Error
 	return
 }

+ 29 - 24
services/crm/report_chapter_type.go

@@ -18,29 +18,31 @@ func SyncReportChapterType(req *crm.ReportChapterTypeSyncReq) (err error, errMsg
 	}
 	for _, v := range list {
 		ob := &crm.ReportChapterType{
-			ReportChapterTypeId:    v.ReportChapterTypeId,
-			ReportChapterTypeKey:   v.ReportChapterTypeKey,
-			ReportChapterTypeThumb: v.ReportChapterTypeThumb,
-			BannerUrl:              v.BannerUrl,
-			ReportChapterTypeName:  v.ReportChapterTypeName,
-			Sort:                   v.Sort,
-			Enabled:                v.Enabled,
-			CreatedTime:            v.CreatedTime,
-			LastUpdatedTime:        v.LastUpdatedTime,
-			ResearchType:           v.ResearchType,
-			SelectedImage:          v.SelectedImage,
-			UnselectedImage:        v.UnselectedImage,
-			PcSelectedImage:        v.PcSelectedImage,
-			PcUnselectedImage:      v.PcUnselectedImage,
-			EditImgUrl:             v.EditImgUrl,
-			TickerTitle:            v.TickerTitle,
-			IsShow:                 v.IsShow,
-			PauseStartTime:         v.PauseStartTime,
-			PauseEndTime:           v.PauseEndTime,
-			IsSet:                  v.IsSet,
-			YbIconUrl:              v.YbIconUrl,
-			YbBottomIcon:           v.YbBottomIcon,
-			YbHidden:               v.YbHidden,
+			ReportChapterTypeId:        v.ReportChapterTypeId,
+			ReportChapterTypeKey:       v.ReportChapterTypeKey,
+			ReportChapterTypeThumb:     v.ReportChapterTypeThumb,
+			BannerUrl:                  v.BannerUrl,
+			ReportChapterTypeName:      v.ReportChapterTypeName,
+			Sort:                       v.Sort,
+			Enabled:                    v.Enabled,
+			CreatedTime:                v.CreatedTime,
+			LastUpdatedTime:            v.LastUpdatedTime,
+			ResearchType:               v.ResearchType,
+			SelectedImage:              v.SelectedImage,
+			UnselectedImage:            v.UnselectedImage,
+			PcSelectedImage:            v.PcSelectedImage,
+			PcUnselectedImage:          v.PcUnselectedImage,
+			EditImgUrl:                 v.EditImgUrl,
+			TickerTitle:                v.TickerTitle,
+			IsShow:                     v.IsShow,
+			PauseStartTime:             v.PauseStartTime,
+			PauseEndTime:               v.PauseEndTime,
+			IsSet:                      v.IsSet,
+			YbIconUrl:                  v.YbIconUrl,
+			YbBottomIcon:               v.YbBottomIcon,
+			YbHidden:                   v.YbHidden,
+			ReportClassifyId:           v.ReportClassifyId,
+			InheritReportChapterTypeId: v.InheritReportChapterTypeId,
 		}
 
 		err = ob.UpdateOrCreate()
@@ -52,10 +54,13 @@ func SyncReportChapterType(req *crm.ReportChapterTypeSyncReq) (err error, errMsg
 	}
 
 	if req.ReportChapterTypeId > 0 {
+		if req.ResearchType == `` {
+			req.ResearchType = "chapter"
+		}
 		//同步权限信息
 		newPermissions := make([]*crm.ReportChapterTypePermission, 0)       // 报告章节权限表(新)
 		newWeekPermissions := make([]*crm.ChartPermissionChapterMapping, 0) // 报告章节权限表(老)
-		newEtaPermissions, er := eta.GetChapterTypePermissionByTypeIdAndResearchType(req.ReportChapterTypeId, req.ResearchType)
+		newEtaPermissions, er := eta.GetChapterTypePermissionByTypeIdAndResearchType(req.ReportChapterTypeId)
 		if er != nil {
 			errMsg = "更新失败"
 			err = fmt.Errorf("查询章节权限失败, Err: " + er.Error())