Browse Source

Merge branch 'feature/v4.8.75_dx' of qmx/jy into feature/v4.8.75

duxin 1 year ago
parent
commit
349578fcda

+ 13 - 1
src/jfw/modules/bigmember/src/service/portrait/memberPortraitAction.go

@@ -1,16 +1,18 @@
 package portrait
 package portrait
 
 
 import (
 import (
+	"app.yhyue.com/moapp/jypkg/common/src/qfw/util/jy"
 	"fmt"
 	"fmt"
+	"jy/src/jfw/modules/bigmember/src/config"
 	"jy/src/jfw/modules/bigmember/src/entity"
 	"jy/src/jfw/modules/bigmember/src/entity"
 	"jy/src/jfw/modules/bigmember/src/util"
 	"jy/src/jfw/modules/bigmember/src/util"
 	"log"
 	"log"
+	"regexp"
 	"strings"
 	"strings"
 
 
 	. "app.yhyue.com/moapp/jybase/api"
 	. "app.yhyue.com/moapp/jybase/api"
 	qutil "app.yhyue.com/moapp/jybase/common"
 	qutil "app.yhyue.com/moapp/jybase/common"
 	"app.yhyue.com/moapp/jybase/encrypt"
 	"app.yhyue.com/moapp/jybase/encrypt"
-
 	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
 	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
 )
 )
 
 
