feat: 2.0.0
1. pod列表页新增消费组显示
This commit is contained in:
parent
808bcfe0be
commit
430c511057
@ -1,6 +1,9 @@
|
||||
DROP DATABASE IF EXISTS easy_retry;
|
||||
CREATE DATABASE easy_retry;
|
||||
USE easy_retry;
|
||||
DROP
|
||||
DATABASE IF EXISTS easy_retry;
|
||||
CREATE
|
||||
DATABASE easy_retry;
|
||||
USE
|
||||
easy_retry;
|
||||
CREATE TABLE `group_config`
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
@ -149,6 +152,7 @@ CREATE TABLE `server_node`
|
||||
`host_port` int(16) NOT NULL COMMENT '机器端口',
|
||||
`expire_at` datetime NOT NULL COMMENT '过期时间',
|
||||
`node_type` tinyint(4) NOT NULL COMMENT '节点类型 1、客户端 2、是服务端',
|
||||
`ext_attrs` varchar(256) NULL default '' COMMENT '扩展字段',
|
||||
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`),
|
||||
|
||||
@ -0,0 +1,18 @@
|
||||
package com.aizuda.easy.retry.server.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 服务端节点扩展参数
|
||||
*
|
||||
* @author: www.byteblogs.com
|
||||
* @date : 2023-06-29 15:54
|
||||
*/
|
||||
@Data
|
||||
public class ServerNodeExtAttrs {
|
||||
|
||||
/**
|
||||
* web容器port
|
||||
*/
|
||||
private Integer webPort;
|
||||
}
|
||||
@ -27,6 +27,8 @@ public class ServerNode implements Serializable {
|
||||
|
||||
private String contextPath;
|
||||
|
||||
private String extAttrs;
|
||||
|
||||
private LocalDateTime createDt;
|
||||
|
||||
private LocalDateTime updateDt;
|
||||
|
||||
@ -17,6 +17,8 @@ public interface GroupConfigService {
|
||||
|
||||
Boolean updateGroup(GroupConfigRequestVO groupConfigRequestVO);
|
||||
|
||||
Boolean updateGroupStatus(String groupName, Integer status);
|
||||
|
||||
PageResult<List<GroupConfigResponseVO>> getGroupConfigForPage(GroupConfigQueryVO queryVO);
|
||||
|
||||
GroupConfigResponseVO getGroupConfigByGroupName(String groupName);
|
||||
|
||||
@ -3,6 +3,8 @@ package com.aizuda.easy.retry.server.service.convert;
|
||||
import com.aizuda.easy.retry.server.persistence.mybatis.po.ServerNode;
|
||||
import com.aizuda.easy.retry.server.web.model.response.ServerNodeResponseVO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.mapstruct.Mappings;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.aizuda.easy.retry.server.service.impl;
|
||||
|
||||
import com.aizuda.easy.retry.common.core.util.HostUtils;
|
||||
import com.aizuda.easy.retry.server.enums.TaskTypeEnum;
|
||||
import com.aizuda.easy.retry.server.persistence.mybatis.mapper.RetryTaskLogMapper;
|
||||
import com.aizuda.easy.retry.server.persistence.mybatis.mapper.RetryTaskLogMessageMapper;
|
||||
@ -23,6 +24,7 @@ import com.aizuda.easy.retry.server.web.model.response.TaskQuantityResponseVO;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.web.ServerProperties;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
@ -54,6 +56,9 @@ public class DashBoardServiceImpl implements DashBoardService {
|
||||
@Autowired
|
||||
private ServerNodeMapper serverNodeMapper;
|
||||
|
||||
@Autowired
|
||||
private ServerProperties serverProperties;
|
||||
|
||||
@Override
|
||||
public TaskQuantityResponseVO countTask() {
|
||||
|
||||
|
||||
@ -86,7 +86,7 @@ public class GroupConfigServiceImpl implements GroupConfigService {
|
||||
|
||||
Assert.isTrue(groupConfigMapper.selectCount(new LambdaQueryWrapper<GroupConfig>()
|
||||
.eq(GroupConfig::getGroupName, groupConfigRequestVO.getGroupName())) == 0,
|
||||
() -> new EasyRetryServerException("GroupName已经存在 {}", groupConfigRequestVO.getGroupName()));
|
||||
() -> new EasyRetryServerException("GroupName已经存在 {}", groupConfigRequestVO.getGroupName()));
|
||||
|
||||
// 保存组配置
|
||||
doSaveGroupConfig(groupConfigRequestVO);
|
||||
@ -105,6 +105,7 @@ public class GroupConfigServiceImpl implements GroupConfigService {
|
||||
|
||||
/**
|
||||
* 保存序号生成规则配置失败
|
||||
*
|
||||
* @param groupConfigRequestVO 组、场景、通知配置类
|
||||
*/
|
||||
private void doSaveSequenceAlloc(final GroupConfigRequestVO groupConfigRequestVO) {
|
||||
@ -120,7 +121,7 @@ public class GroupConfigServiceImpl implements GroupConfigService {
|
||||
public Boolean updateGroup(GroupConfigRequestVO groupConfigRequestVO) {
|
||||
|
||||
GroupConfig groupConfig = groupConfigMapper.selectOne(
|
||||
new LambdaQueryWrapper<GroupConfig>().eq(GroupConfig::getGroupName, groupConfigRequestVO.getGroupName()));
|
||||
new LambdaQueryWrapper<GroupConfig>().eq(GroupConfig::getGroupName, groupConfigRequestVO.getGroupName()));
|
||||
if (Objects.isNull(groupConfig)) {
|
||||
return false;
|
||||
}
|
||||
@ -128,15 +129,15 @@ public class GroupConfigServiceImpl implements GroupConfigService {
|
||||
groupConfig.setVersion(groupConfig.getVersion() + 1);
|
||||
BeanUtils.copyProperties(groupConfigRequestVO, groupConfig);
|
||||
|
||||
Assert.isTrue(totalPartition > groupConfigRequestVO.getGroupPartition(), () -> new EasyRetryServerException("分区超过最大分区. [{}]", totalPartition-1));
|
||||
Assert.isTrue(totalPartition > groupConfigRequestVO.getGroupPartition(), () -> new EasyRetryServerException("分区超过最大分区. [{}]", totalPartition - 1));
|
||||
Assert.isTrue(groupConfigRequestVO.getGroupPartition() >= 0, () -> new EasyRetryServerException("分区不能是负数."));
|
||||
|
||||
// 校验retry_task_x和retry_dead_letter_x是否存在
|
||||
checkGroupPartition(groupConfig);
|
||||
|
||||
Assert.isTrue(1 == groupConfigMapper.update(groupConfig,
|
||||
new LambdaUpdateWrapper<GroupConfig>().eq(GroupConfig::getGroupName, groupConfigRequestVO.getGroupName())),
|
||||
() -> new EasyRetryServerException("exception occurred while adding group. groupConfigVO[{}]", groupConfigRequestVO));
|
||||
new LambdaUpdateWrapper<GroupConfig>().eq(GroupConfig::getGroupName, groupConfigRequestVO.getGroupName())),
|
||||
() -> new EasyRetryServerException("exception occurred while adding group. groupConfigVO[{}]", groupConfigRequestVO));
|
||||
|
||||
doUpdateNotifyConfig(groupConfigRequestVO);
|
||||
|
||||
@ -152,6 +153,13 @@ public class GroupConfigServiceImpl implements GroupConfigService {
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateGroupStatus(String groupName, Integer status) {
|
||||
GroupConfig groupConfig = new GroupConfig();
|
||||
groupConfig.setGroupStatus(status);
|
||||
return groupConfigMapper.update(groupConfig, new LambdaUpdateWrapper<GroupConfig>().eq(GroupConfig::getGroupName, groupName)) == 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<List<GroupConfigResponseVO>> getGroupConfigForPage(GroupConfigQueryVO queryVO) {
|
||||
|
||||
@ -191,11 +199,11 @@ public class GroupConfigServiceImpl implements GroupConfigService {
|
||||
if (Objects.isNull(groupConfigRequestVO.getGroupPartition())) {
|
||||
groupConfig.setGroupPartition(HashUtil.bkdrHash(groupConfigRequestVO.getGroupName()) % totalPartition);
|
||||
} else {
|
||||
Assert.isTrue(totalPartition > groupConfigRequestVO.getGroupPartition(), () -> new EasyRetryServerException("分区超过最大分区. [{}]", totalPartition-1));
|
||||
Assert.isTrue(totalPartition > groupConfigRequestVO.getGroupPartition(), () -> new EasyRetryServerException("分区超过最大分区. [{}]", totalPartition - 1));
|
||||
Assert.isTrue(groupConfigRequestVO.getGroupPartition() >= 0, () -> new EasyRetryServerException("分区不能是负数."));
|
||||
}
|
||||
|
||||
Assert.isTrue(1 == groupConfigMapper.insert(groupConfig), () -> new EasyRetryServerException("新增组异常异常 groupConfigVO[{}]", groupConfigRequestVO));
|
||||
Assert.isTrue(1 == groupConfigMapper.insert(groupConfig), () -> new EasyRetryServerException("新增组异常异常 groupConfigVO[{}]", groupConfigRequestVO));
|
||||
|
||||
// 校验retry_task_x和retry_dead_letter_x是否存在
|
||||
checkGroupPartition(groupConfig);
|
||||
@ -245,7 +253,7 @@ public class GroupConfigServiceImpl implements GroupConfigService {
|
||||
@Override
|
||||
public List<String> getAllGroupNameList() {
|
||||
return groupConfigMapper.selectList(new LambdaQueryWrapper<GroupConfig>()
|
||||
.select(GroupConfig::getGroupName)).stream()
|
||||
.select(GroupConfig::getGroupName)).stream()
|
||||
.map(GroupConfig::getGroupName)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
@ -266,7 +274,7 @@ public class GroupConfigServiceImpl implements GroupConfigService {
|
||||
notifyConfig.setCreateDt(LocalDateTime.now());
|
||||
|
||||
Assert.isTrue(1 == notifyConfigMapper.insert(notifyConfig),
|
||||
() -> new EasyRetryServerException("failed to insert notify. sceneConfig:[{}]", JsonUtil.toJsonString(notifyConfig)));
|
||||
() -> new EasyRetryServerException("failed to insert notify. sceneConfig:[{}]", JsonUtil.toJsonString(notifyConfig)));
|
||||
}
|
||||
|
||||
private void doSaveSceneConfig(List<GroupConfigRequestVO.SceneConfigVO> sceneList, String groupName) {
|
||||
@ -279,7 +287,7 @@ public class GroupConfigServiceImpl implements GroupConfigService {
|
||||
sceneConfig.setGroupName(groupName);
|
||||
|
||||
Assert.isTrue(1 == sceneConfigMapper.insert(sceneConfig),
|
||||
() -> new EasyRetryServerException("failed to insert scene. sceneConfig:[{}]", JsonUtil.toJsonString(sceneConfig)));
|
||||
() -> new EasyRetryServerException("failed to insert scene. sceneConfig:[{}]", JsonUtil.toJsonString(sceneConfig)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -302,16 +310,16 @@ public class GroupConfigServiceImpl implements GroupConfigService {
|
||||
} else if (sceneConfigVO.getIsDeleted() == 1) {
|
||||
Assert.isTrue(
|
||||
1 == sceneConfigMapper.deleteById(oldSceneConfig.getId()),
|
||||
() -> new EasyRetryServerException("failed to delete scene. [{}]", sceneConfigVO.getSceneName()));
|
||||
() -> new EasyRetryServerException("failed to delete scene. [{}]", sceneConfigVO.getSceneName()));
|
||||
} else {
|
||||
SceneConfig sceneConfig = SceneConfigConverter.INSTANCE.convert(sceneConfigVO);
|
||||
sceneConfig.setGroupName(groupConfigRequestVO.getGroupName());
|
||||
|
||||
Assert.isTrue(1 == sceneConfigMapper.update(sceneConfig,
|
||||
new LambdaQueryWrapper<SceneConfig>()
|
||||
.eq(SceneConfig::getGroupName, sceneConfig.getGroupName())
|
||||
.eq(SceneConfig::getSceneName, sceneConfig.getSceneName())),
|
||||
() -> new EasyRetryServerException("failed to update scene. sceneConfig:[{}]", JsonUtil.toJsonString(sceneConfig)));
|
||||
new LambdaQueryWrapper<SceneConfig>()
|
||||
.eq(SceneConfig::getGroupName, sceneConfig.getGroupName())
|
||||
.eq(SceneConfig::getSceneName, sceneConfig.getSceneName())),
|
||||
() -> new EasyRetryServerException("failed to update scene. sceneConfig:[{}]", JsonUtil.toJsonString(sceneConfig)));
|
||||
}
|
||||
|
||||
iterator.remove();
|
||||
@ -337,7 +345,7 @@ public class GroupConfigServiceImpl implements GroupConfigService {
|
||||
} else if (Objects.nonNull(notifyConfigVO.getId()) && notifyConfigVO.getIsDeleted() == 1) {
|
||||
// delete
|
||||
Assert.isTrue(1 == notifyConfigMapper.deleteById(notifyConfigVO.getId()),
|
||||
() -> new EasyRetryServerException("failed to delete notify. sceneConfig:[{}]", JsonUtil.toJsonString(notifyConfigVO)));
|
||||
() -> new EasyRetryServerException("failed to delete notify. sceneConfig:[{}]", JsonUtil.toJsonString(notifyConfigVO)));
|
||||
} else {
|
||||
// update
|
||||
Assert.isTrue(1 == notifyConfigMapper.update(notifyConfig,
|
||||
@ -345,7 +353,7 @@ public class GroupConfigServiceImpl implements GroupConfigService {
|
||||
.eq(NotifyConfig::getId, notifyConfigVO.getId())
|
||||
.eq(NotifyConfig::getGroupName, notifyConfig.getGroupName())
|
||||
.eq(NotifyConfig::getNotifyScene, notifyConfig.getNotifyScene())),
|
||||
() -> new EasyRetryServerException("failed to update notify. sceneConfig:[{}]", JsonUtil.toJsonString(notifyConfig)));
|
||||
() -> new EasyRetryServerException("failed to update notify. sceneConfig:[{}]", JsonUtil.toJsonString(notifyConfig)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -41,15 +41,6 @@ public class CacheConsumerGroup implements Lifecycle {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有缓存
|
||||
*
|
||||
* @return 缓存对象
|
||||
*/
|
||||
public static String get(String hostId) {
|
||||
return CACHE.getIfPresent(hostId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 无缓存时添加
|
||||
* 有缓存时更新
|
||||
|
||||
@ -57,6 +57,8 @@ public abstract class AbstractRegister implements Register, Lifecycle {
|
||||
serverNode.setCreateDt(LocalDateTime.now());
|
||||
serverNode.setContextPath(context.getContextPath());
|
||||
serverNode.setExpireAt(getExpireAt(context));
|
||||
serverNode.setExtAttrs(context.getExtAttrs());
|
||||
|
||||
return serverNode;
|
||||
}
|
||||
|
||||
|
||||
@ -26,4 +26,6 @@ public class RegisterContext {
|
||||
|
||||
private String contextPath;
|
||||
|
||||
private String extAttrs;
|
||||
|
||||
}
|
||||
|
||||
@ -6,7 +6,9 @@ import com.aizuda.easy.retry.common.core.context.SpringContext;
|
||||
import com.aizuda.easy.retry.common.core.enums.NodeTypeEnum;
|
||||
import com.aizuda.easy.retry.common.core.log.LogUtils;
|
||||
import com.aizuda.easy.retry.common.core.util.HostUtils;
|
||||
import com.aizuda.easy.retry.common.core.util.JsonUtil;
|
||||
import com.aizuda.easy.retry.server.config.SystemProperties;
|
||||
import com.aizuda.easy.retry.server.dto.ServerNodeExtAttrs;
|
||||
import com.aizuda.easy.retry.server.persistence.mybatis.po.ServerNode;
|
||||
import com.aizuda.easy.retry.server.support.Register;
|
||||
import com.aizuda.easy.retry.server.support.cache.CacheConsumerGroup;
|
||||
@ -15,6 +17,7 @@ import com.aizuda.easy.retry.server.support.handler.ServerNodeBalance;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.web.ServerProperties;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
@ -44,6 +47,8 @@ public class ServerRegister extends AbstractRegister {
|
||||
public ServerNodeBalance serverNodeBalance;
|
||||
@Autowired
|
||||
private SystemProperties systemProperties;
|
||||
@Autowired
|
||||
private ServerProperties serverProperties;
|
||||
|
||||
static {
|
||||
CURRENT_CID = IdUtil.getSnowflakeNextIdStr();
|
||||
@ -57,11 +62,16 @@ public class ServerRegister extends AbstractRegister {
|
||||
|
||||
@Override
|
||||
protected void beforeProcessor(RegisterContext context) {
|
||||
// 新增扩展参数
|
||||
ServerNodeExtAttrs serverNodeExtAttrs = new ServerNodeExtAttrs();
|
||||
serverNodeExtAttrs.setWebPort(serverProperties.getPort());
|
||||
|
||||
context.setGroupName(GROUP_NAME);
|
||||
context.setHostId(CURRENT_CID);
|
||||
context.setHostIp(HostUtils.getIp());
|
||||
context.setHostPort(systemProperties.getNettyPort());
|
||||
context.setContextPath(StrUtil.EMPTY);
|
||||
context.setExtAttrs(JsonUtil.toJsonString(serverNodeExtAttrs));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.aizuda.easy.retry.server.web.controller;
|
||||
|
||||
import com.aizuda.easy.retry.server.service.DashBoardService;
|
||||
import com.aizuda.easy.retry.server.support.cache.CacheConsumerGroup;
|
||||
import com.aizuda.easy.retry.server.web.model.base.PageResult;
|
||||
import com.aizuda.easy.retry.server.web.model.request.ServerNodeQueryVO;
|
||||
import com.aizuda.easy.retry.server.web.model.response.ActivePodQuantityResponseVO;
|
||||
@ -16,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 看板接口
|
||||
@ -75,5 +77,10 @@ public class DashBoardController {
|
||||
return dashBoardService.pods(serverNodeQueryVO);
|
||||
}
|
||||
|
||||
// @LoginRequired
|
||||
@GetMapping("/consumer/group")
|
||||
public Set<String> allConsumerGroupName() {
|
||||
return CacheConsumerGroup.getAllConsumerGroupName();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -41,6 +41,14 @@ public class GroupConfigController {
|
||||
return groupConfigService.updateGroup(groupConfigRequestVO);
|
||||
}
|
||||
|
||||
@LoginRequired
|
||||
@PutMapping("status")
|
||||
public Boolean updateGroupStatus(@RequestBody @Validated GroupConfigRequestVO groupConfigRequestVO) {
|
||||
String groupName = groupConfigRequestVO.getGroupName();
|
||||
Integer groupStatus = groupConfigRequestVO.getGroupStatus();
|
||||
return groupConfigService.updateGroupStatus(groupName, groupStatus);
|
||||
}
|
||||
|
||||
@LoginRequired
|
||||
@GetMapping("list")
|
||||
public PageResult<List<GroupConfigResponseVO>> getGroupConfigForPage(GroupConfigQueryVO queryVO) {
|
||||
|
||||
@ -17,7 +17,7 @@ public class CORSInterceptor implements HandlerInterceptor {
|
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
||||
//添加跨域CORS
|
||||
response.setHeader("Access-Control-Allow-Origin", "*");
|
||||
response.setHeader("Access-Control-Allow-Headers", "X-Requested-With,content-type,token");
|
||||
response.setHeader("Access-Control-Allow-Headers", "X-Requested-With,content-type,token,easy-retry-auth");
|
||||
response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -12,8 +12,6 @@ import java.time.LocalDateTime;
|
||||
@Data
|
||||
public class ServerNodeResponseVO {
|
||||
|
||||
private Long id;
|
||||
|
||||
private String groupName;
|
||||
|
||||
private String hostId;
|
||||
@ -29,4 +27,6 @@ public class ServerNodeResponseVO {
|
||||
private LocalDateTime createDt;
|
||||
|
||||
private LocalDateTime updateDt;
|
||||
|
||||
private String extAttrs;
|
||||
}
|
||||
|
||||
@ -1 +1 @@
|
||||
<!DOCTYPE html><html lang="zh-cmn-Hans"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/logo.png"><title>Easy-Retry</title><style>.first-loading-wrp{display:flex;justify-content:center;align-items:center;flex-direction:column;min-height:420px;height:100%}.first-loading-wrp>h1{font-size:128px}.first-loading-wrp .loading-wrp{padding:98px;display:flex;justify-content:center;align-items:center}.dot{animation:antRotate 1.2s infinite linear;transform:rotate(45deg);position:relative;display:inline-block;font-size:32px;width:32px;height:32px;box-sizing:border-box}.dot i{width:14px;height:14px;position:absolute;display:block;background-color:#1890ff;border-radius:100%;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.dot i:nth-child(1){top:0;left:0}.dot i:nth-child(2){top:0;right:0;-webkit-animation-delay:.4s;animation-delay:.4s}.dot i:nth-child(3){right:0;bottom:0;-webkit-animation-delay:.8s;animation-delay:.8s}.dot i:nth-child(4){bottom:0;left:0;-webkit-animation-delay:1.2s;animation-delay:1.2s}@keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@-webkit-keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@keyframes antSpinMove{to{opacity:1}}@-webkit-keyframes antSpinMove{to{opacity:1}}</style><link href="/css/chunk-758b2aa4.1c9c785f.css" rel="prefetch"><link href="/css/chunk-ec9b3564.28cc4171.css" rel="prefetch"><link href="/css/chunk-ff9025ec.cd4961ff.css" rel="prefetch"><link href="/css/user.6ccd4506.css" rel="prefetch"><link href="/js/chunk-251479d0.02a7229c.js" rel="prefetch"><link href="/js/chunk-2d0a4079.4d264cd9.js" rel="prefetch"><link href="/js/chunk-2d0b7230.4064d0df.js" rel="prefetch"><link href="/js/chunk-2d0c8f97.a9d2dac3.js" rel="prefetch"><link href="/js/chunk-2d0f085f.03b25e42.js" rel="prefetch"><link href="/js/chunk-2d21a08f.3d49c44d.js" rel="prefetch"><link href="/js/chunk-2d228eef.f0f9be1a.js" rel="prefetch"><link href="/js/chunk-35f76107.ce57177f.js" rel="prefetch"><link href="/js/chunk-40597980.e5a569a3.js" rel="prefetch"><link href="/js/chunk-74bac939.38b2f7f1.js" rel="prefetch"><link href="/js/chunk-758b2aa4.9ac9e857.js" rel="prefetch"><link href="/js/chunk-ec9b3564.36e9e5c4.js" rel="prefetch"><link href="/js/chunk-ff9025ec.ae253938.js" rel="prefetch"><link href="/js/fail.36a6a3fb.js" rel="prefetch"><link href="/js/lang-zh-CN-account-settings.f8f25eaf.js" rel="prefetch"><link href="/js/lang-zh-CN-account.f7a734c3.js" rel="prefetch"><link href="/js/lang-zh-CN-dashboard-analysis.98c2997a.js" rel="prefetch"><link href="/js/lang-zh-CN-dashboard.48536f52.js" rel="prefetch"><link href="/js/lang-zh-CN-form-basicForm.ff3088ac.js" rel="prefetch"><link href="/js/lang-zh-CN-form.39cd9999.js" rel="prefetch"><link href="/js/lang-zh-CN-global.bf0df5c8.js" rel="prefetch"><link href="/js/lang-zh-CN-menu.25425a62.js" rel="prefetch"><link href="/js/lang-zh-CN-result-fail.232762aa.js" rel="prefetch"><link href="/js/lang-zh-CN-result-success.3519c60c.js" rel="prefetch"><link href="/js/lang-zh-CN-result.b3df3bc6.js" rel="prefetch"><link href="/js/lang-zh-CN-setting.8c2ce690.js" rel="prefetch"><link href="/js/lang-zh-CN-user.81513cba.js" rel="prefetch"><link href="/js/lang-zh-CN.83db5a7f.js" rel="prefetch"><link href="/js/user.e8928521.js" rel="prefetch"><link href="/css/app.37a20ada.css" rel="preload" as="style"><link href="/css/chunk-vendors.5be6e05a.css" rel="preload" as="style"><link href="/js/app.4635c934.js" rel="preload" as="script"><link href="/js/chunk-vendors.b8c3b6d4.js" rel="preload" as="script"><link href="/css/chunk-vendors.5be6e05a.css" rel="stylesheet"><link href="/css/app.37a20ada.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but vue-antd-pro doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"><div class="first-loading-wrp"><h2>Easy-Retry</h2><div class="loading-wrp"><span class="dot dot-spin"><i></i><i></i><i></i><i></i></span></div><div style="display: flex; justify-content: center; align-items: center;">分布式重试服务平台</div></div></div><script src="//cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.min.js"></script><script src="//cdn.jsdelivr.net/npm/vue-router@3.5.1/dist/vue-router.min.js"></script><script src="//cdn.jsdelivr.net/npm/vuex@3.1.1/dist/vuex.min.js"></script><script src="//cdn.jsdelivr.net/npm/axios@0.21.1/dist/axios.min.js"></script><script src="/js/chunk-vendors.b8c3b6d4.js"></script><script src="/js/app.4635c934.js"></script></body></html>
|
||||
<!DOCTYPE html><html lang="zh-cmn-Hans"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/logo.png"><title>Easy-Retry</title><style>.first-loading-wrp{display:flex;justify-content:center;align-items:center;flex-direction:column;min-height:420px;height:100%}.first-loading-wrp>h1{font-size:128px}.first-loading-wrp .loading-wrp{padding:98px;display:flex;justify-content:center;align-items:center}.dot{animation:antRotate 1.2s infinite linear;transform:rotate(45deg);position:relative;display:inline-block;font-size:32px;width:32px;height:32px;box-sizing:border-box}.dot i{width:14px;height:14px;position:absolute;display:block;background-color:#1890ff;border-radius:100%;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.dot i:nth-child(1){top:0;left:0}.dot i:nth-child(2){top:0;right:0;-webkit-animation-delay:.4s;animation-delay:.4s}.dot i:nth-child(3){right:0;bottom:0;-webkit-animation-delay:.8s;animation-delay:.8s}.dot i:nth-child(4){bottom:0;left:0;-webkit-animation-delay:1.2s;animation-delay:1.2s}@keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@-webkit-keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@keyframes antSpinMove{to{opacity:1}}@-webkit-keyframes antSpinMove{to{opacity:1}}</style><link href="/css/chunk-758b2aa4.1c9c785f.css" rel="prefetch"><link href="/css/chunk-ec9b3564.28cc4171.css" rel="prefetch"><link href="/css/chunk-ff9025ec.cd4961ff.css" rel="prefetch"><link href="/css/user.6ccd4506.css" rel="prefetch"><link href="/js/chunk-251479d0.4fe170d5.js" rel="prefetch"><link href="/js/chunk-2d0a4079.61ef731e.js" rel="prefetch"><link href="/js/chunk-2d0b7230.e4f00148.js" rel="prefetch"><link href="/js/chunk-2d0c8f97.51a4523c.js" rel="prefetch"><link href="/js/chunk-2d0f085f.c750733c.js" rel="prefetch"><link href="/js/chunk-2d21a08f.96e1f14b.js" rel="prefetch"><link href="/js/chunk-2d228eef.71982336.js" rel="prefetch"><link href="/js/chunk-35f76107.e8f49d93.js" rel="prefetch"><link href="/js/chunk-40597980.edfcdfd5.js" rel="prefetch"><link href="/js/chunk-74bac939.e1e1cfb0.js" rel="prefetch"><link href="/js/chunk-758b2aa4.7e9002b2.js" rel="prefetch"><link href="/js/chunk-ec9b3564.151eccdb.js" rel="prefetch"><link href="/js/chunk-ff9025ec.2c833c1a.js" rel="prefetch"><link href="/js/fail.746427de.js" rel="prefetch"><link href="/js/lang-zh-CN-account-settings.f8f25eaf.js" rel="prefetch"><link href="/js/lang-zh-CN-account.f7a734c3.js" rel="prefetch"><link href="/js/lang-zh-CN-dashboard-analysis.98c2997a.js" rel="prefetch"><link href="/js/lang-zh-CN-dashboard.48536f52.js" rel="prefetch"><link href="/js/lang-zh-CN-form-basicForm.ff3088ac.js" rel="prefetch"><link href="/js/lang-zh-CN-form.39cd9999.js" rel="prefetch"><link href="/js/lang-zh-CN-global.bf0df5c8.js" rel="prefetch"><link href="/js/lang-zh-CN-menu.25425a62.js" rel="prefetch"><link href="/js/lang-zh-CN-result-fail.232762aa.js" rel="prefetch"><link href="/js/lang-zh-CN-result-success.3519c60c.js" rel="prefetch"><link href="/js/lang-zh-CN-result.b3df3bc6.js" rel="prefetch"><link href="/js/lang-zh-CN-setting.8c2ce690.js" rel="prefetch"><link href="/js/lang-zh-CN-user.81513cba.js" rel="prefetch"><link href="/js/lang-zh-CN.83db5a7f.js" rel="prefetch"><link href="/js/user.6eaa62ba.js" rel="prefetch"><link href="/css/app.37a20ada.css" rel="preload" as="style"><link href="/css/chunk-vendors.5be6e05a.css" rel="preload" as="style"><link href="/js/app.08bed331.js" rel="preload" as="script"><link href="/js/chunk-vendors.b8c3b6d4.js" rel="preload" as="script"><link href="/css/chunk-vendors.5be6e05a.css" rel="stylesheet"><link href="/css/app.37a20ada.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but vue-antd-pro doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"><div class="first-loading-wrp"><h2>Easy-Retry</h2><div class="loading-wrp"><span class="dot dot-spin"><i></i><i></i><i></i><i></i></span></div><div style="display: flex; justify-content: center; align-items: center;">分布式重试服务平台</div></div></div><script src="//cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.min.js"></script><script src="//cdn.jsdelivr.net/npm/vue-router@3.5.1/dist/vue-router.min.js"></script><script src="//cdn.jsdelivr.net/npm/vuex@3.1.1/dist/vuex.min.js"></script><script src="//cdn.jsdelivr.net/npm/axios@0.21.1/dist/axios.min.js"></script><script src="/js/chunk-vendors.b8c3b6d4.js"></script><script src="/js/app.08bed331.js"></script></body></html>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-251479d0"],{"339f":function(t,e,r){"use strict";var a=function(){var t=this,e=t._self._c;return e("div",[e("div",{staticStyle:{margin:"20px 0","border-left":"#f5222d 5px solid","font-size":"medium","font-weight":"bold"}},[t._v(" 调用日志详情 (总调度次数: "+t._s(t.total)+") ")]),e("a-card",[e("s-table",{ref:"table",attrs:{size:"default",rowKey:"key",columns:t.columns,data:t.loadData},scopedSlots:t._u([{key:"serial",fn:function(r,a){return e("span",{},[t._v(" "+t._s(a.id)+" ")])}}])})],1)],1)},s=[],n=r("c1df"),o=r.n(n),i=r("0fea"),l=r("2af9"),d={name:"RetryTaskLogMessageList",components:{STable:l["j"]},data:function(){var t=this;return{columns:[{title:"#",scopedSlots:{customRender:"serial"},width:"10%"},{title:"信息",dataIndex:"message",width:"50%"},{title:"触发时间",dataIndex:"createDt",sorter:!0,customRender:function(t){return o()(t).format("YYYY-MM-DD HH:mm:ss")},width:"10%"}],queryParam:{},loadData:function(e){return Object(i["p"])(Object.assign(e,t.queryParam)).then((function(e){return t.total=e.total,e}))},total:0}},methods:{refreshTable:function(t){this.queryParam=t,this.$refs.table.refresh(!0)}}},c=d,f=r("2877"),u=Object(f["a"])(c,a,s,!1,null,"fb0977b6",null);e["a"]=u.exports},"5fe2":function(t,e,r){"use strict";r.r(e);r("b0c0");var a=function(){var t=this,e=t._self._c;return e("div",[e("page-header-wrapper",{staticStyle:{margin:"-24px -1px 0"},on:{back:function(){return t.$router.go(-1)}}},[e("div")]),e("a-card",{attrs:{bordered:!1}},[null!==t.retryInfo?e("a-descriptions",{attrs:{title:"",bordered:""}},[e("a-descriptions-item",{attrs:{label:"组名称"}},[t._v(" "+t._s(t.retryInfo.groupName)+" ")]),e("a-descriptions-item",{attrs:{label:"场景名称"}},[t._v(" "+t._s(t.retryInfo.sceneName)+" ")]),e("a-descriptions-item",{attrs:{label:"唯一id"}},[t._v(" "+t._s(t.retryInfo.uniqueId)+" ")]),e("a-descriptions-item",{attrs:{label:"幂等id",span:2}},[t._v(" "+t._s(t.retryInfo.idempotentId)+" ")]),e("a-descriptions-item",{attrs:{label:"业务编号"}},[t._v(" "+t._s(t.retryInfo.bizNo)+" ")]),e("a-descriptions-item",{attrs:{label:"下次触发时间"}},[t._v(" "+t._s(t.parseDate(t.retryInfo.nextTriggerAt))+" ")]),e("a-descriptions-item",{attrs:{label:"执行时间"}},[t._v(" "+t._s(t.parseDate(t.retryInfo.createDt))+" ")]),e("a-descriptions-item",{attrs:{label:"当前重试状态 | 数据类型"}},[e("a-tag",{attrs:{color:"red"}},[t._v(" "+t._s(t.retryStatus[t.retryInfo.retryStatus])+" ")]),e("a-divider",{attrs:{type:"vertical"}}),e("a-tag",{attrs:{color:t.taskType[t.retryInfo.taskType].color}},[t._v(" "+t._s(t.taskType[t.retryInfo.taskType].name)+" ")])],1),e("a-descriptions-item",{attrs:{label:"执行器名称",span:3}},[t._v(" "+t._s(t.retryInfo.executorName)+" ")]),e("a-descriptions-item",{attrs:{label:"参数",span:3}},[t._v(" "+t._s(t.retryInfo.argsStr)+" ")]),e("a-descriptions-item",{attrs:{label:"扩展参数",span:3}},[t._v(" "+t._s(t.retryInfo.extAttrs)+" ")])],1):t._e()],1),e("RetryTaskLogMessageList",{ref:"retryTaskLogMessageListRef"})],1)},s=[],n=r("0fea"),o=r("c1df"),i=r.n(o),l=r("2af9"),d=r("339f"),c={name:"RetryLogInfo",components:{RetryTaskLogMessageList:d["a"],STable:l["j"]},data:function(){return{retryInfo:null,retryStatus:{0:"处理中",1:"处理成功",2:"最大次数"},taskType:{1:{name:"重试数据",color:"#d06892"},2:{name:"回调数据",color:"#f5a22d"}}}},created:function(){var t=this,e=this.$route.query.id;e&&Object(n["o"])(e).then((function(e){t.retryInfo=e.data,t.queryParam={groupName:t.retryInfo.groupName,uniqueId:t.retryInfo.uniqueId},t.$refs.retryTaskLogMessageListRef.refreshTable(t.queryParam)}))},methods:{parseDate:function(t){return i()(t).format("YYYY-MM-DD HH:mm:ss")}}},f=c,u=r("2877"),p=Object(u["a"])(f,a,s,!1,null,"2bf6bc3d",null);e["default"]=p.exports}}]);
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-251479d0"],{"339f":function(t,e,r){"use strict";var a=function(){var t=this,e=t._self._c;return e("div",[e("div",{staticStyle:{margin:"20px 0","border-left":"#f5222d 5px solid","font-size":"medium","font-weight":"bold"}},[t._v(" 调用日志详情 (总调度次数: "+t._s(t.total)+") ")]),e("a-card",[e("s-table",{ref:"table",attrs:{size:"default",rowKey:"key",columns:t.columns,data:t.loadData},scopedSlots:t._u([{key:"serial",fn:function(r,a){return e("span",{},[t._v(" "+t._s(a.id)+" ")])}}])})],1)],1)},s=[],n=r("c1df"),o=r.n(n),i=r("0fea"),l=r("2af9"),d={name:"RetryTaskLogMessageList",components:{STable:l["j"]},data:function(){var t=this;return{columns:[{title:"#",scopedSlots:{customRender:"serial"},width:"10%"},{title:"信息",dataIndex:"message",width:"50%"},{title:"触发时间",dataIndex:"createDt",sorter:!0,customRender:function(t){return o()(t).format("YYYY-MM-DD HH:mm:ss")},width:"10%"}],queryParam:{},loadData:function(e){return Object(i["q"])(Object.assign(e,t.queryParam)).then((function(e){return t.total=e.total,e}))},total:0}},methods:{refreshTable:function(t){this.queryParam=t,this.$refs.table.refresh(!0)}}},c=d,f=r("2877"),u=Object(f["a"])(c,a,s,!1,null,"fb0977b6",null);e["a"]=u.exports},"5fe2":function(t,e,r){"use strict";r.r(e);r("b0c0");var a=function(){var t=this,e=t._self._c;return e("div",[e("page-header-wrapper",{staticStyle:{margin:"-24px -1px 0"},on:{back:function(){return t.$router.go(-1)}}},[e("div")]),e("a-card",{attrs:{bordered:!1}},[null!==t.retryInfo?e("a-descriptions",{attrs:{title:"",bordered:""}},[e("a-descriptions-item",{attrs:{label:"组名称"}},[t._v(" "+t._s(t.retryInfo.groupName)+" ")]),e("a-descriptions-item",{attrs:{label:"场景名称"}},[t._v(" "+t._s(t.retryInfo.sceneName)+" ")]),e("a-descriptions-item",{attrs:{label:"唯一id"}},[t._v(" "+t._s(t.retryInfo.uniqueId)+" ")]),e("a-descriptions-item",{attrs:{label:"幂等id",span:2}},[t._v(" "+t._s(t.retryInfo.idempotentId)+" ")]),e("a-descriptions-item",{attrs:{label:"业务编号"}},[t._v(" "+t._s(t.retryInfo.bizNo)+" ")]),e("a-descriptions-item",{attrs:{label:"下次触发时间"}},[t._v(" "+t._s(t.parseDate(t.retryInfo.nextTriggerAt))+" ")]),e("a-descriptions-item",{attrs:{label:"执行时间"}},[t._v(" "+t._s(t.parseDate(t.retryInfo.createDt))+" ")]),e("a-descriptions-item",{attrs:{label:"当前重试状态 | 数据类型"}},[e("a-tag",{attrs:{color:"red"}},[t._v(" "+t._s(t.retryStatus[t.retryInfo.retryStatus])+" ")]),e("a-divider",{attrs:{type:"vertical"}}),e("a-tag",{attrs:{color:t.taskType[t.retryInfo.taskType].color}},[t._v(" "+t._s(t.taskType[t.retryInfo.taskType].name)+" ")])],1),e("a-descriptions-item",{attrs:{label:"执行器名称",span:3}},[t._v(" "+t._s(t.retryInfo.executorName)+" ")]),e("a-descriptions-item",{attrs:{label:"参数",span:3}},[t._v(" "+t._s(t.retryInfo.argsStr)+" ")]),e("a-descriptions-item",{attrs:{label:"扩展参数",span:3}},[t._v(" "+t._s(t.retryInfo.extAttrs)+" ")])],1):t._e()],1),e("RetryTaskLogMessageList",{ref:"retryTaskLogMessageListRef"})],1)},s=[],n=r("0fea"),o=r("c1df"),i=r.n(o),l=r("2af9"),d=r("339f"),c={name:"RetryLogInfo",components:{RetryTaskLogMessageList:d["a"],STable:l["j"]},data:function(){return{retryInfo:null,retryStatus:{0:"处理中",1:"处理成功",2:"最大次数"},taskType:{1:{name:"重试数据",color:"#d06892"},2:{name:"回调数据",color:"#f5a22d"}}}},created:function(){var t=this,e=this.$route.query.id;e&&Object(n["p"])(e).then((function(e){t.retryInfo=e.data,t.queryParam={groupName:t.retryInfo.groupName,uniqueId:t.retryInfo.uniqueId},t.$refs.retryTaskLogMessageListRef.refreshTable(t.queryParam)}))},methods:{parseDate:function(t){return i()(t).format("YYYY-MM-DD HH:mm:ss")}}},f=c,u=r("2877"),p=Object(u["a"])(f,a,s,!1,null,"2bf6bc3d",null);e["default"]=p.exports}}]);
|
||||
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0b7230"],{"1faf":function(t,e,a){"use strict";a.r(e);a("d3b7"),a("25f0");var r=function(){var t=this,e=t._self._c;return e("a-card",{attrs:{bordered:!1}},[e("div",{staticClass:"table-page-search-wrapper"},[e("a-form",{attrs:{layout:"inline"}},[e("a-row",{attrs:{gutter:48}},[e("a-col",{attrs:{md:8,sm:24}},[e("a-form-item",{attrs:{label:"用户名"}},[e("a-input",{attrs:{placeholder:"请输入用户名",allowClear:""},model:{value:t.queryParam.username,callback:function(e){t.$set(t.queryParam,"username",e)},expression:"queryParam.username"}})],1)],1),e("a-col",{attrs:{md:t.advanced?24:8,sm:24}},[e("span",{staticClass:"table-page-search-submitButtons",style:t.advanced&&{float:"right",overflow:"hidden"}||{}},[e("a-button",{attrs:{type:"primary"},on:{click:function(e){return t.$refs.table.refresh(!0)}}},[t._v("查询")]),e("a-button",{staticStyle:{"margin-left":"8px"},on:{click:function(){return t.queryParam={}}}},[t._v("重置")])],1)])],1)],1)],1),e("div",{staticClass:"table-operator"},[e("a-button",{attrs:{type:"primary",icon:"plus"},on:{click:function(e){return t.handleNew()}}},[t._v("新建")]),t.selectedRowKeys.length>0?e("a-dropdown",{directives:[{name:"action",rawName:"v-action:edit",arg:"edit"}]},[e("a-menu",{attrs:{slot:"overlay"},slot:"overlay"},[e("a-menu-item",{key:"1"},[e("a-icon",{attrs:{type:"delete"}}),t._v("删除")],1),e("a-menu-item",{key:"2"},[e("a-icon",{attrs:{type:"lock"}}),t._v("锁定")],1)],1),e("a-button",{staticStyle:{"margin-left":"8px"}},[t._v(" 批量操作 "),e("a-icon",{attrs:{type:"down"}})],1)],1):t._e()],1),e("s-table",{ref:"table",attrs:{size:"default",rowKey:"key",columns:t.columns,data:t.loadData,alert:t.options.alert,rowSelection:t.options.rowSelection},scopedSlots:t._u([{key:"serial",fn:function(a,r,n){return e("span",{},[t._v(" "+t._s(n+1)+" ")])}},{key:"groupNameList",fn:function(a,r){return e("span",{},[t._v(" "+t._s(2===r.role?"所有组":a.toString())+" ")])}},{key:"role",fn:function(a,r){return e("span",{},[t._v(" "+t._s(2===r.role?"管理员":"普通用户")+" ")])}},{key:"action",fn:function(a,r){return e("span",{},[[e("a",{on:{click:function(e){return t.handleEdit(r)}}},[t._v("编辑")]),e("a-divider",{attrs:{type:"vertical"}}),e("a",{attrs:{href:"javascript:;"}},[t._v("删除")])]],2)}}])})],1)},n=[],o=a("261e"),s=a("27e3"),i=a("c1df"),c=a.n(i),l=a("0fea"),u=a("2af9"),d={name:"TableListWrapper",components:{AInput:s["a"],ATextarea:o["a"],STable:u["j"]},data:function(){var t=this;return{currentComponet:"List",record:"",mdl:{},advanced:!1,queryParam:{},columns:[{title:"#",width:"5%",scopedSlots:{customRender:"serial"}},{title:"用户名",width:"12%",dataIndex:"username"},{title:"角色",dataIndex:"role",width:"10%",scopedSlots:{customRender:"role"}},{title:"权限",dataIndex:"groupNameList",width:"45%",scopedSlots:{customRender:"groupNameList"}},{title:"更新时间",width:"18%",dataIndex:"updateDt",customRender:function(t){return c()(t).format("YYYY-MM-DD HH:mm:ss")}},{title:"操作",width:"10%",dataIndex:"action",scopedSlots:{customRender:"action"}}],loadData:function(e){return Object(l["w"])(Object.assign(e,t.queryParam)).then((function(t){return t}))},selectedRowKeys:[],selectedRows:[],options:{alert:{show:!0,clear:function(){t.selectedRowKeys=[]}},rowSelection:{selectedRowKeys:this.selectedRowKeys,onChange:this.onSelectChange}},optionAlertShow:!1}},filters:{},methods:{handleNew:function(){this.$router.push("/user-form")},handleEdit:function(t){this.record=t||"",this.$router.push({path:"/user-form",query:{username:t.username}})},handleGoBack:function(){this.record="",this.currentComponet="List"}},watch:{"$route.path":function(){this.record="",this.currentComponet="List"}}},p=d,m=a("2877"),f=Object(m["a"])(p,r,n,!1,null,null,null);e["default"]=f.exports}}]);
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0b7230"],{"1faf":function(t,e,a){"use strict";a.r(e);a("d3b7"),a("25f0");var r=function(){var t=this,e=t._self._c;return e("a-card",{attrs:{bordered:!1}},[e("div",{staticClass:"table-page-search-wrapper"},[e("a-form",{attrs:{layout:"inline"}},[e("a-row",{attrs:{gutter:48}},[e("a-col",{attrs:{md:8,sm:24}},[e("a-form-item",{attrs:{label:"用户名"}},[e("a-input",{attrs:{placeholder:"请输入用户名",allowClear:""},model:{value:t.queryParam.username,callback:function(e){t.$set(t.queryParam,"username",e)},expression:"queryParam.username"}})],1)],1),e("a-col",{attrs:{md:t.advanced?24:8,sm:24}},[e("span",{staticClass:"table-page-search-submitButtons",style:t.advanced&&{float:"right",overflow:"hidden"}||{}},[e("a-button",{attrs:{type:"primary"},on:{click:function(e){return t.$refs.table.refresh(!0)}}},[t._v("查询")]),e("a-button",{staticStyle:{"margin-left":"8px"},on:{click:function(){return t.queryParam={}}}},[t._v("重置")])],1)])],1)],1)],1),e("div",{staticClass:"table-operator"},[e("a-button",{attrs:{type:"primary",icon:"plus"},on:{click:function(e){return t.handleNew()}}},[t._v("新建")]),t.selectedRowKeys.length>0?e("a-dropdown",{directives:[{name:"action",rawName:"v-action:edit",arg:"edit"}]},[e("a-menu",{attrs:{slot:"overlay"},slot:"overlay"},[e("a-menu-item",{key:"1"},[e("a-icon",{attrs:{type:"delete"}}),t._v("删除")],1),e("a-menu-item",{key:"2"},[e("a-icon",{attrs:{type:"lock"}}),t._v("锁定")],1)],1),e("a-button",{staticStyle:{"margin-left":"8px"}},[t._v(" 批量操作 "),e("a-icon",{attrs:{type:"down"}})],1)],1):t._e()],1),e("s-table",{ref:"table",attrs:{size:"default",rowKey:"key",columns:t.columns,data:t.loadData,alert:t.options.alert,rowSelection:t.options.rowSelection},scopedSlots:t._u([{key:"serial",fn:function(a,r,n){return e("span",{},[t._v(" "+t._s(n+1)+" ")])}},{key:"groupNameList",fn:function(a,r){return e("span",{},[t._v(" "+t._s(2===r.role?"所有组":a.toString())+" ")])}},{key:"role",fn:function(a,r){return e("span",{},[t._v(" "+t._s(2===r.role?"管理员":"普通用户")+" ")])}},{key:"action",fn:function(a,r){return e("span",{},[[e("a",{on:{click:function(e){return t.handleEdit(r)}}},[t._v("编辑")]),e("a-divider",{attrs:{type:"vertical"}}),e("a",{attrs:{href:"javascript:;"}},[t._v("删除")])]],2)}}])})],1)},n=[],o=a("261e"),s=a("27e3"),i=a("c1df"),c=a.n(i),l=a("0fea"),u=a("2af9"),d={name:"TableListWrapper",components:{AInput:s["a"],ATextarea:o["a"],STable:u["j"]},data:function(){var t=this;return{currentComponet:"List",record:"",mdl:{},advanced:!1,queryParam:{},columns:[{title:"#",width:"5%",scopedSlots:{customRender:"serial"}},{title:"用户名",width:"12%",dataIndex:"username"},{title:"角色",dataIndex:"role",width:"10%",scopedSlots:{customRender:"role"}},{title:"权限",dataIndex:"groupNameList",width:"45%",scopedSlots:{customRender:"groupNameList"}},{title:"更新时间",width:"18%",dataIndex:"updateDt",customRender:function(t){return c()(t).format("YYYY-MM-DD HH:mm:ss")}},{title:"操作",width:"10%",dataIndex:"action",scopedSlots:{customRender:"action"}}],loadData:function(e){return Object(l["x"])(Object.assign(e,t.queryParam)).then((function(t){return t}))},selectedRowKeys:[],selectedRows:[],options:{alert:{show:!0,clear:function(){t.selectedRowKeys=[]}},rowSelection:{selectedRowKeys:this.selectedRowKeys,onChange:this.onSelectChange}},optionAlertShow:!1}},filters:{},methods:{handleNew:function(){this.$router.push("/user-form")},handleEdit:function(t){this.record=t||"",this.$router.push({path:"/user-form",query:{username:t.username}})},handleGoBack:function(){this.record="",this.currentComponet="List"}},watch:{"$route.path":function(){this.record="",this.currentComponet="List"}}},p=d,m=a("2877"),f=Object(m["a"])(p,r,n,!1,null,null,null);e["default"]=f.exports}}]);
|
||||
@ -1 +1 @@
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c8f97"],{"56bb":function(e,t,r){"use strict";r.r(t);r("b0c0");var a=function(){var e=this,t=e._self._c;return t("div",[t("page-header-wrapper",{staticStyle:{margin:"-24px -1px 0"},on:{back:function(){return e.$router.go(-1)}}},[t("div")]),t("a-card",{attrs:{bordered:!1}},[null!==e.retryDealLetterInfo?t("a-descriptions",{attrs:{title:"",bordered:""}},[t("a-descriptions-item",{attrs:{label:"组名称"}},[e._v(" "+e._s(e.retryDealLetterInfo.groupName)+" ")]),t("a-descriptions-item",{attrs:{label:"场景名称"}},[e._v(" "+e._s(e.retryDealLetterInfo.sceneName)+" ")]),t("a-descriptions-item",{attrs:{label:"业务id",span:"2"}},[e._v(" "+e._s(e.retryDealLetterInfo.idempotentId)+" ")]),t("a-descriptions-item",{attrs:{label:"业务编号"}},[e._v(" "+e._s(e.retryDealLetterInfo.bizNo)+" ")]),t("a-descriptions-item",{attrs:{label:"下次触发时间"}},[e._v(" "+e._s(e.parseDate(e.retryDealLetterInfo.nextTriggerAt))+" ")]),t("a-descriptions-item",{attrs:{label:"数据类型"}},[t("a-tag",{attrs:{color:e.taskType[e.retryDealLetterInfo.taskType].color}},[e._v(" "+e._s(e.taskType[e.retryDealLetterInfo.taskType].name)+" ")])],1),t("a-descriptions-item",{attrs:{label:"创建时间"}},[e._v(" "+e._s(e.parseDate(e.retryDealLetterInfo.createDt))+" ")]),t("a-descriptions-item",{attrs:{label:"更新时间"}},[e._v(" "+e._s(e.parseDate(e.retryDealLetterInfo.updateDt))+" ")]),t("a-descriptions-item",{attrs:{label:"执行器名称",span:"2"}},[e._v(" "+e._s(e.retryDealLetterInfo.executorName)+" ")]),t("a-descriptions-item",{attrs:{label:"扩展参数",span:"3"}},[e._v(" "+e._s(e.retryDealLetterInfo.bizNo)+" ")]),t("a-descriptions-item",{attrs:{label:"参数",span:"3"}},[e._v(" "+e._s(e.retryDealLetterInfo.argsStr)+" ")])],1):e._e()],1)],1)},s=[],n=r("0fea"),o=r("c1df"),i=r.n(o),l={name:"RetryDeadLetterInfo",data:function(){return{retryDealLetterInfo:null,taskType:{1:{name:"重试数据",color:"#d06892"},2:{name:"回调数据",color:"#f5a22d"}}}},created:function(){var e=this,t=this.$route.query.id,r=this.$route.query.groupName;t&&r&&Object(n["l"])(t,{groupName:r}).then((function(t){e.retryDealLetterInfo=t.data}))},methods:{parseDate:function(e){return i()(e).format("YYYY-MM-DD HH:mm:ss")}}},p=l,c=r("2877"),d=Object(c["a"])(p,a,s,!1,null,"e8b093b2",null);t["default"]=d.exports}}]);
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c8f97"],{"56bb":function(e,t,r){"use strict";r.r(t);r("b0c0");var a=function(){var e=this,t=e._self._c;return t("div",[t("page-header-wrapper",{staticStyle:{margin:"-24px -1px 0"},on:{back:function(){return e.$router.go(-1)}}},[t("div")]),t("a-card",{attrs:{bordered:!1}},[null!==e.retryDealLetterInfo?t("a-descriptions",{attrs:{title:"",bordered:""}},[t("a-descriptions-item",{attrs:{label:"组名称"}},[e._v(" "+e._s(e.retryDealLetterInfo.groupName)+" ")]),t("a-descriptions-item",{attrs:{label:"场景名称"}},[e._v(" "+e._s(e.retryDealLetterInfo.sceneName)+" ")]),t("a-descriptions-item",{attrs:{label:"业务id",span:"2"}},[e._v(" "+e._s(e.retryDealLetterInfo.idempotentId)+" ")]),t("a-descriptions-item",{attrs:{label:"业务编号"}},[e._v(" "+e._s(e.retryDealLetterInfo.bizNo)+" ")]),t("a-descriptions-item",{attrs:{label:"下次触发时间"}},[e._v(" "+e._s(e.parseDate(e.retryDealLetterInfo.nextTriggerAt))+" ")]),t("a-descriptions-item",{attrs:{label:"数据类型"}},[t("a-tag",{attrs:{color:e.taskType[e.retryDealLetterInfo.taskType].color}},[e._v(" "+e._s(e.taskType[e.retryDealLetterInfo.taskType].name)+" ")])],1),t("a-descriptions-item",{attrs:{label:"创建时间"}},[e._v(" "+e._s(e.parseDate(e.retryDealLetterInfo.createDt))+" ")]),t("a-descriptions-item",{attrs:{label:"更新时间"}},[e._v(" "+e._s(e.parseDate(e.retryDealLetterInfo.updateDt))+" ")]),t("a-descriptions-item",{attrs:{label:"执行器名称",span:"2"}},[e._v(" "+e._s(e.retryDealLetterInfo.executorName)+" ")]),t("a-descriptions-item",{attrs:{label:"扩展参数",span:"3"}},[e._v(" "+e._s(e.retryDealLetterInfo.bizNo)+" ")]),t("a-descriptions-item",{attrs:{label:"参数",span:"3"}},[e._v(" "+e._s(e.retryDealLetterInfo.argsStr)+" ")])],1):e._e()],1)],1)},s=[],n=r("0fea"),o=r("c1df"),i=r.n(o),l={name:"RetryDeadLetterInfo",data:function(){return{retryDealLetterInfo:null,taskType:{1:{name:"重试数据",color:"#d06892"},2:{name:"回调数据",color:"#f5a22d"}}}},created:function(){var e=this,t=this.$route.query.id,r=this.$route.query.groupName;t&&r&&Object(n["m"])(t,{groupName:r}).then((function(t){e.retryDealLetterInfo=t.data}))},methods:{parseDate:function(e){return i()(e).format("YYYY-MM-DD HH:mm:ss")}}},p=l,c=r("2877"),d=Object(c["a"])(p,a,s,!1,null,"e8b093b2",null);t["default"]=d.exports}}]);
|
||||
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d21a08f"],{ba93:function(t,e,a){"use strict";a.r(e);var n=function(){var t=this,e=t._self._c;return e("a-card",{attrs:{bordered:!1}},[e("div",{staticClass:"table-page-search-wrapper"},[e("a-form",{attrs:{layout:"inline"}},[e("a-row",{attrs:{gutter:48}},[[e("a-col",{attrs:{md:8,sm:24}},[e("a-form-item",{attrs:{label:"组名称"}},[e("a-input",{attrs:{placeholder:"请输入组名称",allowClear:""},model:{value:t.queryParam.groupName,callback:function(e){t.$set(t.queryParam,"groupName",e)},expression:"queryParam.groupName"}})],1)],1)],e("a-col",{attrs:{md:t.advanced?24:8,sm:24}},[e("span",{staticClass:"table-page-search-submitButtons",style:t.advanced&&{float:"right",overflow:"hidden"}||{}},[e("a-button",{attrs:{type:"primary"},on:{click:function(e){return t.$refs.table.refresh(!0)}}},[t._v("查询")]),e("a-button",{staticStyle:{"margin-left":"8px"},on:{click:function(){return t.queryParam={}}}},[t._v("重置")])],1)])],2)],1)],1),e("div",{staticClass:"table-operator"},[t.$auth("group.add")?e("a-button",{attrs:{type:"primary",icon:"plus"},on:{click:function(e){return t.handleNew()}}},[t._v("新建")]):t._e()],1),e("s-table",{ref:"table",attrs:{size:"default",rowKey:"key",columns:t.columns,data:t.loadData,alert:t.options.alert,rowSelection:t.options.rowSelection,scroll:{x:1600}},scopedSlots:t._u([{key:"serial",fn:function(a,n,r){return e("span",{},[t._v(" "+t._s(r+1)+" ")])}},{key:"groupStatus",fn:function(a){return e("span",{},[t._v(" "+t._s(0===a?"停用":"启用")+" ")])}},{key:"initScene",fn:function(a){return e("span",{},[t._v(" "+t._s(0===a?"否":"是")+" ")])}},{key:"action",fn:function(a,n){return e("span",{},[[e("a",{on:{click:function(e){return t.handleEdit(n)}}},[t._v("编辑")]),e("a-divider",{attrs:{type:"vertical"}}),e("a",{on:{click:function(e){return t.handleEditStatus(n)}}},[t._v(t._s(1===n.groupStatus?"停用":"启用"))])]],2)}}])})],1)},r=[],o=(a("d3b7"),a("25f0"),a("27e3")),s=a("0fea"),i=a("2af9"),u=a("c1df"),c=a.n(u),d={name:"TableListWrapper",components:{AInput:o["a"],STable:i["j"]},data:function(){var t=this;return{advanced:!1,queryParam:{},columns:[{title:"#",scopedSlots:{customRender:"serial"}},{title:"名称",dataIndex:"groupName"},{title:"状态",dataIndex:"groupStatus",scopedSlots:{customRender:"groupStatus"}},{title:"路由策略",dataIndex:"routeKey",customRender:function(e){return t.routeKey[e]}},{title:"版本",dataIndex:"version"},{title:"分区",dataIndex:"groupPartition",needTotal:!0},{title:"ID生成模式",dataIndex:"idGeneratorModeName"},{title:"初始化场景",dataIndex:"initScene",scopedSlots:{customRender:"initScene"}},{title:"更新时间",dataIndex:"updateDt",sorter:!0,customRender:function(t){return c()(t).format("YYYY-MM-DD HH:mm:ss")}},{title:"描述",dataIndex:"description"},{title:"OnLine机器",dataIndex:"onlinePodList",customRender:function(t){return t.toString()}},{title:"操作",dataIndex:"action",width:"150px",fixed:"right",scopedSlots:{customRender:"action"}}],loadData:function(e){return Object(s["i"])(Object.assign(e,t.queryParam)).then((function(t){return t}))},selectedRowKeys:[],selectedRows:[],options:{alert:{show:!0,clear:function(){t.selectedRowKeys=[]}},rowSelection:{selectedRowKeys:this.selectedRowKeys,onChange:this.onSelectChange}},routeKey:{1:"一致性hash算法",2:"随机算法",3:"最近最久未使用算法"}}},created:function(){},methods:{handleNew:function(){this.$router.push("/basic-config")},handleEdit:function(t){this.$router.push({path:"/basic-config",query:{groupName:t.groupName}})},toggleAdvanced:function(){this.advanced=!this.advanced},handleEditStatus:function(t){var e=this,a=t.id,n=t.groupStatus,r=t.groupName,o=this.$notification;Object(s["B"])({id:a,groupName:r,groupStatus:1===n?0:1}).then((function(t){0===t.status?o["error"]({message:t.message}):(o["success"]({message:t.message}),e.$refs.table.refresh())}))}}},l=d,p=a("2877"),f=Object(p["a"])(l,n,r,!1,null,null,null);e["default"]=f.exports}}]);
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d21a08f"],{ba93:function(t,e,a){"use strict";a.r(e);var n=function(){var t=this,e=t._self._c;return e("a-card",{attrs:{bordered:!1}},[e("div",{staticClass:"table-page-search-wrapper"},[e("a-form",{attrs:{layout:"inline"}},[e("a-row",{attrs:{gutter:48}},[[e("a-col",{attrs:{md:8,sm:24}},[e("a-form-item",{attrs:{label:"组名称"}},[e("a-input",{attrs:{placeholder:"请输入组名称",allowClear:""},model:{value:t.queryParam.groupName,callback:function(e){t.$set(t.queryParam,"groupName",e)},expression:"queryParam.groupName"}})],1)],1)],e("a-col",{attrs:{md:t.advanced?24:8,sm:24}},[e("span",{staticClass:"table-page-search-submitButtons",style:t.advanced&&{float:"right",overflow:"hidden"}||{}},[e("a-button",{attrs:{type:"primary"},on:{click:function(e){return t.$refs.table.refresh(!0)}}},[t._v("查询")]),e("a-button",{staticStyle:{"margin-left":"8px"},on:{click:function(){return t.queryParam={}}}},[t._v("重置")])],1)])],2)],1)],1),e("div",{staticClass:"table-operator"},[t.$auth("group.add")?e("a-button",{attrs:{type:"primary",icon:"plus"},on:{click:function(e){return t.handleNew()}}},[t._v("新建")]):t._e()],1),e("s-table",{ref:"table",attrs:{size:"default",rowKey:"key",columns:t.columns,data:t.loadData,alert:t.options.alert,rowSelection:t.options.rowSelection,scroll:{x:1600}},scopedSlots:t._u([{key:"serial",fn:function(a,n,r){return e("span",{},[t._v(" "+t._s(r+1)+" ")])}},{key:"groupStatus",fn:function(a){return e("span",{},[t._v(" "+t._s(0===a?"停用":"启用")+" ")])}},{key:"initScene",fn:function(a){return e("span",{},[t._v(" "+t._s(0===a?"否":"是")+" ")])}},{key:"action",fn:function(a,n){return e("span",{},[[e("a",{on:{click:function(e){return t.handleEdit(n)}}},[t._v("编辑")]),e("a-divider",{attrs:{type:"vertical"}}),e("a",{on:{click:function(e){return t.handleEditStatus(n)}}},[t._v(t._s(1===n.groupStatus?"停用":"启用"))])]],2)}}])})],1)},r=[],o=(a("d3b7"),a("25f0"),a("27e3")),s=a("0fea"),i=a("2af9"),u=a("c1df"),c=a.n(u),d={name:"TableListWrapper",components:{AInput:o["a"],STable:i["j"]},data:function(){var t=this;return{advanced:!1,queryParam:{},columns:[{title:"#",scopedSlots:{customRender:"serial"}},{title:"名称",dataIndex:"groupName"},{title:"状态",dataIndex:"groupStatus",scopedSlots:{customRender:"groupStatus"}},{title:"路由策略",dataIndex:"routeKey",customRender:function(e){return t.routeKey[e]}},{title:"版本",dataIndex:"version"},{title:"分区",dataIndex:"groupPartition",needTotal:!0},{title:"ID生成模式",dataIndex:"idGeneratorModeName"},{title:"初始化场景",dataIndex:"initScene",scopedSlots:{customRender:"initScene"}},{title:"更新时间",dataIndex:"updateDt",sorter:!0,customRender:function(t){return c()(t).format("YYYY-MM-DD HH:mm:ss")}},{title:"描述",dataIndex:"description"},{title:"OnLine机器",dataIndex:"onlinePodList",customRender:function(t){return t.toString()}},{title:"操作",dataIndex:"action",width:"150px",fixed:"right",scopedSlots:{customRender:"action"}}],loadData:function(e){return Object(s["j"])(Object.assign(e,t.queryParam)).then((function(t){return t}))},selectedRowKeys:[],selectedRows:[],options:{alert:{show:!0,clear:function(){t.selectedRowKeys=[]}},rowSelection:{selectedRowKeys:this.selectedRowKeys,onChange:this.onSelectChange}},routeKey:{1:"一致性hash算法",2:"随机算法",3:"最近最久未使用算法"}}},created:function(){},methods:{handleNew:function(){this.$router.push("/basic-config")},handleEdit:function(t){this.$router.push({path:"/basic-config",query:{groupName:t.groupName}})},toggleAdvanced:function(){this.advanced=!this.advanced},handleEditStatus:function(t){var e=this,a=t.groupStatus,n=t.groupName,r=this.$notification;Object(s["G"])({groupName:n,groupStatus:1===a?0:1}).then((function(t){0===t.status?r["error"]({message:t.message}):(r["success"]({message:t.message}),e.$refs.table.refresh())}))}}},l=d,p=a("2877"),f=Object(p["a"])(l,n,r,!1,null,null,null);e["default"]=f.exports}}]);
|
||||
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-35f76107"],{"339f":function(t,e,r){"use strict";var a=function(){var t=this,e=t._self._c;return e("div",[e("div",{staticStyle:{margin:"20px 0","border-left":"#f5222d 5px solid","font-size":"medium","font-weight":"bold"}},[t._v(" 调用日志详情 (总调度次数: "+t._s(t.total)+") ")]),e("a-card",[e("s-table",{ref:"table",attrs:{size:"default",rowKey:"key",columns:t.columns,data:t.loadData},scopedSlots:t._u([{key:"serial",fn:function(r,a){return e("span",{},[t._v(" "+t._s(a.id)+" ")])}}])})],1)],1)},s=[],n=r("c1df"),o=r.n(n),i=r("0fea"),l=r("2af9"),u={name:"RetryTaskLogMessageList",components:{STable:l["j"]},data:function(){var t=this;return{columns:[{title:"#",scopedSlots:{customRender:"serial"},width:"10%"},{title:"信息",dataIndex:"message",width:"50%"},{title:"触发时间",dataIndex:"createDt",sorter:!0,customRender:function(t){return o()(t).format("YYYY-MM-DD HH:mm:ss")},width:"10%"}],queryParam:{},loadData:function(e){return Object(i["p"])(Object.assign(e,t.queryParam)).then((function(e){return t.total=e.total,e}))},total:0}},methods:{refreshTable:function(t){this.queryParam=t,this.$refs.table.refresh(!0)}}},d=u,c=r("2877"),f=Object(c["a"])(d,a,s,!1,null,"fb0977b6",null);e["a"]=f.exports},"99f5":function(t,e,r){"use strict";r.r(e);r("b0c0");var a=function(){var t=this,e=t._self._c;return e("div",[e("page-header-wrapper",{staticStyle:{margin:"-24px -1px 0"},on:{back:function(){return t.$router.go(-1)}}},[e("div")]),null!==t.retryTaskInfo?e("a-card",{attrs:{bordered:!1}},[e("a-descriptions",{attrs:{title:"",bordered:""}},[e("a-descriptions-item",{attrs:{label:"组名称"}},[t._v(" "+t._s(t.retryTaskInfo.groupName)+" ")]),e("a-descriptions-item",{attrs:{label:"场景名称"}},[t._v(" "+t._s(t.retryTaskInfo.sceneName)+" ")]),e("a-descriptions-item",{attrs:{label:"幂等id"}},[t._v(" "+t._s(t.retryTaskInfo.idempotentId)+" ")]),e("a-descriptions-item",{attrs:{label:"唯一id"}},[t._v(" "+t._s(t.retryTaskInfo.uniqueId)+" ")]),e("a-descriptions-item",{attrs:{label:"业务编号"}},[t._v(" "+t._s(t.retryTaskInfo.bizNo)+" ")]),e("a-descriptions-item",{attrs:{label:"重试次数"}},[t._v(" "+t._s(t.retryTaskInfo.retryCount)+" ")]),e("a-descriptions-item",{attrs:{label:"重试状态 | 数据类型"}},[e("a-tag",{attrs:{color:"red"}},[t._v(" "+t._s(t.retryStatus[t.retryTaskInfo.retryStatus])+" ")]),e("a-divider",{attrs:{type:"vertical"}}),e("a-tag",{attrs:{color:t.taskType[t.retryTaskInfo.taskType].color}},[t._v(" "+t._s(t.taskType[t.retryTaskInfo.taskType].name)+" ")])],1),e("a-descriptions-item",{attrs:{label:"触发时间"}},[t._v(" "+t._s(t.retryTaskInfo.createDt)+" ")]),e("a-descriptions-item",{attrs:{label:"更新时间"}},[t._v(" "+t._s(t.retryTaskInfo.updateDt)+" ")]),e("a-descriptions-item",{attrs:{label:"执行器名称",span:"3"}},[t._v(" "+t._s(t.retryTaskInfo.executorName)+" ")]),e("a-descriptions-item",{attrs:{label:"参数",span:"3"}},[t._v(" "+t._s(t.retryTaskInfo.argsStr)+" ")]),e("a-descriptions-item",{attrs:{label:"扩展参数",span:"3"}},[t._v(" "+t._s(t.retryTaskInfo.extAttrs)+" ")])],1)],1):t._e(),e("RetryTaskLogMessageList",{ref:"retryTaskLogMessageListRef"})],1)},s=[],n=r("0fea"),o=r("c1df"),i=r.n(o),l=r("339f"),u={name:"RetryTaskInfo",components:{RetryTaskLogMessageList:l["a"]},data:function(){return{retryTaskInfo:null,retryStatus:{0:"处理中",1:"处理成功",2:"最大次数",3:"暂停"},taskType:{1:{name:"重试数据",color:"#d06892"},2:{name:"回调数据",color:"#f5a22d"}}}},created:function(){var t=this,e=this.$route.query.id,r=this.$route.query.groupName;e&&r?Object(n["n"])(e,{groupName:r}).then((function(e){t.retryTaskInfo=e.data,t.queryParam={groupName:t.retryTaskInfo.groupName,uniqueId:t.retryTaskInfo.uniqueId},t.$refs.retryTaskLogMessageListRef.refreshTable(t.queryParam)})):this.$router.push({path:"/404"})},methods:{parseDate:function(t){return i()(t).format("YYYY-MM-DD HH:mm:ss")}}},d=u,c=r("2877"),f=Object(c["a"])(d,a,s,!1,null,"76bc38a1",null);e["default"]=f.exports}}]);
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-35f76107"],{"339f":function(t,e,r){"use strict";var a=function(){var t=this,e=t._self._c;return e("div",[e("div",{staticStyle:{margin:"20px 0","border-left":"#f5222d 5px solid","font-size":"medium","font-weight":"bold"}},[t._v(" 调用日志详情 (总调度次数: "+t._s(t.total)+") ")]),e("a-card",[e("s-table",{ref:"table",attrs:{size:"default",rowKey:"key",columns:t.columns,data:t.loadData},scopedSlots:t._u([{key:"serial",fn:function(r,a){return e("span",{},[t._v(" "+t._s(a.id)+" ")])}}])})],1)],1)},s=[],n=r("c1df"),o=r.n(n),i=r("0fea"),l=r("2af9"),u={name:"RetryTaskLogMessageList",components:{STable:l["j"]},data:function(){var t=this;return{columns:[{title:"#",scopedSlots:{customRender:"serial"},width:"10%"},{title:"信息",dataIndex:"message",width:"50%"},{title:"触发时间",dataIndex:"createDt",sorter:!0,customRender:function(t){return o()(t).format("YYYY-MM-DD HH:mm:ss")},width:"10%"}],queryParam:{},loadData:function(e){return Object(i["q"])(Object.assign(e,t.queryParam)).then((function(e){return t.total=e.total,e}))},total:0}},methods:{refreshTable:function(t){this.queryParam=t,this.$refs.table.refresh(!0)}}},d=u,c=r("2877"),f=Object(c["a"])(d,a,s,!1,null,"fb0977b6",null);e["a"]=f.exports},"99f5":function(t,e,r){"use strict";r.r(e);r("b0c0");var a=function(){var t=this,e=t._self._c;return e("div",[e("page-header-wrapper",{staticStyle:{margin:"-24px -1px 0"},on:{back:function(){return t.$router.go(-1)}}},[e("div")]),null!==t.retryTaskInfo?e("a-card",{attrs:{bordered:!1}},[e("a-descriptions",{attrs:{title:"",bordered:""}},[e("a-descriptions-item",{attrs:{label:"组名称"}},[t._v(" "+t._s(t.retryTaskInfo.groupName)+" ")]),e("a-descriptions-item",{attrs:{label:"场景名称"}},[t._v(" "+t._s(t.retryTaskInfo.sceneName)+" ")]),e("a-descriptions-item",{attrs:{label:"幂等id"}},[t._v(" "+t._s(t.retryTaskInfo.idempotentId)+" ")]),e("a-descriptions-item",{attrs:{label:"唯一id"}},[t._v(" "+t._s(t.retryTaskInfo.uniqueId)+" ")]),e("a-descriptions-item",{attrs:{label:"业务编号"}},[t._v(" "+t._s(t.retryTaskInfo.bizNo)+" ")]),e("a-descriptions-item",{attrs:{label:"重试次数"}},[t._v(" "+t._s(t.retryTaskInfo.retryCount)+" ")]),e("a-descriptions-item",{attrs:{label:"重试状态 | 数据类型"}},[e("a-tag",{attrs:{color:"red"}},[t._v(" "+t._s(t.retryStatus[t.retryTaskInfo.retryStatus])+" ")]),e("a-divider",{attrs:{type:"vertical"}}),e("a-tag",{attrs:{color:t.taskType[t.retryTaskInfo.taskType].color}},[t._v(" "+t._s(t.taskType[t.retryTaskInfo.taskType].name)+" ")])],1),e("a-descriptions-item",{attrs:{label:"触发时间"}},[t._v(" "+t._s(t.retryTaskInfo.createDt)+" ")]),e("a-descriptions-item",{attrs:{label:"更新时间"}},[t._v(" "+t._s(t.retryTaskInfo.updateDt)+" ")]),e("a-descriptions-item",{attrs:{label:"执行器名称",span:"3"}},[t._v(" "+t._s(t.retryTaskInfo.executorName)+" ")]),e("a-descriptions-item",{attrs:{label:"参数",span:"3"}},[t._v(" "+t._s(t.retryTaskInfo.argsStr)+" ")]),e("a-descriptions-item",{attrs:{label:"扩展参数",span:"3"}},[t._v(" "+t._s(t.retryTaskInfo.extAttrs)+" ")])],1)],1):t._e(),e("RetryTaskLogMessageList",{ref:"retryTaskLogMessageListRef"})],1)},s=[],n=r("0fea"),o=r("c1df"),i=r.n(o),l=r("339f"),u={name:"RetryTaskInfo",components:{RetryTaskLogMessageList:l["a"]},data:function(){return{retryTaskInfo:null,retryStatus:{0:"处理中",1:"处理成功",2:"最大次数",3:"暂停"},taskType:{1:{name:"重试数据",color:"#d06892"},2:{name:"回调数据",color:"#f5a22d"}}}},created:function(){var t=this,e=this.$route.query.id,r=this.$route.query.groupName;e&&r?Object(n["o"])(e,{groupName:r}).then((function(e){t.retryTaskInfo=e.data,t.queryParam={groupName:t.retryTaskInfo.groupName,uniqueId:t.retryTaskInfo.uniqueId},t.$refs.retryTaskLogMessageListRef.refreshTable(t.queryParam)})):this.$router.push({path:"/404"})},methods:{parseDate:function(t){return i()(t).format("YYYY-MM-DD HH:mm:ss")}}},d=u,c=r("2877"),f=Object(c["a"])(d,a,s,!1,null,"76bc38a1",null);e["default"]=f.exports}}]);
|
||||
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-74bac939"],{"9141d":function(t,e,a){"use strict";a.r(e);var r=function(){var t=this,e=t._self._c;return e("a-card",{attrs:{bordered:!1}},[e("div",{staticClass:"table-page-search-wrapper"},[e("a-form",{attrs:{layout:"inline"}},[e("a-row",{attrs:{gutter:48}},[[e("a-col",{attrs:{md:8,sm:24}},[e("a-form-item",{attrs:{label:"组名称"}},[e("a-input",{attrs:{placeholder:"请输入组名称",allowClear:""},model:{value:t.queryParam.groupName,callback:function(e){t.$set(t.queryParam,"groupName",e)},expression:"queryParam.groupName"}})],1)],1)],e("a-col",{attrs:{md:t.advanced?24:8,sm:24}},[e("span",{staticClass:"table-page-search-submitButtons",style:t.advanced&&{float:"right",overflow:"hidden"}||{}},[e("a-button",{attrs:{type:"primary"},on:{click:function(e){return t.$refs.table.refresh(!0)}}},[t._v("查询")]),e("a-button",{staticStyle:{"margin-left":"8px"},on:{click:function(){return t.queryParam={}}}},[t._v("重置")])],1)])],2)],1)],1),e("s-table",{ref:"table",attrs:{size:"default",rowKey:"key",columns:t.columns,data:t.loadData,alert:t.options.alert,rowSelection:t.options.rowSelection,scroll:{x:1600}},scopedSlots:t._u([{key:"serial",fn:function(a,r,n){return e("span",{},[t._v(" "+t._s(n+1)+" ")])}}])})],1)},n=[],o=a("c1df"),s=a.n(o),l=a("0fea"),c=a("2af9"),d={name:"PodList",components:{STable:c["j"]},data:function(){var t=this;return{advanced:!1,queryParam:{},columns:[{title:"#",scopedSlots:{customRender:"serial"}},{title:"类型",dataIndex:"nodeType",customRender:function(e){return t.nodeType[e]}},{title:"组名称",dataIndex:"groupName"},{title:"PodId",dataIndex:"hostId"},{title:"IP",dataIndex:"hostIp"},{title:"Port",dataIndex:"hostPort"},{title:"路径",dataIndex:"contextPath"},{title:"更新时间",dataIndex:"updateDt",sorter:!0,customRender:function(t){return s()(t).format("YYYY-MM-DD HH:mm:ss")}}],loadData:function(e){return Object(l["y"])(Object.assign(e,t.queryParam)).then((function(t){return t}))},selectedRowKeys:[],selectedRows:[],options:{alert:{show:!0,clear:function(){t.selectedRowKeys=[]}},rowSelection:{selectedRowKeys:this.selectedRowKeys,onChange:this.onSelectChange}},nodeType:{1:"客户端",2:"服务端"}}}},i=d,u=a("2877"),p=Object(u["a"])(i,r,n,!1,null,"301651d2",null);e["default"]=p.exports}}]);
|
||||
@ -0,0 +1 @@
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-74bac939"],{"9141d":function(t,e,a){"use strict";a.r(e);var o=function(){var t=this,e=t._self._c;return e("a-card",{attrs:{bordered:!1}},[e("div",{staticClass:"table-page-search-wrapper"},[e("a-form",{attrs:{layout:"inline"}},[e("a-row",{attrs:{gutter:48}},[[e("a-col",{attrs:{md:8,sm:24}},[e("a-form-item",{attrs:{label:"组名称"}},[e("a-input",{attrs:{placeholder:"请输入组名称",allowClear:""},model:{value:t.queryParam.groupName,callback:function(e){t.$set(t.queryParam,"groupName",e)},expression:"queryParam.groupName"}})],1)],1)],e("a-col",{attrs:{md:t.advanced?24:8,sm:24}},[e("span",{staticClass:"table-page-search-submitButtons",style:t.advanced&&{float:"right",overflow:"hidden"}||{}},[e("a-button",{attrs:{type:"primary"},on:{click:function(e){return t.$refs.table.refresh(!0)}}},[t._v("查询")]),e("a-button",{staticStyle:{"margin-left":"8px"},on:{click:function(){return t.queryParam={}}}},[t._v("重置")])],1)])],2)],1)],1),e("s-table",{ref:"table",attrs:{size:"default",rowKey:"key",columns:t.columns,data:t.loadData,alert:t.options.alert,rowSelection:t.options.rowSelection,scroll:{x:1600}},scopedSlots:t._u([{key:"serial",fn:function(a,o,r){return e("span",{},[t._v(" "+t._s(r+1)+" ")])}},{key:"contextPath",fn:function(a,o){return e("span",{},[1===o.nodeType?e("div",[t._v(" 路径: "),e("a-tag",{attrs:{color:"#108ee9"}},[t._v(" "+t._s(a)+" ")])],1):e("div",[t._v(" 组: "),t._l(t.getData(o),(function(a){return e("a-tag",{key:a.hostId,staticStyle:{"margin-bottom":"16px"},attrs:{color:"pink"}},[t._v(" "+t._s(a)+" ")])}))],2)])}}])})],1)},r=[],n=(a("d3b7"),a("159b"),a("7db0"),a("c1df")),s=a.n(n),d=a("0fea"),i=a("2af9"),c={name:"PodList",components:{STable:i["j"]},data:function(){var t=this;return{advanced:!1,queryParam:{},columns:[{title:"#",scopedSlots:{customRender:"serial"},width:"6%"},{title:"类型",dataIndex:"nodeType",customRender:function(e){return t.nodeType[e]},width:"8%"},{title:"组名称",dataIndex:"groupName",width:"10%"},{title:"PodId",dataIndex:"hostId",width:"18%"},{title:"IP",dataIndex:"hostIp",width:"12%"},{title:"Port",dataIndex:"hostPort",width:"8%"},{title:"路径/组",dataIndex:"contextPath",scopedSlots:{customRender:"contextPath"},width:"22%"},{title:"更新时间",dataIndex:"updateDt",sorter:!0,customRender:function(t){return s()(t).format("YYYY-MM-DD HH:mm:ss")}}],loadData:function(e){return Object(d["z"])(Object.assign(e,t.queryParam)).then((function(e){return t.groupList=[],e.data.forEach((function(e,a){t.getConsumerGroup(e)})),e}))},selectedRowKeys:[],selectedRows:[],options:{alert:{show:!0,clear:function(){t.selectedRowKeys=[]}},rowSelection:{selectedRowKeys:this.selectedRowKeys,onChange:this.onSelectChange}},nodeType:{1:"客户端",2:"服务端"},groupList:[]}},methods:{getConsumerGroup:function(t){var e=this;if(void 0!==t.extAttrs){var a=JSON.parse(t.extAttrs);Object(d["c"])(t.hostIp,a.webPort).then((function(a){e.groupList.push({hostId:t.hostId,data:a.data})}))}},getData:function(t){var e=this.groupList.find((function(e){return e.hostId===t.hostId}));return void 0===e||void 0===e.data||e.data.size>0?"":e.data}}},u=c,l=a("2877"),p=Object(l["a"])(u,o,r,!1,null,"058fb720",null);e["default"]=p.exports}}]);
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -10,6 +10,7 @@
|
||||
<result column="expire_at" jdbcType="TIMESTAMP" property="expireAt" />
|
||||
<result column="node_type" jdbcType="TINYINT" property="nodeType" />
|
||||
<result column="context_path" jdbcType="VARCHAR" property="contextPath" />
|
||||
<result column="ext_attrs" jdbcType="VARCHAR" property="extAttrs" />
|
||||
<result column="create_dt" jdbcType="TIMESTAMP" property="createDt" />
|
||||
<result column="update_dt" jdbcType="TIMESTAMP" property="updateDt" />
|
||||
</resultMap>
|
||||
@ -18,10 +19,10 @@
|
||||
</sql>
|
||||
<insert id="insertOrUpdate" parameterType="com.aizuda.easy.retry.server.persistence.mybatis.po.ServerNode" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into server_node (id, group_name, host_id, host_ip, host_port,
|
||||
expire_at, node_type, context_path, create_dt)
|
||||
expire_at, node_type, ext_attrs, context_path, create_dt)
|
||||
values (#{id,jdbcType=BIGINT}, #{groupName,jdbcType=VARCHAR}, #{hostId,jdbcType=VARCHAR}, #{hostIp,jdbcType=VARCHAR},
|
||||
#{hostPort,jdbcType=INTEGER},
|
||||
#{expireAt,jdbcType=TIMESTAMP}, #{nodeType,jdbcType=TINYINT}, #{contextPath,jdbcType=VARCHAR}, #{createDt,jdbcType=TIMESTAMP}
|
||||
#{expireAt,jdbcType=TIMESTAMP}, #{nodeType,jdbcType=TINYINT}, #{extAttrs,jdbcType=VARCHAR}, #{contextPath,jdbcType=VARCHAR}, #{createDt,jdbcType=TIMESTAMP}
|
||||
) ON DUPLICATE KEY UPDATE
|
||||
expire_at = values(`expire_at`)
|
||||
</insert>
|
||||
|
||||
@ -38,11 +38,21 @@ const api = {
|
||||
lineDispatchQuantity: '/dashboard/dispatch/line',
|
||||
totalPartition: '/group/partition',
|
||||
systemVersion: '/system/version',
|
||||
pods: '/dashboard/pods'
|
||||
pods: '/dashboard/pods',
|
||||
consumerGroup: '/dashboard/consumer/group',
|
||||
updateGroupStatus: '/group/status'
|
||||
}
|
||||
|
||||
export default api
|
||||
|
||||
export function updateGroupStatus (data) {
|
||||
return request({
|
||||
url: api.updateGroupStatus,
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function getRetryTaskLogMessagePage (parameter) {
|
||||
return request({
|
||||
url: api.retryTaskLogMessagePage,
|
||||
@ -51,6 +61,13 @@ export function getRetryTaskLogMessagePage (parameter) {
|
||||
})
|
||||
}
|
||||
|
||||
export function consumerGroup (ip, port) {
|
||||
return request({
|
||||
url: `http://${ip}:${port}` + api.consumerGroup,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function pods (parameter) {
|
||||
return request({
|
||||
url: api.pods,
|
||||
|
||||
@ -62,7 +62,7 @@
|
||||
<script>
|
||||
|
||||
import AInput from 'ant-design-vue/es/input/Input'
|
||||
import { getGroupConfigForPage, saveGroup } from '@/api/manage'
|
||||
import { getGroupConfigForPage, updateGroupStatus } from '@/api/manage'
|
||||
import { STable } from '@/components'
|
||||
import moment from 'moment'
|
||||
|
||||
@ -179,9 +179,9 @@ export default {
|
||||
this.advanced = !this.advanced
|
||||
},
|
||||
handleEditStatus (record) {
|
||||
const { id, groupStatus, groupName } = record
|
||||
const { groupStatus, groupName } = record
|
||||
const { $notification } = this
|
||||
saveGroup({ id: id, groupName: groupName, groupStatus: (groupStatus === 1 ? 0 : 1) }).then(res => {
|
||||
updateGroupStatus({ groupName: groupName, groupStatus: (groupStatus === 1 ? 0 : 1) }).then(res => {
|
||||
if (res.status === 0) {
|
||||
$notification['error']({
|
||||
message: res.message
|
||||
|
||||
@ -34,13 +34,29 @@
|
||||
<span slot="serial" slot-scope="text, record, index">
|
||||
{{ index + 1 }}
|
||||
</span>
|
||||
<span slot="contextPath" slot-scope="text, record">
|
||||
<div v-if="record.nodeType === 1">
|
||||
路径:
|
||||
<a-tag color="#108ee9" >
|
||||
{{ text }}
|
||||
</a-tag>
|
||||
</div>
|
||||
|
||||
<div v-else>
|
||||
组:
|
||||
<a-tag color="pink" v-for="item in getData(record)" :key="item.hostId" style="margin-bottom: 16px">
|
||||
{{ item }}
|
||||
</a-tag>
|
||||
</div>
|
||||
|
||||
</span>
|
||||
</s-table>
|
||||
</a-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import moment from 'moment'
|
||||
import { pods } from '@/api/manage'
|
||||
import { pods, consumerGroup } from '@/api/manage'
|
||||
import { STable } from '@/components'
|
||||
|
||||
export default {
|
||||
@ -58,32 +74,40 @@ export default {
|
||||
columns: [
|
||||
{
|
||||
title: '#',
|
||||
scopedSlots: { customRender: 'serial' }
|
||||
scopedSlots: { customRender: 'serial' },
|
||||
width: '6%'
|
||||
},
|
||||
{
|
||||
title: '类型',
|
||||
dataIndex: 'nodeType',
|
||||
customRender: (text) => this.nodeType[text]
|
||||
customRender: (text) => this.nodeType[text],
|
||||
width: '8%'
|
||||
},
|
||||
{
|
||||
title: '组名称',
|
||||
dataIndex: 'groupName'
|
||||
dataIndex: 'groupName',
|
||||
width: '10%'
|
||||
},
|
||||
{
|
||||
title: 'PodId',
|
||||
dataIndex: 'hostId'
|
||||
dataIndex: 'hostId',
|
||||
width: '18%'
|
||||
},
|
||||
{
|
||||
title: 'IP',
|
||||
dataIndex: 'hostIp'
|
||||
dataIndex: 'hostIp',
|
||||
width: '12%'
|
||||
},
|
||||
{
|
||||
title: 'Port',
|
||||
dataIndex: 'hostPort'
|
||||
dataIndex: 'hostPort',
|
||||
width: '8%'
|
||||
},
|
||||
{
|
||||
title: '路径',
|
||||
dataIndex: 'contextPath'
|
||||
title: '路径/组',
|
||||
dataIndex: 'contextPath',
|
||||
scopedSlots: { customRender: 'contextPath' },
|
||||
width: '22%'
|
||||
},
|
||||
{
|
||||
title: '更新时间',
|
||||
@ -97,6 +121,11 @@ export default {
|
||||
console.log('loadData.parameter', parameter)
|
||||
return pods(Object.assign(parameter, this.queryParam))
|
||||
.then(res => {
|
||||
this.groupList = []
|
||||
res.data.forEach((key, val) => {
|
||||
this.getConsumerGroup(key)
|
||||
})
|
||||
|
||||
return res
|
||||
})
|
||||
},
|
||||
@ -114,7 +143,34 @@ export default {
|
||||
nodeType: {
|
||||
'1': '客户端',
|
||||
'2': '服务端'
|
||||
},
|
||||
groupList: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getConsumerGroup (record) {
|
||||
if (record.extAttrs === undefined) {
|
||||
return
|
||||
}
|
||||
const extAttrs = JSON.parse(record.extAttrs)
|
||||
consumerGroup(record.hostIp, extAttrs.webPort).then(res => {
|
||||
this.groupList.push({
|
||||
hostId: record.hostId,
|
||||
data: res.data
|
||||
})
|
||||
})
|
||||
},
|
||||
getData (record) {
|
||||
const s = this.groupList.find(item => item.hostId === record.hostId)
|
||||
if (s === undefined) {
|
||||
return ''
|
||||
}
|
||||
|
||||
if (s.data === undefined || s.data.size > 0) {
|
||||
return ''
|
||||
}
|
||||
|
||||
return s.data
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user