Browse Source

Merge remote-tracking branch 'origin/feature/v4.8.40' into dev/v4.8.40_dx

# Conflicts:
#	src/jfw/front/tags.go
duxin 2 years ago
parent
commit
ec4ad42c5d

+ 1 - 1
src/db.json

@@ -41,7 +41,7 @@
   },
   "redis": {
     "main":{
-      "address": "other=192.168.3.149:1712,sso=192.168.3.149:1713,push=192.168.3.149:1711,session=192.168.3.149:1713,recovery=192.168.3.149:1715,merge=192.168.3.206:2711,newother=192.168.3.149:1712,poly=192.168.3.149:1713"
+      "address": "other=192.168.3.149:1712,sso=192.168.3.149:1713,push=192.168.3.149:1711,session=192.168.3.149:1713,recovery=192.168.3.149:1715,merge=192.168.3.206:2711,newother=192.168.3.149:1712,poly=192.168.3.149:1713,seoCache=192.168.3.149:1713"
     },
     "login": {
       "address": "login=192.168.3.149:1712"

+ 37 - 69
src/jfw/front/tags.go

@@ -25,6 +25,8 @@ import (
 	"app.yhyue.com/moapp/jypkg/public"
 )
 
+const cacheTime = 60 * 60 * 8
+
 // 剑鱼标签页
 type Tags struct {
 	*xweb.Action
@@ -40,6 +42,7 @@ var (
 	NotificationWait = make(chan int, 1)
 	syw, rwm         = &sync.RWMutex{}, &sync.RWMutex{}
 )
+var seoBidField = `"_id","title","publishtime","subtype","area","href","bidamount","budget","s_subscopeclass","projectname"`
 
 func init() {
 	xweb.AddAction(&Tags{})
@@ -318,13 +321,13 @@ func (this *Tags) GetSEOArea() (provinceArr, cityArr, districtArr []string, name
 	codeArr = map[int64][]int64{}   //code 及 pcode的从属关系
 	data := []map[string]interface{}{}
 	rediskey := fmt.Sprintf("pcseo_area")
-	if l, ok := redis.Get("other", rediskey).([]interface{}); ok && l != nil && len(l) > 0 {
+	if l, ok := redis.Get("seoCache", rediskey).([]interface{}); ok && l != nil && len(l) > 0 {
 		data = qu.ObjArrToMapArr(l)
 	} else {
 		list := public.BaseMysql.SelectBySql(`select name,code,level,pcode from seo_words.seo_area order by code`)
 		//获取组合成必要参数
 		if list != nil && len(*list) > 0 {
-			redis.Put("other", rediskey, *list, 2*60*60)
+			redis.Put("seoCache", rediskey, *list, cacheTime)
 			data = *list
 		}
 	}
@@ -392,7 +395,7 @@ func (this *Tags) GetkeysMap() []map[string][]map[string]interface{} {
 
 func (this *Tags) GetIndustry(industryHref string) interface{} {
 	rediskey := fmt.Sprintf("pcindex_getIndustry_%s", industryHref)
-	if l := redis.Get("other", rediskey); l != nil {
+	if l := redis.Get("seoCache", rediskey); l != nil {
 		return l
 	} else {
 		data := public.BaseMysql.SelectBySql(`select a.id,a.name,b.id class_id,b.name class_1 from seo_words.seo_industry a inner join  seo_words.seo_industry_class b on a.class_1=b.name and  a.class_2 !='药品'  order by a.class_1`)
@@ -421,7 +424,7 @@ func (this *Tags) GetIndustry(industryHref string) interface{} {
 				v: industryMap[v],
 			})
 		}
-		redis.Put("other", rediskey, m, 2*60)
+		redis.Put("seoCache", rediskey, m, cacheTime)
 		return m
 	}
 	return nil
@@ -440,7 +443,7 @@ func IsInArr(arr []string, s string) bool {
 // 获取最新招标信息
 func (this *Tags) GetNewBidInfo() (list []map[string]interface{}) {
 	rediskey := fmt.Sprintf("pcindex_newArticle")
-	if l, ok := redis.Get("other", rediskey).([]interface{}); ok && l != nil && len(l) > 0 {
+	if l, ok := redis.Get("seoCache", rediskey).([]interface{}); ok && l != nil && len(l) > 0 {
 		list = qu.ObjArrToMapArr(l)
 	} else {
 		_, _, lists := bidsearch.GetPcBidSearchData("", "", "", "", "招标预告,招标公告,招标结果,招标信用信息", "", "", "", "", "", "", "", "", 1, false, nil, bidSearch_field_1, "", false, false, "", 50, "")
@@ -460,7 +463,7 @@ func (this *Tags) GetNewBidInfo() (list []map[string]interface{}) {
 				}
 			}
 			list = *lists
-			redis.Put("other", rediskey, list, 2*60*60)
+			redis.Put("seoCache", rediskey, list, cacheTime)
 		}
 	}
 	return list
@@ -469,7 +472,7 @@ func (this *Tags) GetNewBidInfo() (list []map[string]interface{}) {
 // 获取信息类型相关url
 func (this *Tags) GetStype(href string) (list []map[string]interface{}) {
 	rediskey := fmt.Sprintf("pcseo_stypelist_%s", href)
-	if l, ok := redis.Get("other", rediskey).([]interface{}); ok && l != nil && len(l) > 0 {
+	if l, ok := redis.Get("seoCache", rediskey).([]interface{}); ok && l != nil && len(l) > 0 {
 		list = qu.ObjArrToMapArr(l)
 	} else {
 		m := []map[string]interface{}{}
@@ -506,7 +509,7 @@ func (this *Tags) GetStype(href string) (list []map[string]interface{}) {
 			}
 		}
 		list = m
-		redis.Put("other", rediskey, list, 2*60)
+		redis.Put("seoCache", rediskey, list, cacheTime)
 	}
 	return list
 }
@@ -514,7 +517,7 @@ func (this *Tags) GetStype(href string) (list []map[string]interface{}) {
 // 剑鱼博客
 func (this *Tags) GetConsult() (list []map[string]interface{}) {
 	rediskey := fmt.Sprintf("pcseo_jybk")
-	if l, ok := redis.Get("other", rediskey).([]interface{}); ok && l != nil && len(l) > 0 {
+	if l, ok := redis.Get("seoCache", rediskey).([]interface{}); ok && l != nil && len(l) > 0 {
 		list = qu.ObjArrToMapArr(l)
 	} else {
 
@@ -529,7 +532,7 @@ func (this *Tags) GetConsult() (list []map[string]interface{}) {
 				v["url"] = fmt.Sprintf("/jyblog/%s.html", qu.ObjToString(v["_id"]))
 			}
 			list = *rs
-			redis.Put("other", rediskey, list, 2*60*60)
+			redis.Put("seoCache", rediskey, list, cacheTime)
 		}
 	}
 	return list
@@ -537,8 +540,8 @@ func (this *Tags) GetConsult() (list []map[string]interface{}) {
 
 func (this *Tags) GetLetterMap(pageSize, pageNum int64, letter string) ([]map[string]interface{}, int64) {
 	m := []map[string]interface{}{}
-	sql := `select id,name,letter from seo_words.seo_resource where letter = ? order by id desc`
-	cql := `select count(1) from seo_words.seo_resource where letter = ?`
+	sql := `select id,name,letter from seo_words.seo_resource where letter = ? and state=1 order by id desc`
+	cql := `select count(1) from seo_words.seo_resource where letter = ? and state=1 `
 	offset := (pageNum - 1) * pageSize
 	sql += fmt.Sprintf(" limit %v,%v", offset, pageSize)
 	data := public.BaseMysql.SelectBySql(sql, letter)
@@ -560,7 +563,7 @@ func (this *Tags) GetLetterMap(pageSize, pageNum int64, letter string) ([]map[st
 
 func (this *Tags) GetHotLabel(length int64) []map[string]interface{} {
 	rediskey := fmt.Sprintf("pcseo_getHotLabel_%v", length)
-	if l, ok := redis.Get("other", rediskey).([]interface{}); ok && l != nil && len(l) > 0 {
+	if l, ok := redis.Get("seoCache", rediskey).([]interface{}); ok && l != nil && len(l) > 0 {
 		return qu.ObjArrToMapArr(l)
 	} else {
 		m := []map[string]interface{}{}
@@ -583,7 +586,7 @@ func (this *Tags) GetHotLabel(length int64) []map[string]interface{} {
 				})
 			}
 		}
-		redis.Put("other", rediskey, m, 60)
+		redis.Put("seoCache", rediskey, m, cacheTime)
 		return m
 	}
 	return nil
@@ -636,8 +639,8 @@ func (this *Tags) GetBidding(industry, area, city, stype, keyword string, reques
 	rediskey := fmt.Sprintf("pcseo_getbidding_%s_%s_%s_%s_%s", industry, area, city, stype, keyword)
 	rediskeyCount := fmt.Sprintf("pcseo_getbidding_count_%s_%s_%s_%s_%s", industry, area, city, stype, keyword)
 
-	if l, ok := redis.Get("other", rediskey).([]interface{}); ok && l != nil {
-		count := redis.GetInt("other", rediskeyCount)
+	if l, ok := redis.Get("seoCache", rediskey).([]interface{}); ok && l != nil && false {
+		count := redis.GetInt("seoCache", rediskeyCount)
 		return qu.ObjArrToMapArr(l), int64(count), false
 	} else {
 		if area != "" || stype != "" || industry != "" || city != "" || keyword != "" {
@@ -670,66 +673,31 @@ func (this *Tags) GetBidding(industry, area, city, stype, keyword string, reques
 			} else {
 				return nil, 0, true
 			}
-			//
-			query1 := `{"query": {"bool": {"must":[`
-			query_start := `{"query": {"bool": {"must":[`
-			if area != "" {
-				query1 += `{"term":{"area":"` + area + `"}}`
-			}
-			if stype != "" {
-				if query1 != query_start {
-					query1 += ","
-				}
-				stype = getstype(stype)
-				query1 += `{"terms":{"subtype":[`
-				for k, v := range strings.Split(stype, ",") {
-					if k > 0 {
-						query1 += `,`
-					}
-					query1 += `"` + v + `"`
-				}
-				query1 += `]}}`
-			}
-			if industry != "" {
-				if query1 != query_start {
-					query1 += ","
-				}
-				query1 += `{"term":{"s_subscopeclass":"` + industry + `"}}`
-			}
-			if city != "" {
-				if query1 != query_start {
-					query1 += ","
-				}
-				query1 += `{"term":{"city":"` + city + `"}}`
-			}
-			if keyword != "" {
-				if query1 != query_start {
-					query1 += ","
-				}
-				query1 += `{ "bool": {"must": [ { "multi_match": { "query": "` + keyword + `","type": "phrase", "fields": [ "title","detail" ]}}]}}`
-			}
-			query1 += `],"should": [],"minimum_should_match": 0}}}`
-			log.Println("~~~query1:", query1)
-			query := getLastNewsQuery(area, "", stype, industry, city)
+			now := time.Now()
+			starttime := fmt.Sprint(time.Date(now.Year()-1, now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second(), 0, time.Local).Unix())
+			endtime := fmt.Sprint(now.Unix())
+
 			var datas *[]map[string]interface{}
 			var startPage int
+			var count int64
 			currentPage := 5
-			limitcount := qu.IntAllDef(config.Seoconfig["tagsLimitCount"], 50)
-			count := elastic.Count(INDEX, TYPE, query1)
+			limitCount := qu.IntAllDef(config.Seoconfig["tagsLimitCount"], 50)
 			if keyword == "" {
-				r := rand.New(rand.NewSource(time.Now().UnixNano()))
-				startPage = r.Intn(currentPage * limitcount)
+				query := bidsearch.GetSearchQuery("", industry, "1000", "50000", "", "", "", "", bidsearch.GetBidSearchQuery(area, city, fmt.Sprintf("%s_%s", starttime, endtime), stype, "", ""), "", false, seoBidField)
+				count = elastic.Count(INDEX, TYPE, query)
+				if count == 0 {
+					return nil, 0, false
+				}
+				startPage = rand.New(rand.NewSource(time.Now().UnixNano())).Intn(currentPage * limitCount)
 				count1 := qu.IntAll(count)
 				if count1 < startPage || startPage < 0 {
 					startPage = 0
 				}
-				datas = elastic.GetPage(INDEX, TYPE, query, bidSearch_sort, bidField, startPage, limitcount)
+				datas = elastic.GetPage(INDEX, TYPE, query, bidSearch_sort, seoBidField, startPage, limitCount)
 			} else {
-				log.Println(keyword, area, city, industry)
-				_, _, datas = bidsearch.GetPcBidSearchData(keyword, area, city, "", stype, industry, "", "", "", "", "", "", "", 0, true, []string{"title", "detail"}, bidField, "", false, false, "", limitcount, "")
-
-				if datas != nil && len(*datas) > limitcount {
-					*datas = (*datas)[0:limitcount]
+				count, _, datas = bidsearch.GetPcBidSearchData(keyword, area, city, fmt.Sprintf("%s_%s", starttime, endtime), stype, industry, "1000", "50000", "", "", "", "", "", 0, true, []string{"title", "detail", "purchasing"}, seoBidField, "", false, false, "", limitCount, "")
+				if datas != nil && len(*datas) > limitCount {
+					*datas = (*datas)[0:limitCount]
 				}
 			}
 			if datas != nil && len(*datas) > 0 {
@@ -749,8 +717,8 @@ func (this *Tags) GetBidding(industry, area, city, stype, keyword string, reques
 					industry = strings.Split(industry, "_")[0]
 				}
 				public.BidListConvert(industry, datas)
-				redis.Put("other", rediskey, datas, 2*60)
-				redis.Put("other", rediskeyCount, count, 2*60)
+				redis.Put("seoCache", rediskey, datas, cacheTime)      //生产环境配置4G单独redis,超出4G自动清除
+				redis.Put("seoCache", rediskeyCount, count, cacheTime) //生产环境配置4G单独redis,超出4G自动清除
 				return *datas, count, false
 			}
 		}

+ 9 - 0
src/jfw/modules/bigmember/src/service/portrait/memberPortraitAction.go

@@ -411,6 +411,14 @@ func (this *EntPortrait) BuyerPortrait() {
 			return nil, err
 		}
 		entName := this.GetString("buyer")
+		//id转中文
+		if len(entName) > 0 && len([]rune(entName)) == len(entName) {
+			//获取中文名字
+			entName = getBuyerNameById(util.DecodeId(entName))
+		}
+		if entName == "" {
+			return nil, fmt.Errorf("参数异常")
+		}
 		flag := this.GetString("flag") //分段请求标识
 		rData, err := cepm.BuyerPortraitData(&entity.PortraitScreen{
 			Ent:        entName,
@@ -426,6 +434,7 @@ func (this *EntPortrait) BuyerPortrait() {
 		if err != nil {
 			return nil, err
 		}
+		rData["name"] = entName
 		return rData, nil
 	}()
 	if errMsg != nil {

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

@@ -484,6 +484,7 @@ func (this *SubVipPortrait) BuyerPortrait() {
 		if power == 3 {
 			rData["onTrial"] = true
 		}
+		rData["name"] = buyerName
 		return rData, nil
 	}()
 	if errMsg != nil {

+ 3 - 0
src/jfw/modules/subscribepay/src/service/salesCreateOrder.go

@@ -106,10 +106,12 @@ func (this *SalesCreateOrder) CreateBySeller() {
 		if msg != "" {
 			return nil, fmt.Errorf(msg)
 		}
+		saleDep := "040000"
 		//销售额外赠送
 		if product == "VIP订阅" && len(sellData) > 0 {
 			tt := qutil.IntAll(sellData["tt"])
 			tn := qutil.IntAll(sellData["tn"])
+			saleDep = qutil.ObjToString(sellData["ts"])
 			if inserMap.VipEndTime != "" {
 				endTime, _ := time.ParseInLocation(Date_Full_Layout, inserMap.VipEndTime, time.Local)
 				if tt == 1 {
@@ -175,6 +177,7 @@ func (this *SalesCreateOrder) CreateBySeller() {
 			"audit_status":         3,         //默认审核通过
 			"buy_subject":          buy_subject,
 			"ent_id":               entId,
+			"saleDep":              saleDep,
 		}
 
 		if inserMap.VipStartTime != "" && inserMap.VipEndTime != "" {

+ 113 - 14
src/jfw/modules/subscribepay/src/timetask/timetask.go

@@ -23,7 +23,8 @@ import (
 )
 
 const (
-	threeday = 259200
+	threeday    = 259200
+	CollEntUser = "ent_user" // 企业版用户表
 )
 
 func Run() {
@@ -40,12 +41,13 @@ func Run() {
 		go courseTask()
 		go expireRemind()
 		go checkMemberIsStart()
+		go checkEntIsStart() // 企业版大会员或超级订阅定时开通
 		go checkMemberServiceIsExpire()
 		go updateTimeLimitActitityOrderStatus() //修改限时活动的订单状态
 	}
 }
 
-//省份流量包到期时间 定时任务
+// 省份流量包到期时间 定时任务
 func updateProvincePackageStatus(i Identity) {
 	crontab(true, TimeTaskConfig.ProvinceExpire, func() {
 		defer qutil.Catch()
@@ -95,7 +97,7 @@ func updateProvincePackageStatus(i Identity) {
 	})
 }
 
-//定时更新超过72小时订单
+// 定时更新超过72小时订单
 func updateDataExportStatus() {
 	crontabByTicker(true, TimeTaskConfig.UpdateDEStatus, func() {
 		log.Println("定时任务,开始更新超时订单状态")
@@ -171,7 +173,7 @@ func updateDataExportStatus() {
 	})
 }
 
-//每天夜里12点 根据课程结束时间 更新课程状态 并 更新mysql预定此课程订单的状态为已取消
+// 每天夜里12点 根据课程结束时间 更新课程状态 并 更新mysql预定此课程订单的状态为已取消
 func courseTask() {
 	crontab(true, TimeTaskConfig.CourseTask, func() {
 		log.Println("定时任务,开始更新课程状态")
@@ -205,7 +207,7 @@ func courseTask() {
 	})
 }
 
-//vip升级 下个月生效 同步
+// vip升级 下个月生效 同步
 func syncVipUpgrade() {
 	crontab(true, TimeTaskConfig.SyncVipUpgrade, func() {
 		defer qutil.Catch()
@@ -282,7 +284,7 @@ func syncVipUpgrade() {
 	})
 }
 
-//每天0点 检查试用、vip服务是否到期
+// 每天0点 检查试用、vip服务是否到期
 func checkIsExpire(iy Identity) {
 	crontab(true, TimeTaskConfig.CheckIsExpire, func() {
 		defer qutil.Catch()
@@ -364,7 +366,7 @@ func checkIsExpire(iy Identity) {
 	})
 }
 
-//即将到期或者已到期发推送消息
+// 即将到期或者已到期发推送消息
 func expireRemind() {
 	crontab(false, TimeTaskConfig.ExpireRemind, func() {
 		defer qutil.Catch()
@@ -502,7 +504,7 @@ func expireRemind() {
 	})
 }
 
-//检测大会员到期时间 定时任务
+// 检测大会员到期时间 定时任务
 func checkMemberIsExpire(i Identity) {
 	crontab(true, TimeTaskConfig.MemberExpire, func() {
 		defer qutil.Catch()
@@ -579,7 +581,7 @@ func checkMemberIsExpire(i Identity) {
 	})
 }
 
-//大会员即将到期或者已到期发推送消息
+// 大会员即将到期或者已到期发推送消息
 func bigMemberExpireRemind() {
 	crontab(false, TimeTaskConfig.ExpireRemind, func() {
 		defer qutil.Catch()
@@ -703,7 +705,7 @@ func bigMemberExpireRemind() {
 	})
 }
 
-//查看是否有大会员用户定时开启会员
+// 查看是否有大会员用户定时开启会员
 func checkMemberIsStart() {
 	crontab(true, TimeTaskConfig.MemberIsStart, func() {
 		defer qutil.Catch()
@@ -767,7 +769,106 @@ func checkMemberIsStart() {
 	})
 }
 
-//大会员更新用户服务表
+// 查看企业版大会员、超级订阅是否开通
+func checkEntIsStart() {
+	crontab(true, TimeTaskConfig.MemberIsStart, func() {
+		defer qutil.Catch()
+		log.Println("定时任务,开始更新大会员状态-定时开启会员状态")
+		now_unix := time.Now().Unix()
+		sess := util.MQFW.GetMgoConn()
+		for {
+			if sess != nil {
+				defer util.MQFW.DestoryMongoConn(sess)
+				break
+			}
+			time.Sleep(time.Minute)
+			sess = util.MQFW.GetMgoConn()
+		}
+		//定时开启大会员  i_member_status<0 && i_member_endtime 结束时间大于当前时间 && i_member_starttime 开始时间小于当前时间
+		it := sess.DB("qfw").C(CollEntUser).Find(map[string]interface{}{
+			"$or": []map[string]interface{}{
+				{"i_member_status": map[string]interface{}{
+					"$lt": 0},
+					"$and": []map[string]interface{}{
+						map[string]interface{}{
+							"i_member_endtime": map[string]interface{}{
+								"$gte": now_unix,
+							},
+						},
+						map[string]interface{}{
+							"i_member_starttime": map[string]interface{}{
+								"$lte": now_unix,
+							},
+						},
+					}},
+				{"i_vip_status": map[string]interface{}{
+					"$lt": 0},
+					"$and": []map[string]interface{}{
+						map[string]interface{}{
+							"l_vip_endtime": map[string]interface{}{
+								"$gte": now_unix,
+							},
+						},
+						map[string]interface{}{
+							"l_vip_starttime": map[string]interface{}{
+								"$lte": now_unix,
+							},
+						},
+					}},
+			},
+		}).Select(map[string]interface{}{"i_member_status": 1, "i_member_endtime": 1, "i_member_starttime": 1, "i_vip_status": 1, "l_vip_starttime": 1, "l_vip_endtime": 1, "i_entid": 1, "i_userid": 1}).Iter()
+		for m := make(map[string]interface{}); it.Next(&m); {
+			_id := BsonIdToSId(m["_id"])
+			i_member_endtime := qutil.Int64All(m["i_member_endtime"])
+			i_member_starttime := qutil.Int64All(m["i_member_starttime"])
+			i_member_status := qutil.IntAll(m["i_member_status"])
+			l_vip_endtime := qutil.Int64All(m["l_vip_endtime"])
+			l_vip_starttime := qutil.Int64All(m["l_vip_starttime"])
+			i_vip_status := qutil.IntAll(m["i_vip_status"])
+			i_userid := qutil.IntAll(m["i_userid"])
+			if i_member_endtime > now_unix && i_member_starttime < now_unix {
+				util.MQFW.UpdateById(CollEntUser, _id, map[string]interface{}{
+					"$set": map[string]interface{}{
+						"i_member_status": -i_member_status,
+					},
+				})
+			}
+			if l_vip_endtime > now_unix && l_vip_starttime < now_unix {
+				util.MQFW.UpdateById(CollEntUser, _id, map[string]interface{}{
+					"$set": map[string]interface{}{
+						"i_vip_status": -i_vip_status,
+					},
+				})
+			}
+			// 清缓存
+			go clearEntCache(i_userid)
+			m = make(map[string]interface{})
+		}
+		log.Println("定时任务,更新企业版大会员、超级订阅状态结束-定时开启会员状态")
+	})
+}
+
+// 企业版账号清权益缓存
+func clearEntCache(userId int) {
+
+	identity := config.Middleground.UserCenter.IdentityByEntUserId(int64(userId))
+	if identity == nil {
+		return
+	}
+	positionId := fmt.Sprint(identity.PositionId)
+	ok := jy.ClearBigVipUserPower(positionId)
+	config.Middleground.UserCenter.WorkDesktopClearUserInfo(pb.WorkDesktopClearUserInfoReq{
+		PositionId: positionId,
+		AppId:      "10000",
+	})
+	config.Middleground.PowerCheckCenter.DelCheckRedis("10000", qutil.Int64All(positionId))
+	if !ok {
+		log.Println("清除 redis 大会员超级订阅服务详情 缓存失败:", positionId)
+	}
+
+}
+
+// 大会员更新用户服务表
 func updateBigMemberService(userId string, now_unix int64) {
 	now_time := FormatDateByInt64(&now_unix, Date_Full_Layout)
 	userServiceList := util.Mysql.SelectBySql(`select * from  `+jy.BigmemberUserPowerTable+` where s_userid=? AND i_status = 1 AND l_starttime < ? AND l_endtime > ?`, userId, now_time, now_time)
@@ -781,7 +882,7 @@ func updateBigMemberService(userId string, now_unix int64) {
 	}
 }
 
-//大会员用户服务表  用户服务是否需要开启或关闭
+// 大会员用户服务表  用户服务是否需要开启或关闭
 func checkMemberServiceIsExpire() {
 	crontab(false, TimeTaskConfig.MemberServiceIsExpire, func() {
 		defer qutil.Catch()
@@ -894,7 +995,6 @@ func updateTimeLimitActitityOrderStatus() { //修改限时活动的订单状态
 	})
 }
 
-//
 func crontab(flag bool, c string, f func()) {
 	array := strings.Split(c, ":")
 	if len(array) != 2 {
@@ -918,7 +1018,6 @@ func crontab(flag bool, c string, f func()) {
 	}
 }
 
-//
 func crontabByTicker(flag bool, c string, f func()) {
 	if c == "0" {
 		log.Println("定时任务参数有误:", c)

+ 2 - 2
src/web/templates/active/yearEndReport/index.html

@@ -557,8 +557,8 @@
 <link rel="prefetch" as="script" href="https://cdn-common.jianyu360.com/cdn/lib/html2canvas/1.1.2/dist/html2canvas.min.js"/>
 <script src='{{Msg "seo" "cdn"}}/common-module/track/j-track.min.js?v={{Msg "seo" "version"}}'></script>
 <!--监控-->
-<script src='{{Msg "seo" "cdn"}}/js/monitor/web.min.js?v={{Msg "seo" "version"}}'></script>
-<script src='{{Msg "seo" "cdn"}}/js/monitor/new_monitor.js?v={{Msg "seo" "version"}}'></script>
+<script src='/js/monitor/web.min.js?v={{Msg "seo" "version"}}'></script>
+<script src='/js/monitor/new_monitor.js?v={{Msg "seo" "version"}}'></script>
 <!--E-提前需要预加载的资源-->
 {{include "/common/baiducc.html"}}
 </body>

+ 2 - 2
src/web/templates/active/yearEndReport/result.html

@@ -164,8 +164,8 @@
   <!-- 使用html2canvas 生成图片dom层不能使用背景图 否则生成的图片会模糊 且无法修复 -->
   <script src='{{Msg "seo" "cdn"}}/common-module/track/j-track.min.js?v={{Msg "seo" "version"}}'></script>
   <!--监控-->
-  <script src='{{Msg "seo" "cdn"}}/js/monitor/web.min.js?v={{Msg "seo" "version"}}'></script>
-  <script src='{{Msg "seo" "cdn"}}/js/monitor/new_monitor.js?v={{Msg "seo" "version"}}'></script>
+  <script src='/js/monitor/web.min.js?v={{Msg "seo" "version"}}'></script>
+  <script src='/js/monitor/new_monitor.js?v={{Msg "seo" "version"}}'></script>
   {{include "/common/baiducc.html"}}
 </body>
 

+ 2 - 2
src/web/templates/big-member/wx/meta.html

@@ -17,8 +17,8 @@
 <script src='{{Msg "seo" "cdn"}}/common-module/track/j-track.min.js?v={{Msg "seo" "version"}}'></script>
 <!--E-meta-->
 <!--监控-->
-<script src='{{Msg "seo" "cdn"}}/js/monitor/web.min.js?v={{Msg "seo" "version"}}'></script>
-<script src='{{Msg "seo" "cdn"}}/js/monitor/new_monitor.js?v={{Msg "seo" "version"}}'></script>
+<script src='/js/monitor/web.min.js?v={{Msg "seo" "version"}}'></script>
+<script src='/js/monitor/new_monitor.js?v={{Msg "seo" "version"}}'></script>
 
 <!--S-必定会使用的资源-->
 <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/big-member/css/public.css?v={{Msg "seo" "version"}}'/>

+ 2 - 2
src/web/templates/big-member/wx/page_unit_portrayal.html

@@ -19,8 +19,8 @@
     <!--E-当前页必定需要预加载的资源-->
     <script src='https://cdn-common.jianyu360.com/cdn/lib/jquery/3.6.0/jquery.min.js'></script>
     <!--监控-->
-    <script src='{{Msg "seo" "cdn"}}/js/monitor/monitor.js?v={{Msg "seo" "version"}}'></script>
-    <script src='{{Msg "seo" "cdn"}}/js/monitor/new_monitor.js?v={{Msg "seo" "version"}}'></script>
+    <script src='/js/monitor/monitor.js?v={{Msg "seo" "version"}}'></script>
+    <script src='/js/monitor/new_monitor.js?v={{Msg "seo" "version"}}'></script>
     <!--荟聚埋点-->
     <script src='{{Msg "seo" "cdn"}}/common-module/track/j-track.min.js?v={{Msg "seo" "version"}}'></script>
     <script src="/big-member/js/rem.js"></script>

+ 2 - 2
src/web/templates/common/pnc.html

@@ -43,7 +43,7 @@
 <script src="{{Msg "seo" "cdn"}}/js/login.js?v={{Msg "seo" "version"}}"></script>
 <script src="{{Msg "seo" "cdn"}}/js/common.js?v={{Msg "seo" "version"}}"></script>
 <!--监控-->
-<script src='{{Msg "seo" "cdn"}}/js/monitor/web.min.js?v={{Msg "seo" "version"}}'></script>
-<script src='{{Msg "seo" "cdn"}}/js/monitor/new_monitor.js?v={{Msg "seo" "version"}}'></script>
+<script src='/js/monitor/web.min.js?v={{Msg "seo" "version"}}'></script>
+<script src='/js/monitor/new_monitor.js?v={{Msg "seo" "version"}}'></script>
 
 {{Html `<!--[if lt IE 9]><script src="{{Msg "seo" "cdn"}}/js/html5shiv.min.js"></script><script src="{{Msg "seo" "cdn"}}/js/respond.min.js"></script><![endif]-->`}}

+ 2 - 2
src/web/templates/common/weixin.html

@@ -13,8 +13,8 @@
   }
 </script>
 <!--监控-->
-<script src='{{Msg "seo" "cdn"}}/js/monitor/web.min.js?v={{Msg "seo" "version"}}'></script>
-<script src='{{Msg "seo" "cdn"}}/js/monitor/new_monitor.js?v={{Msg "seo" "version"}}'></script>
+<script src='/js/monitor/web.min.js?v={{Msg "seo" "version"}}'></script>
+<script src='/js/monitor/new_monitor.js?v={{Msg "seo" "version"}}'></script>
 <!--S 加载百度统计及剑鱼自定义埋点 -->
 <script src='{{Msg "seo" "cdn"}}/common-module/public/head.js?v={{Msg "seo" "version"}}'></script>
 <!--E 加载百度统计及剑鱼自定义埋点 -->