This commit is contained in:
suyl
2021-06-17 19:00:54 +08:00
parent 921a3bfffd
commit 4a779a08a5
4 changed files with 98 additions and 0 deletions

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
})
}

View File

@@ -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})
}