Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
tagManager
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lanmw
tagManager
Commits
8d2a90d8
Commit
8d2a90d8
authored
Jan 08, 2020
by
zhangkb
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改标签,加入一个公司机构id字段,修改新增或修改标签按钮
parent
db8fd79b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
61 additions
and
36 deletions
+61
-36
TagCtrl.java
src/main/java/com/keymobile/tagmanager/api/TagCtrl.java
+12
-14
Tag.java
src/main/java/com/keymobile/tagmanager/model/Tag.java
+9
-0
TagService.java
...ain/java/com/keymobile/tagmanager/service/TagService.java
+40
-22
No files found.
src/main/java/com/keymobile/tagmanager/api/TagCtrl.java
View file @
8d2a90d8
...
...
@@ -15,6 +15,7 @@ import com.keymobile.tagmanager.model.SysTag;
import
com.keymobile.tagmanager.model.Tag
;
import
com.keymobile.tagmanager.service.TagService
;
import
com.keymobile.tagmanager.util.JsonTreeHelper.JsonNode
;
import
com.keymobile.tagmanager.util.Constants
;
import
com.keymobile.tagmanager.util.UserInfoUtils
;
import
io.swagger.annotations.Api
;
...
...
@@ -43,6 +44,14 @@ public class TagCtrl {
tag
.
setCreator
(
userName
);
tag
.
setTagUser
(
userId
);
tag
.
setDept
(
org
);
//如果是创建维度标签,直接保存公司机构id
if
(
tag
.
getDimensionType
().
equals
(
Constants
.
TAG_DIMENSION_TRUE
))
{
tag
.
setProDept
(
org
);
}
else
{
//根据当前登录用户所属机构获取公司机构id
String
companyOrgId
=
tagService
.
getCompanyOrgIdByUserOrgId
(
org
);
tag
.
setProDept
(
companyOrgId
);
}
//调用新增或者修改标签接口
return
tagService
.
addOrUpdateTag
(
parentId
,
tag
,
userName
);
}
...
...
@@ -129,7 +138,7 @@ public class TagCtrl {
return
tagService
.
searchSystemTagByPage
(
userName
,
keyword
,
path
,
domain
,
new
Page
(
pageSize
,
pageNo
));
}
@ApiOperation
(
value
=
"查询个人标签树不包括分享的标签"
,
notes
=
"查询个人标签树不包括分享的标签"
)
@ApiOperation
(
value
=
"查询个人标签树不包括分享的标签
(用于新增普通用户个人标签加载标签挂靠的上级标签树接口)
"
,
notes
=
"查询个人标签树不包括分享的标签"
)
@GetMapping
(
value
=
"/queryPersonalTagExcludeOpenTypeAsTree"
)
public
JsonNode
[]
queryPersonalTagExcludeOpenTypeAsTree
(
@RequestParam
(
value
=
"parentId"
,
required
=
false
)
String
parentId
,
...
...
@@ -139,27 +148,16 @@ public class TagCtrl {
return
tagService
.
queryPersonalTagExcludeOpenTypeAsTree
(
parentId
,
userName
,
deptIdPath
);
}
@ApiOperation
(
value
=
"分享标签"
,
notes
=
"分享标签"
)
@PostMapping
(
value
=
"/shareTags"
)
public
void
shareTags
(
@RequestBody
List
<
String
>
tagIds
)
throws
Exception
{
tagService
.
shareTags
(
tagIds
);
}
//---------------以下为导入系统的时候用到------------------
//---------------以下为导入系统的时候用到------------------
@ApiOperation
(
value
=
"查询系统标签"
,
notes
=
"查询系统标签"
)
@GetMapping
(
value
=
"/listSystems"
)
public
List
<
SysTag
>
listSysTags
()
{
...
...
src/main/java/com/keymobile/tagmanager/model/Tag.java
View file @
8d2a90d8
...
...
@@ -54,6 +54,7 @@ public class Tag implements Serializable, IExcelModel, IExcelDataModel{
//author:zhangkb time:2020-1-6 desc:添加标签创建对应的用户id,普通用户创建自定义标签有用到
private
String
tagUser
;
private
String
proDept
;
//公司机构id
public
Tag
()
{}
...
...
@@ -256,5 +257,13 @@ public class Tag implements Serializable, IExcelModel, IExcelDataModel{
public
void
setTagUser
(
String
tagUser
)
{
this
.
tagUser
=
tagUser
;
}
public
String
getProDept
()
{
return
proDept
;
}
public
void
setProDept
(
String
proDept
)
{
this
.
proDept
=
proDept
;
}
}
src/main/java/com/keymobile/tagmanager/service/TagService.java
View file @
8d2a90d8
...
...
@@ -143,6 +143,29 @@ public class TagService {
String
dept
)
throws
TagNotExistException
{
List
<
Tag
>
tags
=
new
ArrayList
<>();
//根据用户所属机构id获取对应的公司机构id
String
companyOrgId
=
this
.
getCompanyOrgIdByUserOrgId
(
dept
);
if
(
StringUtils
.
isEmpty
(
parentId
))
{
//从根目录开始查找
tags
=
mongoOperations
.
find
(
this
.
createNewPersonalTagQuery
(
userId
,
dept
,
companyOrgId
),
Tag
.
class
);
}
else
{
Tag
parentTag
=
getTagById
(
parentId
);
tags
=
this
.
getNewPersonSubTag
(
parentTag
,
userId
,
dept
,
companyOrgId
);
}
List
<
JsonNode
>
nodes
=
new
ArrayList
<>();
tags
.
forEach
(
p
->
{
JsonNode
node
=
new
JsonNode
(
p
.
getPath
(),
p
.
getId
(),
p
.
getPath
(),
p
.
getIdPath
());
nodes
.
add
(
node
);
});
JsonNode
root
=
JsonTreeHelper
.
toJsonTree
(
nodes
,
Constants
.
TAG_PATH_SEPARATOR
);
if
(
root
.
children
!=
null
)
{
return
root
.
children
;
}
else
{
return
new
JsonNode
[]
{};
}
}
//根据用户所属机构id获取对应的公司机构id
public
String
getCompanyOrgIdByUserOrgId
(
String
dept
)
throws
TagNotExistException
{
//根据用户机构id获取机构信息
Org
org
=
authService
.
getOrgs
(
dept
);
if
(
org
==
null
)
{
...
...
@@ -154,7 +177,7 @@ public class TagService {
String
[]
fullnames
=
fullname
.
split
(
","
);
//如果fullname没有两层结构
if
(
fullnames
.
length
<
2
)
{
throw
new
TagNotExistException
(
"get org by id the fullname:"
+
fullname
+
" at least 2 level;"
);
throw
new
TagNotExistException
(
"get org by id the fullname:"
+
fullname
+
" at least 2 level
s
;"
);
}
String
companyPath
=
fullnames
[
0
]+
Constants
.
TAG_PATH_SEPARATOR
+
fullnames
[
1
];
//根据companyPath获取机构信息
...
...
@@ -162,25 +185,7 @@ public class TagService {
if
(
companyOrg
==
null
)
{
throw
new
TagNotExistException
(
"get company org by fullname is null;"
);
}
String
companyOrgId
=
String
.
valueOf
(
companyOrg
.
getId
());
if
(
StringUtils
.
isEmpty
(
parentId
))
{
//从根目录开始查找
//
tags
=
mongoOperations
.
find
(
this
.
createNewPersonalTagQuery
(
userId
,
dept
,
companyOrgId
),
Tag
.
class
);
}
else
{
Tag
parentTag
=
getTagById
(
parentId
);
tags
=
this
.
getNewPersonSubTag
(
parentTag
,
userId
,
dept
,
companyOrgId
);
}
List
<
JsonNode
>
nodes
=
new
ArrayList
<>();
tags
.
forEach
(
p
->
{
JsonNode
node
=
new
JsonNode
(
p
.
getPath
(),
p
.
getId
(),
p
.
getPath
(),
p
.
getIdPath
());
nodes
.
add
(
node
);
});
JsonNode
root
=
JsonTreeHelper
.
toJsonTree
(
nodes
,
Constants
.
TAG_PATH_SEPARATOR
);
if
(
root
.
children
!=
null
)
{
return
root
.
children
;
}
else
{
return
new
JsonNode
[]
{};
}
return
String
.
valueOf
(
companyOrg
.
getId
());
}
//根据关键字查询维度标签数据
...
...
@@ -295,6 +300,18 @@ public class TagService {
}
}
//获取分享个人标签
public
List
<
Tag
>
getShareTags
(
String
deptId
)
{
List
<
Tag
>
tags
=
new
ArrayList
<>();
//获取机构下的维度标签第一层维度标签数据
Criteria
criteria
=
Criteria
.
where
(
"dept"
).
is
(
deptId
).
and
(
"level"
).
is
(
1
);
List
<
Tag
>
lvOneTags
=
mongoOperations
.
find
(
Query
.
query
(
criteria
),
Tag
.
class
);
for
(
Tag
tag
:
lvOneTags
)
{
//根据
}
return
tags
;
}
//分享个人标签
public
void
shareTags
(
List
<
String
>
tagIds
)
{
Iterable
<
Tag
>
tags
=
tagRepository
.
findAllById
(
tagIds
);
...
...
@@ -382,7 +399,8 @@ public class TagService {
.
regex
(
"^"
+
parentTag
.
getPath
()
+
Constants
.
TAG_PATH_SEPARATOR
)
.
and
(
"tagType"
).
is
(
Constants
.
TAG_PERSONAL_TYPE
)
.
orOperator
(
Criteria
.
where
(
"dept"
).
is
(
companyId
),
//标签是维度管理员机构的
Criteria
.
where
(
"dept"
).
is
(
companyId
)
.
and
(
"dimensionType"
).
is
(
Constants
.
TAG_DIMENSION_TRUE
),
//标签是维度管理员机构的
Criteria
.
where
(
"dept"
).
is
(
deptId
).
and
(
"tagUser"
).
is
(
userId
)
//标签是普通用户结构且普通用户名创建
)).
with
(
Sort
.
by
(
getDefaultTagOrders
())),
Tag
.
class
);
dirs
.
add
(
parentTag
);
...
...
@@ -428,7 +446,7 @@ public class TagService {
Criteria
criteria
=
Criteria
.
where
(
"tagType"
).
is
(
Constants
.
TAG_PERSONAL_TYPE
)
.
and
(
"dept"
).
is
(
dept
).
and
(
"tagUser"
).
is
(
userName
);
if
(
StringUtils
.
isNotBlank
(
path
))
{
criteria
=
criteria
.
and
(
"path"
).
regex
(
"^"
+
path
);
;
criteria
=
criteria
.
and
(
"path"
).
regex
(
"^"
+
path
);
}
return
criteria
/**.orOperator(
Criteria.where("dimensionType").is(Constants.TAG_DIMENSION_TRUE),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment