Bläddra i källkod

feat:新增版头版尾的设置接口

Roc 9 månader sedan
förälder
incheckning
1813c8ba93
4 ändrade filer med 158 tillägg och 17 borttagningar
  1. 81 0
      controllers/report_v2.go
  2. 11 0
      models/report_v2.go
  3. 9 0
      routers/commentsRouter.go
  4. 57 17
      services/report_v2.go

+ 81 - 0
controllers/report_v2.go

@@ -1051,4 +1051,85 @@ func (this *ReportController) BaseDetail() {
 	br.Data = resp
 }
 
+// EditLayoutImg
+// @Title 版图设置接口
+// @Description 版图设置接口
+// @Param	request	body models.EditLayoutImgReq true "type json string"
+// @Success 200 {object} models.EditResp
+// @router /layout_img/edit [post]
+func (this *ReportController) EditLayoutImg() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+
+	var req models.EditLayoutImgReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	//if req.Content == "" {
+	//	br.Msg = "报告内容不能为空"
+	//	return
+	//}
+	//更新标记key
+	markStatus, err := services.UpdateReportEditMark(int(req.ReportId), 0, sysUser.AdminId, 1, sysUser.RealName, this.Lang)
+	if err != nil {
+		br.Msg = err.Error()
+		return
+	}
+	if markStatus.Status == 1 {
+		br.Msg = markStatus.Msg
+		//br.Ret = 202 //202 服务器已接受请求,但尚未处理。
+		return
+	}
+
+	reportInfo, e := models.GetReportByReportId(int(req.ReportId))
+	if e != nil {
+		if e.Error() == utils.ErrNoRow() {
+			br.Msg = "报告已被删除, 请刷新页面"
+			return
+		}
+		br.Msg = "操作失败"
+		br.ErrMsg = "获取报告失败, Err: " + e.Error()
+		return
+	}
+
+	if reportInfo.State == models.ReportStatePublished || reportInfo.State == models.ReportStatePass {
+		br.Msg = "该报告已发布,不允许编辑"
+		br.ErrMsg = "该报告已发布,不允许编辑"
+		return
+	}
+
+	// 编辑报告信息
+	err, errMsg := services.EditReportLayoutImg(reportInfo, req, sysUser)
+	if err != nil {
+		br.Msg = "保存失败"
+		if errMsg != "" {
+			br.Msg = errMsg
+		}
+		br.ErrMsg = "保存失败,Err:" + err.Error()
+		return
+	}
+
+	reportCode := utils.MD5(strconv.Itoa(int(req.ReportId)))
+	resp := new(models.EditResp)
+	resp.ReportId = req.ReportId
+	resp.ReportCode = reportCode
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "保存成功"
+	br.Data = resp
+}
+
 // TODO 报告发布后,图片和pdf的生成

+ 11 - 0
models/report_v2.go

@@ -420,3 +420,14 @@ func ModifyReportClassifyAndReportChapterTypeByCondition(condition string, pars
 
 	return
 }
+
+// EditLayoutImgReq
+// @Description: 版图设置请求
+type EditLayoutImgReq struct {
+	ReportId       int64  `description:"报告id"`
+	HeadImg        string `description:"报告头图地址"`
+	EndImg         string `description:"报告尾图地址"`
+	CanvasColor    string `description:"画布颜色"`
+	HeadResourceId int    `description:"版头资源ID"`
+	EndResourceId  int    `description:"版尾资源ID"`
+}

+ 9 - 0
routers/commentsRouter.go

@@ -8035,6 +8035,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: "EditLayoutImg",
+            Router: `/layout_img/edit`,
+            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: "ListReport",

+ 57 - 17
services/report_v2.go

