72 lines
1.9 KiB
Go
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
|
|
}
|