123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- 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/service"
- "regexp"
- )
- func HybgIndexHandler(r *ghttp.Request) {
- service.HtmlRender.Render(r, "hybg_index.html",
- g.Map{
- "module": "hybg",
- "showData": g.Cfg().MustGet(r.Context(), "analysisReport.index").Map(),
- "tdk": service.JySeoTdk.GetHybgTdk(r.Context(), "Index", "", "", "", ""),
- },
- )
- }
- var codeReg = regexp.MustCompile(`([a-zA-Z]+)(\d+)`)
- // getCodes {areaCode}{hyCode} 例如 henan02
- func getCodes(matchCode string) (areaCode, hyCode string) {
- matches := codeReg.FindStringSubmatch(matchCode)
- // 检查是否有匹配项
- if len(matches) >= 3 {
- return matches[1], matches[2]
- }
- return
- }
- func HybgListHandler(r *ghttp.Request) {
- areaCode, hyCode := getCodes(r.Get("matchCode").String())
- pageNum := r.Get("pageNum", 1).Int() //页码
- var areaNode *service.AreaNode
- areaName := ""
- if areaCode != "all" {
- if areaNode = service.JySeoAreaRoot.GetNodeByFCode(areaCode); areaNode == nil {
- service.HtmlRender.NotFound(r)
- return
- }
- areaName = areaNode.Name
- }
- hyNode := service.JySeoHYBGRoot.GetHyNodeByCode(hyCode)
- if hyNode == nil {
- service.HtmlRender.NotFound(r)
- return
- }
- query := service.NewBiddingQuery().EquipArea(areaNode).EquipIndustry(hyNode.Name, "")
- rData, err := query.GetDataPageList(r.Context(), pageNum, 10, 99999, "HybgListHandler", service.JySeoHYBGRoot.GetData, service.JySeoHYBGRoot.FormatData)
- if err != nil {
- g.Log().Errorf(r.Context(), err.Error())
- service.HtmlRender.RenderError(r, fmt.Errorf("获取列表数据异常"))
- return
- }
- service.HtmlRender.Render(r, "hybg_list.html",
- g.Map{
- "module": "hybg",
- "hyNode": hyNode,
- "areaNode": areaNode,
- "list": rData.List,
- "tdk": service.JySeoTdk.GetHybgTdk(r.Context(), "List", areaName, hyNode.Name, "", ""),
- "pagination": service.GetLetterPaging(pageNum, gconv.Int(rData.Total), fmt.Sprintf("/hybg/%s%s_%s", areaCode, hyNode.Code, "%d")),
- },
- )
- }
- func HybgDetailHandler(r *ghttp.Request) {
- detailId := r.Get("detailId").String()
- res := service.JySeoHYBGRoot.GetDetail(r.Context(), detailId)
- hyNode := service.JySeoHYBGRoot.GetHyNodeByName(res.Industry)
- var tdk *service.TDK
- if res.Keyword == "" {
- tdk = service.JySeoTdk.GetHybgTdk(r.Context(), "Detail_MonthWeek", res.Area, res.Industry, res.Title, res.Keyword)
- } else {
- tdk = service.JySeoTdk.GetHybgTdk(r.Context(), "Detail_Keywords", res.Area, res.Industry, res.Title, res.Keyword)
- }
- service.HtmlRender.Render(r, "hybg_detail.html",
- g.Map{
- "module": "hybg",
- "detail": res,
- "hyNode": hyNode,
- "tdk": tdk,
- },
- )
- }
|