@@ -122,15 +122,16 @@ func AddReportAndChapter(reportInfo *models.Report, inheritReportId int, grantAd
 // @return errMsg string
 func EditReport(reportInfo *models.Report, req models.EditReq, sysUser *system.Admin) (err error, errMsg string) {
 	errMsg = `保存失败`
-	var stage int
-	if reportInfo.ClassifyNameFirst != req.ClassifyNameFirst || reportInfo.ClassifyNameSecond != req.ClassifyNameSecond {
-		// 报告期数
-		maxStage, _ := models.GetReportStageEdit(req.ClassifyIdFirst, req.ClassifyIdSecond, req.ClassifyIdThird, int(req.ReportId))
-		maxStage = maxStage + 1
-		stage = maxStage
-	} else {
-		stage = reportInfo.Stage
-	}
+	//var stage int
+	//if reportInfo.ClassifyNameFirst != req.ClassifyNameFirst || reportInfo.ClassifyNameSecond != req.ClassifyNameSecond {
+	//	// 报告期数
+	//	maxStage, _ := models.GetReportStageEdit(req.ClassifyIdFirst, req.ClassifyIdSecond, req.ClassifyIdThird, int(req.ReportId))
+	//	maxStage = maxStage + 1
+	//	stage = maxStage
+	//} else {
+	//	stage = reportInfo.Stage
+	//}
+
 	//if req.State != reportInfo.State {
 	//	recordItem := &models.ReportStateRecord{
 	//		ReportId:   int(req.ReportId),
@@ -146,18 +147,18 @@ func EditReport(reportInfo *models.Report, req models.EditReq, sysUser *system.A
 	//}
 
 	//item := new(models.Report)
-	reportInfo.ClassifyIdFirst = req.ClassifyIdFirst
-	reportInfo.ClassifyNameFirst = req.ClassifyNameFirst
-	reportInfo.ClassifyIdSecond = req.ClassifyIdSecond
-	reportInfo.ClassifyNameSecond = req.ClassifyNameSecond
-	reportInfo.ClassifyIdThird = req.ClassifyIdThird
-	reportInfo.ClassifyNameThird = req.ClassifyNameThird
+	//reportInfo.ClassifyIdFirst = req.ClassifyIdFirst
+	//reportInfo.ClassifyNameFirst = req.ClassifyNameFirst
+	//reportInfo.ClassifyIdSecond = req.ClassifyIdSecond
+	//reportInfo.ClassifyNameSecond = req.ClassifyNameSecond
+	//reportInfo.ClassifyIdThird = req.ClassifyIdThird
+	//reportInfo.ClassifyNameThird = req.ClassifyNameThird
 	reportInfo.Title = req.Title
 	reportInfo.Abstract = req.Abstract
 	reportInfo.Author = req.Author
 	reportInfo.Frequency = req.Frequency
 	//reportInfo.State = reportInfo.State // 编辑不变更状态
-	reportInfo.Stage = stage // 编辑不变更期数
+	//reportInfo.Stage = stage // 编辑不变更期数
 	//reportInfo.Content = html.EscapeString(req.Content)	// 编辑不变更具体内容
 	//reportInfo.ContentSub = html.EscapeString(contentSub)	// 编辑不变更具体内容
 	reportInfo.CreateTime = req.CreateTime
@@ -171,7 +172,8 @@ func EditReport(reportInfo *models.Report, req models.EditReq, sysUser *system.A
 	reportInfo.LastModifyAdminName = sysUser.RealName
 	reportInfo.ModifyTime = time.Now()
 
-	updateCols := []string{"ClassifyIdFirst", "ClassifyNameFirst", "ClassifyIdSecond", "ClassifyNameSecond", "ClassifyIdThird", "ClassifyNameThird", "Title", "Abstract", "Author", "Frequency", "Stage", "CreateTime", "IsPublicPublish", "LastModifyAdminId", "LastModifyAdminName", "ModifyTime"}
+	//updateCols := []string{"ClassifyIdFirst", "ClassifyNameFirst", "ClassifyIdSecond", "ClassifyNameSecond", "ClassifyIdThird", "ClassifyNameThird", "Title", "Abstract", "Author", "Frequency", "Stage", "CreateTime", "IsPublicPublish", "LastModifyAdminId", "LastModifyAdminName", "ModifyTime"}
+	updateCols := []string{"Title", "Abstract", "Author", "Frequency", "CreateTime", "IsPublicPublish", "LastModifyAdminId", "LastModifyAdminName", "ModifyTime"}
 
 	if req.HeadResourceId > 0 {
 		reportInfo.HeadResourceId = req.HeadResourceId
@@ -889,3 +891,41 @@ func CheckReportAuthByReportChapterInfo(adminId, createAdminId int, reportInfoId
 
 	return
 }
+
+// EditReportLayoutImg
+// @Description: 修改报告的版图信息
+// @author: Roc
+// @datetime 2024-06-18 11:35:00
+// @param reportInfo *models.Report
+// @param req models.EditLayoutImgReq
+// @param sysUser *system.Admin
+// @return err error
+// @return errMsg string
+func EditReportLayoutImg(reportInfo *models.Report, req models.EditLayoutImgReq, sysUser *system.Admin) (err error, errMsg string) {
+	errMsg = `保存失败`
+
+	reportInfo.CanvasColor = req.CanvasColor
+	reportInfo.LastModifyAdminId = sysUser.AdminId
+	reportInfo.LastModifyAdminName = sysUser.RealName
+	reportInfo.ModifyTime = time.Now()
+
+	updateCols := []string{"CanvasColor", "LastModifyAdminId", "LastModifyAdminName", "ModifyTime"}
+
+	if req.HeadResourceId > 0 {
+		reportInfo.HeadResourceId = req.HeadResourceId
+		reportInfo.HeadImg = req.HeadImg
+		updateCols = append(updateCols, "HeadResourceId", "HeadImg")
+	}
+	if req.EndResourceId > 0 {
+		reportInfo.EndResourceId = req.EndResourceId
+		reportInfo.EndImg = req.EndImg
+		updateCols = append(updateCols, "EndResourceId", "EndImg")
+	}
+
+	err = reportInfo.UpdateReport(updateCols)
+	if err != nil {
+		return
+	}
+
+	return
+}