feat(消息管理): add project messageTask resource
This commit is contained in:
parent
d453bb93e0
commit
4ee10e11dc
|
@ -25,7 +25,7 @@ import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
@Tag(name = "项目管理-项目与权限-消息管理-消息设置")
|
@Tag(name = "项目管理-消息管理-消息设置")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("notice/")
|
@RequestMapping("notice/")
|
||||||
public class NoticeMessageTaskController {
|
public class NoticeMessageTaskController {
|
||||||
|
@ -33,7 +33,7 @@ public class NoticeMessageTaskController {
|
||||||
private NoticeMessageTaskService noticeMessageTaskService;
|
private NoticeMessageTaskService noticeMessageTaskService;
|
||||||
|
|
||||||
@PostMapping("message/task/save")
|
@PostMapping("message/task/save")
|
||||||
@Operation(summary = "项目管理-项目与权限-消息管理-消息设置-保存消息设置")
|
@Operation(summary = "项目管理-消息管理-消息设置-保存消息设置")
|
||||||
@RequiresPermissions(value = {PermissionConstants.PROJECT_MESSAGE_READ_ADD, PermissionConstants.PROJECT_MESSAGE_READ_UPDATE}, logical = Logical.OR)
|
@RequiresPermissions(value = {PermissionConstants.PROJECT_MESSAGE_READ_ADD, PermissionConstants.PROJECT_MESSAGE_READ_UPDATE}, logical = Logical.OR)
|
||||||
@Log(type = OperationLogType.UPDATE, expression = "#msClass.addLog(#messageTaskRequest)", msClass = MessageTaskLogService.class)
|
@Log(type = OperationLogType.UPDATE, expression = "#msClass.addLog(#messageTaskRequest)", msClass = MessageTaskLogService.class)
|
||||||
public ResultHolder saveMessage(@Validated({Created.class, Updated.class}) @RequestBody MessageTaskRequest messageTaskRequest) {
|
public ResultHolder saveMessage(@Validated({Created.class, Updated.class}) @RequestBody MessageTaskRequest messageTaskRequest) {
|
||||||
|
@ -41,7 +41,7 @@ public class NoticeMessageTaskController {
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("message/task/get/{projectId}")
|
@GetMapping("message/task/get/{projectId}")
|
||||||
@Operation(summary = "项目管理-项目与权限-消息管理-消息设置-获取消息设置")
|
@Operation(summary = "项目管理-消息管理-消息设置-获取消息设置")
|
||||||
@RequiresPermissions(PermissionConstants.PROJECT_MESSAGE_READ_ADD)
|
@RequiresPermissions(PermissionConstants.PROJECT_MESSAGE_READ_ADD)
|
||||||
public List<MessageTaskDTO> getMessageList(@PathVariable String projectId) throws IOException {
|
public List<MessageTaskDTO> getMessageList(@PathVariable String projectId) throws IOException {
|
||||||
return noticeMessageTaskService.getMessageList(projectId);
|
return noticeMessageTaskService.getMessageList(projectId);
|
||||||
|
|
|
@ -1,13 +1,33 @@
|
||||||
package io.metersphere.project.service;
|
package io.metersphere.project.service;
|
||||||
|
|
||||||
|
import io.metersphere.project.domain.MessageTask;
|
||||||
|
import io.metersphere.project.domain.MessageTaskBlob;
|
||||||
import io.metersphere.project.domain.ProjectRobot;
|
import io.metersphere.project.domain.ProjectRobot;
|
||||||
|
import io.metersphere.project.dto.MessageTaskDTO;
|
||||||
|
import io.metersphere.project.dto.MessageTaskDetailDTO;
|
||||||
|
import io.metersphere.project.dto.MessageTaskTypeDTO;
|
||||||
import io.metersphere.project.enums.ProjectRobotPlatform;
|
import io.metersphere.project.enums.ProjectRobotPlatform;
|
||||||
|
import io.metersphere.project.mapper.MessageTaskBlobMapper;
|
||||||
|
import io.metersphere.project.mapper.MessageTaskMapper;
|
||||||
import io.metersphere.project.mapper.ProjectRobotMapper;
|
import io.metersphere.project.mapper.ProjectRobotMapper;
|
||||||
|
import io.metersphere.sdk.dto.OptionDTO;
|
||||||
|
import io.metersphere.sdk.util.JSON;
|
||||||
|
import io.metersphere.system.notice.constants.NoticeConstants;
|
||||||
import io.metersphere.system.service.CreateProjectResourceService;
|
import io.metersphere.system.service.CreateProjectResourceService;
|
||||||
import io.metersphere.system.uid.UUID;
|
import io.metersphere.system.uid.UUID;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.ibatis.session.ExecutorType;
|
||||||
|
import org.apache.ibatis.session.SqlSession;
|
||||||
|
import org.apache.ibatis.session.SqlSessionFactory;
|
||||||
|
import org.mybatis.spring.SqlSessionUtils;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -17,11 +37,15 @@ public class CreateRobotResourceService implements CreateProjectResourceService
|
||||||
@Resource
|
@Resource
|
||||||
private ProjectRobotMapper robotMapper;
|
private ProjectRobotMapper robotMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SqlSessionFactory sqlSessionFactory;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void createResources(String projectId) {
|
public void createResources(String projectId) {
|
||||||
List<ProjectRobot> list = new ArrayList<>();
|
List<ProjectRobot> list = new ArrayList<>();
|
||||||
ProjectRobot projectRobot = new ProjectRobot();
|
ProjectRobot projectRobot = new ProjectRobot();
|
||||||
projectRobot.setId(UUID.randomUUID().toString());
|
String inSiteId = UUID.randomUUID().toString();
|
||||||
|
projectRobot.setId(inSiteId);
|
||||||
projectRobot.setProjectId(projectId);
|
projectRobot.setProjectId(projectId);
|
||||||
projectRobot.setName("站内信");
|
projectRobot.setName("站内信");
|
||||||
projectRobot.setPlatform(ProjectRobotPlatform.IN_SITE.toString());
|
projectRobot.setPlatform(ProjectRobotPlatform.IN_SITE.toString());
|
||||||
|
@ -43,5 +67,71 @@ public class CreateRobotResourceService implements CreateProjectResourceService
|
||||||
projectRobotMail.setUpdateTime(System.currentTimeMillis());
|
projectRobotMail.setUpdateTime(System.currentTimeMillis());
|
||||||
list.add(projectRobotMail);
|
list.add(projectRobotMail);
|
||||||
robotMapper.batchInsert(list);
|
robotMapper.batchInsert(list);
|
||||||
|
setMessageTask(projectId, inSiteId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMessageTask(String projectId, String defaultRobotId) {
|
||||||
|
StringBuilder jsonStr = new StringBuilder();
|
||||||
|
InputStream inputStream = getClass().getResourceAsStream("/message_task.json");
|
||||||
|
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
|
||||||
|
String line;
|
||||||
|
try {
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
jsonStr.append(line);
|
||||||
|
}
|
||||||
|
reader.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);
|
||||||
|
MessageTaskMapper mapper = sqlSession.getMapper(MessageTaskMapper.class);
|
||||||
|
MessageTaskBlobMapper blobMapper = sqlSession.getMapper(MessageTaskBlobMapper.class);
|
||||||
|
|
||||||
|
List<MessageTaskDTO> messageTaskDTOList = JSON.parseArray(jsonStr.toString(), MessageTaskDTO.class);
|
||||||
|
for (MessageTaskDTO messageTaskDTO : messageTaskDTOList) {
|
||||||
|
List<MessageTaskTypeDTO> messageTaskTypeDTOList = messageTaskDTO.getMessageTaskTypeDTOList();
|
||||||
|
for (MessageTaskTypeDTO messageTaskTypeDTO : messageTaskTypeDTOList) {
|
||||||
|
String taskType = messageTaskTypeDTO.getTaskType();
|
||||||
|
if (taskType.contains(NoticeConstants.Mode.SCHEDULE) || taskType.contains("AT") || taskType.contains("JENKINS")) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
List<MessageTaskDetailDTO> messageTaskDetailDTOList = messageTaskTypeDTO.getMessageTaskDetailDTOList();
|
||||||
|
for (MessageTaskDetailDTO messageTaskDetailDTO : messageTaskDetailDTOList) {
|
||||||
|
String event = messageTaskDetailDTO.getEvent();
|
||||||
|
List<OptionDTO> receivers = messageTaskDetailDTO.getReceivers();
|
||||||
|
if (StringUtils.equalsIgnoreCase(event, NoticeConstants.Event.CREATE) || StringUtils.equalsIgnoreCase(event, NoticeConstants.Event.CASE_CREATE) || CollectionUtils.isEmpty(receivers)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
for (OptionDTO receiver : receivers) {
|
||||||
|
String id = UUID.randomUUID().toString();
|
||||||
|
MessageTask messageTask = new MessageTask();
|
||||||
|
messageTask.setId(id);
|
||||||
|
messageTask.setEvent(event);
|
||||||
|
messageTask.setTaskType(taskType);
|
||||||
|
messageTask.setReceiver(receiver.getId());
|
||||||
|
messageTask.setProjectId(projectId);
|
||||||
|
messageTask.setProjectRobotId(defaultRobotId);
|
||||||
|
messageTask.setEnable(true);
|
||||||
|
messageTask.setTestId("NONE");
|
||||||
|
messageTask.setCreateUser("admin");
|
||||||
|
messageTask.setCreateTime(System.currentTimeMillis());
|
||||||
|
messageTask.setUpdateUser("admin");
|
||||||
|
messageTask.setUpdateTime(System.currentTimeMillis());
|
||||||
|
messageTask.setSubject("");
|
||||||
|
messageTask.setUseDefaultSubject(true);
|
||||||
|
messageTask.setUseDefaultTemplate(true);
|
||||||
|
MessageTaskBlob messageTaskBlob = new MessageTaskBlob();
|
||||||
|
messageTaskBlob.setId(id);
|
||||||
|
messageTaskBlob.setTemplate("");
|
||||||
|
mapper.insert(messageTask);
|
||||||
|
blobMapper.insert(messageTaskBlob);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sqlSession.flushStatements();
|
||||||
|
SqlSessionUtils.closeSqlSession(sqlSession, sqlSessionFactory);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,11 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
|
"name": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "FOLLOW_PEOPLE",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -57,7 +61,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -79,7 +83,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "OPERATOR",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -107,7 +111,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -164,7 +168,11 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
|
"name": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "FOLLOW_PEOPLE",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -186,7 +194,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -208,7 +216,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -236,35 +244,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "OPERATOR",
|
||||||
"name": ""
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"projectRobotConfigList":[
|
|
||||||
{
|
|
||||||
"robotId":"",
|
|
||||||
"enable":"",
|
|
||||||
"template":"",
|
|
||||||
"defaultTemplate":"",
|
|
||||||
"useDefaultTemplate":true,
|
|
||||||
"subject":"",
|
|
||||||
"defaultSubject":"",
|
|
||||||
"useDefaultSubject":true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"taskType":"BUG_TASK_AT",
|
|
||||||
"taskTypeName":"",
|
|
||||||
"messageTaskDetailDTOList":[
|
|
||||||
{
|
|
||||||
"event":"COMMENT",
|
|
||||||
"eventName":"",
|
|
||||||
"receivers":[
|
|
||||||
{
|
|
||||||
"id": "",
|
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -321,7 +301,11 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
|
"name": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "FOLLOW_PEOPLE",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -343,7 +327,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -365,35 +349,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"projectRobotConfigList":[
|
|
||||||
{
|
|
||||||
"robotId":"",
|
|
||||||
"enable":"",
|
|
||||||
"template":"",
|
|
||||||
"defaultTemplate":"",
|
|
||||||
"useDefaultTemplate":true,
|
|
||||||
"subject":"",
|
|
||||||
"defaultSubject":"",
|
|
||||||
"useDefaultSubject":true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"taskType":"FUNCTIONAL_CASE_TASK_AT",
|
|
||||||
"taskTypeName":"",
|
|
||||||
"messageTaskDetailDTOList":[
|
|
||||||
{
|
|
||||||
"event":"COMMENT",
|
|
||||||
"eventName":"",
|
|
||||||
"receivers":[
|
|
||||||
{
|
|
||||||
"id": "",
|
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -443,7 +399,11 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
|
"name": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "FOLLOW_PEOPLE",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -465,7 +425,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -487,7 +447,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -509,7 +469,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -566,7 +526,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -588,7 +548,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -632,7 +592,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -654,7 +614,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -676,7 +636,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -698,7 +658,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -720,7 +680,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -770,7 +730,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -792,7 +752,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -814,7 +774,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -836,7 +796,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -858,7 +818,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -886,7 +846,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -943,7 +903,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -965,7 +925,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -987,7 +947,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -1009,7 +969,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -1035,7 +995,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -1094,7 +1054,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -1116,7 +1076,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -1138,7 +1098,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "OPERATOR",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -1166,7 +1126,7 @@
|
||||||
"eventName":"",
|
"eventName":"",
|
||||||
"receivers":[
|
"receivers":[
|
||||||
{
|
{
|
||||||
"id": "",
|
"id": "CREATE_USER",
|
||||||
"name": ""
|
"name": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
package io.metersphere.project.controller;
|
package io.metersphere.project.controller;
|
||||||
|
|
||||||
|
import io.metersphere.project.domain.Project;
|
||||||
import io.metersphere.project.domain.ProjectRobot;
|
import io.metersphere.project.domain.ProjectRobot;
|
||||||
|
import io.metersphere.project.dto.MessageTaskDTO;
|
||||||
|
import io.metersphere.project.mapper.ProjectMapper;
|
||||||
import io.metersphere.sdk.constants.SessionConstants;
|
import io.metersphere.sdk.constants.SessionConstants;
|
||||||
import io.metersphere.sdk.util.JSON;
|
import io.metersphere.sdk.util.JSON;
|
||||||
import io.metersphere.system.base.BaseTest;
|
import io.metersphere.system.base.BaseTest;
|
||||||
import io.metersphere.system.controller.handler.ResultHolder;
|
import io.metersphere.system.controller.handler.ResultHolder;
|
||||||
import io.metersphere.system.invoker.ProjectServiceInvoker;
|
import io.metersphere.system.invoker.ProjectServiceInvoker;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
import org.junit.jupiter.api.*;
|
import org.junit.jupiter.api.*;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
||||||
|
@ -34,16 +38,32 @@ public class CreateRobotResourceTests extends BaseTest {
|
||||||
this.serviceInvoker = serviceInvoker;
|
this.serviceInvoker = serviceInvoker;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ProjectMapper projectMapper;
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(1)
|
@Order(1)
|
||||||
public void testCleanupResource() throws Exception {
|
public void testCleanupResource() throws Exception {
|
||||||
serviceInvoker.invokeCreateServices("test");
|
Project project = new Project();
|
||||||
|
project.setId("test_message");
|
||||||
|
project.setOrganizationId("organization-message-test");
|
||||||
|
project.setName("默认项目");
|
||||||
|
project.setDescription("系统默认创建的项目");
|
||||||
|
project.setCreateUser("admin");
|
||||||
|
project.setUpdateUser("admin");
|
||||||
|
project.setCreateTime(System.currentTimeMillis());
|
||||||
|
project.setUpdateTime(System.currentTimeMillis());
|
||||||
|
projectMapper.insertSelective(project);
|
||||||
|
serviceInvoker.invokeCreateServices("test_message");
|
||||||
List<ProjectRobot> projectRobotAfters = getList();
|
List<ProjectRobot> projectRobotAfters = getList();
|
||||||
Assertions.assertEquals(2, projectRobotAfters.size());
|
Assertions.assertEquals(2, projectRobotAfters.size());
|
||||||
|
List<MessageTaskDTO> messageList = getMessageList();
|
||||||
|
Assertions.assertTrue(messageList.size() > 0);
|
||||||
|
System.out.println(messageList);
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<ProjectRobot> getList() throws Exception {
|
private List<ProjectRobot> getList() throws Exception {
|
||||||
MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.get(ROBOT_LIST + "test")
|
MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.get(ROBOT_LIST + "test_message")
|
||||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||||
.header(SessionConstants.CSRF_TOKEN, csrfToken)
|
.header(SessionConstants.CSRF_TOKEN, csrfToken)
|
||||||
.contentType(MediaType.APPLICATION_JSON))
|
.contentType(MediaType.APPLICATION_JSON))
|
||||||
|
@ -53,4 +73,15 @@ public class CreateRobotResourceTests extends BaseTest {
|
||||||
ResultHolder sortHolder = JSON.parseObject(sortData, ResultHolder.class);
|
ResultHolder sortHolder = JSON.parseObject(sortData, ResultHolder.class);
|
||||||
return JSON.parseArray(JSON.toJSONString(sortHolder.getData()), ProjectRobot.class);
|
return JSON.parseArray(JSON.toJSONString(sortHolder.getData()), ProjectRobot.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<MessageTaskDTO> getMessageList() throws Exception {
|
||||||
|
MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.get("/notice/message/task/get/test_message")
|
||||||
|
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||||
|
.header(SessionConstants.CSRF_TOKEN, csrfToken))
|
||||||
|
.andExpect(status().isOk())
|
||||||
|
.andExpect(content().contentType(MediaType.APPLICATION_JSON)).andReturn();
|
||||||
|
String contentAsString = mvcResult.getResponse().getContentAsString(StandardCharsets.UTF_8);
|
||||||
|
ResultHolder resultHolder = JSON.parseObject(contentAsString, ResultHolder.class);
|
||||||
|
return JSON.parseArray(JSON.toJSONString(resultHolder.getData()), MessageTaskDTO.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue