material.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package model
  2. import (
  3. "context"
  4. "icloudapp.cn/tools/entity"
  5. "icloudapp.cn/tools/service"
  6. sEntity "icloudapp.cn/tools/service/entity"
  7. )
  8. type MMaterial struct {
  9. ctx context.Context
  10. }
  11. func NewMMaterial(ctx context.Context) *MMaterial {
  12. return &MMaterial{
  13. ctx: ctx,
  14. }
  15. }
  16. func (m *MMaterial) Add(material *sEntity.Material) (*sEntity.Material, error) {
  17. material, err := service.NewMaterial(m.ctx).Add(material)
  18. if err != nil {
  19. return nil, err
  20. }
  21. return material, nil
  22. }
  23. func (m *MMaterial) Materials(uid int64) *entity.MaterialsApi {
  24. materials := service.NewMaterial(m.ctx).Materials(uid)
  25. body := make([]entity.MaterialsApiData, 0)
  26. if len(materials) == 0 {
  27. return &entity.MaterialsApi{Code: entity.CodeDataDoesNotExist, Msg: "未找到相关数据", Body: map[string][]entity.MaterialsApiData{
  28. "items": {},
  29. }}
  30. }
  31. for _, val := range materials {
  32. var material entity.MaterialsApiData
  33. material.ID = val.ID
  34. material.Uid = val.UID
  35. material.FileName = val.Name
  36. material.Path = val.File
  37. material.ImageType = val.Type
  38. body = append(body, material)
  39. }
  40. return &entity.MaterialsApi{Code: entity.CodeDataDoesNotExist, Msg: "success", Body: map[string][]entity.MaterialsApiData{
  41. "items": body,
  42. }}
  43. }