home.go 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package home
  2. import (
  3. "context"
  4. "dashoo.cn/micro/app/model/home"
  5. "dashoo.cn/micro/app/model/plat"
  6. "dashoo.cn/micro/app/service"
  7. server "dashoo.cn/micro/app/service/plat"
  8. "encoding/json"
  9. "github.com/gogf/gf/util/gconv"
  10. )
  11. type HomeService struct {
  12. *service.ContextService
  13. }
  14. func NewHomeService(ctx context.Context) (svc *HomeService, err error) {
  15. svc = new(HomeService)
  16. if svc.ContextService, err = svc.Init(ctx); err != nil {
  17. return nil, err
  18. }
  19. return svc, nil
  20. }
  21. func (s *HomeService) SetUpHomeReportConfig(param *home.SetUpHomeConfig) (err error) {
  22. svc, err := server.NewUserConfigService(s.Ctx)
  23. config, _ := svc.QueryByUserIdAndModelCode(s.GetCxtUserId(), param.ModuleCode)
  24. by, _ := json.Marshal(param)
  25. if config != nil {
  26. config.ConfigInfo = gconv.String(by)
  27. err = svc.Edit(config)
  28. } else {
  29. config := new(plat.PlatUserConfig)
  30. config.UserId = s.GetCxtUserId()
  31. config.ModuleCode = param.ModuleCode
  32. config.ConfigInfo = gconv.String(by)
  33. _, err = svc.Create(config)
  34. }
  35. return
  36. }
  37. func (s *HomeService) QueryHomeReportConfig(moduleCode string) (config *plat.PlatUserConfig, err error) {
  38. svc, err := server.NewUserConfigService(s.Ctx)
  39. config, err = svc.QueryByUserIdAndModelCode(s.GetCxtUserId(), moduleCode)
  40. return
  41. }
  42. func (s *HomeService) QueryHomeNumReportData(param *home.SearchNumReportData) (resp *home.NumReportResponses, err error) {
  43. numConfig := make([]*home.NumReportResponse, len(param.ReportId))
  44. for _, v := range param.ReportId {
  45. numReport := new(home.NumReportResponse)
  46. numReport.Id = v
  47. value, _ := getReportData(v)
  48. numReport.Data = value
  49. numConfig = append(numConfig, numReport)
  50. }
  51. resp.NumReportResponse = numConfig
  52. return
  53. }
  54. func (s *HomeService) QueryHomeDataReportData(param *home.SearchDataReportData) (resp *home.DataReportResponse, err error) {
  55. resp.Id = param.ReportId
  56. value, err := getReportData(param.ReportId)
  57. if err != nil {
  58. return nil, err
  59. }
  60. resp.Data = value
  61. return
  62. }
  63. func getReportData(id int64) (interface{}, error) {
  64. switch id {
  65. case 0:
  66. return nil, nil
  67. default:
  68. return nil, nil
  69. }
  70. }