aa
This commit is contained in:
@@ -197,8 +197,28 @@ func CancelPublishJob(ctx *jxcontext.Context, jobID int) (err error) {
|
|||||||
return err
|
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) {
|
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) {
|
||||||
return dao.GetJobs(dao.GetDB(), userIDs, categoryIDs, statuss, vendorIDs, []int{model.JobTypeNormal}, includeStep, utils.Str2Time(fromTime), utils.Str2Time(toTime), lng, lat, sortType, pageSize, offset)
|
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) {
|
func GetJobDetail(ctx *jxcontext.Context, jobID int, lng, lat float64) (job *dao.GetJobsResult, err error) {
|
||||||
|
|||||||
@@ -735,3 +735,19 @@ func AcceptAddGroup(ctx *jxcontext.Context, flag int) (err error) {
|
|||||||
dao.UpdateEntity(db, user, "PopedFlag")
|
dao.UpdateEntity(db, user, "PopedFlag")
|
||||||
return err
|
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
|
||||||
|
}
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ func GetJobImgs(db *DaoDB, jobID int) (jobImgs []*model.JobImg, err error) {
|
|||||||
return jobImgs, err
|
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 (
|
var (
|
||||||
jobs []*GetJobsResult
|
jobs []*GetJobsResult
|
||||||
distanceFlag bool
|
distanceFlag bool
|
||||||
@@ -107,6 +107,10 @@ func GetJobs(db *DaoDB, userIDs []string, categoryIDs, statuss, vendorIDs, types
|
|||||||
sql += ` AND a.created_at <= ?`
|
sql += ` AND a.created_at <= ?`
|
||||||
sqlParams = append(sqlParams, toTime)
|
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 != 0 {
|
||||||
if sortType == sortTypeDistance {
|
if sortType == sortTypeDistance {
|
||||||
sql += ` ORDER BY distance`
|
sql += ` ORDER BY distance`
|
||||||
@@ -389,3 +393,22 @@ func GetMtMembers(db *DaoDB) (num int, err error) {
|
|||||||
num = len(mtMembers)
|
num = len(mtMembers)
|
||||||
return num, err
|
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
|
||||||
|
}
|
||||||
|
|||||||
@@ -260,3 +260,18 @@ type GetUserResult struct {
|
|||||||
AcceptOrderCount int `json:"acceptOrderCount"`
|
AcceptOrderCount int `json:"acceptOrderCount"`
|
||||||
FinishedOrderCount int `json:"finishedOrderCount"`
|
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"},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ func (c *JobController) GetJobCategories() {
|
|||||||
// @Param toTime query string false "结束时间"
|
// @Param toTime query string false "结束时间"
|
||||||
// @Param lng query float64 false "经度"
|
// @Param lng query float64 false "经度"
|
||||||
// @Param lat query float64 false "维度"
|
// @Param lat query float64 false "维度"
|
||||||
|
// @Param keyword query string false "关键字"
|
||||||
// @Param sortType query int false "排序类型, 1距离,2新店优先,3今日热门,4奖励高低"
|
// @Param sortType query int false "排序类型, 1距离,2新店优先,3今日热门,4奖励高低"
|
||||||
// @Param offset query int false "门店列表起始序号(以0开始,缺省为0)"
|
// @Param offset query int false "门店列表起始序号(以0开始,缺省为0)"
|
||||||
// @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)"
|
// @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)"
|
||||||
@@ -83,7 +84,7 @@ func (c *JobController) GetJobs() {
|
|||||||
categoryIDs, statuss, vendorIDs []int
|
categoryIDs, statuss, vendorIDs []int
|
||||||
)
|
)
|
||||||
if err = jxutils.Strings2Objs(params.UserIDs, &userIDs, params.CategoryIDs, &categoryIDs, params.Statuss, &statuss, params.VendorIDs, &vendorIDs); err == nil {
|
if err = jxutils.Strings2Objs(params.UserIDs, &userIDs, params.CategoryIDs, &categoryIDs, params.Statuss, &statuss, params.VendorIDs, &vendorIDs); err == nil {
|
||||||
retVal, err = cms.GetJobs(params.Ctx, userIDs, categoryIDs, statuss, vendorIDs, params.IncludeStep, params.FromTime, params.ToTime, params.Lng, params.Lat, params.SortType, params.PageSize, params.Offset)
|
retVal, err = cms.GetJobs(params.Ctx, userIDs, categoryIDs, statuss, vendorIDs, params.IncludeStep, params.FromTime, params.ToTime, params.Lng, params.Lat, params.Keyword, params.SortType, params.PageSize, params.Offset)
|
||||||
}
|
}
|
||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -413,3 +413,16 @@ func (c *User2Controller) DeleteUserCityManager() {
|
|||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @Title 得到搜索关键词
|
||||||
|
// @Description 得到搜索关键词
|
||||||
|
// @Param token header string true "认证token"
|
||||||
|
// @Success 200 {object} controllers.CallResult
|
||||||
|
// @Failure 200 {object} controllers.CallResult
|
||||||
|
// @router /GetUserSerachKeyword [get]
|
||||||
|
func (c *User2Controller) GetUserSerachKeyword() {
|
||||||
|
c.callGetUserSerachKeyword(func(params *tUser2GetUserSerachKeywordParams) (retVal interface{}, errCode string, err error) {
|
||||||
|
|
||||||
|
return retVal, "", err
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ func Init() {
|
|||||||
orm.RegisterModel(&model.UserMember{})
|
orm.RegisterModel(&model.UserMember{})
|
||||||
orm.RegisterModel(&model.UserDeliveryAddress{})
|
orm.RegisterModel(&model.UserDeliveryAddress{})
|
||||||
orm.RegisterModel(&model.UserCityManager{})
|
orm.RegisterModel(&model.UserCityManager{})
|
||||||
|
orm.RegisterModel(&model.UserSearch{})
|
||||||
//账单
|
//账单
|
||||||
orm.RegisterModel(&model.UserBill{}, &model.BillIncome{}, &model.BillExpend{})
|
orm.RegisterModel(&model.UserBill{}, &model.BillIncome{}, &model.BillExpend{})
|
||||||
//支付订单
|
//支付订单
|
||||||
|
|||||||
Reference in New Issue
Block a user