Cron_Admin/app/services/cron_report_channel_service.go

67 lines
1.7 KiB
Go

package services
import (
"cron_admin/app/constants/errorcode"
"cron_admin/app/http/entities"
"cron_admin/app/http/entities/backend"
"cron_admin/app/models/cronreportchannelmodel"
"cron_admin/app/repository"
)
func ReportChannelCreate(param *cronreportchannelmodel.CronReportChannel) (err error) {
var (
repo = repository.NewCommonRepo[cronreportchannelmodel.CronReportChannel]()
)
_, err = repo.InsertOne(param)
return
}
func ReportChannelList(param backend.ReportChannelListRequest) (list []cronreportchannelmodel.CronReportChannel, total int64, err error) {
var (
repo = repository.NewReportChannelRepo()
opts = make([]repository.DBOption, 0)
)
if param.ReportChannelId > 0 {
opts = append(opts, repo.WithByID(uint(param.ReportChannelId)))
}
if param.Status > 0 {
opts = append(opts, repo.WithByStatus(param.Status))
}
if param.Page > 0 || param.Limit > 0 {
opts = append(opts, repo.WithPage(param.PageRequest))
}
total, err = repo.FindAndCount(&list, opts...)
return
}
func ReportChannelUpdate(param *cronreportchannelmodel.CronReportChannel) (err error) {
var (
repo = repository.NewCommonRepo[cronreportchannelmodel.CronReportChannel]()
opts = make([]repository.DBOption, 0)
)
if param.ReportChannelId > 0 {
opts = append(opts, repo.WithByID(param.ReportChannelId))
}
_, err = repo.Update(param, opts...)
return
}
func ReportChannelDelete(param entities.IdRequest) (err error) {
var (
repo = repository.NewCommonRepo[cronreportchannelmodel.CronReportChannel]()
opts = make([]repository.DBOption, 0)
)
if param.Id > 0 {
opts = append(opts, repo.WithByID(param.Id))
} else {
return errorcode.ReportChannelNotfound
}
_, err = repo.Delete(new(cronreportchannelmodel.CronReportChannel), opts...)
return
}