package controller import ( "fmt" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/net/ghttp" "github.com/gogf/gf/v2/util/gconv" "jyseo/internal/consts" "jyseo/internal/service" "strings" ) // AreaIndexHandler 地区站首页 func AreaIndexHandler(r *ghttp.Request) { areaCode := r.Get("areaCode").String() var areaType string if requestPathArr := strings.Split(r.RequestURI, "/"); len(requestPathArr) > 3 { areaType = requestPathArr[2] } node := service.JySeoAreaRoot.GetNodeByCode(areaCode) if node == nil || !(areaType == "area" || areaType == "city") { service.HtmlRender.NotFound(r) return } var winnerList, buyerList []map[string]interface{} if node.Type == 1 || node.Type == 3 { winnerList = service.JySeoEnterprises.GetEntList(r.Context(), node.Name, "", "", true) buyerList = service.JySeoEnterprises.GetEntList(r.Context(), node.Name, "", "", false) } else if node.Type == 2 { winnerList = service.JySeoEnterprises.GetEntList(r.Context(), "", node.Name, "", true) buyerList = service.JySeoEnterprises.GetEntList(r.Context(), "", node.Name, "", false) } else if node.Type == 4 { winnerList = service.JySeoEnterprises.GetEntList(r.Context(), "", node.PNode.Name, node.Name, true) buyerList = service.JySeoEnterprises.GetEntList(r.Context(), "", node.PNode.Name, node.Name, false) } if node.Type != 4 { //省份城市 service.HtmlRender.Render(r, "area_index.html", g.Map{ "areaType": areaType, "areaNode": node, "winnerList": winnerList, "buyerList": buyerList, "tdk": service.JySeoTdk.GetAreaIndexTdk(r.Context(), node.Name), }) } else { //区县 // 查询数据 query := service.NewBiddingQuery().EquipArea(node) rData, err := query.GetOnceData(r.Context(), 100, "AreaPageHandler_District", service.JySeoAreaRoot.GetData) if err != nil { g.Log().Errorf(r.Context(), err.Error()) service.HtmlRender.RenderError(r, fmt.Errorf("获取列表数据异常")) return } service.HtmlRender.Render(r, "area_district.html", g.Map{ "list": rData, "areaType": areaType, "areaNode": node, "winnerList": winnerList, "buyerList": buyerList, "tdk": service.JySeoTdk.GetAreaDistrictIndexTdk(r.Context(), node), }) } } // AreaPageHandler 地区列表页面 func AreaPageHandler(r *ghttp.Request) { areaCode := r.Get("areaCode").String() //地区code areaType := r.Get("type").String() //省份、地区 sId := r.Get("sId").String() //信息类型id pageNum := r.Get("pageNum", 1).Int() //页码 areaNode := service.JySeoAreaRoot.GetNodeByCode(areaCode) sTypeNode := service.JySeoSTypeRoot.GetNodeById(sId) if areaNode == nil || sTypeNode == nil || !(areaType == "area" || areaType == "city") { service.HtmlRender.NotFound(r) return } var rData *service.ListResp var err error if sTypeNode.SIGN > 0 { //打标记信息 query := service.NewBiddingQuery().EquipArea(areaNode).EquipSIGN(sTypeNode.SIGN) rData, err = query.GetDataPageList(r.Context(), pageNum, 0, consts.BiddingListMaxTotal, "AreaPageHandlerSIGN", service.JySeoSIGNRoot.GetData) if err != nil { g.Log().Errorf(r.Context(), err.Error()) service.HtmlRender.RenderError(r, fmt.Errorf("获取列表数据异常")) return } } else { // 查询数据 query := service.NewBiddingQuery().EquipArea(areaNode).EquipSType(sTypeNode) rData, err = query.GetDataPageList(r.Context(), pageNum, 0, consts.BiddingListMaxTotal, "AreaPageHandler", service.JySeoAreaRoot.GetData) if err != nil { g.Log().Errorf(r.Context(), err.Error()) service.HtmlRender.RenderError(r, fmt.Errorf("获取列表数据异常")) return } } service.HtmlRender.Render(r, "area_list.html", g.Map{ "areaType": areaType, "areaNode": areaNode, "sTypeNode": sTypeNode, "list": rData.List, "tdk": service.JySeoTdk.GetAreaSTypeListTdk(r.Context(), sTypeNode.Code, areaNode.Name), "pagination": service.GetLetterPaging(pageNum, gconv.Int(rData.Total), fmt.Sprintf("/list/%s/%s_%s/p%s", areaType, areaCode, sId, "%d")), }, ) }