Commit fe7e4057 authored by 黎博's avatar 黎博

新增状态字段,dingrobot创建人从token获取

parent a283706a
...@@ -2,9 +2,11 @@ package cn.qg.holmes.controller.gitlab; ...@@ -2,9 +2,11 @@ package cn.qg.holmes.controller.gitlab;
import cn.qg.holmes.common.JsonResult; import cn.qg.holmes.common.JsonResult;
import cn.qg.holmes.config.annotation.RequiresPermissions; import cn.qg.holmes.config.annotation.RequiresPermissions;
import cn.qg.holmes.entity.auth.UserInfoVo;
import cn.qg.holmes.entity.gitlab.DingRobotPipelineVo; import cn.qg.holmes.entity.gitlab.DingRobotPipelineVo;
import cn.qg.holmes.entity.gitlab.Pipeline; import cn.qg.holmes.entity.gitlab.Pipeline;
import cn.qg.holmes.entity.jira.DingRobot; import cn.qg.holmes.entity.jira.DingRobot;
import cn.qg.holmes.service.auth.TokenService;
import cn.qg.holmes.service.gitlab.PipelineService; import cn.qg.holmes.service.gitlab.PipelineService;
import cn.qg.holmes.service.jira.DingRobotService; import cn.qg.holmes.service.jira.DingRobotService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -35,6 +37,12 @@ public class PipelineController { ...@@ -35,6 +37,12 @@ public class PipelineController {
@Autowired @Autowired
DingRobotService dingRobotService; DingRobotService dingRobotService;
@Autowired
HttpServletRequest servletRequest;
@Autowired
TokenService tokenService;
/** /**
* gitlab webhook * gitlab webhook
* @param request * @param request
...@@ -57,7 +65,7 @@ public class PipelineController { ...@@ -57,7 +65,7 @@ public class PipelineController {
} }
@GetMapping("/list") @GetMapping("/list")
public JsonResult getDingRobotAndPipelineList(String jiraProjectKey, String projectName, String namespace, public JsonResult getDingRobotAndPipelineList(String jiraProjectKey, String projectName, String namespace, Integer status,
@RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize) { @RequestParam(defaultValue = "10") Integer pageSize) {
IPage<DingRobot> page = new Page<>(pageNum, pageSize); IPage<DingRobot> page = new Page<>(pageNum, pageSize);
...@@ -71,6 +79,9 @@ public class PipelineController { ...@@ -71,6 +79,9 @@ public class PipelineController {
if (!StringUtils.isEmpty(namespace)) { if (!StringUtils.isEmpty(namespace)) {
dingRobotQueryWrapper.eq("namespace", namespace); dingRobotQueryWrapper.eq("namespace", namespace);
} }
if (status != null) {
dingRobotQueryWrapper.eq("status", status);
}
dingRobotQueryWrapper.orderByDesc("id"); dingRobotQueryWrapper.orderByDesc("id");
IPage<DingRobot> projectRobotIPage = dingRobotService.page(page, dingRobotQueryWrapper); IPage<DingRobot> projectRobotIPage = dingRobotService.page(page, dingRobotQueryWrapper);
List<DingRobot> dingRobotList = projectRobotIPage.getRecords(); List<DingRobot> dingRobotList = projectRobotIPage.getRecords();
...@@ -99,6 +110,10 @@ public class PipelineController { ...@@ -99,6 +110,10 @@ public class PipelineController {
public JsonResult addRobotAndPipeline(@RequestBody DingRobotPipelineVo dingRobotPipelineVo) { public JsonResult addRobotAndPipeline(@RequestBody DingRobotPipelineVo dingRobotPipelineVo) {
try { try {
DingRobot dingRobot = dingRobotPipelineVo.getDingRobot(); DingRobot dingRobot = dingRobotPipelineVo.getDingRobot();
// 设置创建人
String token = servletRequest.getHeader("token");
UserInfoVo userInfoVo = tokenService.getUserInfoFromCache(token);
dingRobot.setCreator(userInfoVo.getChineseName());
String projectName = dingRobot.getProjectName(); String projectName = dingRobot.getProjectName();
String jiraProjectKey = dingRobot.getJiraProjectKey(); String jiraProjectKey = dingRobot.getJiraProjectKey();
QueryWrapper<DingRobot> dingRobotQueryWrapper = new QueryWrapper<>(); QueryWrapper<DingRobot> dingRobotQueryWrapper = new QueryWrapper<>();
...@@ -205,4 +220,29 @@ public class PipelineController { ...@@ -205,4 +220,29 @@ public class PipelineController {
} }
} }
/**
* 更新状态
* @param dingRobotId 机器人id
* @param status 状态,1-进行中,2-已完成
* @return
*/
@RequiresPermissions("qa:process:finish")
@PostMapping("/finish")
public JsonResult finishPipeline(@RequestParam Integer dingRobotId, @RequestParam Integer status) {
try {
DingRobot dingRobot = dingRobotService.getById(dingRobotId);
if (dingRobot == null) {
return JsonResult.buildErrorStateResult("该测试流程不存在!", false);
}
// 设置状态为已完成
dingRobot.setStatus(status);
if (!dingRobotService.updateById(dingRobot)) {
return JsonResult.buildErrorStateResult("更新状态失败!", false);
}
return JsonResult.buildSuccessResult("更新状态成功", true);
} catch (Exception e) {
return JsonResult.buildErrorStateResult("删除失败", false);
}
}
} }
...@@ -13,11 +13,30 @@ import java.util.Date; ...@@ -13,11 +13,30 @@ import java.util.Date;
public class DingRobot { public class DingRobot {
@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO)
private Integer id; private Integer id;
/**
* 项目名称,与提BUG时【】里的内容进行匹配
*/
private String projectName; private String projectName;
/**
* jira项目关键字
*/
private String jiraProjectKey; private String jiraProjectKey;
/**
* 钉钉机器人webhook
*/
private String dingUrl; private String dingUrl;
/**
* 创建人
*/
private String creator; private String creator;
/**
* 环境
*/
private String namespace; private String namespace;
/**
* 1-进行中,2-已完成
*/
private Integer status;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime; private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment