Commit 3210f86b by chenxianqi

update

parent a46f1cc2
...@@ -5,6 +5,9 @@ httpport = 8080 ...@@ -5,6 +5,9 @@ httpport = 8080
copyrequestbody = true copyrequestbody = true
viewspath = "public" viewspath = "public"
# grpc port
grpc_port = 8028
# 用于本地服务静态资源地址 # 用于本地服务静态资源地址
static_host = "http://localhost:8080" static_host = "http://localhost:8080"
......
...@@ -178,3 +178,9 @@ func (c *KnowledgeBaseController) List() { ...@@ -178,3 +178,9 @@ func (c *KnowledgeBaseController) List() {
c.JSON(configs.ResponseSucess, "success", &knowledgePaginationDto) c.JSON(configs.ResponseSucess, "success", &knowledgePaginationDto)
} }
// Total platforms Total
func (c *KnowledgeBaseController) Total() {
res := c.KnowledgeBaseRepository.GetKnowledgeBasePlatformsTotal()
c.JSON(configs.ResponseSucess, "success", &res)
}
...@@ -10,6 +10,7 @@ import ( ...@@ -10,6 +10,7 @@ import (
"net" "net"
"strconv" "strconv"
"github.com/astaxie/beego"
"github.com/astaxie/beego/logs" "github.com/astaxie/beego/logs"
grpc "google.golang.org/grpc" grpc "google.golang.org/grpc"
"google.golang.org/grpc/reflection" "google.golang.org/grpc/reflection"
...@@ -94,7 +95,8 @@ func (s *kefuServer) GetKnowledgeBaseWithTitleAndPlatform(ctx context.Context, i ...@@ -94,7 +95,8 @@ func (s *kefuServer) GetKnowledgeBaseWithTitleAndPlatform(ctx context.Context, i
// Run run grpc server // Run run grpc server
func Run() { func Run() {
lis, err := net.Listen("tcp", ":8028") grpcPort, _ := beego.AppConfig.Int("grpc_port")
lis, err := net.Listen("tcp", ":"+strconv.Itoa(grpcPort))
if err != nil { if err != nil {
logs.Info("grpc server failed: %v", err) logs.Info("grpc server failed: %v", err)
} }
......
...@@ -5,6 +5,7 @@ type KnowledgePaginationDto struct { ...@@ -5,6 +5,7 @@ type KnowledgePaginationDto struct {
PageSize int `json:"page_size"` PageSize int `json:"page_size"`
PageOn int `json:"page_on"` PageOn int `json:"page_on"`
Keyword string `json:"keyword"` Keyword string `json:"keyword"`
Platform int64 `json:"platform"`
Total int64 `json:"total"` Total int64 `json:"total"`
List interface{} `json:"list"` List interface{} `json:"list"`
} }
...@@ -55,6 +55,7 @@ func init() { ...@@ -55,6 +55,7 @@ func init() {
beego.NSBefore(filters.FilterToken), beego.NSBefore(filters.FilterToken),
beego.NSRouter("/?:id", &controllers.KnowledgeBaseController{}), beego.NSRouter("/?:id", &controllers.KnowledgeBaseController{}),
beego.NSRouter("/list", &controllers.KnowledgeBaseController{}, "post:List"), beego.NSRouter("/list", &controllers.KnowledgeBaseController{}, "post:List"),
beego.NSRouter("/total", &controllers.KnowledgeBaseController{}, "get:Total"),
), ),
// home // home
......
...@@ -18,6 +18,7 @@ type KnowledgeBaseRepositoryInterface interface { ...@@ -18,6 +18,7 @@ type KnowledgeBaseRepositoryInterface interface {
Delete(id int64) (int64, error) Delete(id int64) (int64, error)
SearchKnowledgeTitles(request models.KnowledgeBaseTitleRequestDto) []models.KnowledgeBaseTitleDto SearchKnowledgeTitles(request models.KnowledgeBaseTitleRequestDto) []models.KnowledgeBaseTitleDto
GetKnowledgeBaseWithTitleAndPlatform(title string, platform int64) *models.KnowledgeBase GetKnowledgeBaseWithTitleAndPlatform(title string, platform int64) *models.KnowledgeBase
GetKnowledgeBasePlatformsTotal() []orm.Params
} }
// KnowledgeBaseRepository struct // KnowledgeBaseRepository struct
...@@ -114,7 +115,13 @@ func (r *KnowledgeBaseRepository) GetKnowledgeBases(request *models.KnowledgePag ...@@ -114,7 +115,13 @@ func (r *KnowledgeBaseRepository) GetKnowledgeBases(request *models.KnowledgePag
// query // query
var lists []models.KnowledgeBase var lists []models.KnowledgeBase
if _, err := r.q.OrderBy("-create_at").Limit(request.PageSize).Offset((request.PageOn - 1) * request.PageSize).All(&lists); err != nil { like := " "
k := request.Keyword
if k != "" {
like = ("sub_title LIKE '%" + k + "%' OR title LIKE '%" + k + "%' OR content LIKE '%" + k + "%' AND")
}
total, err := r.o.Raw("SELECT * FROM knowledge_base WHERE "+like+" `platform` = ? ORDER BY create_at DESC LIMIT ? OFFSET ?", request.Platform, request.PageSize, (request.PageOn-1)*request.PageSize).QueryRows(&lists)
if err != nil {
logs.Warn("GetKnowledgeBases get one KnowledgeBases------------", err) logs.Warn("GetKnowledgeBases get one KnowledgeBases------------", err)
return nil, err return nil, err
} }
...@@ -126,7 +133,6 @@ func (r *KnowledgeBaseRepository) GetKnowledgeBases(request *models.KnowledgePag ...@@ -126,7 +133,6 @@ func (r *KnowledgeBaseRepository) GetKnowledgeBases(request *models.KnowledgePag
request.PageSize = MaxPageSize request.PageSize = MaxPageSize
} }
total, _ := r.q.Count()
for index := range lists { for index := range lists {
lists[index].SubTitle = strings.Trim(lists[index].SubTitle, "|") lists[index].SubTitle = strings.Trim(lists[index].SubTitle, "|")
} }
...@@ -166,3 +172,14 @@ func (r *KnowledgeBaseRepository) Delete(id int64) (int64, error) { ...@@ -166,3 +172,14 @@ func (r *KnowledgeBaseRepository) Delete(id int64) (int64, error) {
} }
return index, err return index, err
} }
// GetKnowledgeBasePlatformsTotal get Group count
func (r *KnowledgeBaseRepository) GetKnowledgeBasePlatformsTotal() []orm.Params {
var maps []orm.Params
_, err := r.o.Raw("select P.id,p.title,IFNULL(k.count,0) as count FROM platform p LEFT JOIN (SELECT platform,COUNT(*) AS count FROM `knowledge_base` GROUP BY platform) k ON k.platform = p.id").Values(&maps)
if err != nil {
logs.Warn("GetKnowledgeBasePlatformsTotal get Group count------------", err)
return []orm.Params{}
}
return maps
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment