micro-document/internel/dao/quarterlyReports.go
2025-09-24 17:19:11 +08:00

73 lines
2.0 KiB
Go

package dao
import (
"errors"
"micro-document/api/reports"
"micro-document/internel/model"
"micro-document/pkg/db"
"time"
)
type quarterlyReportsDao struct{}
var QuarterlyReportsDao = new(quarterlyReportsDao)
func (quarterlyReportsDao) List(req *reports.GetQuarterlyReportListReq) (data []model.QuarterlyReport, total int64, err error) {
dbQuery := db.DocDB.Model(&model.QuarterlyReport{})
if req.Filtrate != nil {
if req.Filtrate.FileName != "" {
dbQuery = dbQuery.Where("file_name LIKE ?", "%"+req.Filtrate.FileName+"%")
}
if req.Filtrate.Status != 0 {
dbQuery = dbQuery.Where("status = ?", req.Filtrate.Status)
}
}
dbQuery.Count(&total)
err = dbQuery.Scopes(db.Pagination(req.Page, req.PageSize)).Find(&data).Error
if err != nil {
return
}
return
}
func (quarterlyReportsDao) Add(req *reports.AddQuarterlyReportReq) (err error) {
err = db.DocDB.Model(&model.QuarterlyReport{}).Create(&model.QuarterlyReport{
FileName: req.FileName,
FileIntroduce: req.FileIntroduce,
Attachment: req.Attachment,
AttachmentName: req.AttachmentName,
Operator: req.Operator,
OperatorId: req.OperatorId,
}).Error
if err != nil {
return errors.New("新增季度报告失败")
}
return
}
func (quarterlyReportsDao) Edit(req *reports.EditQuarterlyReportReq) (err error) {
err = db.DocDB.Model(&model.QuarterlyReport{}).Where("id = ?", req.Id).UpdateColumns(&model.QuarterlyReport{
FileName: req.FileName,
FileIntroduce: req.FileIntroduce,
Attachment: req.Attachment,
AttachmentName: req.AttachmentName,
Status: req.Status,
Sort: req.Sort,
Operator: req.Operator,
OperatorId: req.OperatorId,
UpdatedAt: time.Now(),
}).Error
if err != nil {
return errors.New("编辑季度报告失败")
}
return
}
func (quarterlyReportsDao) Delete(req *reports.DeleteQuarterlyReportReq) (err error) {
err = db.DocDB.Model(&model.QuarterlyReport{}).Where("id = ?", req.Id).Delete(&model.QuarterlyReport{}).Error
if err != nil {
return errors.New("删除季度报告失败")
}
return
}