소스 검색

wip:日志字段

wangshan 9 달 전
부모
커밋
dafc22bf23
2개의 변경된 파일13개의 추가작업 그리고 8개의 파일을 삭제
  1. 1 1
      src/jfw/modules/publicapply/src/detail/dao/baseInfo.go
  2. 12 7
      src/jfw/modules/publicapply/src/detail/dao/bidding.go

+ 1 - 1
src/jfw/modules/publicapply/src/detail/dao/baseInfo.go

@@ -110,7 +110,7 @@ func (b *BaseInfo) BidBaseInfo() (bi *entity.BidInfo, err error) {
 		} else if isVip && !isOldVip {
 			bi.CanRead = true
 			return "new_vip_pay" //新版超级订阅不能看 采购意向 和 拟建
-		} else if SeeDetailLimit(nil, b.UserInfo.UserId, b.Id) {
+		} else if SeeDetailLimit(nil, b.UserInfo, b.Id) {
 			bi.CanRead = true
 			return "saleLeads_free" //未留资 三篇非采购意向信息;留资后同pay
 		} else {

+ 12 - 7
src/jfw/modules/publicapply/src/detail/dao/bidding.go

@@ -161,12 +161,12 @@ func CNode(userId string) bool {
 var (
 	limitLogsLock  = sync.Mutex{}
 	limitLogsChan  = make(chan struct{}, 4)
-	limitLogsCount = 3
+	limitLogsCount = 30
 	limitLogsData  []map[string]interface{}
 )
 
 // 免费未留资用户查看公告超过免费次数限制记录
-func SeeDetailLimitLogs(userId, sid string) {
+func SeeDetailLimitLogs(sessUser util.SessUserInfo, sid string) {
 	limitLogsChan <- struct{}{}
 	defer func() {
 		<-limitLogsChan
@@ -174,9 +174,13 @@ func SeeDetailLimitLogs(userId, sid string) {
 	//保存日志
 	limitLogsLock.Lock()
 	limitLogsData = append(limitLogsData, map[string]interface{}{
-		"userId":     userId,
-		"biddingId":  sid,
-		"createDate": time.Now().Unix(),
+		"mgoUserId":    sessUser.MgoUserId,
+		"phone":        sessUser.Phone,
+		"positionId":   sessUser.PositionId,
+		"positionType": sessUser.PositionType,
+		"openId":       sessUser.OpenId,
+		"biddingId":    sid,
+		"createDate":   time.Now().Unix(),
 	})
 	if len(limitLogsData) > limitLogsCount {
 		tmp := limitLogsData
@@ -190,13 +194,14 @@ func SeeDetailLimitLogs(userId, sid string) {
 }
 
 // 查看公告详情次数限制
-func SeeDetailLimit(obj map[string]interface{}, userId, sid string) bool {
+func SeeDetailLimit(obj map[string]interface{}, sessUser util.SessUserInfo, sid string) bool {
 	if obj != nil {
 		subTypeStr, _ := obj["subtype"].(string)
 		if strings.Contains(subTypeStr, "拟建") || strings.Contains(subTypeStr, "采购意向") {
 			return false
 		}
 	} else {
+		userId := sessUser.UserId
 		watchKey := fmt.Sprintf("article_count_%d_%s_%d_%s", time.Now().Year(), time.Now().Month(), time.Now().Day(), userId)
 		//检验是否留资
 		if CNode(userId) {
@@ -218,7 +223,7 @@ func SeeDetailLimit(obj map[string]interface{}, userId, sid string) bool {
 						}
 					}
 					//超过限制次数 记录
-					go SeeDetailLimitLogs(userId, sid)
+					go SeeDetailLimitLogs(sessUser, sid)
 					return false
 				}
 			}