From 4a779a08a55ed81da54d972f596a8eaf77ed209a Mon Sep 17 00:00:00 2001 From: suyl <770236076@qq.com> Date: Thu, 17 Jun 2021 19:00:54 +0800 Subject: [PATCH] aa --- business/jxstore/knowledge/knowledge.go | 29 ++++++++++++++++++++ business/model/dao/knowledge.go | 35 +++++++++++++++++++++++++ controllers/knowledge_controller.go | 17 ++++++++++++ routers/commentsRouter_controllers.go | 17 ++++++++++++ 4 files changed, 98 insertions(+) create mode 100644 business/jxstore/knowledge/knowledge.go create mode 100644 business/model/dao/knowledge.go diff --git a/business/jxstore/knowledge/knowledge.go b/business/jxstore/knowledge/knowledge.go new file mode 100644 index 000000000..a760291c4 --- /dev/null +++ b/business/jxstore/knowledge/knowledge.go @@ -0,0 +1,29 @@ +package knowledge + +import ( + "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" + "git.rosy.net.cn/jx-callback/business/model" + "git.rosy.net.cn/jx-callback/business/model/dao" +) + +func GetKnowledgeDepot(ctx *jxcontext.Context, keyword string, offset, pageSize int) (page *model.PagedInfo, err error) { + return dao.GetKnowledgeDepot(dao.GetDB(), keyword, offset, pageSize) +} + +func UpdateKnowledgeDepot(ctx *jxcontext.Context, id int, content string, isDel bool) (err error) { + var ( + db = dao.GetDB() + know = &model.KnowledgeDepot{} + ) + know.ID = id + err = dao.GetEntity(db, know) + if isDel { + dao.DeleteEntity(db, know) + } else { + if content != know.Content { + know.Content = content + dao.UpdateEntity(db, know, "Content") + } + } + return err +} diff --git a/business/model/dao/knowledge.go b/business/model/dao/knowledge.go new file mode 100644 index 000000000..1e2565f0e --- /dev/null +++ b/business/model/dao/knowledge.go @@ -0,0 +1,35 @@ +package dao + +import ( + "git.rosy.net.cn/jx-callback/business/jxutils" + "git.rosy.net.cn/jx-callback/business/model" +) + +func GetKnowledgeDepot(db *DaoDB, keyword string, offset, pageSize int) (page *model.PagedInfo, err error) { + var ( + knows []*model.KnowledgeDepot + ) + sql := ` + SELECT SQL_CALC_FOUND_ROWS * + FROM knowledge_depot + WHERE 1 = 1 + ` + sqlParams := []interface{}{} + if keyword != "" { + sql += " AND (content LIKE ? OR title LIKE ?)" + sqlParams = append(sqlParams, "%"+keyword+"%", "%"+keyword+"%") + } + sql += " LIMIT ? OFFSET ?" + pageSize = jxutils.FormalizePageSize(pageSize) + offset = jxutils.FormalizePageOffset(offset) + sqlParams = append(sqlParams, pageSize, offset) + txDB, _ := Begin(db) + defer Commit(db, txDB) + if err = GetRowsTx(txDB, &knows, sql, sqlParams...); err == nil { + page = &model.PagedInfo{ + TotalCount: GetLastTotalRowCount2(db, txDB), + Data: knows, + } + } + return page, err +} diff --git a/controllers/knowledge_controller.go b/controllers/knowledge_controller.go index 91a0dc88b..3b4cc2b76 100644 --- a/controllers/knowledge_controller.go +++ b/controllers/knowledge_controller.go @@ -1,6 +1,7 @@ package controllers import ( + "git.rosy.net.cn/jx-callback/business/jxstore/knowledge" "github.com/astaxie/beego/server/web" ) @@ -19,6 +20,7 @@ type KnowController struct { // @router /GetKnowledgeDepot [get] func (c *KnowController) GetKnowledgeDepot() { c.callGetKnowledgeDepot(func(params *tKnowGetKnowledgeDepotParams) (retVal interface{}, errCode string, err error) { + retVal, err = knowledge.GetKnowledgeDepot(params.Ctx, params.Keyword, params.Offset, params.PageSize) return retVal, "", err }) } @@ -34,6 +36,21 @@ func (c *KnowController) GetKnowledgeDepot() { // @router /UpdateKnowledgeDepot [post] func (c *KnowController) UpdateKnowledgeDepot() { c.callUpdateKnowledgeDepot(func(params *tKnowUpdateKnowledgeDepotParams) (retVal interface{}, errCode string, err error) { + err = knowledge.UpdateKnowledgeDepot(params.Ctx, params.Id, params.Content, params.IsDel) + return retVal, "", err + }) +} + +// @Title 查询素材列表 +// @Description 查询素材列表 +// @Param token header string true "认证token" +// @Param offset query int false "门店列表起始序号(以0开始,缺省为0)" +// @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /GetMaterialList [get] +func (c *KnowController) GetMaterialList() { + c.callGetMaterialList(func(params *tKnowGetMaterialListParams) (retVal interface{}, errCode string, err error) { return retVal, "", err }) } diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 810a60ecc..c1dfa7060 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -3690,4 +3690,21 @@ func init() { Filters: nil, Params: nil}) + web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:KnowController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:KnowController"], + web.ControllerComments{ + Method: "GetKnowledgeDepot", + Router: `/GetKnowledgeDepot`, + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:KnowController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:KnowController"], + web.ControllerComments{ + Method: "UpdateKnowledgeDepot", + Router: `/UpdateKnowledgeDepot`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) }