Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
holmes
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
QA
holmes
Commits
a601199c
Commit
a601199c
authored
Apr 30, 2021
by
黎博
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into mock
parents
b43bc524
d56c4713
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
74 additions
and
25 deletions
+74
-25
AutoModuleController.java
...va/cn/qg/holmes/controller/auto/AutoModuleController.java
+3
-2
InterfaceController.java
...ava/cn/qg/holmes/controller/auto/InterfaceController.java
+4
-10
Interface.java
src/main/java/cn/qg/holmes/entity/auto/Interface.java
+5
-0
AutoModuleMapper.java
src/main/java/cn/qg/holmes/mapper/auto/AutoModuleMapper.java
+1
-1
InterfaceMapper.java
src/main/java/cn/qg/holmes/mapper/auto/InterfaceMapper.java
+2
-0
AutoModuleService.java
...ain/java/cn/qg/holmes/service/auto/AutoModuleService.java
+1
-1
InterfaceService.java
...main/java/cn/qg/holmes/service/auto/InterfaceService.java
+2
-0
AutoModuleServiceImpl.java
...cn/qg/holmes/service/auto/impl/AutoModuleServiceImpl.java
+2
-2
InterfaceServiceImpl.java
.../cn/qg/holmes/service/auto/impl/InterfaceServiceImpl.java
+18
-0
JiraToDingding.java
src/main/java/cn/qg/holmes/task/jira/JiraToDingding.java
+11
-4
DingdingUtils.java
src/main/java/cn/qg/holmes/utils/DingdingUtils.java
+3
-4
AutoModuleMapper.xml
src/main/resources/mapper/auto/AutoModuleMapper.xml
+3
-0
InterfaceMapper.xml
src/main/resources/mapper/auto/InterfaceMapper.xml
+18
-0
SceneTestcaseMapper.xml
src/main/resources/mapper/auto/SceneTestcaseMapper.xml
+1
-1
No files found.
src/main/java/cn/qg/holmes/controller/auto/AutoModuleController.java
View file @
a601199c
...
...
@@ -10,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.web.bind.annotation.*
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
...
...
@@ -34,8 +35,8 @@ public class AutoModuleController {
* @return
*/
@GetMapping
(
"/list"
)
public
JsonResult
getAutoModuleList
(
Integer
pageNum
,
Integer
pageSize
)
{
IPage
<
AutoModule
>
autoModuleIPage
=
autoModuleService
.
getAutoModuleList
(
pageNum
,
pageSize
);
public
JsonResult
getAutoModuleList
(
Integer
pageNum
,
Integer
pageSize
,
Integer
projectId
)
{
IPage
<
AutoModule
>
autoModuleIPage
=
autoModuleService
.
getAutoModuleList
(
pageNum
,
pageSize
,
projectId
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"total"
,
autoModuleIPage
.
getTotal
());
map
.
put
(
"list"
,
autoModuleIPage
.
getRecords
());
...
...
src/main/java/cn/qg/holmes/controller/auto/InterfaceController.java
View file @
a601199c
...
...
@@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.web.bind.annotation.*
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
...
...
@@ -36,18 +37,11 @@ public class InterfaceController {
* @return
*/
@GetMapping
(
"/list"
)
public
JsonResult
getInterfaceList
(
Integer
moduleId
,
public
JsonResult
getInterfaceList
(
Integer
projectId
,
Integer
moduleId
,
@RequestParam
(
defaultValue
=
"1"
)
Integer
pageNum
,
@RequestParam
(
defaultValue
=
"10"
)
Integer
pageSize
)
{
IPage
<
Interface
>
interfaceIPage
=
new
Page
<>(
pageNum
,
pageSize
);
IPage
<
Interface
>
interfaceIPageEntity
;
if
(
moduleId
!=
null
)
{
QueryWrapper
<
Interface
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"module_id"
,
moduleId
);
interfaceIPageEntity
=
interfaceService
.
page
(
interfaceIPage
,
queryWrapper
);
}
else
{
interfaceIPageEntity
=
interfaceService
.
page
(
interfaceIPage
);
}
IPage
<
Interface
>
interfaceIPageEntity
=
interfaceService
.
getInterfaceList
(
projectId
,
moduleId
,
pageNum
,
pageSize
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"total"
,
interfaceIPageEntity
.
getTotal
());
map
.
put
(
"list"
,
interfaceIPageEntity
.
getRecords
());
...
...
src/main/java/cn/qg/holmes/entity/auto/Interface.java
View file @
a601199c
package
cn
.
qg
.
holmes
.
entity
.
auto
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
...
...
@@ -27,4 +28,8 @@ public class Interface {
private
Date
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
updateTime
;
@TableField
(
exist
=
false
)
private
String
moduleName
;
@TableField
(
exist
=
false
)
private
String
projectName
;
}
src/main/java/cn/qg/holmes/mapper/auto/AutoModuleMapper.java
View file @
a601199c
...
...
@@ -5,5 +5,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
public
interface
AutoModuleMapper
extends
BaseMapper
<
AutoModule
>
{
IPage
<
AutoModule
>
getAutoModuleList
(
IPage
<
AutoModule
>
page
);
IPage
<
AutoModule
>
getAutoModuleList
(
IPage
<
AutoModule
>
page
,
Integer
projectId
);
}
src/main/java/cn/qg/holmes/mapper/auto/InterfaceMapper.java
View file @
a601199c
...
...
@@ -2,6 +2,8 @@ package cn.qg.holmes.mapper.auto;
import
cn.qg.holmes.entity.auto.Interface
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
public
interface
InterfaceMapper
extends
BaseMapper
<
Interface
>
{
IPage
<
Interface
>
getInterfaceList
(
IPage
<
Interface
>
page
,
Integer
projectId
,
Integer
moduleId
);
}
src/main/java/cn/qg/holmes/service/auto/AutoModuleService.java
View file @
a601199c
...
...
@@ -7,5 +7,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
public
interface
AutoModuleService
extends
IService
<
AutoModule
>
{
IPage
<
AutoModule
>
getAutoModuleList
(
Integer
pageNum
,
Integer
pageSize
);
IPage
<
AutoModule
>
getAutoModuleList
(
Integer
pageNum
,
Integer
pageSize
,
Integer
projectId
);
}
src/main/java/cn/qg/holmes/service/auto/InterfaceService.java
View file @
a601199c
package
cn
.
qg
.
holmes
.
service
.
auto
;
import
cn.qg.holmes.entity.auto.Interface
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.IService
;
public
interface
InterfaceService
extends
IService
<
Interface
>
{
IPage
<
Interface
>
getInterfaceList
(
Integer
projectId
,
Integer
moduleId
,
Integer
pageNum
,
Integer
pageSize
);
}
src/main/java/cn/qg/holmes/service/auto/impl/AutoModuleServiceImpl.java
View file @
a601199c
...
...
@@ -16,8 +16,8 @@ public class AutoModuleServiceImpl extends ServiceImpl<AutoModuleMapper, AutoMod
AutoModuleMapper
autoModuleMapper
;
@Override
public
IPage
<
AutoModule
>
getAutoModuleList
(
Integer
pageNum
,
Integer
pageSize
)
{
public
IPage
<
AutoModule
>
getAutoModuleList
(
Integer
pageNum
,
Integer
pageSize
,
Integer
projectId
)
{
IPage
<
AutoModule
>
page
=
new
Page
<>(
pageNum
,
pageSize
);
return
autoModuleMapper
.
getAutoModuleList
(
page
);
return
autoModuleMapper
.
getAutoModuleList
(
page
,
projectId
);
}
}
src/main/java/cn/qg/holmes/service/auto/impl/InterfaceServiceImpl.java
View file @
a601199c
package
cn
.
qg
.
holmes
.
service
.
auto
.
impl
;
import
cn.qg.holmes.entity.auto.AutoModule
;
import
cn.qg.holmes.entity.auto.Interface
;
import
cn.qg.holmes.mapper.auto.InterfaceMapper
;
import
cn.qg.holmes.service.auto.InterfaceService
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* 自动化-接口相关service
* @author libo
*/
@Service
public
class
InterfaceServiceImpl
extends
ServiceImpl
<
InterfaceMapper
,
Interface
>
implements
InterfaceService
{
@Autowired
InterfaceMapper
interfaceMapper
;
@Override
public
IPage
<
Interface
>
getInterfaceList
(
Integer
projectId
,
Integer
moduleId
,
Integer
pageNum
,
Integer
pageSize
)
{
IPage
<
Interface
>
page
=
new
Page
<>(
pageNum
,
pageSize
);
IPage
<
Interface
>
interfaceIPage
=
interfaceMapper
.
getInterfaceList
(
page
,
projectId
,
moduleId
);
return
interfaceIPage
;
}
}
src/main/java/cn/qg/holmes/task/jira/JiraToDingding.java
View file @
a601199c
...
...
@@ -22,15 +22,22 @@ public class JiraToDingding {
@Value
(
"${sjgd.ding.url}"
)
private
String
sjgdDingUrl
;
@Value
(
"${task.debug}"
)
private
String
taskDebug
;
/**
* 数据工单bug统计
* @throws Exception
*/
@Scheduled
(
cron
=
"0 0 19 * * ?"
)
public
void
SJGDJiraIssueStatisticsTimedJob
()
throws
Exception
{
log
.
info
(
"开始执行数据工单BUG统计定时任务!"
);
Iterable
<
Issue
>
issues
=
jiraIssueService
.
getUnsolvedIssueListByProject
(
"SJGD"
);
String
markdownMsg
=
DingdingUtils
.
buildMarkdownMsgForUnsolvedIssueList
(
issues
);
DingdingUtils
.
sendToDingding
(
markdownMsg
,
sjgdDingUrl
);
if
(
taskDebug
.
equals
(
"true"
))
{
log
.
info
(
"开始执行数据工单BUG统计定时任务!"
);
Iterable
<
Issue
>
issues
=
jiraIssueService
.
getUnsolvedIssueListByProject
(
"SJGD"
);
String
markdownMsg
=
DingdingUtils
.
buildMarkdownMsgForUnsolvedIssueList
(
issues
);
DingdingUtils
.
sendToDingding
(
markdownMsg
,
sjgdDingUrl
);
}
else
{
log
.
info
(
"当前部署的是mock,不执行定时任务!"
);
}
}
}
src/main/java/cn/qg/holmes/utils/DingdingUtils.java
View file @
a601199c
...
...
@@ -52,8 +52,8 @@ public class DingdingUtils {
issueList
.
add
(
issue
);
}
markdown
.
put
(
"msgtype"
,
"markdown"
);
contentMap
.
put
(
"title"
,
"今日未解决BUG统计"
);
String
content
=
"###
今日
未解决BUG数:"
+
issueList
.
size
()
+
"\n"
;
contentMap
.
put
(
"title"
,
"今日
剩余
未解决BUG统计"
);
String
content
=
"###
# 今日剩余
未解决BUG数:"
+
issueList
.
size
()
+
"\n"
;
int
count
=
0
;
for
(
Issue
issue:
issueList
)
{
count
=
count
+
1
;
...
...
@@ -61,8 +61,7 @@ public class DingdingUtils {
content
=
content
+
count
+
"、["
+
issue
.
getSummary
().
replace
(
"\""
,
""
)
+
"]("
+
issueUrl
+
")\n"
;
content
=
content
+
"- 优先级:"
+
issue
.
getPriority
().
getName
()
+
"\n"
;
content
=
content
+
"- 状态:"
+
issue
.
getStatus
().
getName
()
+
"\n"
;
content
=
content
+
"- 经办人:"
+
issue
.
getAssignee
().
getDisplayName
()
+
"\n"
;
content
=
content
+
"\n"
;
content
=
content
+
"- 经办人:"
+
issue
.
getAssignee
().
getDisplayName
()
+
"\n\n"
;
}
contentMap
.
put
(
"text"
,
content
);
markdown
.
put
(
"markdown"
,
contentMap
);
...
...
src/main/resources/mapper/auto/AutoModuleMapper.xml
View file @
a601199c
...
...
@@ -7,5 +7,8 @@
p.`name` as projectName
from `auto_module` a, auto_project p
where a.`project_id` = p.`id`
<if
test=
"projectId != null and projectId != ''"
>
AND a.`project_id` = #{projectId}
</if>
</select>
</mapper>
\ No newline at end of file
src/main/resources/mapper/auto/InterfaceMapper.xml
0 → 100644
View file @
a601199c
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"cn.qg.holmes.mapper.auto.InterfaceMapper"
>
<select
id=
"getInterfaceList"
resultType=
"cn.qg.holmes.entity.auto.Interface"
>
SELECT it.*, am.`name` as moduleName, ap.`name` as projectName
FROM `interface` AS `it`
INNER JOIN `auto_module` AS `am` on it.`module_id` = am.`id`
INNER JOIN `auto_project` AS `ap` on am.`project_id` = ap.`id`
WHERE 1=1
<if
test=
"projectId != null and projectId !=''"
>
AND ap.`id`= #{projectId}
</if>
<if
test=
"moduleId != null and moduleId != ''"
>
AND am.`id` = #{moduleId}
</if>
</select>
</mapper>
\ No newline at end of file
src/main/resources/mapper/auto/SceneTestcaseMapper.xml
View file @
a601199c
...
...
@@ -6,7 +6,7 @@
select stc.* from scene_testcase as stc
left join scene as sc ON stc.`scene_id`=sc.`id`
<if
test=
"projectId != null"
>
WHERE sc.`id`=#{projectId}
WHERE sc.`id`=
#{projectId}
</if>
</select>
</mapper>
\ No newline at end of file
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