|
@@ -1,10 +1,13 @@
|
|
|
package filter
|
|
|
|
|
|
import (
|
|
|
+ "app.yhyue.com/moapp/jybase/encrypt"
|
|
|
"fmt"
|
|
|
"jy/src/jfw/config"
|
|
|
"jy/src/jfw/jyutil"
|
|
|
+ "log"
|
|
|
"net/http"
|
|
|
+ "net/url"
|
|
|
"strings"
|
|
|
"time"
|
|
|
|
|
@@ -37,11 +40,6 @@ func (this *pcFilter) Do() bool {
|
|
|
//wx
|
|
|
return true
|
|
|
}
|
|
|
- //画像页面未登录跳转seo
|
|
|
- if seoUrl := PortraitSkip(this.R.RequestURI, util.InterfaceToStr(this.GetSession["userid"])); seoUrl != "" {
|
|
|
- http.Redirect(this.W, this.R, seoUrl, 302)
|
|
|
- return false
|
|
|
- }
|
|
|
//企业搜索
|
|
|
if strings.Contains(this.R.RequestURI, "/jylab/entSearch/index.html") ||
|
|
|
strings.Contains(this.R.RequestURI, "/swordfish/page_big_pc/ent_portrait/") ||
|
|
@@ -86,25 +84,33 @@ func (this *pcFilter) Do() bool {
|
|
|
}
|
|
|
|
|
|
// 画像页面未登录用户跳转302
|
|
|
-func PortraitSkip(url, userid string) string {
|
|
|
+func PortraitSkip(urls, userid string) string {
|
|
|
var seoUrl string
|
|
|
if userid == "" {
|
|
|
+ log.Println("未登录用户", urls)
|
|
|
var sql string
|
|
|
- if strings.Contains(url, "/swordfish/page_big_pc/unit_portrayal/") ||
|
|
|
- strings.Contains(url, "/entpc/unit_portrayal/") {
|
|
|
- urlArr := strings.Split(url, "/")
|
|
|
+ if strings.Contains(urls, "swordfish/page_big_pc/unit_portrayal/") ||
|
|
|
+ strings.Contains(urls, "entpc/unit_portrayal/") {
|
|
|
+ urlArr := strings.Split(urls, "/")
|
|
|
//buyerName := urlArr[len(urlArr)-1]
|
|
|
- sql = fmt.Sprintf("SELECT seo_id FROM dws_f_ent_baseinfo WHERE name =='%s' AND (identity_type &(1 << 0)) > 0", urlArr[len(urlArr)-1])
|
|
|
+ // 解码 URL 编码的字符串
|
|
|
+ decodedString, _ := url.QueryUnescape(urlArr[len(urlArr)-1])
|
|
|
+ sql = fmt.Sprintf("SELECT seo_id FROM dws_f_ent_baseinfo WHERE name ='%s' AND (identity_type &(1 << 0)) > 0", decodedString)
|
|
|
+ log.Println("未登录用户采购单位", sql)
|
|
|
data := public.GlobalCommonMysql.SelectBySql(sql)
|
|
|
if data != nil && len(*data) > 0 {
|
|
|
+ log.Println("未登录用户采购单位", *data)
|
|
|
seoUrl = fmt.Sprintf("/dw/%s.html", util.InterfaceToStr((*data)[0]["seo_id"]))
|
|
|
}
|
|
|
- } else if strings.Contains(url, "swordfish/page_big_pc/svip/ent_ser_portrait/") ||
|
|
|
- strings.Contains(url, "/swordfish/page_big_pc/ent_portrait/") {
|
|
|
- urlArr := strings.Split(url, "/")
|
|
|
- sql = fmt.Sprintf("SELECT seo_id FROM dws_f_ent_baseinfo WHERE name_id =='%s' AND (identity_type &(1 << 1)) > 0", urlArr[len(urlArr)-1])
|
|
|
+ } else if strings.Contains(urls, "swordfish/page_big_pc/svip/ent_ser_portrait/") ||
|
|
|
+ strings.Contains(urls, "/swordfish/page_big_pc/ent_portrait/") {
|
|
|
+ urlArr := strings.Split(urls, "/")
|
|
|
+ entId := encrypt.DecodeArticleId2ByCheck(urlArr[len(urlArr)-1])[0]
|
|
|
+ sql = fmt.Sprintf("SELECT seo_id FROM dws_f_ent_baseinfo WHERE name_id ='%s' AND (identity_type &(1 << 1)) > 0", entId)
|
|
|
+ log.Println("未登录用户企业单位", sql)
|
|
|
data := public.GlobalCommonMysql.SelectBySql(sql)
|
|
|
if data != nil && len(*data) > 0 {
|
|
|
+ log.Println("未登录用户企业单位", *data)
|
|
|
seoUrl = fmt.Sprintf("/qy/%s.html", util.InterfaceToStr((*data)[0]["seo_id"]))
|
|
|
}
|
|
|
}
|