package daytask import ( model "go_server/model/biz_modules/daytask" "go_server/model/common/response" "go_server/service/base" "github.com/gin-gonic/gin" ) // DtMaterialService 素材服务 type DtMaterialService struct { base.BizCommonService } func (s *DtMaterialService) Get(c *gin.Context) { s.SetDbAlias("daytask") base.NewBaseHandler(model.NewDtMaterial()).Get(c, s.DB()) } func (s *DtMaterialService) Find(c *gin.Context) { s.SetDbAlias("daytask") type request[T any] struct { base.ListRequest[T] Id *int64 `form:"id"` Name *string `form:"name"` Type *string `form:"type"` GroupId *int64 `form:"groupId"` Storage *string `form:"storage"` } req := new(request[model.DtMaterial]) if err := c.BindQuery(req); err != nil { response.Resp(c, err.Error()) return } db := s.DB() 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.Type != nil && *req.Type != "" { db = db.Where("type", req.Type) } if req.GroupId != nil { db = db.Where("group_id", req.GroupId) } if req.Storage != nil && *req.Storage != "" { db = db.Where("storage", req.Storage) } db = db.Order("created_at DESC") colInfo := s.GetColumnCommentFromStruct(model.DtMaterial{}) resp, err := base.NewQueryBaseHandler(model.NewDtMaterial()).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 *DtMaterialService) Create(c *gin.Context) { s.SetDbAlias("daytask") base.NewBaseHandler(model.NewDtMaterial()).Create(c, s.DB()) } func (s *DtMaterialService) Delete(c *gin.Context) { s.SetDbAlias("daytask") base.NewBaseHandler(model.NewDtMaterial()).DeleteOne(c, s.DB()) } // DtMaterialGroupService 素材分组服务 type DtMaterialGroupService struct { base.BizCommonService } func (s *DtMaterialGroupService) Get(c *gin.Context) { s.SetDbAlias("daytask") base.NewBaseHandler(model.NewDtMaterialGroup()).Get(c, s.DB()) } func (s *DtMaterialGroupService) Find(c *gin.Context) { s.SetDbAlias("daytask") type request[T any] struct { base.ListRequest[T] Id *int64 `form:"id"` Name *string `form:"name"` ParentId *int64 `form:"parentId"` } req := new(request[model.DtMaterialGroup]) if err := c.BindQuery(req); err != nil { response.Resp(c, err.Error()) return } db := s.DB() 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.ParentId != nil { db = db.Where("parent_id", req.ParentId) } db = db.Order("sort ASC") colInfo := s.GetColumnCommentFromStruct(model.DtMaterialGroup{}) resp, err := base.NewQueryBaseHandler(model.NewDtMaterialGroup()).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 *DtMaterialGroupService) Create(c *gin.Context) { s.SetDbAlias("daytask") base.NewBaseHandler(model.NewDtMaterialGroup()).Create(c, s.DB()) } func (s *DtMaterialGroupService) Update(c *gin.Context) { s.SetDbAlias("daytask") base.NewBaseHandler(model.NewDtMaterialGroup()).UpdateOne(c, s.DB()) } func (s *DtMaterialGroupService) Delete(c *gin.Context) { s.SetDbAlias("daytask") base.NewBaseHandler(model.NewDtMaterialGroup()).DeleteOne(c, s.DB()) }