Эх сурвалжийг харах

Merge branch 'eta/1.8.3' into debug

Roc 10 сар өмнө
parent
commit
cc19fba6aa

+ 1 - 0
controllers/report_approve/report_approve.go

@@ -240,6 +240,7 @@ func (this *ReportApproveController) List() {
 		for _, v := range list {
 			// 这个时候的状态,用审批状态
 			v.RecordState = v.NodeState
+			v.ApproveTime = v.NodeApproveTime
 		}
 		ormList = list
 	}

+ 59 - 56
controllers/report_chapter.go

@@ -12,13 +12,13 @@ import (
 	"time"
 )
 
-// EditDayWeekChapter
-// @Title 编辑晨周报章节内容
-// @Description 编辑晨周报章节内容
-// @Param	request	body models.EditReportChapterReq true "type json string"
+// AddChapter
+// @Title 新增晨周报章节内容
+// @Description 新增晨周报章节内容
+// @Param	request	body models.AddReportChapterReq true "type json string"
 // @Success 200 Ret=200 保存成功
-// @router /addChapter [post]
-func (this *ReportController) AddDayWeekChapter() {
+// @router /chapter/add [post]
+func (this *ReportController) AddChapter() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
 		this.Data["json"] = br
@@ -47,46 +47,46 @@ func (this *ReportController) AddDayWeekChapter() {
 	}
 
 	// 获取报告详情
-	reportInfo, err := models.GetReportById(req.ReportId)
+	reportInfo, err := models.GetReportByReportId(req.ReportId)
 	if err != nil {
 		br.Msg = "报告信息有误"
 		br.ErrMsg = "报告信息有误, Err: " + err.Error()
 		return
 	}
 	if reportInfo.State == 2 {
-		br.Msg = "该报告已发布,不允许编辑"
-		br.ErrMsg = "该报告已发布,不允许编辑"
-		return
-	}
-
-	newContent := req.Content
-	// 更新章节及指标
-	contentSub := ""
-	if req.Content != "" {
-		e := utils.ContentXssCheck(req.Content)
-		if e != nil {
-			br.Msg = "存在非法标签"
-			br.ErrMsg = "存在非法标签, Err: " + e.Error()
-			return
-		}
-		contentClean, e := services.FilterReportContentBr(req.Content)
-		if e != nil {
-			br.Msg = "内容去除前后空格失败"
-			br.ErrMsg = "内容去除前后空格失败, Err: " + e.Error()
-			return
-		}
-		req.Content = contentClean
-
-		contentSub, err = services.GetReportContentSub(req.Content)
-		if err != nil {
-			br.Msg = "内容分段解析失败"
-			br.ErrMsg = "编辑报告章节-解析 ContentSub 失败, Err: " + err.Error()
-			return
-		}
-	}
-	if req.Content == "" {
-		req.Content = newContent
-	}
+		br.Msg = "该报告已发布,不允许新增"
+		br.ErrMsg = "该报告已发布,不允许新增"
+		return
+	}
+
+	//newContent := req.Content
+	//// 更新章节及指标
+	//contentSub := ""
+	//if req.Content != "" {
+	//	e := utils.ContentXssCheck(req.Content)
+	//	if e != nil {
+	//		br.Msg = "存在非法标签"
+	//		br.ErrMsg = "存在非法标签, Err: " + e.Error()
+	//		return
+	//	}
+	//	contentClean, e := services.FilterReportContentBr(req.Content)
+	//	if e != nil {
+	//		br.Msg = "内容去除前后空格失败"
+	//		br.ErrMsg = "内容去除前后空格失败, Err: " + e.Error()
+	//		return
+	//	}
+	//	req.Content = contentClean
+	//
+	//	contentSub, err = services.GetReportContentSub(req.Content)
+	//	if err != nil {
+	//		br.Msg = "内容分段解析失败"
+	//		br.ErrMsg = "编辑报告章节-解析 ContentSub 失败, Err: " + err.Error()
+	//		return
+	//	}
+	//}
+	//if req.Content == "" {
+	//	req.Content = newContent
+	//}
 
 	reportChapterInfo := new(models.ReportChapter)
 	reportChapterInfo.ReportId = reportInfo.Id
