|
@@ -287,12 +287,20 @@ func FindBiding(sid, content string, lent int, isWhiteIp bool) (t bool, obj map[
|
|
|
//企业信用报告引流
|
|
|
if gv, gerr := g.Redis("other").Get(ctx, "ent_credit_report_keys"); gerr == nil && !gv.IsNil() {
|
|
|
if valueMap := gv.Map(); len(valueMap) > 0 {
|
|
|
- var nologinCw = gconv.String(valueMap["nologinCw"])
|
|
|
- var tmpSter = "[jy_credit_report]"
|
|
|
+ var (
|
|
|
+ min = -1
|
|
|
+ minMap = map[int]string{}
|
|
|
+ nologinCw = gconv.String(valueMap["nologinCw"])
|
|
|
+ )
|
|
|
for _, keyWords := range strings.Split(gconv.String(valueMap["matchKeys"]), ",") {
|
|
|
- finalDetail = strings.ReplaceAll(finalDetail, keyWords, fmt.Sprintf("%s%s", keyWords, tmpSter))
|
|
|
+ if index := strings.Index(finalDetail, keyWords); index != -1 && (min == -1 || index < min) {
|
|
|
+ min = index
|
|
|
+ minMap[index] = keyWords
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if nologinCw != "" && min > -1 {
|
|
|
+ finalDetail = strings.Replace(finalDetail, minMap[min], fmt.Sprintf("%s<i style=\"color:#2ABED1\">%s</i>", minMap[min], nologinCw), 1)
|
|
|
}
|
|
|
- finalDetail = strings.ReplaceAll(finalDetail, tmpSter, fmt.Sprintf("<i style=\"color:#2ABED1\">%s</i>", nologinCw))
|
|
|
}
|
|
|
}
|
|
|
obj["detail"] = finalDetail
|