|
@@ -0,0 +1,180 @@
|
|
|
|
|
+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())
|
|
|
|
|
+}
|