123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- 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")),
- },
- )
- }
|