Browse Source

活动快捷搜索关系词映射

xingzai 3 năm trước cách đây
mục cha
commit
21718b7e43

+ 22 - 0
controllers/activity.go

@@ -196,6 +196,28 @@ func (this *ActivityCoAntroller) ActivityList() {
 	sqlExport += `) `
 	sqlExport += `) `
 
 
 	if keyWord != "" {
 	if keyWord != "" {
+		var mirrorword string
+		var mirrorwordSql string
+		slicemirrorword := strings.Split(keyWord, ",")
+		for _, v := range slicemirrorword {
+			mirrorwordSql += "'" + v + "'" + ","
+		}
+		mirrorwordSql = strings.TrimRight(mirrorwordSql, ",")
+		total, err := models.GetActivityMirrorWordCount(mirrorwordSql)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,Err:" + err.Error()
+			return
+		}
+		if total > 0 {
+			mirrorword, err = models.GetMirrorWord(mirrorwordSql)
+			if err != nil {
+				br.Msg = "获取信息失败"
+				br.ErrMsg = "关系词映射获取失败,Err:" + err.Error()
+				return
+			}
+		}
+		keyWord = keyWord + "," + mirrorword
 		slicekeyWord := strings.Split(keyWord, ",")
 		slicekeyWord := strings.Split(keyWord, ",")
 		var sqlKeyOr string
 		var sqlKeyOr string
 		if len(slicekeyWord) >= 2 {
 		if len(slicekeyWord) >= 2 {

+ 43 - 0
models/activity_mirror_word.go

@@ -0,0 +1,43 @@
+package models
+
+import (
+	"fmt"
+	"rdluck_tools/orm"
+)
+
+type CygxActivityMirrorWord struct {
+	Id            int    `description:"id"`
+	KeyWord       string `description:"关键词"`
+	MirrorKeyWord string `description:"关键词"`
+}
+
+type ActivityMirrorWordListResp struct {
+	List []*CygxActivityMirrorWord
+}
+
+//列表
+func GetActivityMirrorWordList() (items []*ActivityFastsearchKeywords, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_activity_mirror_word ORDER BY sort DESC`
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
+//获取我的日程数量
+func GetActivityMirrorWordCount(keyWord string) (count int, err error) {
+	fmt.Println(keyWord)
+	o := orm.NewOrm()
+	sqlCount := ` SELECT COUNT( 1 ) AS count  FROM cygx_activity_mirror_word WHERE key_word IN (` + keyWord + `) `
+	err = o.Raw(sqlCount).QueryRow(&count)
+	return
+}
+
+func GetMirrorWord(keyWord string) (mirrorword string, err error) {
+	sql := ` SELECT GROUP_CONCAT( DISTINCT m.mirror_key_word SEPARATOR ',' ) AS mirrorword 
+				FROM
+				cygx_activity_mirror_word AS m 
+				WHERE m.key_word IN (` + keyWord + `)`
+	o := orm.NewOrm()
+	err = o.Raw(sql).QueryRow(&mirrorword)
+	return
+}