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
196f32d6
Commit
196f32d6
authored
Nov 29, 2019
by
lanmw
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add dimension
parent
b89a6ee4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
87 additions
and
7 deletions
+87
-7
TagCtrl.java
src/main/java/com/keymobile/tagmanager/api/TagCtrl.java
+13
-0
Tag.java
src/main/java/com/keymobile/tagmanager/model/Tag.java
+6
-7
TagService.java
...ain/java/com/keymobile/tagmanager/service/TagService.java
+66
-0
Constants.java
src/main/java/com/keymobile/tagmanager/util/Constants.java
+2
-0
No files found.
src/main/java/com/keymobile/tagmanager/api/TagCtrl.java
View file @
196f32d6
...
...
@@ -59,6 +59,12 @@ public class TagCtrl {
return
tagService
.
querySystemTagAsTree
(
parentId
);
}
@ApiOperation
(
value
=
"查询维度标签树"
,
notes
=
"查询维度标签树"
)
@GetMapping
(
value
=
"/queryDimensionTagAsTree"
)
public
JsonNode
[]
queryDimensionTagAsTree
(
@RequestParam
(
value
=
"parentId"
,
required
=
false
)
String
parentId
)
throws
TagNotExistException
{
return
tagService
.
queryDimensionTagAsTree
(
parentId
);
}
@ApiOperation
(
value
=
"查询个人标签树"
,
notes
=
"查询个人标签树"
)
@GetMapping
(
value
=
"/queryPersonalTagAsTree"
)
public
JsonNode
[]
queryPersonalTagAsTree
(
@RequestParam
(
value
=
"parentId"
,
required
=
false
)
String
parentId
)
throws
TagNotExistException
{
...
...
@@ -66,6 +72,13 @@ public class TagCtrl {
return
tagService
.
queryPersonalTagAsTree
(
parentId
,
userName
);
}
@ApiOperation
(
value
=
"查询个人标签树不包括分享的标签"
,
notes
=
"查询个人标签树不包括分享的标签"
)
@GetMapping
(
value
=
"/queryPersonalTagExcludeOpenTypeAsTree"
)
public
JsonNode
[]
queryPersonalTagExcludeOpenTypeAsTree
(
@RequestParam
(
value
=
"parentId"
,
required
=
false
)
String
parentId
)
throws
TagNotExistException
{
String
userName
=
UserInfoUtils
.
getUserName
();
return
tagService
.
queryPersonalTagExcludeOpenTypeAsTree
(
parentId
,
userName
);
}
@ApiOperation
(
value
=
"搜索系統标签"
,
notes
=
"搜索系統标签"
)
@GetMapping
(
value
=
"/searchSystemTagByPage"
)
public
Page
searchSystemTagByPage
(
@RequestParam
(
required
=
false
,
value
=
"keyword"
)
String
keyword
,
...
...
src/main/java/com/keymobile/tagmanager/model/Tag.java
View file @
196f32d6
...
...
@@ -29,7 +29,7 @@ public class Tag implements Serializable{
private
String
creator
;
private
String
isOpen
=
Constants
.
TAG_CLOSE_STATUS
;
//0 不公开, 1, 公开
private
Integer
domain
;
private
boolean
dimension
=
false
;
//是否
维度标签
private
String
dimensionType
=
Constants
.
TAG_DIMENSION_FALSE
;
//0 非维度标签, 1
维度标签
public
Tag
()
{}
...
...
@@ -151,13 +151,12 @@ public class Tag implements Serializable{
this
.
domain
=
domain
;
}
public
boolean
isDimension
(
)
{
return
dimension
;
public
void
setDimensionType
(
String
dimensionType
)
{
this
.
dimensionType
=
dimensionType
;
}
public
void
setDimension
(
boolean
dimension
)
{
this
.
dimension
=
dimension
;
public
String
getDimensionType
(
)
{
return
dimensionType
;
}
}
src/main/java/com/keymobile/tagmanager/service/TagService.java
View file @
196f32d6
...
...
@@ -103,11 +103,20 @@ public class TagService {
private
Query
createPersonalTagQuery
(
String
userName
)
{
return
Query
.
query
(
Criteria
.
where
(
"tagType"
).
is
(
Constants
.
TAG_PERSONAL_TYPE
)
.
orOperator
(
Criteria
.
where
(
"dimensionType"
).
is
(
Constants
.
TAG_DIMENSION_TRUE
),
Criteria
.
where
(
"isOpen"
).
is
(
Constants
.
TAG_OPEN_STATUS
),
Criteria
.
where
(
"creator"
).
is
(
userName
)))
.
with
(
Sort
.
by
(
getDefaultTagOrders
()));
}
private
Query
createPersonalExcludeOpenTypeTagQuery
(
String
userName
)
{
return
Query
.
query
(
Criteria
.
where
(
"tagType"
).
is
(
Constants
.
TAG_PERSONAL_TYPE
)
.
orOperator
(
Criteria
.
where
(
"dimensionType"
).
is
(
Constants
.
TAG_DIMENSION_TRUE
),
Criteria
.
where
(
"creator"
).
is
(
userName
)))
.
with
(
Sort
.
by
(
getDefaultTagOrders
()));
}
private
List
<
Order
>
getDefaultTagOrders
()
{
List
<
Order
>
orders
=
new
ArrayList
<>();
orders
.
add
(
new
Order
(
Direction
.
ASC
,
"level"
));
...
...
@@ -230,5 +239,62 @@ public class TagService {
});
tagRepository
.
saveAll
(
tags
);
}
public
JsonNode
[]
queryDimensionTagAsTree
(
String
parentId
)
throws
TagNotExistException
{
List
<
Tag
>
tags
=
new
ArrayList
<>();
if
(
StringUtils
.
isEmpty
(
parentId
))
{
tags
=
mongoOperations
.
find
(
createDimensionTagQuery
(),
Tag
.
class
);
}
else
{
Tag
parentTag
=
getTagById
(
parentId
);
tags
=
getDimensionSubTag
(
parentTag
);
tags
.
forEach
(
tag
->
tag
.
setPath
(
tag
.
getPath
().
replaceAll
(
parentTag
.
getPath
(),
parentTag
.
getName
())));
}
List
<
JsonNode
>
nodes
=
new
ArrayList
<>();
tags
.
forEach
(
p
->
{
JsonNode
node
=
new
JsonNode
(
p
.
getPath
(),
p
.
getId
(),
p
.
getPath
());
nodes
.
add
(
node
);
});
JsonNode
root
=
JsonTreeHelper
.
toJsonTree
(
nodes
,
Constants
.
TAG_PATH_SEPARATOR
);
if
(
root
.
children
!=
null
)
return
root
.
children
;
else
return
new
JsonNode
[]
{};
}
private
List
<
Tag
>
getDimensionSubTag
(
Tag
parentTag
)
{
List
<
Tag
>
dirs
=
mongoOperations
.
find
(
new
Query
().
addCriteria
(
Criteria
.
where
(
"path"
)
.
regex
(
"^"
+
parentTag
.
getPath
()
+
Constants
.
TAG_PATH_SEPARATOR
)
.
and
(
"dimensionType"
).
is
(
Constants
.
TAG_DIMENSION_TRUE
))
.
with
(
Sort
.
by
(
getDefaultTagOrders
())),
Tag
.
class
);
dirs
.
add
(
parentTag
);
return
dirs
;
}
private
Query
createDimensionTagQuery
()
{
return
Query
.
query
(
Criteria
.
where
(
"tagType"
).
is
(
Constants
.
TAG_DIMENSION_TRUE
))
.
with
(
Sort
.
by
(
getDefaultTagOrders
()));
}
public
JsonNode
[]
queryPersonalTagExcludeOpenTypeAsTree
(
String
parentId
,
String
userName
)
throws
TagNotExistException
{
List
<
Tag
>
tags
=
new
ArrayList
<>();
if
(
StringUtils
.
isEmpty
(
parentId
))
{
tags
=
mongoOperations
.
find
(
createPersonalExcludeOpenTypeTagQuery
(
userName
),
Tag
.
class
);
}
else
{
Tag
parentTag
=
getTagById
(
parentId
);
tags
=
getPersonSubTag
(
parentTag
,
userName
);
tags
.
forEach
(
tag
->
tag
.
setPath
(
tag
.
getPath
().
replaceAll
(
parentTag
.
getPath
(),
parentTag
.
getName
())));
}
List
<
JsonNode
>
nodes
=
new
ArrayList
<>();
tags
.
forEach
(
p
->
{
JsonNode
node
=
new
JsonNode
(
p
.
getPath
(),
p
.
getId
(),
p
.
getPath
());
nodes
.
add
(
node
);
});
JsonNode
root
=
JsonTreeHelper
.
toJsonTree
(
nodes
,
Constants
.
TAG_PATH_SEPARATOR
);
if
(
root
.
children
!=
null
)
return
root
.
children
;
else
return
new
JsonNode
[]
{};
}
}
src/main/java/com/keymobile/tagmanager/util/Constants.java
View file @
196f32d6
...
...
@@ -44,6 +44,8 @@ public final class Constants {
public
static
final
String
TAG_PATH_SEPARATOR
=
","
;
public
static
final
String
TAG_OPEN_STATUS
=
"1"
;
public
static
final
String
TAG_CLOSE_STATUS
=
"0"
;
public
static
final
String
TAG_DIMENSION_TRUE
=
"1"
;
public
static
final
String
TAG_DIMENSION_FALSE
=
"0"
;
public
static
final
String
PROCESS_AUDITSTATUS_APPLYING
=
"applying"
;
...
...
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