showSearchScreenLogic.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package logic
  2. import (
  3. "app.yhyue.com/moapp/jybase/common"
  4. "bp.jydev.jianyu360.cn/BaseService/jyMicroservices/jyBXBase/api/internal/svc"
  5. "bp.jydev.jianyu360.cn/BaseService/jyMicroservices/jyBXBase/api/internal/types"
  6. "bp.jydev.jianyu360.cn/BaseService/jyMicroservices/jyBXBase/rpc/type/bxbase"
  7. "context"
  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. BidField: req.BidField,
  31. })
  32. if err0 != nil {
  33. return &types.CommonRes{
  34. Err_code: -1,
  35. Err_msg: err0.Error(),
  36. Data: nil,
  37. }, nil
  38. }
  39. data := []map[string]interface{}{}
  40. for _, value := range res.Data {
  41. inMap := common.StructToMapMore(value)
  42. region := map[string]map[string][]string{}
  43. if value != nil {
  44. for k, v := range value.RegionMap {
  45. areaMap := map[string][]string{}
  46. for k1, v1 := range v.Area {
  47. if len(v1.District) != 0 {
  48. areaMap[k1] = v1.District
  49. } else {
  50. areaMap[k1] = []string{}
  51. }
  52. }
  53. region[k] = areaMap
  54. }
  55. }
  56. inMap["regionMap"] = region
  57. data = append(data, inMap)
  58. }
  59. return &types.CommonRes{
  60. Err_code: common.IntAll(res.ErrCode),
  61. Err_msg: res.ErrMsg,
  62. Data: data,
  63. }, nil
  64. }