aa
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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"},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,6 +70,7 @@ func (c *JobController) GetJobCategories() {
|
||||
// @Param toTime query string false "结束时间"
|
||||
// @Param lng query float64 false "经度"
|
||||
// @Param lat query float64 false "维度"
|
||||
// @Param keyword query string false "关键字"
|
||||
// @Param sortType query int false "排序类型, 1距离,2新店优先,3今日热门,4奖励高低"
|
||||
// @Param offset query int false "门店列表起始序号(以0开始,缺省为0)"
|
||||
// @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)"
|
||||
@@ -83,7 +84,7 @@ func (c *JobController) GetJobs() {
|
||||
categoryIDs, statuss, vendorIDs []int
|
||||
)
|
||||
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
|
||||
})
|
||||
|
||||
@@ -413,3 +413,16 @@ func (c *User2Controller) DeleteUserCityManager() {
|
||||
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.UserDeliveryAddress{})
|
||||
orm.RegisterModel(&model.UserCityManager{})
|
||||
orm.RegisterModel(&model.UserSearch{})
|
||||
//账单
|
||||
orm.RegisterModel(&model.UserBill{}, &model.BillIncome{}, &model.BillExpend{})
|
||||
//支付订单
|
||||
|
||||
Reference in New Issue
Block a user