This commit is contained in:
苏尹岚
2020-12-01 09:54:53 +08:00
parent 0788bd8e79
commit fd11b0cd83
7 changed files with 93 additions and 4 deletions

View File

@@ -197,8 +197,28 @@ func CancelPublishJob(ctx *jxcontext.Context, jobID int) (err error) {
return err
}
func GetJobs(ctx *jxcontext.Context, userIDs []string, categoryIDs, statuss, vendorIDs []int, includeStep bool, fromTime, toTime string, lng, lat float64, sortType, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) {
return dao.GetJobs(dao.GetDB(), userIDs, categoryIDs, statuss, vendorIDs, []int{model.JobTypeNormal}, includeStep, utils.Str2Time(fromTime), utils.Str2Time(toTime), lng, lat, sortType, pageSize, offset)
func GetJobs(ctx *jxcontext.Context, userIDs []string, categoryIDs, statuss, vendorIDs []int, includeStep bool, fromTime, toTime string, lng, lat float64, keyword string, sortType, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) {
var (
db = dao.GetDB()
userID = ctx.GetUserID()
)
pagedInfo, err = dao.GetJobs(db, userIDs, categoryIDs, statuss, vendorIDs, []int{model.JobTypeNormal}, includeStep, utils.Str2Time(fromTime), utils.Str2Time(toTime), lng, lat, keyword, sortType, pageSize, offset)
//插入用户搜索关键词
if keyword != "" {
if userSearchs, _ := dao.GetUserSearch(db, userID, keyword); len(userSearchs) > 0 {
userSearchs[0].Count++
userSearchs[0].UpdatedAt = time.Now()
dao.UpdateEntity(db, userSearchs[0], "Count", "UpdatedAt")
} else {
userSearch := &model.UserSearch{
UserID: userID,
Key: keyword,
}
dao.WrapAddIDCULEntity(userSearch, ctx.GetUserName())
dao.CreateEntity(db, userSearch)
}
}
return pagedInfo, err
}
func GetJobDetail(ctx *jxcontext.Context, jobID int, lng, lat float64) (job *dao.GetJobsResult, err error) {

View File

@@ -735,3 +735,19 @@ func AcceptAddGroup(ctx *jxcontext.Context, flag int) (err error) {
dao.UpdateEntity(db, user, "PopedFlag")
return err
}
type GetUserSerachKeywordResult struct {
AllSpan []*model.UserSearch `json:"allSpan"`
UserSpan []*model.UserSearch `json:"userSpan"`
}
func GetUserSerachKeyword(ctx *jxcontext.Context) (err error) {
var (
db = dao.GetDB()
userID = ctx.GetUserID()
)
sql := `
SELECT * FROM user_search WHERE
`
return err
}

View File

@@ -58,7 +58,7 @@ func GetJobImgs(db *DaoDB, jobID int) (jobImgs []*model.JobImg, err error) {
return jobImgs, err
}
func GetJobs(db *DaoDB, userIDs []string, categoryIDs, statuss, vendorIDs, types []int, includeStep bool, fromTime, toTime time.Time, lng, lat float64, sortType, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) {
func GetJobs(db *DaoDB, userIDs []string, categoryIDs, statuss, vendorIDs, types []int, includeStep bool, fromTime, toTime time.Time, lng, lat float64, keyword string, sortType, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) {
var (
jobs []*GetJobsResult
distanceFlag bool
@@ -107,6 +107,10 @@ func GetJobs(db *DaoDB, userIDs []string, categoryIDs, statuss, vendorIDs, types
sql += ` AND a.created_at <= ?`
sqlParams = append(sqlParams, toTime)
}
if keyword != "" {
sql += ` AND (a.title LIKE ? OR a.content LIKE ? OR a.address LIKE ? OR b.name LIKE ?)`
sqlParams = append(sqlParams, "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%")
}
if sortType != 0 {
if sortType == sortTypeDistance {
sql += ` ORDER BY distance`
@@ -389,3 +393,22 @@ func GetMtMembers(db *DaoDB) (num int, err error) {
num = len(mtMembers)
return num, err
}
func GetUserSearch(db *DaoDB, userID, keyword string) (userSearchs []*model.UserSearch, err error) {
sql := `
SELECT *
FROM user_search
WHERE 1 = 1
`
sqlParams := []interface{}{}
if userID != "" {
sql += ` AND user_id = ?`
sqlParams = append(sqlParams, userID)
}
if keyword != "" {
sql += ` AND keyword = ?`
sqlParams = append(sqlParams, keyword)
}
err = GetRows(db, &userSearchs, sql, sqlParams)
return userSearchs, err
}

View File

@@ -260,3 +260,18 @@ type GetUserResult struct {
AcceptOrderCount int `json:"acceptOrderCount"`
FinishedOrderCount int `json:"finishedOrderCount"`
}
type UserSearch struct {
ModelIDCUL
UserID string `orm:"column(user_id)" json:"userID"` //用户ID
Key string `json:"key"` //搜索关键字
Count int `json:"count"` //搜索次数
}
func (v *UserSearch) TableIndex() [][]string {
return [][]string{
[]string{"UserID"},
[]string{"Key"},
}
}