|
@@ -44,7 +44,7 @@ func (this *ReportPdfController) Author() {
|
|
|
// Add
|
|
|
// @Title 添加研报
|
|
|
// @Description 添加研报
|
|
|
-// @Param File query file true "文件"
|
|
|
+// @Param PdfUrl query file true "文件URL"
|
|
|
// @Param Title query string true "标题"
|
|
|
// @Param Author query string true "作者名称"
|
|
|
// @Param Abstract query string true "摘要"
|
|
@@ -59,13 +59,7 @@ func (this *ReportPdfController) Add() {
|
|
|
this.ServeJSON()
|
|
|
}()
|
|
|
|
|
|
- f, h, err := this.GetFile("File")
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取资源信息失败"
|
|
|
- br.ErrMsg = "获取资源信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- defer f.Close()
|
|
|
+ pdfUrl := this.GetString("PdfUrl")
|
|
|
author := this.GetString("Author")
|
|
|
abstract := this.GetString("Abstract")
|
|
|
classifyIdFirst, _ := this.GetInt("ClassifyIdFirst")
|
|
@@ -80,6 +74,66 @@ func (this *ReportPdfController) Add() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ nameFirst, err := models.GetClassifyById(classifyIdFirst)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "文件上传失败"
|
|
|
+ br.ErrMsg = "一级类名获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ nameSecond, err := models.GetClassifyById(classifyIdSecond)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "文件上传失败"
|
|
|
+ br.ErrMsg = "二级类名获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ pdf := &models.ReportPdf{
|
|
|
+ PdfUrl: pdfUrl,
|
|
|
+ Title: title,
|
|
|
+ Author: author,
|
|
|
+ Abstract: abstract,
|
|
|
+ ClassifyIdFirst: classifyIdFirst,
|
|
|
+ ClassifyNameFirst: nameFirst.ClassifyName,
|
|
|
+ ClassifyIdSecond: classifyIdSecond,
|
|
|
+ ClassifyNameSecond: nameSecond.ClassifyName,
|
|
|
+ PublishTime: time.Now(),
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ SysUserId: this.SysUser.SysUserId,
|
|
|
+ SysRealName: this.SysUser.SysRealName,
|
|
|
+ State: utils.ReportStatusUp,
|
|
|
+ }
|
|
|
+ err = pdf.Add()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "文件上传失败"
|
|
|
+ br.ErrMsg = "pdf研报新增失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Msg = "上传成功"
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+}
|
|
|
+
|
|
|
+// @Title 上传pdf研报
|
|
|
+// @Description 上传pdf研报
|
|
|
+// @Param File query file true "文件"
|
|
|
+// @Success 200 {object} models.ReportAuthorResp
|
|
|
+// @router /uploadPdf [post]
|
|
|
+func (this *ReportPdfController) UploadPdf() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+
|
|
|
+ f, h, err := this.GetFile("File")
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取资源信息失败"
|
|
|
+ br.ErrMsg = "获取资源信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer f.Close()
|
|
|
+
|
|
|
ext := path.Ext(h.Filename)
|
|
|
dateDir := time.Now().Format("20060102")
|
|
|
uploadDir := utils.STATIC_DIR + "hongze/" + dateDir
|
|
@@ -92,7 +146,6 @@ func (this *ReportPdfController) Add() {
|
|
|
randStr := utils.GetRandStringNoSpecialChar(28)
|
|
|
fileName := randStr + ext
|
|
|
fpath := uploadDir + "/" + fileName
|
|
|
- defer f.Close() //关闭上传文件
|
|
|
err = this.SaveToFile("file", fpath)
|
|
|
if err != nil {
|
|
|
br.Msg = "文件上传失败"
|
|
@@ -121,41 +174,12 @@ func (this *ReportPdfController) Add() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- nameFirst, err := models.GetClassifyById(classifyIdFirst)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "文件上传失败"
|
|
|
- br.ErrMsg = "一级类名获取失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- nameSecond, err := models.GetClassifyById(classifyIdSecond)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "文件上传失败"
|
|
|
- br.ErrMsg = "二级类名获取失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- pdf := &models.ReportPdf{
|
|
|
- PdfUrl: pdfUrl,
|
|
|
- Title: title,
|
|
|
- Author: author,
|
|
|
- Abstract: abstract,
|
|
|
- ClassifyIdFirst: classifyIdFirst,
|
|
|
- ClassifyNameFirst: nameFirst.ClassifyName,
|
|
|
- ClassifyIdSecond: classifyIdSecond,
|
|
|
- ClassifyNameSecond: nameSecond.ClassifyName,
|
|
|
- PublishTime: time.Now(),
|
|
|
- ModifyTime: time.Now(),
|
|
|
- SysUserId: this.SysUser.SysUserId,
|
|
|
- SysRealName: this.SysUser.SysRealName,
|
|
|
- State: utils.ReportStatusUp,
|
|
|
- }
|
|
|
- err = pdf.Add()
|
|
|
- if err != nil {
|
|
|
- br.Msg = "文件上传失败"
|
|
|
- br.ErrMsg = "pdf研报新增失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
+ base := path.Base(h.Filename)
|
|
|
+ resp := new(response.ReportPdfUploadResp)
|
|
|
+ resp.Url = pdfUrl
|
|
|
+ resp.FileName = base[:len(base)-len(ext)]
|
|
|
|
|
|
+ br.Data = resp
|
|
|
br.Msg = "上传成功"
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
@@ -319,3 +343,235 @@ func (this *ReportPdfController) List() {
|
|
|
br.Data = resp
|
|
|
br.Msg = "获取成功"
|
|
|
}
|
|
|
+
|
|
|
+// Edit
|
|
|
+// @Title 编辑研报
|
|
|
+// @Description 编辑研报
|
|
|
+// @Param ReportPdfId query string true "pdf研报id"
|
|
|
+// @Param PdfUrl query file true "文件URL"
|
|
|
+// @Param Title query string true "标题"
|
|
|
+// @Param Author query string true "作者名称"
|
|
|
+// @Param Abstract query string true "摘要"
|
|
|
+// @Param ClassifyIdFirst query int true "一级分类id"
|
|
|
+// @Param ClassifyIdSecond query int true "二级分类id"
|
|
|
+// @Success 200 {object} models.ReportAuthorResp
|
|
|
+// @router /edit [post]
|
|
|
+func (this *ReportPdfController) Edit() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ pdfUrl := this.GetString("PdfUrl")
|
|
|
+ author := this.GetString("Author")
|
|
|
+ ReportPdfId, _ := this.GetInt("ReportPdfId")
|
|
|
+ abstract := this.GetString("Abstract")
|
|
|
+ classifyIdFirst, _ := this.GetInt("ClassifyIdFirst")
|
|
|
+ classifyIdSecond, _ := this.GetInt("ClassifyIdSecond")
|
|
|
+ title := this.GetString("Title")
|
|
|
+ if classifyIdFirst <= 0 {
|
|
|
+ br.Msg = "请选择研报所属的一级分类"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if classifyIdSecond <= 0 {
|
|
|
+ br.Msg = "请选择研报所属的二级分类"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if pdfUrl == "" {
|
|
|
+ br.Msg = "请上传研报文件"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ reportPdf, err := models.GetReportPdfById(ReportPdfId)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "研报不存在或已删除,请刷新页面"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "获取研报失败"
|
|
|
+ br.ErrMsg = "获取研报失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ nameFirst, err := models.GetClassifyById(classifyIdFirst)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "文件上传失败"
|
|
|
+ br.ErrMsg = "一级类名获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ nameSecond, err := models.GetClassifyById(classifyIdSecond)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "文件上传失败"
|
|
|
+ br.ErrMsg = "二级类名获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if reportPdf.Title != title || reportPdf.ClassifyIdFirst != classifyIdFirst || reportPdf.ClassifyIdSecond != classifyIdSecond || reportPdf.Author != author || reportPdf.Abstract != abstract || reportPdf.PdfUrl != pdfUrl {
|
|
|
+ reportPdf.Title = title
|
|
|
+ reportPdf.ClassifyIdFirst = classifyIdFirst
|
|
|
+ reportPdf.ClassifyIdSecond = classifyIdSecond
|
|
|
+ reportPdf.ClassifyNameFirst = nameFirst.ClassifyName
|
|
|
+ reportPdf.ClassifyNameSecond = nameSecond.ClassifyName
|
|
|
+ reportPdf.Author = author
|
|
|
+ reportPdf.Abstract = abstract
|
|
|
+ reportPdf.PdfUrl = pdfUrl
|
|
|
+ reportPdf.ModifyTime = time.Now()
|
|
|
+ err = reportPdf.Update([]string{"title", "classify_id_first", "classify_id_second", "classify_name_first", "classify_name_second", "author", "abstract", "pdf_url", "modify_time"})
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "文件上传失败"
|
|
|
+ br.ErrMsg = "文件上传失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ br.Msg = "研报编辑成功"
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+}
|
|
|
+
|
|
|
+// Publish
|
|
|
+// @Title 发布研报
|
|
|
+// @Description 发布研报
|
|
|
+// @Param ReportPdfId query string true "pdf研报id"
|
|
|
+// @Success 200 {object} models.BaseResponse
|
|
|
+// @router /publish [get]
|
|
|
+func (this *ReportPdfController) Publish() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ ReportPdfId, _ := this.GetInt("ReportPdfId")
|
|
|
+ reportPdf, err := models.GetReportPdfById(ReportPdfId)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "研报不存在或已删除,请刷新页面"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "获取研报失败"
|
|
|
+ br.ErrMsg = "获取研报失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if reportPdf.State == utils.ReportStatusUp {
|
|
|
+ br.Msg = "研报已发布"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ reportPdf.State = utils.ReportStatusUp
|
|
|
+ reportPdf.PublishTime = time.Now()
|
|
|
+ err = reportPdf.Update([]string{"status", "publish_time"})
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "发布研报失败"
|
|
|
+ br.ErrMsg = "发布研报失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "发布研报成功"
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+}
|
|
|
+
|
|
|
+// PublishCancel
|
|
|
+// @Title 取消发布研报
|
|
|
+// @Description 取消发布研报
|
|
|
+// @Param ReportPdfId query string true "pdf研报id"
|
|
|
+// @Success 200 {object} models.BaseResponse
|
|
|
+// @router /publishCancel [get]
|
|
|
+func (this *ReportPdfController) PublishCancel() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ ReportPdfId, _ := this.GetInt("ReportPdfId")
|
|
|
+ reportPdf, err := models.GetReportPdfById(ReportPdfId)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "研报不存在或已删除,请刷新页面"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "获取研报失败"
|
|
|
+ br.ErrMsg = "获取研报失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if reportPdf.State == utils.ReportStatusDown {
|
|
|
+ br.Msg = "研报已撤销"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ reportPdf.State = utils.ReportStatusDown
|
|
|
+ err = reportPdf.Update([]string{"status"})
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "发布研报失败"
|
|
|
+ br.ErrMsg = "发布研报失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "撤销研报成功"
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+}
|
|
|
+
|
|
|
+// delete
|
|
|
+// @Title 删除研报
|
|
|
+// @Description 删除研报
|
|
|
+// @Param ReportPdfId query string true "pdf研报id"
|
|
|
+// @Success 200 {object} models.BaseResponse
|
|
|
+// @router /delete [get]
|
|
|
+func (this *ReportPdfController) Delete() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ ReportPdfId, _ := this.GetInt("ReportPdfId")
|
|
|
+ reportPdf, err := models.GetReportPdfById(ReportPdfId)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "研报不存在或已删除,请刷新页面"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "获取研报失败"
|
|
|
+ br.ErrMsg = "获取研报失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if reportPdf.State == utils.ReportStatusUp {
|
|
|
+ br.Msg = "研报已发布,不可以删除"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ reportPdf.State = utils.ReportStatusDown
|
|
|
+ err = reportPdf.Delete()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "研报删除失败"
|
|
|
+ br.ErrMsg = "研报删除失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Msg = "删除研报成功"
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+}
|
|
|
+
|
|
|
+// Detail
|
|
|
+// @Title 研报详情
|
|
|
+// @Description 研报详情
|
|
|
+// @Param ReportPdfId query string true "pdf研报id"
|
|
|
+// @Success 200 {object} models.BaseResponse
|
|
|
+// @router /detail [get]
|
|
|
+func (this *ReportPdfController) Detail() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ ReportPdfId, _ := this.GetInt("ReportPdfId")
|
|
|
+ reportPdf, err := models.GetReportPdfById(ReportPdfId)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "研报不存在或已删除,请刷新页面"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "获取研报失败"
|
|
|
+ br.ErrMsg = "获取研报失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Data = reportPdf
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取研报成功"
|
|
|
+}
|