|
@@ -9,9 +9,6 @@ import (
|
|
|
knowledgeServ "eta_gn/eta_api/services/knowledge"
|
|
|
"eta_gn/eta_api/utils"
|
|
|
"fmt"
|
|
|
- "github.com/h2non/filetype"
|
|
|
- "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
- "github.com/tealeg/xlsx"
|
|
|
"html"
|
|
|
"io/ioutil"
|
|
|
"os"
|
|
@@ -19,6 +16,10 @@ import (
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
|
+
|
|
|
+ "github.com/h2non/filetype"
|
|
|
+ "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
+ "github.com/tealeg/xlsx"
|
|
|
)
|
|
|
|
|
|
|
|
@@ -35,13 +36,14 @@ type ResourceController struct {
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
func (this *ResourceController) List() {
|
|
@@ -64,6 +66,10 @@ func (this *ResourceController) List() {
|
|
|
|
|
|
sourceFrom := this.GetString("SourceFrom")
|
|
|
|
|
|
+ includeFile := this.GetString("IncludeFile")
|
|
|
+
|
|
|
+ IsShowMe, _ := this.GetBool("IsShowMe")
|
|
|
+
|
|
|
var startSize int
|
|
|
if pageSize <= 0 {
|
|
|
pageSize = utils.PageSize20
|
|
@@ -79,6 +85,15 @@ func (this *ResourceController) List() {
|
|
|
condition += ` AND resource_type = ? `
|
|
|
pars = append(pars, resourceType)
|
|
|
|
|
|
+ if includeFile == "no" {
|
|
|
+ condition += ` AND is_file = ? `
|
|
|
+ pars = append(pars, 0)
|
|
|
+ }
|
|
|
+ if IsShowMe {
|
|
|
+ condition += ` AND admin_id = ? `
|
|
|
+ pars = append(pars, this.SysUser.AdminId)
|
|
|
+ }
|
|
|
+
|
|
|
if keyWord != "" {
|
|
|
|
|
|
keyWordArr := strings.Split(keyWord, " ")
|
|
@@ -263,6 +278,241 @@ func (this *ResourceController) List() {
|
|
|
br.Data = resp
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func (this *ResourceController) Search() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ pageSize, _ := this.GetInt("PageSize")
|
|
|
+ currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
+
|
|
|
+ classifyIds := this.GetString("ClassifyIds")
|
|
|
+
|
|
|
+ addUserIds := this.GetString("SysUserIds")
|
|
|
+
|
|
|
+ tagIds := this.GetString("TagIds")
|
|
|
+
|
|
|
+ keyWord := this.GetString("Keyword")
|
|
|
+ resourceType, _ := this.GetInt("ResourceType")
|
|
|
+
|
|
|
+ sourceFrom := this.GetString("SourceFrom")
|
|
|
+
|
|
|
+ includeFile := this.GetString("IncludeFile")
|
|
|
+
|
|
|
+ IsShowMe, _ := this.GetBool("IsShowMe")
|
|
|
+
|
|
|
+ var startSize int
|
|
|
+ if pageSize <= 0 {
|
|
|
+ pageSize = utils.PageSize20
|
|
|
+ }
|
|
|
+ if currentIndex <= 0 {
|
|
|
+ currentIndex = 1
|
|
|
+ }
|
|
|
+
|
|
|
+ startSize = utils.StartIndex(currentIndex, pageSize)
|
|
|
+
|
|
|
+ isIncludeFile := true
|
|
|
+ if includeFile == "no" {
|
|
|
+ isIncludeFile = false
|
|
|
+ }
|
|
|
+ var searchUserIds []int
|
|
|
+ if addUserIds != "" {
|
|
|
+
|
|
|
+ addUserIdsArr := strings.Split(addUserIds, ",")
|
|
|
+ for _, v := range addUserIdsArr {
|
|
|
+ addUserId, _ := strconv.Atoi(v)
|
|
|
+ searchUserIds = append(searchUserIds, addUserId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var myId int
|
|
|
+ if IsShowMe {
|
|
|
+ myId = this.SysUser.AdminId
|
|
|
+ }
|
|
|
+
|
|
|
+ var sourceFromArr []string
|
|
|
+ if sourceFrom != "" {
|
|
|
+ sourceFromArr = strings.Split(sourceFrom, ",")
|
|
|
+ }
|
|
|
+ var classifyIdsInt []int
|
|
|
+ if classifyIds != "" {
|
|
|
+
|
|
|
+ classifyIdsArr := strings.Split(classifyIds, ",")
|
|
|
+ for _, v := range classifyIdsArr {
|
|
|
+ classifyId, _ := strconv.Atoi(v)
|
|
|
+ classifyIdsInt = append(classifyIdsInt, classifyId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var tagIdsInt []int
|
|
|
+ if tagIds != "" {
|
|
|
+
|
|
|
+ tagIdsArr := strings.Split(tagIds, ",")
|
|
|
+ for _, v := range tagIdsArr {
|
|
|
+ tagId, _ := strconv.Atoi(v)
|
|
|
+ tagIdsInt = append(tagIdsInt, tagId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ listTmp, total, err := knowledgeServ.SearchKnowledgeResourceByEs(
|
|
|
+ resourceType,
|
|
|
+ keyWord,
|
|
|
+ searchUserIds,
|
|
|
+ myId,
|
|
|
+ classifyIdsInt,
|
|
|
+ sourceFromArr,
|
|
|
+ tagIdsInt,
|
|
|
+ isIncludeFile,
|
|
|
+ startSize,
|
|
|
+ pageSize,
|
|
|
+ )
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var list []*knowledge.KnowledgeResourceList
|
|
|
+
|
|
|
+ classifyFullNameMap := make(map[int]string)
|
|
|
+ classifyIdsArr := make([]int, 0)
|
|
|
+ for _, v := range listTmp {
|
|
|
+ classifyIdsArr = append(classifyIdsArr, v.ClassifyId)
|
|
|
+ }
|
|
|
+
|
|
|
+ classifyList, err := knowledge.GetFullClassifyListByIdList(classifyIdsArr, resourceType)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range classifyList {
|
|
|
+ name := v.ClassifyName
|
|
|
+ if v.ParentName != "" {
|
|
|
+ name = v.ParentName + "/" + name
|
|
|
+ }
|
|
|
+ if v.RootName != "" {
|
|
|
+ name = v.RootName + "/" + name
|
|
|
+ }
|
|
|
+ classifyFullNameMap[v.ClassifyId] = name
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ tagNameMap := make(map[int]string)
|
|
|
+ tagIdsArr := make([]int, 0)
|
|
|
+ for _, v := range listTmp {
|
|
|
+ tagIdsArr = append(tagIdsArr, v.TagId)
|
|
|
+ }
|
|
|
+
|
|
|
+ tagObj := new(knowledge.KnowledgeTag)
|
|
|
+ tagList, err := tagObj.GetListByIdList(tagIdsArr, resourceType)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ }
|
|
|
+ for _, v := range tagList {
|
|
|
+ tagNameMap[v.TagId] = v.TagName
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range listTmp {
|
|
|
+ var startTime, endTime string
|
|
|
+ if v.StartTime != nil && !v.StartTime.IsZero() {
|
|
|
+ startTime = v.StartTime.In(time.Local).Format(utils.FormatDateTime)
|
|
|
+ if resourceType == knowledge.KnowledgeResourceTypeOpinion || resourceType == knowledge.KnowledgeResourceTypeKnow {
|
|
|
+ startTime = v.StartTime.In(time.Local).Format(utils.FormatDate)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if v.EndTime != nil && !v.EndTime.IsZero() {
|
|
|
+ endTime = v.EndTime.In(time.Local).Format(utils.FormatDateTime)
|
|
|
+ if resourceType == knowledge.KnowledgeResourceTypeOpinion || resourceType == knowledge.KnowledgeResourceTypeKnow {
|
|
|
+ endTime = v.EndTime.In(time.Local).Format(utils.FormatDate)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ modifyTime := v.ModifyTime.In(time.Local).Format(utils.FormatDateTime)
|
|
|
+ createTime := v.CreateTime.In(time.Local).Format(utils.FormatDateTime)
|
|
|
+ tmp := &knowledge.KnowledgeResourceList{
|
|
|
+ KnowledgeResourceId: v.KnowledgeResourceId,
|
|
|
+ ResourceType: v.ResourceType,
|
|
|
+ ClassifyId: v.ClassifyId,
|
|
|
+ Title: v.Title,
|
|
|
+ Content: v.Content,
|
|
|
+ CreateTime: createTime,
|
|
|
+ ModifyTime: modifyTime,
|
|
|
+ State: v.State,
|
|
|
+ ResourceCode: v.ResourceCode,
|
|
|
+ AdminId: v.AdminId,
|
|
|
+ AdminRealName: v.AdminRealName,
|
|
|
+ SourceFrom: v.SourceFrom,
|
|
|
+ TagId: v.TagId,
|
|
|
+ StartTime: startTime,
|
|
|
+ EndTime: endTime,
|
|
|
+ }
|
|
|
+
|
|
|
+ classifyName, ok := classifyFullNameMap[tmp.ClassifyId]
|
|
|
+ if ok {
|
|
|
+ tmp.ClassifyFullName = classifyName
|
|
|
+ }
|
|
|
+ tagName, ok := tagNameMap[v.TagId]
|
|
|
+ if ok {
|
|
|
+ tmp.TagName = tagName
|
|
|
+ }
|
|
|
+ list = append(list, tmp)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ page := paging.GetPaging(currentIndex, pageSize, int(total))
|
|
|
+ resp := new(knowledge.KnowledgeResourceListResp)
|
|
|
+ resp.Paging = page
|
|
|
+ resp.List = list
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -800,6 +1050,13 @@ func (this *ResourceController) Delete() {
|
|
|
br.ErrMsg = "删除事件失败, Err: " + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+ go func() {
|
|
|
+ item.IsDelete = 1
|
|
|
+ er := knowledgeServ.EsAddOrEditKnowledgeResource(item)
|
|
|
+ if er != nil {
|
|
|
+ utils.FileLog.Info("知识资源id:" + strconv.Itoa(req.KnowledgeResourceId) + ",删除事件同步es失败, Err: " + er.Error())
|
|
|
+ }
|
|
|
+ }()
|
|
|
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
@@ -1185,3 +1442,86 @@ func (this *ResourceController) TemplateDownload() {
|
|
|
br.Success = true
|
|
|
br.Msg = "下载成功"
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func (this *ResourceController) BiDashboardCacheResourceList() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+
|
|
|
+ biDashboardDetailId, _ := this.GetInt("BiDashboardDetailId")
|
|
|
+
|
|
|
+ resp, msg, err := knowledgeServ.GetKnowledgeResourceTmpList(biDashboardDetailId, this.SysUser.AdminId)
|
|
|
+ if err != nil {
|
|
|
+ if msg == "" {
|
|
|
+ msg = "获取数据失败"
|
|
|
+ }
|
|
|
+ br.Msg = msg
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func (this *ResourceController) BiDashboardResourceSave() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+
|
|
|
+ var req knowledge.BiDashboardResourceAddReq
|
|
|
+ if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
|
|
|
+ br.Msg = "参数解析失败"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(req.KnowledgeResourceList) == 0 {
|
|
|
+
|
|
|
+ err := utils.Rc.Delete(utils.CACHE_KEY_BI_DASHBOARD_PREPARE_RESOURCE + strconv.Itoa(this.SysUser.AdminId))
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "添加失败"
|
|
|
+ br.ErrMsg = "删除缓存失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "添加成功"
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ return
|
|
|
+ }
|
|
|
+ cacheData, err := json.Marshal(req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "添加失败"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = utils.Rc.Put(utils.CACHE_KEY_BI_DASHBOARD_PREPARE_RESOURCE+strconv.Itoa(this.SysUser.AdminId), cacheData, time.Hour*24)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "添加失败"
|
|
|
+ br.ErrMsg = "添加失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Msg = "添加成功"
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+
|
|
|
+}
|