@@ -50,6 +52,10 @@ func (this *EntPortrait) EntDetail() {
 		if err != nil {
 		if err != nil {
 			return nil, err
 			return nil, err
 		}
 		}
+		vipData := jy.GetBigVipUserBaseMsg(this.Session(), *config.Middleground)
+		if vipData.VipStatus <= 0 && vipData.Status <= 0 && vipData.EntnicheStatus <= 0 && entInfo["phone"] != "" {
+			entInfo["phone"] = maskCompanyPhone(qutil.InterfaceToStr(entInfo["phone"]))
+		}
 		return entInfo, nil
 		return entInfo, nil
 	}()
 	}()
 	if errMsg != nil {
 	if errMsg != nil {
@@ -58,6 +64,12 @@ func (this *EntPortrait) EntDetail() {
 	this.ServeJson(NewResult(rData, errMsg))
 	this.ServeJson(NewResult(rData, errMsg))
 }
 }
 
 
+func maskCompanyPhone(phone string) string {
+	regex := regexp.MustCompile(`(\d{4})$`) // 匹配最后四位数字
+	maskedPhone := regex.ReplaceAllString(phone, "****")
+	return maskedPhone
+}
+
 // WinnerContacts 中标企业历史联系人
 // WinnerContacts 中标企业历史联系人
 func (this *EntPortrait) WinnerContacts() {
 func (this *EntPortrait) WinnerContacts() {
 	userId := qutil.ObjToString(this.GetSession("userId"))
 	userId := qutil.ObjToString(this.GetSession("userId"))

+ 5 - 1
src/jfw/modules/bigmember/src/service/portrait/subvipPortraitAction.go

@@ -49,7 +49,7 @@ func (this *SubVipPortrait) SubVipEntDetail() {
 		if entId == "" {
 		if entId == "" {
 			return nil, fmt.Errorf("参数异常")
 			return nil, fmt.Errorf("参数异常")
 		}
 		}
-		cepm, _, err, _ := entity.CreateSubVipPortraitManager(userId, "entDetail", entId, true, this.Session())
+		cepm, equity, err, _ := entity.CreateSubVipPortraitManager(userId, "entDetail", entId, true, this.Session())
 		if err != nil {
 		if err != nil {
 			return nil, err
 			return nil, err
 		}
 		}
@@ -57,6 +57,10 @@ func (this *SubVipPortrait) SubVipEntDetail() {
 		if err != nil {
 		if err != nil {
 			return nil, err
 			return nil, err
 		}
 		}
+		vipData := jy.GetBigVipUserBaseMsg(this.Session(), *config.Middleground)
+		if vipData.VipStatus <= 0 && vipData.Status <= 0 && vipData.EntnicheStatus <= 0 && equity != 3 && entInfo["phone"] != "" {
+			entInfo["phone"] = maskCompanyPhone(qutil.InterfaceToStr(entInfo["phone"]))
+		}
 		return entInfo, nil
 		return entInfo, nil
 	}()
 	}()
 	if errMsg != nil {
 	if errMsg != nil {

+ 12 - 7
src/jfw/modules/publicapply/src/enterpriseSearch/entity/entQuery.go

@@ -30,6 +30,7 @@ type EnterpriseSearch struct {
 	PageSize int  //每页数量
 	PageSize int  //每页数量
 	PageNum  int  //页码
 	PageNum  int  //页码
 	IsVip    bool //是否是会员
 	IsVip    bool //是否是会员
+	IsFree   bool //是否免费用户
 }
 }
 
 
 const (
 const (
@@ -254,7 +255,7 @@ func (es *EnterpriseSearch) GetQuerySql() (string, string) {
 // DoQuery 根据EnterpriseSearch参数进行企业相关查询
 // DoQuery 根据EnterpriseSearch参数进行企业相关查询
 func (es *EnterpriseSearch) DoQuery() (list *[]map[string]interface{}, total int64, err error) {
 func (es *EnterpriseSearch) DoQuery() (list *[]map[string]interface{}, total int64, err error) {
 	if es.isEmptySearch() { //是否是空查询,返回默认企业
 	if es.isEmptySearch() { //是否是空查询,返回默认企业
-		list = GetEntIndexShow()
+		list = GetEntIndexShow(es.IsFree)
 		if list != nil {
 		if list != nil {
 			total = int64(len(*list))
 			total = int64(len(*list))
 			start := es.PageNum * es.PageSize
 			start := es.PageNum * es.PageSize
@@ -287,7 +288,7 @@ func (es *EnterpriseSearch) DoQuery() (list *[]map[string]interface{}, total int
 	sql = sql[:len(sql)-1] + fmt.Sprintf(`,"from":%d,"size":%d}`, start, limit)
 	sql = sql[:len(sql)-1] + fmt.Sprintf(`,"from":%d,"size":%d}`, start, limit)
 	list = elastic.Get(index, itype, sql)
 	list = elastic.Get(index, itype, sql)
 
 
-	list = formatData(list)
+	list = formatData(list, es.IsFree)
 	if total > config.Config.EntSearchLimit {
 	if total > config.Config.EntSearchLimit {
 		total = config.Config.EntSearchLimit
 		total = config.Config.EntSearchLimit
 	}
 	}
@@ -295,9 +296,13 @@ func (es *EnterpriseSearch) DoQuery() (list *[]map[string]interface{}, total int
 }
 }
 
 
 // //格式化字段,加密id
 // //格式化字段,加密id
-func formatData(list *[]map[string]interface{}) *[]map[string]interface{} {
+func formatData(list *[]map[string]interface{}, isFree bool) *[]map[string]interface{} {
 	if list != nil {
 	if list != nil {
-		for index, _ := range *list {
+		delStr := []string{"_id", "establish_date"}
+		if isFree {
+			delStr = append(delStr, "company_phone")
+		}
+		for index := range *list {
 			(*list)[index]["id"] = encrypt.EncodeArticleId2ByCheck(qutil.ObjToString((*list)[index]["_id"]))
 			(*list)[index]["id"] = encrypt.EncodeArticleId2ByCheck(qutil.ObjToString((*list)[index]["_id"]))
 			if shortname, ok := ((*list)[index]["company_shortname"]).(string); !ok || shortname == "" {
 			if shortname, ok := ((*list)[index]["company_shortname"]).(string); !ok || shortname == "" {
 				(*list)[index]["company_shortname"] = getCompanyShortName(qutil.ObjToString((*list)[index]["company_name"]))
 				(*list)[index]["company_shortname"] = getCompanyShortName(qutil.ObjToString((*list)[index]["company_name"]))
@@ -308,7 +313,7 @@ func formatData(list *[]map[string]interface{}) *[]map[string]interface{} {
 			}
 			}
 
 
 			//清除多余字段
 			//清除多余字段
-			for _, key := range []string{"_id", "establish_date"} {
+			for _, key := range delStr {
 				delete((*list)[index], key)
 				delete((*list)[index], key)
 			}
 			}
 		}
 		}
@@ -335,7 +340,7 @@ type entIds struct {
 	} `json:"entids"`
 	} `json:"entids"`
 }
 }
 
 
-func GetEntIndexShow() (list *[]map[string]interface{}) {
+func GetEntIndexShow(isFree bool) (list *[]map[string]interface{}) {
 	bytes, err := redis.GetBytes(entSearchCacheDB, entSearchCacheKey)
 	bytes, err := redis.GetBytes(entSearchCacheDB, entSearchCacheKey)
 	if err == nil {
 	if err == nil {
 		if err = json.Unmarshal(*bytes, &list); err == nil && list != nil && len(*list) > 0 {
 		if err = json.Unmarshal(*bytes, &list); err == nil && list != nil && len(*list) > 0 {
@@ -366,7 +371,7 @@ func GetEntIndexShow() (list *[]map[string]interface{}) {
 	sql = sql[:len(sql)-1] + fmt.Sprintf(`,"from":%d,"size":%d}`, 0, 100)
 	sql = sql[:len(sql)-1] + fmt.Sprintf(`,"from":%d,"size":%d}`, 0, 100)
 	listTmp := elastic.Get(index, itype, sql)
 	listTmp := elastic.Get(index, itype, sql)
 	if listTmp != nil && len(*listTmp) > 0 {
 	if listTmp != nil && len(*listTmp) > 0 {
-		list = formatData(listTmp)
+		list = formatData(listTmp, isFree)
 		redis.Put(entSearchCacheDB, entSearchCacheKey, list, 60*60*10)
 		redis.Put(entSearchCacheDB, entSearchCacheKey, list, 60*60*10)
 	}
 	}
 	return
 	return

+ 3 - 15
src/jfw/modules/publicapply/src/enterpriseSearch/service/search.go

@@ -39,7 +39,9 @@ func (esa *EnterpriseSearchAction) DoEntSearch() {
 			return nil, err
 			return nil, err
 		}
 		}
 		//查询是否是会员
 		//查询是否是会员
-		if vipData := jy.GetBigVipUserBaseMsg(esa.Session(), *config.Middleground); vipData.Status > 0 || vipData.VipStatus > 0 {
+		vipData := jy.GetBigVipUserBaseMsg(esa.Session(), *config.Middleground)
+		entSearch.IsFree = vipData.VipStatus <= 0 && vipData.Status <= 0 && vipData.EntnicheStatus <= 0
+		if vipData.Status > 0 || vipData.VipStatus > 0 {
 			entSearch.IsVip = true
 			entSearch.IsVip = true
 		}
 		}
 		//查询
 		//查询
@@ -60,17 +62,3 @@ func (esa *EnterpriseSearchAction) DoEntSearch() {
 	}
 	}
 	esa.ServeJson(NewResult(rData, errMsg))
 	esa.ServeJson(NewResult(rData, errMsg))
 }
 }
-
-// DefaultEntIndex 首页默认展示企业
-func (esa *EnterpriseSearchAction) DefaultEntIndex() {
-	userId, _ := esa.GetSession("userId").(string)
-	rData, errMsg := func() (interface{}, error) {
-		return map[string]interface{}{
-			"list": entity.GetEntIndexShow(),
-		}, nil
-	}()
-	if errMsg != nil {
-		log.Printf("%s EnterpriseSearchAction DefaultEntIndex:%s\n", userId, errMsg.Error())
-	}
-	esa.ServeJson(NewResult(rData, errMsg))
-}