keywordLetter.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package controller
  2. import (
  3. "fmt"
  4. "github.com/gogf/gf/v2/frame/g"
  5. "github.com/gogf/gf/v2/net/ghttp"
  6. "jyseo/internal/consts"
  7. "jyseo/internal/service"
  8. )
  9. // LetterIndexHandler 字母聚合页
  10. func LetterIndexHandler(r *ghttp.Request) {
  11. letterCode := r.Get("letterCode").String()
  12. pageNum := r.Get("pageNum").Int()
  13. total, rData := service.JySeoKeyWordLetterRoot.GetLetterArr(letterCode, pageNum, 200)
  14. if total == 0 || rData == nil {
  15. service.HtmlRender.NotFound(r)
  16. return
  17. }
  18. service.HtmlRender.Render(r, "keywordLetter_index.html",
  19. g.Map{
  20. "list": rData,
  21. "letterCode": letterCode,
  22. "tdk": service.JySeoTdk.GetLetterTdk(r.Context(), letterCode, "", pageNum),
  23. "pagination": service.GetLetterPaging(pageNum, total, fmt.Sprintf("/tags/letter/%s_%s.html", letterCode, "%d")),
  24. })
  25. }
  26. // LetterListHandler 字母关键词列表页面
  27. func LetterListHandler(r *ghttp.Request) {
  28. letterCode := r.Get("letterCode").String()
  29. keywordCode := r.Get("keywordCode").String()
  30. letterKeyword := service.JySeoKeyWordLetterRoot.GetLetterKeywordByCode(keywordCode)
  31. if letterKeyword == nil {
  32. service.HtmlRender.NotFound(r)
  33. return
  34. }
  35. // 查询数据
  36. var (
  37. rData []*service.InfoList
  38. err error
  39. )
  40. query := service.NewBiddingQuery().EquipKeyWord(letterKeyword.Name).EquipEsSimilarity(consts.KeyWordEsMatchingDegree)
  41. if letterKeyword.State == 1 {
  42. rData, err = query.GetOnceData(r.Context(), consts.KeyWordSiteMaxTotal, "LetterListHandlerState", service.JySeoKeyWordLetterRoot.GetData)
  43. } else {
  44. rData, err = query.GetOnceData(r.Context(), consts.KeyWordSiteMaxTotal, "LetterListHandler", service.JySeoKeyWordLetterRoot.GetEsData)
  45. }
  46. if err != nil {
  47. g.Log().Errorf(r.Context(), err.Error())
  48. service.HtmlRender.RenderError(r, fmt.Errorf("获取列表数据异常"))
  49. return
  50. }
  51. service.HtmlRender.Render(r, "keywordLetter_list.html",
  52. g.Map{
  53. "letterKeywordNode": letterKeyword,
  54. "list": rData,
  55. "tdk": service.JySeoTdk.GetLetterTdk(r.Context(), letterCode, letterKeyword.Name, 0),
  56. })
  57. }