enterprise.go 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package controller
  2. import (
  3. "fmt"
  4. "github.com/gogf/gf/v2/frame/g"
  5. "github.com/gogf/gf/v2/net/ghttp"
  6. "github.com/gogf/gf/v2/util/gconv"
  7. "jyseo/internal/service"
  8. "jyseo/utility"
  9. "strings"
  10. )
  11. // 0 采购单位 1-中标单位
  12. func getRequestType(r *ghttp.Request) (int, string, error) {
  13. if strings.HasPrefix(r.RequestURI, "/dw/") {
  14. return 0, "dw", nil
  15. } else if strings.HasPrefix(r.RequestURI, "/qy/") {
  16. return 1, "qy", nil
  17. } else {
  18. return -1, "", fmt.Errorf("未知路由")
  19. }
  20. }
  21. func EnterpriseList(r *ghttp.Request) {
  22. pageNum := r.Get("pageNum", 1).Int() //页码
  23. status, flag, err := getRequestType(r)
  24. if err != nil {
  25. service.HtmlRender.NotFound(r)
  26. return
  27. }
  28. res, err := service.JySeoEnterprises.GetEnterprisesList(r.Context(), status, pageNum, 50, 5000)
  29. if err != nil {
  30. g.Log().Errorf(r.Context(), err.Error())
  31. service.HtmlRender.RenderError(r, fmt.Errorf("获取列表数据异常"))
  32. return
  33. }
  34. service.HtmlRender.Render(r, utility.GetCommonRenderPatch(r.Request.UserAgent(), "enterprise_list.html"),
  35. g.Map{
  36. "flag": flag,
  37. "list": res.List,
  38. //"tdk": service.JySeoTdk.GetAreaSTypeListTdk(r.Context(), sTypeNode.Code, areaNode.Name),
  39. "pagination": service.GetLetterPaging(pageNum, gconv.Int(res.Total), fmt.Sprintf("/%s/p%s", flag, "%d")),
  40. },
  41. )
  42. }
  43. func EnterpriseDetail(r *ghttp.Request) {
  44. seoId := r.Get("seoId").String() //页码
  45. status, flag, err := getRequestType(r)
  46. if err != nil {
  47. service.HtmlRender.NotFound(r)
  48. return
  49. }
  50. rData := g.Map{"flag": flag}
  51. switch status {
  52. case 0: //采购单位
  53. baseInfo := service.JySeoEnterprises.GetEntDetailMsg(r.Context(), seoId, false)
  54. if baseInfo == nil || len(baseInfo) == 0 {
  55. service.HtmlRender.NotFound(r)
  56. return
  57. }
  58. rData["entDetail"] = baseInfo
  59. dynamicNews, _ := service.JySeoEnterprises.GetDynamicNews(r.Context(), gconv.String(baseInfo["name"]), false)
  60. rData["dynamicNews"] = dynamicNews
  61. rData["otherEnt"] = service.JySeoEnterprises.RelevanceData(r.Context(), gconv.String(baseInfo["name"]), false)
  62. rData["recommendedEnt"] = service.JySeoEnterprises.RecommendedData(r.Context(), gconv.String(baseInfo["name"]), gconv.String(baseInfo["area_code"]), false) //其他企业推荐
  63. case 1: //中标企业
  64. baseInfo := service.JySeoEnterprises.GetEntDetailMsg(r.Context(), seoId, true)
  65. if baseInfo == nil || len(baseInfo) == 0 {
  66. service.HtmlRender.NotFound(r)
  67. return
  68. }
  69. rData["entDetail"] = baseInfo //企业基本信息
  70. dynamicNews, _ := service.JySeoEnterprises.GetDynamicNews(r.Context(), gconv.String(baseInfo["company_id"]), true) //企业动态
  71. rData["dynamicNews"] = dynamicNews //企业中标动态
  72. rData["otherEnt"] = service.JySeoEnterprises.RelevanceData(r.Context(), gconv.String(baseInfo["company_id"]), true) //关联采购单位
  73. rData["recommendedEnt"] = service.JySeoEnterprises.RecommendedData(r.Context(), gconv.String(baseInfo["company_name"]), gconv.String(baseInfo["area_code"]), true) //其他企业推荐
  74. }
  75. service.HtmlRender.Render(r, utility.GetCommonRenderPatch(r.Request.UserAgent(), "enterprise_detail.html"), rData)
  76. }