89 lines
2.5 KiB
Go
89 lines
2.5 KiB
Go
package logic
|
|
|
|
import (
|
|
"errors"
|
|
"micro-document/api/reports"
|
|
"micro-document/internel/dao"
|
|
"micro-document/internel/model"
|
|
util "micro-document/pkg/utils"
|
|
|
|
"github.com/jinzhu/copier"
|
|
"github.com/samber/lo"
|
|
)
|
|
|
|
type quarterlyReportsLogic struct{}
|
|
|
|
var QuarterlyReportsLogic = new(quarterlyReportsLogic)
|
|
|
|
// 获取季度报告列表
|
|
func (quarterlyReportsLogic) List(req *reports.GetQuarterlyReportListReq) (result *reports.GetQuarterlyReportListResp, err error) {
|
|
result = &reports.GetQuarterlyReportListResp{
|
|
Page: req.Page,
|
|
PageSize: req.PageSize,
|
|
}
|
|
data, total, err := dao.QuarterlyReportsDao.List(req)
|
|
if err != nil {
|
|
return nil, errors.New("查询季度报告失败")
|
|
}
|
|
result.Total = int32(total)
|
|
if err = copier.CopyWithOption(&result.Data, &data, util.CopierProtoOptions); err != nil {
|
|
return nil, errors.New("复制季度报告失败")
|
|
}
|
|
return result, nil
|
|
}
|
|
|
|
// 增加季度报告
|
|
func (quarterlyReportsLogic) Add(req *reports.AddQuarterlyReportReq) (result *reports.AddQuarterlyReportResp, err error) {
|
|
result = &reports.AddQuarterlyReportResp{}
|
|
err = dao.QuarterlyReportsDao.Add(req)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
result.Msg = "新增季度报告成功"
|
|
return result, nil
|
|
}
|
|
|
|
// 编辑季度报告
|
|
func (quarterlyReportsLogic) Edit(req *reports.EditQuarterlyReportReq) (result *reports.EditQuarterlyReportResp, err error) {
|
|
result = &reports.EditQuarterlyReportResp{}
|
|
err = dao.QuarterlyReportsDao.Edit(req)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
result.Msg = "编辑季度报告成功"
|
|
return result, nil
|
|
}
|
|
|
|
// 删除季度报告
|
|
func (quarterlyReportsLogic) Delete(req *reports.DeleteQuarterlyReportReq) (result *reports.DeleteQuarterlyReportResp, err error) {
|
|
result = &reports.DeleteQuarterlyReportResp{}
|
|
err = dao.QuarterlyReportsDao.Delete(req)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
result.Msg = "删除季度报告成功"
|
|
return result, nil
|
|
}
|
|
|
|
// 季度报告展示列表
|
|
func (quarterlyReportsLogic) Display(req *reports.DisplayQuarterlyReportReq) (result *reports.DisplayQuarterlyReportResp, err error) {
|
|
result = &reports.DisplayQuarterlyReportResp{
|
|
Page: req.Page,
|
|
PageSize: req.PageSize,
|
|
}
|
|
data, total, err := dao.QuarterlyReportsDao.Display(req)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
result.Total = int32(total)
|
|
result.Item = lo.Map(data, func(m model.QuarterlyReport, i int) *reports.DisplayQuarterlyReportItem {
|
|
return &reports.DisplayQuarterlyReportItem{
|
|
FileName: m.FileName,
|
|
FileIntroduce: m.FileIntroduce,
|
|
Attachment: m.Attachment,
|
|
AttachmentName: m.AttachmentName,
|
|
}
|
|
})
|
|
return result, nil
|
|
}
|