fix(项目管理): 修复保存消息通知模板内容失败问题以及调整接口响应的自动换行内容问题以及用例导入问题
--bug=1038811 --user=郭雨琦 https://www.tapd.cn/55049933/bugtrace/bugs/view/1155049933001038811 --bug=1037163 --user=郭雨琦 https://www.tapd.cn/55049933/bugtrace/bugs/view/1155049933001037163 --bug=1038898 --user=郭雨琦 https://www.tapd.cn/55049933/bugtrace/bugs/view/1155049933001038898 --bug=1036206 --user=郭雨琦 https://www.tapd.cn/55049933/bugtrace/bugs/view/1155049933001036206
This commit is contained in:
parent
34267b15a9
commit
440214b67a
|
@ -178,9 +178,6 @@ public class NoticeMessageTaskService {
|
||||||
if (!useDefaultSubject) {
|
if (!useDefaultSubject) {
|
||||||
messageTask.setSubject(messageTaskRequest.getSubject());
|
messageTask.setSubject(messageTaskRequest.getSubject());
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
//如果没有机器人id,则只是修改人其余配置不变
|
|
||||||
useDefaultTemplate = messageTask.getUseDefaultTemplate();
|
|
||||||
}
|
}
|
||||||
messageTask.setReceivers(existUserIds);
|
messageTask.setReceivers(existUserIds);
|
||||||
mapper.updateByPrimaryKeySelective(messageTask);
|
mapper.updateByPrimaryKeySelective(messageTask);
|
||||||
|
|
|
@ -77,7 +77,6 @@ public class NoticeMessageTaskControllerTests extends BaseTest {
|
||||||
messageTaskRequest.setEnable(true);
|
messageTaskRequest.setEnable(true);
|
||||||
messageTaskRequest.setSubject("看看改不改");
|
messageTaskRequest.setSubject("看看改不改");
|
||||||
messageTaskRequest.setUseDefaultSubject(false);
|
messageTaskRequest.setUseDefaultSubject(false);
|
||||||
messageTaskRequest.setUseDefaultTemplate(false);
|
|
||||||
MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.post("/notice/message/task/save")
|
MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.post("/notice/message/task/save")
|
||||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||||
.header(SessionConstants.CSRF_TOKEN, csrfToken)
|
.header(SessionConstants.CSRF_TOKEN, csrfToken)
|
||||||
|
@ -505,7 +504,7 @@ public class NoticeMessageTaskControllerTests extends BaseTest {
|
||||||
List<MessageTaskDetailDTO> collect2 = messageTaskDetailDTOList1.stream().filter(t -> t.event.equals(NoticeConstants.Event.CREATE)).toList();
|
List<MessageTaskDetailDTO> collect2 = messageTaskDetailDTOList1.stream().filter(t -> t.event.equals(NoticeConstants.Event.CREATE)).toList();
|
||||||
Map<String, ProjectRobotConfigDTO> projectRobotConfigMap = collect2.get(0).getProjectRobotConfigMap();
|
Map<String, ProjectRobotConfigDTO> projectRobotConfigMap = collect2.get(0).getProjectRobotConfigMap();
|
||||||
ProjectRobotConfigDTO projectRobotConfigDTO = projectRobotConfigMap.get("test_message_robot2");
|
ProjectRobotConfigDTO projectRobotConfigDTO = projectRobotConfigMap.get("test_message_robot2");
|
||||||
Assertions.assertFalse(StringUtils.equals(projectRobotConfigDTO.getTemplate(),"发送消息测试"));
|
Assertions.assertTrue(StringUtils.equals(projectRobotConfigDTO.getTemplate(),"发送消息测试"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ export type CustomTheme = 'MS-text';
|
||||||
export type Theme = 'vs' | 'hc-black' | 'vs-dark' | CustomTheme;
|
export type Theme = 'vs' | 'hc-black' | 'vs-dark' | CustomTheme;
|
||||||
export type FoldingStrategy = 'auto' | 'indentation';
|
export type FoldingStrategy = 'auto' | 'indentation';
|
||||||
export type RenderLineHighlight = 'all' | 'line' | 'none' | 'gutter';
|
export type RenderLineHighlight = 'all' | 'line' | 'none' | 'gutter';
|
||||||
|
export type WordWrap = 'off' | 'on' | 'wordWrapColumn' | 'bounded';
|
||||||
export const LanguageEnum = {
|
export const LanguageEnum = {
|
||||||
PLAINTEXT: 'PLAINTEXT' as const,
|
PLAINTEXT: 'PLAINTEXT' as const,
|
||||||
JAVASCRIPT: 'JAVASCRIPT' as const,
|
JAVASCRIPT: 'JAVASCRIPT' as const,
|
||||||
|
@ -36,6 +37,7 @@ export interface Options {
|
||||||
enabled: boolean;
|
enabled: boolean;
|
||||||
};
|
};
|
||||||
readOnly: boolean; // 只读
|
readOnly: boolean; // 只读
|
||||||
|
wordWrap: WordWrap; // 自动缩进
|
||||||
fontSize: number; // 字体大小
|
fontSize: number; // 字体大小
|
||||||
scrollBeyondLastLine: boolean; // 取消代码后面一大段空白
|
scrollBeyondLastLine: boolean; // 取消代码后面一大段空白
|
||||||
overviewRulerBorder: boolean; // 不要滚动条的边框
|
overviewRulerBorder: boolean; // 不要滚动条的边框
|
||||||
|
@ -69,6 +71,10 @@ export const editorProps = {
|
||||||
type: Boolean as PropType<boolean>,
|
type: Boolean as PropType<boolean>,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
wordWrap: {
|
||||||
|
type: String as PropType<WordWrap>,
|
||||||
|
default: 'on',
|
||||||
|
},
|
||||||
options: {
|
options: {
|
||||||
type: Object as PropType<Options>,
|
type: Object as PropType<Options>,
|
||||||
default() {
|
default() {
|
||||||
|
@ -81,6 +87,7 @@ export const editorProps = {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
},
|
},
|
||||||
readOnly: false,
|
readOnly: false,
|
||||||
|
wordWrap: 'on',
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
scrollBeyondLastLine: false,
|
scrollBeyondLastLine: false,
|
||||||
overviewRulerBorder: false,
|
overviewRulerBorder: false,
|
||||||
|
|
|
@ -253,7 +253,4 @@
|
||||||
.ms-scroll-bar();
|
.ms-scroll-bar();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
:deep(.ms-detail-card .flex) {
|
|
||||||
max-width: 75%;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -70,18 +70,28 @@
|
||||||
@click="backCaseList"
|
@click="backCaseList"
|
||||||
>{{ t('caseManagement.featureCase.backCaseList') }}</MsButton
|
>{{ t('caseManagement.featureCase.backCaseList') }}</MsButton
|
||||||
>
|
>
|
||||||
<MsButton v-if="!validateResultInfo.failCount" type="text" class="ml-[8px]" @click="confirmImport">{{
|
<MsButton
|
||||||
t('caseManagement.featureCase.import')
|
v-if="!validateResultInfo.failCount"
|
||||||
}}</MsButton>
|
type="text"
|
||||||
|
class="ml-[8px]"
|
||||||
|
:loading="props.importLoading"
|
||||||
|
@click="confirmImport"
|
||||||
|
>
|
||||||
|
{{ t('caseManagement.featureCase.import') }}</MsButton
|
||||||
|
>
|
||||||
<MsButton
|
<MsButton
|
||||||
v-if="validateResultInfo.failCount || (validateResultInfo.failCount && validateResultInfo.successCount)"
|
v-if="validateResultInfo.failCount || (validateResultInfo.failCount && validateResultInfo.successCount)"
|
||||||
class="ml-[8px]"
|
class="ml-[8px]"
|
||||||
@click="handleCancel"
|
@click="handleCancel"
|
||||||
>{{ t('caseManagement.featureCase.backToUploadPage') }}</MsButton
|
>{{ t('caseManagement.featureCase.backToUploadPage') }}</MsButton
|
||||||
>
|
>
|
||||||
<MsButton v-if="validateResultInfo.failCount && validateResultInfo.successCount" @click="confirmImport">{{
|
<MsButton
|
||||||
t('caseManagement.featureCase.ignoreErrorContinueImporting')
|
v-if="validateResultInfo.failCount && validateResultInfo.successCount"
|
||||||
}}</MsButton>
|
:loading="props.importLoading"
|
||||||
|
@click="confirmImport"
|
||||||
|
>
|
||||||
|
{{ t('caseManagement.featureCase.ignoreErrorContinueImporting') }}</MsButton
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
|
|
|
@ -381,6 +381,7 @@
|
||||||
validateResultModal.value = false;
|
validateResultModal.value = false;
|
||||||
showExcelModal.value = false;
|
showExcelModal.value = false;
|
||||||
caseTableRef.value.initData();
|
caseTableRef.value.initData();
|
||||||
|
caseTreeRef.value.initModules();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
} finally {
|
} finally {
|
||||||
|
|
Loading…
Reference in New Issue