Commit fe7e4057 authored by 黎博's avatar 黎博

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

parent a283706a
......@@ -2,9 +2,11 @@ package cn.qg.holmes.controller.gitlab;
import cn.qg.holmes.common.JsonResult;
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.Pipeline;
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.jira.DingRobotService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
......@@ -35,6 +37,12 @@ public class PipelineController {
@Autowired
DingRobotService dingRobotService;
@Autowired
HttpServletRequest servletRequest;
@Autowired
TokenService tokenService;
/**
* gitlab webhook
* @param request
......@@ -57,7 +65,7 @@ public class PipelineController {
}
@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 = "10") Integer pageSize) {
IPage<DingRobot> page = new Page<>(pageNum, pageSize);
......@@ -71,6 +79,9 @@ public class PipelineController {
if (!StringUtils.isEmpty(namespace)) {
dingRobotQueryWrapper.eq("namespace", namespace);
}
if (status != null) {
dingRobotQueryWrapper.eq("status", status);
}
dingRobotQueryWrapper.orderByDesc("id");
IPage<DingRobot> projectRobotIPage = dingRobotService.page(page, dingRobotQueryWrapper);
List<DingRobot> dingRobotList = projectRobotIPage.getRecords();
......@@ -99,6 +110,10 @@ public class PipelineController {
public JsonResult addRobotAndPipeline(@RequestBody DingRobotPipelineVo dingRobotPipelineVo) {
try {
DingRobot dingRobot = dingRobotPipelineVo.getDingRobot();
// 设置创建人
String token = servletRequest.getHeader("token");
UserInfoVo userInfoVo = tokenService.getUserInfoFromCache(token);
dingRobot.setCreator(userInfoVo.getChineseName());
String projectName = dingRobot.getProjectName();
String jiraProjectKey = dingRobot.getJiraProjectKey();
QueryWrapper<DingRobot> dingRobotQueryWrapper = new QueryWrapper<>();
......@@ -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;
public class DingRobot {
@TableId(type = IdType.AUTO)
private Integer id;
/**
* 项目名称,与提BUG时【】里的内容进行匹配
*/
private String projectName;
/**
* jira项目关键字
*/
private String jiraProjectKey;
/**
* 钉钉机器人webhook
*/
private String dingUrl;
/**
* 创建人
*/
private String creator;
/**
* 环境
*/
private String namespace;
/**
* 1-进行中,2-已完成
*/
private Integer status;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@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