Files
be.ems/src/modules/system/service/sys_notice.impl.go
2023-10-16 17:10:38 +08:00

72 lines
2.0 KiB
Go

package service
import (
"errors"
"ems.agt/src/modules/system/model"
"ems.agt/src/modules/system/repository"
)
// 实例化服务层 SysNoticeImpl 结构体
var NewSysNoticeImpl = &SysNoticeImpl{
sysNoticeRepository: repository.NewSysNoticeImpl,
}
// SysNoticeImpl 公告 服务层处理
type SysNoticeImpl struct {
// 公告服务
sysNoticeRepository repository.ISysNotice
}
// SelectNoticePage 分页查询公告列表
func (r *SysNoticeImpl) SelectNoticePage(query map[string]any) map[string]any {
return r.sysNoticeRepository.SelectNoticePage(query)
}
// SelectNoticeList 查询公告列表
func (r *SysNoticeImpl) SelectNoticeList(sysNotice model.SysNotice) []model.SysNotice {
return r.sysNoticeRepository.SelectNoticeList(sysNotice)
}
// SelectNoticeById 查询公告信息
func (r *SysNoticeImpl) SelectNoticeById(noticeId string) model.SysNotice {
if noticeId == "" {
return model.SysNotice{}
}
configs := r.sysNoticeRepository.SelectNoticeByIds([]string{noticeId})
if len(configs) > 0 {
return configs[0]
}
return model.SysNotice{}
}
// InsertNotice 新增公告
func (r *SysNoticeImpl) InsertNotice(sysNotice model.SysNotice) string {
return r.sysNoticeRepository.InsertNotice(sysNotice)
}
// UpdateNotice 修改公告
func (r *SysNoticeImpl) UpdateNotice(sysNotice model.SysNotice) int64 {
return r.sysNoticeRepository.UpdateNotice(sysNotice)
}
// DeleteNoticeByIds 批量删除公告信息
func (r *SysNoticeImpl) DeleteNoticeByIds(noticeIds []string) (int64, error) {
// 检查是否存在
notices := r.sysNoticeRepository.SelectNoticeByIds(noticeIds)
if len(notices) <= 0 {
return 0, errors.New("没有权限访问公告信息数据!")
}
for _, notice := range notices {
// 检查是否为已删除
if notice.DelFlag == "1" {
return 0, errors.New(notice.NoticeID + " 公告信息已经删除!")
}
}
if len(notices) == len(noticeIds) {
rows := r.sysNoticeRepository.DeleteNoticeByIds(noticeIds)
return rows, nil
}
return 0, errors.New("删除公告信息失败!")
}