| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- package daytask
- import (
- model "go_server/model/biz_modules/daytask"
- "go_server/model/common/response"
- "go_server/service/base"
- "github.com/gin-gonic/gin"
- )
- // DtMusicGroupService 歌单分组服务
- type DtMusicGroupService struct {
- base.BizCommonService
- }
- func (s *DtMusicGroupService) Get(c *gin.Context) {
- s.SetDbAlias("daytask")
- base.NewBaseHandler(model.NewDtMusicGroup()).Get(c, s.DB())
- }
- func (s *DtMusicGroupService) Find(c *gin.Context) {
- s.SetDbAlias("daytask")
- type request[T any] struct {
- base.ListRequest[T]
- Id *int64 `form:"id"`
- Name *string `form:"name"`
- Status *int8 `form:"status"`
- }
- req := new(request[model.DtMusicGroup])
- if err := c.BindQuery(req); err != nil {
- response.Resp(c, err.Error())
- return
- }
- db := s.DB()
- if db == nil {
- response.Resp(c, "数据库连接失败")
- return
- }
- if req.Id != nil && *req.Id != 0 {
- db = db.Where("id", req.Id)
- }
- if req.Name != nil && *req.Name != "" {
- db = db.Where("name LIKE ?", "%"+*req.Name+"%")
- }
- if req.Status != nil {
- db = db.Where("status", req.Status)
- }
- db = db.Order("sort ASC, id ASC")
- colInfo := s.GetColumnCommentFromStruct(model.DtMusicGroup{})
- resp, err := base.NewQueryBaseHandler(model.NewDtMusicGroup()).List(db, req)
- if err != nil {
- response.Resp(c, err.Error())
- return
- }
- response.Resp(c, map[string]interface{}{
- "cols": colInfo,
- "list": resp.List,
- "paging": resp.Paging,
- })
- }
- func (s *DtMusicGroupService) Create(c *gin.Context) {
- s.SetDbAlias("daytask")
- base.NewBaseHandler(model.NewDtMusicGroup()).Create(c, s.DB())
- }
- func (s *DtMusicGroupService) Update(c *gin.Context) {
- s.SetDbAlias("daytask")
- base.NewBaseHandler(model.NewDtMusicGroup()).UpdateOne(c, s.DB())
- }
- func (s *DtMusicGroupService) Delete(c *gin.Context) {
- s.SetDbAlias("daytask")
- db := s.DB()
- if db == nil {
- response.Resp(c, "数据库连接失败")
- return
- }
- var req base.BaseRequest
- if err := c.ShouldBindJSON(&req); err != nil {
- response.Resp(c, err.Error())
- return
- }
- if req.Id == 0 {
- response.Resp(c, "id is zero")
- return
- }
- var count int64
- db.Model(&model.DtMusic{}).Where("group_id = ?", req.Id).Count(&count)
- if count > 0 {
- response.Resp(c, "该歌单下还有歌曲,请先删除歌曲")
- return
- }
- var group model.DtMusicGroup
- if err := db.First(&group, req.Id).Error; err != nil {
- response.Resp(c, err.Error())
- return
- }
- if err := db.Delete(&group).Error; err != nil {
- response.Resp(c, err.Error())
- return
- }
- response.Resp(c, "删除成功")
- }
- // DtMusicService 歌曲服务
- type DtMusicService struct {
- base.BizCommonService
- }
- func (s *DtMusicService) Get(c *gin.Context) {
- s.SetDbAlias("daytask")
- base.NewBaseHandler(model.NewDtMusic()).Get(c, s.DB())
- }
- func (s *DtMusicService) Find(c *gin.Context) {
- s.SetDbAlias("daytask")
- type request[T any] struct {
- base.ListRequest[T]
- Id *int64 `form:"id"`
- GroupId *int64 `form:"groupId"`
- Title *string `form:"title"`
- Artist *string `form:"artist"`
- Status *int8 `form:"status"`
- }
- req := new(request[model.DtMusic])
- if err := c.BindQuery(req); err != nil {
- response.Resp(c, err.Error())
- return
- }
- db := s.DB()
- if db == nil {
- response.Resp(c, "数据库连接失败")
- return
- }
- if req.Id != nil && *req.Id != 0 {
- db = db.Where("id", req.Id)
- }
- if req.GroupId != nil && *req.GroupId != 0 {
- db = db.Where("group_id", req.GroupId)
- }
- if req.Title != nil && *req.Title != "" {
- db = db.Where("title LIKE ?", "%"+*req.Title+"%")
- }
- if req.Artist != nil && *req.Artist != "" {
- db = db.Where("artist LIKE ?", "%"+*req.Artist+"%")
- }
- if req.Status != nil {
- db = db.Where("status", req.Status)
- }
- db = db.Order("sort ASC, id ASC")
- colInfo := s.GetColumnCommentFromStruct(model.DtMusic{})
- resp, err := base.NewQueryBaseHandler(model.NewDtMusic()).List(db, req)
- if err != nil {
- response.Resp(c, err.Error())
- return
- }
- response.Resp(c, map[string]interface{}{
- "cols": colInfo,
- "list": resp.List,
- "paging": resp.Paging,
- })
- }
- func (s *DtMusicService) Create(c *gin.Context) {
- s.SetDbAlias("daytask")
- base.NewBaseHandler(model.NewDtMusic()).Create(c, s.DB())
- }
- func (s *DtMusicService) Update(c *gin.Context) {
- s.SetDbAlias("daytask")
- base.NewBaseHandler(model.NewDtMusic()).UpdateOne(c, s.DB())
- }
- func (s *DtMusicService) Delete(c *gin.Context) {
- s.SetDbAlias("daytask")
- base.NewBaseHandler(model.NewDtMusic()).DeleteOne(c, s.DB())
- }
|