package logic import ( "app.yhyue.com/moapp/jybase/common" "bp.jydev.jianyu360.cn/BaseService/jyMicroservices/jyBXBase/api/internal/svc" "bp.jydev.jianyu360.cn/BaseService/jyMicroservices/jyBXBase/api/internal/types" "bp.jydev.jianyu360.cn/BaseService/jyMicroservices/jyBXBase/rpc/type/bxbase" "context" "net/http" "github.com/zeromicro/go-zero/core/logx" ) type ShowSearchScreenLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext r *http.Request } func NewShowSearchScreenLogic(ctx context.Context, svcCtx *svc.ServiceContext, r *http.Request) *ShowSearchScreenLogic { return &ShowSearchScreenLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, r: r, } } func (l *ShowSearchScreenLogic) ShowSearchScreen(req *types.ShowSearchScreen) (resp *types.CommonRes, err error) { res, err0 := l.svcCtx.Bxbase.ShowSearch(l.ctx, &bxbase.ShowSearchReq{ UserId: req.UserId, Type: req.Type, AppId: req.AppId, }) if err0 != nil { return &types.CommonRes{ Err_code: -1, Err_msg: err0.Error(), Data: nil, }, nil } data := []map[string]interface{}{} for _, value := range res.Data { inMap := common.StructToMapMore(value) region := map[string]map[string][]string{} if value != nil { for k, v := range value.RegionMap { areaMap := map[string][]string{} for k1, v1 := range v.Area { if len(v1.District) != 0 { areaMap[k1] = v1.District } else { areaMap[k1] = []string{} } } region[k] = areaMap } } inMap["regionMap"] = region data = append(data, inMap) } return &types.CommonRes{ Err_code: common.IntAll(res.ErrCode), Err_msg: res.ErrMsg, Data: data, }, nil }