micro-document/internel/dao/annualReports.go
2025-09-24 10:24:52 +08:00

72 lines
1.9 KiB
Go

package dao
import (
"errors"
"micro-document/api/reports"
"micro-document/internel/model"
"micro-document/pkg/db"
"time"
)
type annualReportsDao struct{}
var AnnualReportsDao = new(annualReportsDao)
func (annualReportsDao) List(req *reports.GetAnnualReportListReq) (data []model.AnnualReport, total int64, err error) {
dbQuery := db.DocDB.Model(&model.AnnualReport{})
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 (annualReportsDao) Add(req *reports.AddAnnualReportReq) (err error) {
err = db.DocDB.Model(&model.AnnualReport{}).Create(&model.AnnualReport{
FileName: req.FileName,
Date: req.Date,
FileUrl: req.FileUrl,
Operator: req.Operator,
OperatorID: req.OperatorId,
}).Error
if err != nil {
return errors.New("新增年度报告失败")
}
return
}
func (annualReportsDao) Edit(req *reports.EditAnnualReportReq) (err error) {
err = db.DocDB.Model(&model.AnnualReport{}).Where("id = ?", req.Id).UpdateColumns(&model.AnnualReport{
FileName: req.FileName,
Date: req.Date,
FileUrl: req.FileUrl,
Status: req.Status,
Sort: req.Sort,
Operator: req.Operator,
OperatorID: req.OperatorId,
UpdatedAt: time.Now(),
}).Error
if err != nil {
return errors.New("编辑年度报告失败")
}
return
}
func (annualReportsDao) Delete(req *reports.DeleteAnnualReportReq) (err error) {
err = db.DocDB.Model(&model.AnnualReport{}).Where("id = ?", req.Id).Delete(&model.AnnualReport{}).Error
if err != nil {
return errors.New("删除年度报告失败")
}
return
}