|
@@ -36,13 +36,14 @@ type ResourceController struct {
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
func (this *ResourceController) List() {
|
|
@@ -65,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
|
|
@@ -80,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, " ")
|
|
@@ -264,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
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -801,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
|
|
@@ -1225,3 +1481,86 @@ func (this *ResourceController) Public() {
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+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
|
|
|
+
|
|
|
+}
|