showSearchScreenLogic.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package logic
  2. import (
  3. "app.yhyue.com/moapp/jybase/common"
  4. "context"
  5. "jyBXBase/api/internal/svc"
  6. "jyBXBase/api/internal/types"
  7. "jyBXBase/rpc/type/bxbase"
  8. "net/http"
  9. "github.com/zeromicro/go-zero/core/logx"
  10. )
  11. type ShowSearchScreenLogic struct {
  12. logx.Logger
  13. ctx context.Context
  14. svcCtx *svc.ServiceContext
  15. r *http.Request
  16. }
  17. func NewShowSearchScreenLogic(ctx context.Context, svcCtx *svc.ServiceContext, r *http.Request) *ShowSearchScreenLogic {
  18. return &ShowSearchScreenLogic{
  19. Logger: logx.WithContext(ctx),
  20. ctx: ctx,
  21. svcCtx: svcCtx,
  22. r: r,
  23. }
  24. }
  25. func (l *ShowSearchScreenLogic) ShowSearchScreen(req *types.ShowSearchScreen) (resp *types.CommonRes, err error) {
  26. res, err0 := l.svcCtx.Bxbase.ShowSearch(l.ctx, &bxbase.ShowSearchReq{
  27. UserId: req.UserId,
  28. Type: req.Type,
  29. AppId: req.AppId,
  30. })
  31. if err0 != nil {
  32. return &types.CommonRes{
  33. Err_code: -1,
  34. Err_msg: err0.Error(),
  35. Data: nil,
  36. }, nil
  37. }
  38. data := []map[string]interface{}{}
  39. for _, value := range res.Data {
  40. inMap := common.StructToMapMore(value)
  41. region := map[string]map[string][]string{}
  42. if value != nil {
  43. for k, v := range value.RegionMap {
  44. areaMap := map[string][]string{}
  45. for k1, v1 := range v.Area {
  46. if len(v1.District) != 0 {
  47. areaMap[k1] = v1.District
  48. } else {
  49. areaMap[k1] = []string{}
  50. }
  51. }
  52. region[k] = areaMap
  53. }
  54. }
  55. inMap["regionMap"] = region
  56. data = append(data, inMap)
  57. }
  58. return &types.CommonRes{
  59. Err_code: common.IntAll(res.ErrCode),
  60. Err_msg: res.ErrMsg,
  61. Data: data,
  62. }, nil
  63. }