You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
145 lines
2.8 KiB
145 lines
2.8 KiB
package http |
|
|
|
import ( |
|
"strings" |
|
|
|
"go-common/app/admin/main/search/model" |
|
"go-common/library/ecode" |
|
"go-common/library/log" |
|
bm "go-common/library/net/http/blademaster" |
|
) |
|
|
|
func archiveSearch(c *bm.Context) { |
|
form := c.Request.Form |
|
appidStr := form.Get("appid") |
|
switch appidStr { |
|
case "archive_check": |
|
archiveCheck(c) |
|
case "video": |
|
video(c) |
|
case "task_qa": |
|
taskQa(c) |
|
case "archive_commerce": |
|
archiveCommerce(c) |
|
default: |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
} |
|
|
|
func archiveCheck(c *bm.Context) { |
|
var ( |
|
err error |
|
sp = &model.ArchiveCheckParams{ |
|
Bsp: &model.BasicSearchParams{}, |
|
} |
|
form = c.Request.Form |
|
) |
|
if err = c.Bind(sp); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if err = c.Bind(sp.Bsp); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
orderStr := form.Get("order") |
|
if len(sp.Bsp.Order) == 1 && sp.Bsp.Order[0] == "" { |
|
sp.Bsp.Order = nil |
|
} |
|
if orderStr != "" { |
|
sp.Bsp.Order = strings.Split(orderStr, ",") |
|
} |
|
kwFieldsStr := form.Get("kw_fields") |
|
if kwFieldsStr == "" { |
|
sp.Bsp.KwFields = []string{"title", "content", "tag", "author"} |
|
} else { |
|
sp.Bsp.KwFields = strings.Split(kwFieldsStr, ",") |
|
} |
|
res, err := svr.ArchiveCheck(c, sp) |
|
if err != nil { |
|
log.Error("svr.ArchiveCheck(%v) error(%v)", sp, err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(res, err) |
|
} |
|
|
|
func video(c *bm.Context) { |
|
var ( |
|
err error |
|
sp = &model.VideoParams{ |
|
Bsp: &model.BasicSearchParams{}, |
|
} |
|
form = c.Request.Form |
|
) |
|
if err = c.Bind(sp); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if err = c.Bind(sp.Bsp); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if form.Get("order_type") == "" { |
|
sp.OrderType = -1 |
|
} |
|
if form.Get("kw_fields") == "" { |
|
sp.Bsp.KwFields = []string{"arc_title", "arc_author"} |
|
} |
|
res, err := svr.Video(c, sp) |
|
if err != nil { |
|
log.Error("svr.ArchiveCheck(%v) error(%v)", sp, err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(res, err) |
|
} |
|
|
|
func taskQa(c *bm.Context) { |
|
var ( |
|
err error |
|
sp = &model.TaskQa{ |
|
Bsp: &model.BasicSearchParams{}, |
|
} |
|
) |
|
if err = c.Bind(sp); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if err = c.Bind(sp.Bsp); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
res, err := svr.TaskQa(c, sp) |
|
if err != nil { |
|
log.Error("svr.TaskQa(%v) error(%v)", sp, err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(res, err) |
|
} |
|
|
|
func archiveCommerce(c *bm.Context) { |
|
var ( |
|
err error |
|
sp = &model.ArchiveCommerce{ |
|
Bsp: &model.BasicSearchParams{}, |
|
} |
|
) |
|
if err = c.Bind(sp); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if err = c.Bind(sp.Bsp); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
res, err := svr.ArchiveCommerce(c, sp) |
|
if err != nil { |
|
log.Error("svr.ArchiveCommerce(%v) error(%v)", sp, err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(res, err) |
|
}
|
|
|