Browse Source

报告PDF详情

hsun 1 year ago
parent
commit
0447fa5d44

+ 38 - 0
controller/report/pdf.go

@@ -0,0 +1,38 @@
+package report
+
+import (
+	"github.com/gin-gonic/gin"
+	"hongze/hongze_yb/controller/response"
+	"hongze/hongze_yb/models/request"
+	"hongze/hongze_yb/models/tables/yb_pdf"
+	"hongze/hongze_yb/utils"
+)
+
+// PdfDetail 报告PDF详情
+func PdfDetail(c *gin.Context) {
+	var req request.ReportPdfDetailReq
+	if err := c.Bind(&req); err != nil {
+		response.Fail("参数有误", c)
+		return
+	}
+	if req.PdfId <= 0 {
+		response.Fail("参数有误", c)
+		return
+	}
+
+	pdfOB := new(yb_pdf.YbPdf)
+	item, e := pdfOB.Fetch(req.PdfId)
+	if e != nil {
+		if e == utils.ErrNoRow {
+			response.Fail("PDF已被删除", c)
+			return
+		}
+		response.FailMsg("获取失败", "获取PDF详情失败, Err: "+e.Error(), c)
+		return
+	}
+	if item.PdfID <= 0 {
+		response.Fail("PDF已被删除", c)
+		return
+	}
+	response.OkData("查询成功", item, c)
+}

+ 4 - 0
models/request/report.go

@@ -9,3 +9,7 @@ type ReportListReq struct {
 	ClassifyMenuId   int    `description:"一级分类子目录ID" json:"classify_menu_id" form:"classify_menu_id"`
 	KeyWord          string `description:"关键词" json:"key_word" form:"key_word"`
 }
+
+type ReportPdfDetailReq struct {
+	PdfId int `description:"PDF ID" json:"pdf_id" form:"pdf_id"`
+}

+ 21 - 0
models/tables/yb_pdf/entity.go

@@ -0,0 +1,21 @@
+package yb_pdf
+
+import "time"
+
+// YbPdf 研报PDF
+type YbPdf struct {
+	PdfID        int       `gorm:"primaryKey;column:pdf_id;type:int(10) unsigned;not null" json:"pdf_id"`
+	PdfName      string    `gorm:"column:pdf_name;type:varchar(255);not null;default:''" json:"pdf_name"`            // PDF名称
+	PdfURL       string    `gorm:"column:pdf_url;type:varchar(255);not null;default:''" json:"pdf_url"`              // PDF地址
+	ShareURL     string    `gorm:"column:share_url;type:varchar(255);not null;default:''" json:"share_url"`          // 分享地址
+	IsDeleted    int       `gorm:"column:is_deleted;type:tinyint(4) unsigned;not null;default:0" json:"-"`           // 删除状态:0-正常;1-已删除
+	SysAdminID   int       `gorm:"column:sys_admin_id;type:int(10) unsigned;not null;default:0" json:"sys_admin_id"` // 创建人ID
+	SysAdminName string    `gorm:"column:sys_admin_name;type:varchar(64);not null;default:''" json:"sys_admin_name"` // 创建人姓名
+	CreateTime   time.Time `gorm:"column:create_time;type:datetime" json:"create_time"`                              // 创建时间
+	ModifyTime   time.Time `gorm:"column:modify_time;type:datetime" json:"modify_time"`                              // 更新时间
+}
+
+// TableName get sql table name.获取数据库表名
+func (m *YbPdf) TableName() string {
+	return "yb_pdf"
+}

+ 8 - 0
models/tables/yb_pdf/yb_pdf.go

@@ -0,0 +1,8 @@
+package yb_pdf
+
+import "hongze/hongze_yb/global"
+
+func (m *YbPdf) Fetch(id int) (item *YbPdf, err error) {
+	err = global.DEFAULT_MYSQL.Model(m).Where("pdf_id = ? AND is_deleted = 0", id).First(&item).Error
+	return
+}

+ 1 - 0
routers/report.go

@@ -18,6 +18,7 @@ func InitReport(r *gin.Engine) {
 	rGroup.GET("/ppt_img", report.ReportPptImgList)
 	rGroup.GET("/variety/list", report.VarietyReportList)
 	rGroup.POST("/report_chapter/set", report.ReportChapterSet)
+	rGroup.GET("/pdf/detail", report.PdfDetail)
 
 	rGroup2 := r.Group("api/classify").Use(middleware.Token())
 	rGroup2.GET("/ficc", report.ClassifyFirstList)