business_file.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package base
  2. import (
  3. "context"
  4. "dashoo.cn/common_definition/comm_def"
  5. "dashoo.cn/opms_libary/myerrors"
  6. "github.com/gogf/gf/util/gvalid"
  7. projModel "dashoo.cn/micro/app/model/proj"
  8. projSrv "dashoo.cn/micro/app/service/proj"
  9. )
  10. type BusinessFileHandler struct{}
  11. // GetList 获取列表
  12. func (p *BusinessFileHandler) GetList(ctx context.Context, req *projModel.BusinessReq, rsp *comm_def.CommonMsg) error {
  13. if req.BusId == 0 {
  14. return myerrors.ValidError("项目参数有误!")
  15. }
  16. businessService, err := projSrv.NewBusinessFileService(ctx)
  17. if err != nil {
  18. return err
  19. }
  20. list, err := businessService.GetList(req.BusId)
  21. if err != nil {
  22. return err
  23. }
  24. rsp.Data = list
  25. return nil
  26. }
  27. func (p *BusinessFileHandler) Create(ctx context.Context, req *projModel.ProjBusinessFileReq, rsp *comm_def.CommonMsg) error {
  28. // 参数校验
  29. if err := gvalid.CheckStruct(ctx, req, nil); err != nil {
  30. return err
  31. }
  32. businessService, err := projSrv.NewBusinessFileService(ctx)
  33. if err != nil {
  34. return err
  35. }
  36. err = businessService.Create(req)
  37. if err != nil {
  38. return err
  39. }
  40. return nil
  41. }
  42. func (p *BusinessFileHandler) DeleteByIds(ctx context.Context, req *comm_def.IdsReq, rsp *comm_def.CommonMsg) error {
  43. // 参数校验
  44. if len(req.Ids) == 0 {
  45. return myerrors.ValidError("id参数有误!")
  46. }
  47. businessService, err := projSrv.NewBusinessFileService(ctx)
  48. if err != nil {
  49. return err
  50. }
  51. err = businessService.DeleteByIds(req.Ids)
  52. return err
  53. }
  54. // 下载钉钉附件
  55. func (h *BusinessFileHandler) DownloadDingTalkFile(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error {
  56. businessService, err := projSrv.NewBusinessFileService(ctx)
  57. if err != nil {
  58. return err
  59. }
  60. data, err := businessService.DownloadDingTalkFile(int(req.Id))
  61. if err != nil {
  62. return err
  63. }
  64. rsp.Data = data
  65. return nil
  66. }