@@ -95,11 +95,12 @@ func (this *ReportController) AddDayWeekChapter() {
 
 	reportChapterInfo.Title = req.Title
 	reportChapterInfo.AddType = 1
-	reportChapterInfo.Author = req.Author
-	reportChapterInfo.Content = html.EscapeString(req.Content)
-	reportChapterInfo.ContentSub = html.EscapeString(contentSub)
+	//reportChapterInfo.Author = req.Author
+	//reportChapterInfo.Content = html.EscapeString(req.Content)
+	//reportChapterInfo.ContentSub = html.EscapeString(contentSub)
 	reportChapterInfo.IsEdit = 1
-	reportChapterInfo.CreateTime = req.CreateTime
+	//reportChapterInfo.CreateTime = req.CreateTime
+	reportChapterInfo.CreateTime = reportInfo.CreateTime
 	reportChapterInfo.VideoKind = 1
 
 	reportChapterInfo.ClassifyIdSecond = reportInfo.ClassifyIdSecond
@@ -109,23 +110,21 @@ func (this *ReportController) AddDayWeekChapter() {
 	reportChapterInfo.LastModifyAdminId = sysUser.AdminId
 	reportChapterInfo.LastModifyAdminName = sysUser.RealName
 	reportChapterInfo.ContentModifyTime = time.Now()
-	reportChapterInfo.ContentStruct = html.EscapeString(req.ContentStruct)
-	reportChapterInfo.CanvasColor = req.CanvasColor
-	reportChapterInfo.HeadResourceId = req.HeadResourceId
-	reportChapterInfo.EndResourceId = req.EndResourceId
+	//reportChapterInfo.ContentStruct = html.EscapeString(req.ContentStruct)
+	//reportChapterInfo.CanvasColor = req.CanvasColor
+	//reportChapterInfo.HeadResourceId = req.HeadResourceId
+	//reportChapterInfo.EndResourceId = req.EndResourceId
 
-	err = reportChapterInfo.Add()
+	err, errMsg := services.AddChapterBaseInfoAndPermission(reportInfo, reportChapterInfo, req.PermissionIdList, req.AdminIdList)
 	if err != nil {
-		br.Msg = "新增失败"
-		br.ErrMsg = "报告章节内容保存失败, Err: " + err.Error()
+		br.Msg = "保存失败"
+		if errMsg != "" {
+			br.Msg = errMsg
+		}
+		br.ErrMsg = "保存失败,Err:" + err.Error()
 		return
 	}
 
-	// 备份关键数据
-	chapters := make([]*models.ReportChapter, 0)
-	chapters = append(chapters, reportChapterInfo)
-	go services.SaveReportLogs(nil, chapters, sysUser.AdminId, sysUser.RealName)
-
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "保存成功"
@@ -736,6 +735,10 @@ func (this *ReportController) GetDayWeekChapter() {
 		chapterInfo.ContentStruct = html.UnescapeString(chapterInfo.ContentStruct)
 	}
 
+	chapterInfo.Content = html.UnescapeString(chapterInfo.Content)
+	chapterInfo.ContentSub = html.UnescapeString(chapterInfo.ContentSub)
+	chapterInfo.ContentStruct = html.UnescapeString(chapterInfo.ContentStruct)
+
 	// 授权用户列表map
 	chapterGrantIdList := make([]int, 0)
 	// 关联品种id列表map

+ 4 - 1
models/chart_permission.go

@@ -254,6 +254,7 @@ func FormatChartPermission2Simple(origin *ChartPermission) (item *SimpleChartPer
 	item.ChartPermissionId = origin.ChartPermissionId
 	item.ChartPermissionName = origin.PermissionName
 	item.Sort = origin.Sort
+
 	return
 }
 
@@ -262,6 +263,7 @@ func GetChartPermissionsByProductId() (list []*ChartPermission, err error) {
 	o := orm.NewOrmUsingDB("rddp")
 	sql := `SELECT * FROM chart_permission WHERE product_id = ? AND enabled = 1 ORDER BY parent_id ASC, sort ASC, created_time ASC`
 	_, err = o.Raw(sql, FiccProductId).QueryRows(&list)
+
 	return
 }
 
@@ -279,6 +281,7 @@ func GetChartPermissionByIdList(permissionIdList []int) (items []*ChartPermissio
 	}
 	o := orm.NewOrmUsingDB("rddp")
 	sql := `SELECT * FROM chart_permission WHERE chart_permission_id in (` + utils.GetOrmInReplace(num) + `) `
-	err = o.Raw(sql, permissionIdList).QueryRow(&items)
+	_, err = o.Raw(sql, permissionIdList).QueryRows(&items)
+
 	return
 }

+ 2 - 1
models/report_approve/report_approve.go

@@ -275,6 +275,7 @@ type ReportApproveItemOrm struct {
 	CreateTime            time.Time `description:"创建时间"`
 	ModifyTime            time.Time `description:"修改时间"`
 	NodeState             int       `description:"当前节点审批状态:1-待审批;2-已审批;3-已驳回;4-已撤回" json:"-"`
+	NodeApproveTime       time.Time `description:"当前节点审批时间" json:"-"`
 }
 
 // GetApprovingReportApproveCount 获取待处理的审批分页列表总数
@@ -324,7 +325,7 @@ func GetApprovedReportApprovePageList(cond string, pars []interface{}, orderRule
 	if orderRule != "" {
 		order = ` ORDER BY ` + orderRule
 	}
-	sql := fmt.Sprintf(`SELECT a.report_approve_record_id, a.state AS record_state,a.node_state, a.approve_time AS handle_time, b.*
+	sql := fmt.Sprintf(`SELECT a.report_approve_record_id, a.state AS record_state,a.node_state,a.node_approve_time, a.approve_time AS handle_time, b.*
 		FROM report_approve_record AS a
 		JOIN report_approve AS b ON a.report_approve_id = b.report_approve_id
 		WHERE 1 = 1 %s %s

+ 4 - 14
models/report_chapter.go

@@ -118,20 +118,10 @@ func GetPublishedChapterListByReportId(reportId int) (list []*ReportChapter, err
 // AddReportChapterReq
 // @Description: 新增报告章节请求体
 type AddReportChapterReq struct {
-	ReportId   int    `description:"报告章节ID"`
-	Title      string `description:"标题"`
-	Author     string `description:"作者"`
-	Content    string `description:"内容"`
-	CreateTime string `description:"发布时间"`
-
-	// 以下是智能研报相关
-	ContentStruct  string `description:"内容组件"`
-	HeadImg        string `description:"报告头图地址"`
-	EndImg         string `description:"报告尾图地址"`
-	CanvasColor    string `description:"画布颜色"`
-	NeedSplice     int    `description:"是否拼接版头版位的标记,主要是为了兼容历史报告。0-不需要 1-需要"`
-	HeadResourceId int    `description:"版头资源ID"`
-	EndResourceId  int    `description:"版尾资源ID"`
+	ReportId         int    `description:"报告ID"`
+	Title            string `description:"标题"`
+	PermissionIdList []int  `description:"报告关联的品种权限"`
+	AdminIdList      []int  `description:"授权的编辑人id列表"`
 }
 
 // EditReportChapterReq 编辑报告章节请求体

+ 54 - 0
models/report_v2.go

@@ -130,6 +130,60 @@ func EditReportAndPermission(reportInfo *Report, updateCols []string, addReportG
 	return
 }
 
+// AddChapterBaseInfoAndPermission
+// @Description: 新增报告章节的基础信息、授权用户权限
+// @author: Roc
+// @datetime 2024-06-11 15:33:50
+// @param reportChapterInfo *ReportChapter
+// @param addReportChapterGrantList []*report.ReportChapterGrant
+// @param addChapterPermissionMap []*report.ReportChapterPermissionMapping
+// @return err error
+func AddChapterBaseInfoAndPermission(reportChapterInfo *ReportChapter, addReportChapterGrantList []*report.ReportChapterGrant, addChapterPermissionMap []*report.ReportChapterPermissionMapping) (err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	to, err := o.Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		if err != nil {
+			_ = to.Rollback()
+		} else {
+			_ = to.Commit()
+		}
+	}()
+
+	lastId, err := to.Insert(reportChapterInfo)
+	if err != nil {
+		return
+	}
+	reportChapterInfo.ReportChapterId = int(lastId)
+
+	// 新增报告章节授权用户
+	if len(addReportChapterGrantList) > 0 {
+		for k, _ := range addReportChapterGrantList {
+			addReportChapterGrantList[k].ReportChapterId = reportChapterInfo.ReportChapterId
+		}
+		_, err = to.InsertMulti(500, addReportChapterGrantList)
+		if err != nil {
+			return
+		}
+	}
+
+	// 新增报告章节的品种配置
+	if len(addChapterPermissionMap) > 0 {
+		for k, _ := range addChapterPermissionMap {
+			addChapterPermissionMap[k].ReportChapterId = reportChapterInfo.ReportChapterId
+		}
+
+		_, err = to.InsertMulti(500, addChapterPermissionMap)
+		if err != nil {
+			return
+		}
+	}
+
+	return
+}
+
 // EditChapterBaseInfoAndPermission
 // @Description: 修改报告章节的基础信息、授权用户权限、品种权限
 // @author: Roc

+ 9 - 9
routers/commentsRouter.go

@@ -7999,15 +7999,6 @@ func init() {
             Filters: nil,
             Params: nil})
 
-    beego.GlobalControllerRouter["eta/eta_api/controllers:ReportController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:ReportController"],
-        beego.ControllerComments{
-            Method: "AddDayWeekChapter",
-            Router: `/addChapter`,
-            AllowHTTPMethods: []string{"post"},
-            MethodParams: param.Make(),
-            Filters: nil,
-            Params: nil})
-
     beego.GlobalControllerRouter["eta/eta_api/controllers:ReportController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:ReportController"],
         beego.ControllerComments{
             Method: "CancelApprove",
@@ -8035,6 +8026,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers:ReportController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:ReportController"],
+        beego.ControllerComments{
+            Method: "AddChapter",
+            Router: `/chapter/add`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers:ReportController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:ReportController"],
         beego.ControllerComments{
             Method: "EditChapterBaseInfoAndPermission",

+ 49 - 0
services/report_v2.go

@@ -493,6 +493,55 @@ func getAddChapter(reportInfo *models.Report, minClassifyId, inheritReportId int
 	return
 }
 
+// AddChapterBaseInfoAndPermission
+// @Description:  添加章节基本信息及权限
+// @author: Roc
+// @datetime 2024-06-11 15:35:23
+// @param reportInfo *models.Report
+// @param reportChapterInfo *models.ReportChapter
+// @param permissionIdList []int
+// @param adminIdList []int
+// @return err error
+// @return errMsg string
+func AddChapterBaseInfoAndPermission(reportInfo *models.Report, reportChapterInfo *models.ReportChapter, permissionIdList []int, adminIdList []int) (err error, errMsg string) {
+	errMsg = "新增失败"
+
+	if reportInfo.State == 2 {
+		errMsg = "该报告已发布,不允许编辑"
+		err = errors.New(errMsg)
+		return
+	}
+
+	// 需要添加的报告章节授权数据
+	addChapterAdminList := make([]*report.ReportChapterGrant, 0)
+	for _, adminId := range adminIdList {
+		//新增授权
+		addChapterAdminList = append(addChapterAdminList, &report.ReportChapterGrant{
+			//GrantId:         0,
+			//ReportChapterId: reportChapterInfo.ReportChapterId,
+			AdminId:    adminId,
+			CreateTime: time.Now(),
+		})
+	}
+
+	// 需要添加的报告章节品种权限数据
+	addChapterPermissionList := make([]*report.ReportChapterPermissionMapping, 0)
+	// 品种权限
+	for _, permissionId := range permissionIdList {
+		// 如果不存在,那么就新增品种权限配置
+		addChapterPermissionList = append(addChapterPermissionList, &report.ReportChapterPermissionMapping{
+			//ReportChapterPermissionMappingId:         0,
+			//ReportChapterId:   reportChapterInfo.ReportChapterId,
+			ChartPermissionId: permissionId,
+			CreateTime:        time.Now(),
+		})
+	}
+
+	err = models.AddChapterBaseInfoAndPermission(reportChapterInfo, addChapterAdminList, addChapterPermissionList)
+
+	return
+}
+
 // EditChapterBaseInfoAndPermission
 // @Description: 修改报告章节的基础信息、授权用户权限、品种权限
 // @author: Roc