Merge branch 'master' of http://221.0.232.152:9393/ability-center/share-platform
* 'master' of http://221.0.232.152:9393/ability-center/share-platform: (80 commits) 1.配置文件修改 2.融合服务bugfix 1、修改大数据局配置文件,在最后增加了一个同步label标签表的数据库连接 2、简单修改了获取视频资源的部分代码 1、flyway提交的sql改版本号为4.4 配置文件修改 西海岸基础设施视频资源来源修改 西海岸基础设施视频资源来源修改 1、增加获取视频资源过程中2张缓存表的定义 .. 融合服务完善 1、代码注释的修改 .. no message 1、自动获取视频资源部门和通道信息过程中所使用的RestTemplate不使用框架定义的而使用新定义的(主要是重新配置超时时间) .. 1、根据新的流程重新梳理获取视频资源(地区和通道信息) 西海岸基础设施需求修改 发送站内信 加点异常日志 发送站内信There is no session 的处理 bugfix bugfix ... # Conflicts: # renren-admin/src/main/java/io/renren/modules/processForm/listener/v2/CorrectionListenerV2.java # renren-admin/src/main/java/io/renren/modules/processForm/service/ApiGatewayService.java # renren-admin/src/main/resources/application-prod.yml
This commit is contained in:
commit
a4e6dad451
|
@ -0,0 +1,10 @@
|
|||
ALTER TABLE `tb_fuse`
|
||||
MODIFY COLUMN `description` varchar(1000) DEFAULT NULL COMMENT '融合服务描述',
|
||||
DROP COLUMN `dept_user`,
|
||||
DROP COLUMN `mobile`,
|
||||
DROP COLUMN `provider`,
|
||||
DROP COLUMN `provider_user`,
|
||||
DROP COLUMN `provider_mobile`;
|
||||
|
||||
ALTER TABLE `tb_fuse_resource`
|
||||
ADD COLUMN `type` varchar(128) NULL COMMENT '资源类型';
|
|
@ -0,0 +1,15 @@
|
|||
## 能力超市后端开发约定
|
||||
|
||||
### 关于数据库或orm
|
||||
|
||||
- 数据库版本管理工具使用flyway,请将文件resource目录下对应位置;文件名称使用 R__XXX 或 Vn.n__XXX ,R开头文件表明该文件为可重复执行sql,当文件内容更改时,该sql文件会在启动时再次执行一次,即该文件无版本执行限制,常用于数据初始化或数据迁移;V开头的文件为版本约束文件,常用于数据库表DDL操作,使用场景一般为创表、加字段、加索引等ddl操作,文件一旦被执行过,不会再次重复执行;
|
||||
- 使用flyway管理的ddl语句,对表的操作语句不要指定Schema(Database),防止在不同地区部署的数据库名称不一致导致执行异常;
|
||||
- 使用flyway管理的ddl语句,增加表的字段时不要指定新增字段位于已有字段后;防止表内不存在指定表字段导致ddl失败;
|
||||
|
||||
### 关于编码风格checkstyle
|
||||
|
||||
- 使用idea的同事可以安装checkstyle插件,对更改的文件内容进行代码格式化;
|
||||
|
||||
### 关于性能
|
||||
|
||||
- 减少使用递归的使用
|
|
@ -1,9 +1,7 @@
|
|||
package io.renren.common.annotation;
|
||||
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
|
||||
/**
|
||||
* 流程流转消息通知
|
||||
*/
|
||||
|
@ -14,20 +12,16 @@ public @interface ActivitiNoticeOperation {
|
|||
|
||||
/**
|
||||
* 节点名称
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
String value() default "";
|
||||
|
||||
/**
|
||||
* 流程名称
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
String process() default "";
|
||||
|
||||
/**
|
||||
* @return activiti 监听器类型 1:TaskListener 任务监听器; 2:ExecutionListener 执行监听器;
|
||||
* activiti 监听器类型 1:TaskListener 任务监听器; 2:ExecutionListener 执行监听器;
|
||||
*/
|
||||
int type() default 1;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package io.renren.common.aspect;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import io.renren.common.annotation.ActivitiNoticeOperation;
|
||||
import io.renren.modules.notice.dto.SysNoticeDTO;
|
||||
|
@ -44,9 +43,9 @@ import java.util.concurrent.Executors;
|
|||
@Component
|
||||
public class ActivitiNoticeAspect {
|
||||
|
||||
private static final Integer cpuNUm = Runtime.getRuntime().availableProcessors();
|
||||
private static final ExecutorService executor = Executors.newFixedThreadPool(cpuNUm * 3);
|
||||
private static final Logger logger = LoggerFactory.getLogger(ActivitiNoticeAspect.class);
|
||||
private static final Integer CPU_NUM = Runtime.getRuntime().availableProcessors();
|
||||
private static final ExecutorService EXECUTOR = Executors.newFixedThreadPool(CPU_NUM * 3);
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(ActivitiNoticeAspect.class);
|
||||
|
||||
@Autowired
|
||||
private SysNoticeService sysNoticeService;
|
||||
|
@ -59,7 +58,7 @@ public class ActivitiNoticeAspect {
|
|||
@Autowired
|
||||
private SysRoleService sysRoleService;
|
||||
|
||||
private Set<String> work_ = new CopyOnWriteArraySet<>();
|
||||
private Set<String> work = new CopyOnWriteArraySet<>();
|
||||
|
||||
@Value("${big_date.name}")
|
||||
private String bigDateDeptName; // 大数据局名称
|
||||
|
@ -67,28 +66,28 @@ public class ActivitiNoticeAspect {
|
|||
private String roleName; // 具备审批的角色名称
|
||||
|
||||
public ActivitiNoticeAspect() {
|
||||
logger.error("构造:ActivitiNoticeAspect");
|
||||
LOGGER.error("构造:ActivitiNoticeAspect");
|
||||
}
|
||||
|
||||
@Pointcut("@annotation(io.renren.common.annotation.ActivitiNoticeOperation)")
|
||||
public void activitiNoticePointCut() {
|
||||
logger.error("切面:ActivitiNoticeAspect");
|
||||
LOGGER.error("切面:ActivitiNoticeAspect");
|
||||
}
|
||||
|
||||
@After(value = "activitiNoticePointCut()")
|
||||
public void notice(JoinPoint joinPoint) throws NoSuchMethodException {
|
||||
logger.error("-------------------------------进入流程流转消息切面---------------------------------");
|
||||
LOGGER.error("-------------------------------进入流程流转消息切面---------------------------------");
|
||||
long beginTime = System.currentTimeMillis();
|
||||
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
||||
Method method = joinPoint.getTarget().getClass().getDeclaredMethod(signature.getName(), signature.getParameterTypes());
|
||||
final ActivitiNoticeOperation activitiNoticeOperation = method.getAnnotation(ActivitiNoticeOperation.class);
|
||||
logger.error("切面类型:" + activitiNoticeOperation.type());
|
||||
LOGGER.error("切面类型:{}", activitiNoticeOperation.type());
|
||||
switch (activitiNoticeOperation.type()) {
|
||||
case 1: {
|
||||
Arrays.asList(joinPoint.getArgs()).stream().findFirst().ifPresent(arg -> {
|
||||
Arrays.stream(joinPoint.getArgs()).findFirst().ifPresent(arg -> {
|
||||
final DelegateTask delegateTask = (DelegateTask) arg;
|
||||
final String eventName = delegateTask.getEventName();
|
||||
logger.error("任务监听器事件:" + eventName);
|
||||
LOGGER.error("任务监听器事件:{}", eventName);
|
||||
switch (eventName) {
|
||||
case TaskListener.EVENTNAME_ASSIGNMENT: // 节点被委派给某人
|
||||
assignment_notice(delegateTask, activitiNoticeOperation);
|
||||
|
@ -105,20 +104,19 @@ public class ActivitiNoticeAspect {
|
|||
Arrays.asList(joinPoint.getArgs()).stream().findFirst().ifPresent(arg -> {
|
||||
final DelegateExecution execution = (DelegateExecution) arg;
|
||||
final String eventName = execution.getEventName();
|
||||
logger.error("执行监听器事件:" + eventName);
|
||||
switch (eventName) {
|
||||
case ExecutionListener.EVENTNAME_END: // 流程完成
|
||||
end_notice(execution, activitiNoticeOperation);
|
||||
break;
|
||||
default:
|
||||
LOGGER.error("执行监听器事件:{}", eventName);
|
||||
if (ExecutionListener.EVENTNAME_END.equals(eventName)) { // 流程完成
|
||||
end_notice(execution, activitiNoticeOperation);
|
||||
}
|
||||
});
|
||||
} // 执行监听器
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
//执行时长(毫秒)
|
||||
long time = System.currentTimeMillis() - beginTime;
|
||||
logger.error("执行时长{} ms", time);
|
||||
LOGGER.error("执行时长{} ms", time);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -129,12 +127,12 @@ public class ActivitiNoticeAspect {
|
|||
*/
|
||||
private void task_complete_notice(final DelegateTask delegateTask, final ActivitiNoticeOperation activitiNoticeOperation) {
|
||||
Map<String, Object> kv = delegateTask.getVariables();
|
||||
logger.error("表单:" + JSON.toJSONString(kv));
|
||||
if (work_.contains(TaskListener.EVENTNAME_COMPLETE + kv.get("id").toString())) {
|
||||
logger.error("------------出现重放------------");
|
||||
LOGGER.error("表单:" + JSON.toJSONString(kv));
|
||||
if (work.contains(TaskListener.EVENTNAME_COMPLETE + kv.get("id").toString())) {
|
||||
LOGGER.error("------------出现重放------------");
|
||||
return;
|
||||
}
|
||||
work_.add(TaskListener.EVENTNAME_COMPLETE + kv.get("id").toString());
|
||||
work.add(TaskListener.EVENTNAME_COMPLETE + kv.get("id").toString());
|
||||
String creator = null;
|
||||
if (kv.containsKey("creator")) { // 表单存在创建者
|
||||
creator = kv.get("creator").toString();
|
||||
|
@ -168,7 +166,7 @@ public class ActivitiNoticeAspect {
|
|||
Optional<ResourceDTO> resourceDTO = Optional.ofNullable(resourceService.get(resourceId));
|
||||
kv.get("resourceId");
|
||||
kv.get("id");
|
||||
String content = "【通知】" + userDTO.getRealName() + ",您发起的" + (resourceDTO.isPresent() ? resourceDTO.get().getName() : "") + activitiNoticeOperation.process() + " " + activitiNoticeOperation.value() + "节点" + finalResult;
|
||||
String content = "【通知】" + userDTO.getRealName() + ",您发起的" + activitiNoticeOperation.process() + " " + activitiNoticeOperation.value() + "节点" + finalResult;
|
||||
SysNoticeDTO dto = new SysNoticeDTO();
|
||||
dto.setType(2);
|
||||
dto.setTitle("流程节点系统通知");
|
||||
|
@ -182,9 +180,9 @@ public class ActivitiNoticeAspect {
|
|||
dto.setCreateDate(new Date());
|
||||
dto.setFrom("通知");
|
||||
sysNoticeService.save(dto);
|
||||
}, executor);
|
||||
}, EXECUTOR);
|
||||
} catch (Exception e) {
|
||||
logger.error("发送通知消息异常", e);
|
||||
LOGGER.error("发送通知消息异常", e);
|
||||
} finally {
|
||||
// 防止重放
|
||||
new Thread(() -> {
|
||||
|
@ -193,7 +191,7 @@ public class ActivitiNoticeAspect {
|
|||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
work_.remove(TaskListener.EVENTNAME_COMPLETE + kv.get("id").toString());
|
||||
work.remove(TaskListener.EVENTNAME_COMPLETE + kv.get("id").toString());
|
||||
}
|
||||
}).start();
|
||||
}
|
||||
|
@ -207,12 +205,12 @@ public class ActivitiNoticeAspect {
|
|||
*/
|
||||
private void end_notice(final DelegateExecution execution, final ActivitiNoticeOperation activitiNoticeOperation) {
|
||||
Map<String, Object> kv = execution.getVariables();
|
||||
logger.error("表单:" + JSON.toJSONString(kv));
|
||||
if (work_.contains(ExecutionListener.EVENTNAME_END + kv.get("id").toString())) {
|
||||
logger.error("------------出现重放------------");
|
||||
LOGGER.error("表单:" + JSON.toJSONString(kv));
|
||||
if (work.contains(ExecutionListener.EVENTNAME_END + kv.get("id").toString())) {
|
||||
LOGGER.error("------------出现重放------------");
|
||||
return;
|
||||
}
|
||||
work_.add(ExecutionListener.EVENTNAME_END + kv.get("id").toString());
|
||||
work.add(ExecutionListener.EVENTNAME_END + kv.get("id").toString());
|
||||
String creator = null;
|
||||
if (kv.containsKey("creator")) { // 表单存在创建者
|
||||
creator = kv.get("creator").toString();
|
||||
|
@ -238,7 +236,7 @@ public class ActivitiNoticeAspect {
|
|||
Long resourceId = null;
|
||||
if (kv.containsKey("resourceId") && kv.get("resourceId") != null) {
|
||||
resourceId = Long.valueOf(kv.get("resourceId").toString());
|
||||
} else if (kv.containsKey("id") && kv.get("id") != null && kv.containsKey("-")) {
|
||||
} else if (kv.containsKey("id") && kv.get("id") != null && !kv.get("id").toString().contains("-")) {
|
||||
resourceId = Long.valueOf(kv.get("id").toString());
|
||||
} else {
|
||||
resourceId = 0L;
|
||||
|
@ -248,7 +246,7 @@ public class ActivitiNoticeAspect {
|
|||
SysUserDTO userDTO = sysUserService.get(Long.valueOf(finalCreator));
|
||||
kv.get("resourceId");
|
||||
kv.get("id");
|
||||
String content = "【通知】" + userDTO.getRealName() + ",您发起的" + (resourceDTO.isPresent() ? resourceDTO.get().getName() : "申请摄像头列表") + activitiNoticeOperation.process() + "已完成,审核结果为:" + finalResult;
|
||||
String content = "【通知】" + userDTO.getRealName() + ",您发起的" + activitiNoticeOperation.process() + "已完成,审核结果为:" + finalResult;
|
||||
SysNoticeDTO dto = new SysNoticeDTO();
|
||||
dto.setType(2);
|
||||
dto.setTitle("流程结束系统通知");
|
||||
|
@ -262,19 +260,19 @@ public class ActivitiNoticeAspect {
|
|||
dto.setCreateDate(new Date());
|
||||
dto.setFrom("通知");
|
||||
sysNoticeService.save(dto);
|
||||
}, executor).thenRunAsync(() -> {
|
||||
logger.error("大数据局名称:" + bigDateDeptName);
|
||||
}, EXECUTOR).thenRunAsync(() -> {
|
||||
LOGGER.error("大数据局名称:" + bigDateDeptName);
|
||||
SysDeptDTO deptDTO = sysDeptService.getByName(bigDateDeptName);
|
||||
logger.error("deptDTOId:" + deptDTO.getId());
|
||||
LOGGER.error("deptDTOId:" + deptDTO.getId());
|
||||
SysRoleDTO roleDTO = sysRoleService.getByName(roleName);
|
||||
logger.error("roleDTOId:" + roleDTO.getId());
|
||||
LOGGER.error("roleDTOId:" + roleDTO.getId());
|
||||
Optional<SysUserDTO> userDTO = Optional.ofNullable(sysUserService.getByDeptIdAndRoleId(deptDTO.getId(), roleDTO.getId()));
|
||||
userDTO.ifPresent(user -> {
|
||||
SysUserDTO creatorDTO = sysUserService.get(Long.valueOf(finalCreator));
|
||||
SysNoticeDTO dto = new SysNoticeDTO();
|
||||
dto.setType(2);
|
||||
dto.setTitle("流程结束系统通知");
|
||||
String content = "【通知】" + user.getRealName() + "," + creatorDTO.getRealName() + "发起的" + (resourceDTO.isPresent() ? resourceDTO.get().getName() : "") + activitiNoticeOperation.process() + "已完成,审核结果为:" + finalResult;
|
||||
String content = "【通知】" + user.getRealName() + "," + creatorDTO.getRealName() + "发起的" + activitiNoticeOperation.process() + "已完成,审核结果为:" + finalResult;
|
||||
dto.setContent(content); // 通知内容
|
||||
dto.setReceiverType(1);
|
||||
dto.setReceiverTypeIds(userDTO.get().getId().toString());
|
||||
|
@ -286,9 +284,9 @@ public class ActivitiNoticeAspect {
|
|||
dto.setFrom("通知");
|
||||
sysNoticeService.save(dto);
|
||||
});
|
||||
}, executor);
|
||||
}, EXECUTOR);
|
||||
} catch (Exception exception) {
|
||||
logger.error("发送通知消息异常", exception);
|
||||
LOGGER.error("发送通知消息异常", exception);
|
||||
} finally {
|
||||
// 防止重放
|
||||
new Thread(() -> {
|
||||
|
@ -297,7 +295,7 @@ public class ActivitiNoticeAspect {
|
|||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
work_.remove(ExecutionListener.EVENTNAME_END + kv.get("id").toString());
|
||||
work.remove(ExecutionListener.EVENTNAME_END + kv.get("id").toString());
|
||||
}
|
||||
}).start();
|
||||
}
|
||||
|
@ -312,12 +310,12 @@ public class ActivitiNoticeAspect {
|
|||
*/
|
||||
private void assignment_notice(final DelegateTask delegateTask, final ActivitiNoticeOperation activitiNoticeOperation) {
|
||||
Map<String, Object> kv = delegateTask.getVariables();
|
||||
logger.error("表单:" + JSON.toJSONString(kv));
|
||||
if (work_.contains(TaskListener.EVENTNAME_ASSIGNMENT + kv.get("id").toString())) {
|
||||
logger.error("------------出现重放------------");
|
||||
LOGGER.error("表单:" + JSON.toJSONString(kv));
|
||||
if (work.contains(TaskListener.EVENTNAME_ASSIGNMENT + kv.get("id").toString())) {
|
||||
LOGGER.error("------------出现重放------------");
|
||||
return;
|
||||
}
|
||||
work_.add(TaskListener.EVENTNAME_ASSIGNMENT + kv.get("id").toString());
|
||||
work.add(TaskListener.EVENTNAME_ASSIGNMENT + kv.get("id").toString());
|
||||
String creator = null;
|
||||
if (kv.containsKey("creator")) { // 表单存在创建者
|
||||
creator = kv.get("creator").toString();
|
||||
|
@ -332,9 +330,9 @@ public class ActivitiNoticeAspect {
|
|||
CompletableFuture.runAsync(() -> { // 发起人
|
||||
try {
|
||||
SysUserDTO assignee = sysUserService.get(Long.valueOf(delegateTask.getAssignee()));
|
||||
logger.error("审核人:" + assignee.getId());
|
||||
LOGGER.error("审核人:" + assignee.getId());
|
||||
String content = "【通知】您发起的流程 " + activitiNoticeOperation.process() + " 当前审核节点为:" + activitiNoticeOperation.value() + ";当前审核人为:\"" + assignee.getDeptName() + "\"审核负责人\"" + assignee.getRealName() + "\"";
|
||||
logger.info("通知内容:" + content);
|
||||
LOGGER.info("通知内容:" + content);
|
||||
SysNoticeDTO dto = new SysNoticeDTO();
|
||||
dto.setType(2);
|
||||
dto.setTitle("流程流转系统通知");
|
||||
|
@ -349,12 +347,12 @@ public class ActivitiNoticeAspect {
|
|||
dto.setFrom("通知");
|
||||
sysNoticeService.save(dto);
|
||||
} catch (Exception exception) {
|
||||
logger.error("通知发起人失败", exception);
|
||||
LOGGER.error("通知发起人失败", exception);
|
||||
}
|
||||
}, executor).thenRunAsync(() -> { // 审批者
|
||||
}, EXECUTOR).thenRunAsync(() -> { // 审批者
|
||||
try {
|
||||
SysUserDTO owner = sysUserService.get(Long.valueOf(finalCreator));
|
||||
String content = "【通知】" + owner.getRealName() + "发起的流程" + activitiNoticeOperation.process() + "已进入审核节点:" + activitiNoticeOperation.value() + ";当前审核人指派为您";
|
||||
String content = "【通知】" + owner.getRealName() + "发起的流程" + activitiNoticeOperation.process() + " 已进入审核节点:" + activitiNoticeOperation.value() + ";当前审核人指派为您";
|
||||
SysNoticeDTO dto = new SysNoticeDTO();
|
||||
dto.setType(2);
|
||||
dto.setTitle("流程流转系统通知");
|
||||
|
@ -369,16 +367,16 @@ public class ActivitiNoticeAspect {
|
|||
dto.setFrom("通知");
|
||||
sysNoticeService.save(dto);
|
||||
} catch (Exception exception) {
|
||||
logger.error("通知审批人失败", exception);
|
||||
LOGGER.error("通知审批人失败", exception);
|
||||
}
|
||||
}, executor);
|
||||
}, EXECUTOR);
|
||||
} catch (Exception e) {
|
||||
logger.error("发送通知消息异常", e);
|
||||
LOGGER.error("发送通知消息异常", e);
|
||||
} finally {
|
||||
new Thread(() -> {
|
||||
try {
|
||||
Thread.sleep(200);
|
||||
work_.remove(TaskListener.EVENTNAME_ASSIGNMENT + kv.get("id").toString());
|
||||
work.remove(TaskListener.EVENTNAME_ASSIGNMENT + kv.get("id").toString());
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ import java.util.stream.Collectors;
|
|||
@RestController
|
||||
@RequestMapping("/ability/center/v2")
|
||||
public class AbilityCenterControllerV2 {
|
||||
private static final ExecutorService executor = Executors.newCachedThreadPool();
|
||||
private static final ExecutorService executor = Executors.newWorkStealingPool();
|
||||
private static final Logger logger = LoggerFactory.getLogger(AbilityCenterController.class);
|
||||
private static final ObjectMapper oMapper = new ObjectMapper();
|
||||
@Autowired
|
||||
|
@ -108,10 +108,9 @@ public class AbilityCenterControllerV2 {
|
|||
abilityBatchApplicationDTO.setApplyFlag(applyFlag); // 同一次的申请标识
|
||||
final Optional<SysDeptDTO> deptDTO = Optional.ofNullable(sysDeptService.getByName(bigDateDeptName));
|
||||
final UserDetail user = SecurityUser.getUser();
|
||||
CompletableFuture.runAsync(() -> {
|
||||
logger.info("处理能力申请!");
|
||||
executor.execute(() -> {
|
||||
deal(abilityBatchApplicationDTO, deptDTO, applyFlag, user);
|
||||
}, executor);
|
||||
});
|
||||
return new Result().ok(LocalDateTime.now().toString());
|
||||
}
|
||||
|
||||
|
@ -132,10 +131,7 @@ public class AbilityCenterControllerV2 {
|
|||
logger.info("申请入参{}", JSON.toJSONString(abilityBatchApplicationDTO));
|
||||
final Optional<SysDeptDTO> deptDTO = Optional.ofNullable(sysDeptService.getByName(bigDateDeptName));
|
||||
final UserDetail user = SecurityUser.getUser();
|
||||
CompletableFuture.runAsync(() -> {
|
||||
logger.info("处理能力申请!");
|
||||
deal(abilityBatchApplicationDTO, deptDTO, applyFlag, user);
|
||||
}, executor);
|
||||
deal(abilityBatchApplicationDTO, deptDTO, applyFlag, user);
|
||||
return new Result().ok(LocalDateTime.now().toString());
|
||||
}
|
||||
|
||||
|
@ -162,7 +158,7 @@ public class AbilityCenterControllerV2 {
|
|||
tAbilityApplicationDTO.setApproveStatus("审核中");
|
||||
tAbilityApplicationDTO.setDelFlag(0);
|
||||
// v2 新增字段
|
||||
tAbilityApplicationDTO.setCameraList(index.get("cameraId") == null ? null : JSON.toJSONString(index.get("cameraId")));
|
||||
tAbilityApplicationDTO.setCameraList(index.get("channelId") == null ? null : JSON.toJSONString(index));
|
||||
tAbilityApplicationDTO.setTitle(abilityBatchApplicationDTO.getTitle());
|
||||
tAbilityApplicationDTO.setApplicationBackground(abilityBatchApplicationDTO.getApplicationBackground());
|
||||
tAbilityApplicationDTO.setApplicationScene(abilityBatchApplicationDTO.getApplicationScene());
|
||||
|
@ -217,14 +213,22 @@ public class AbilityCenterControllerV2 {
|
|||
}, executor);
|
||||
|
||||
Boolean basic_facilities = dtoList.stream().map(index -> {
|
||||
Optional<ResourceDTO> resourceDTOOptional = Optional.ofNullable(resourceService.get(Long.valueOf(index.getResourceId()))); // 从本库内查不到 视为其它平台的基础设施资源
|
||||
return !resourceDTOOptional.isPresent() || !"基础设施".equals(resourceDTOOptional.get().getType());
|
||||
}).filter(index -> !index).findAny().orElse(Boolean.TRUE);
|
||||
Optional<ResourceDTO> resourceDTOOptional = Optional.ofNullable(resourceService.get(Long.valueOf(index.getResourceId())));
|
||||
if (!resourceDTOOptional.isPresent()) { // 从本库内查不到 视为其它平台的基础设施资源
|
||||
return true;
|
||||
}
|
||||
if ("基础设施".equals(resourceDTOOptional.get().getType())) { // 基础设施
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}).filter(index -> index).findAny().orElse(Boolean.FALSE);
|
||||
logger.error("--------------------是否全是基础设施{}----------------------------------------------", basic_facilities);
|
||||
final List<Long> ids = dtoList.stream().map(TAbilityApplicationDTO::getId).collect(Collectors.toList()); // 发起申请的表单id
|
||||
// 仿照请求接口 /act/running/startOfBusinessKey
|
||||
ProcessStartDTO processStartDTO = new ProcessStartDTO();
|
||||
processStartDTO.setBusinessKey(basic_facilities ? tAbilityApplicationDTOList.stream().filter(index -> StringUtils.isNotEmpty(index.getResourceId())).map(TAbilityApplicationDTO::getResourceId).findFirst().orElse(null) : JSON.toJSONString(ids)); // 申请的id列表 json字符 做businesskey
|
||||
processStartDTO.setBusinessKey(basic_facilities ? tAbilityApplicationDTOList.stream().filter(index -> StringUtils.isNotEmpty(index.getResourceId()))
|
||||
.map(TAbilityApplicationDTO::getResourceId).findFirst().orElse(null) :
|
||||
JSON.toJSONString(ids.stream().limit(5).collect(Collectors.toList()))); // 申请的id列表 json字符 做businesskey
|
||||
processStartDTO.setProcessDefinitionKey(key); //限定
|
||||
AuditingBaseDTO auditingBaseDTO = new AuditingBaseDTO();
|
||||
auditingBaseDTO.setCompleteEntry(Boolean.TRUE); // 首次录入
|
||||
|
@ -250,11 +254,13 @@ public class AbilityCenterControllerV2 {
|
|||
// 仿照请求接口 /processForm/tabilityapplication/updateInstanceId
|
||||
CompletableFuture.runAsync(() -> {
|
||||
if (dto.getBusinessKey() != null) {
|
||||
String[] sqls = dtoList.stream().map(i -> String.format("UPDATE t_ability_application SET instance_id = %s WHERE id = %s", dto.getProcessInstanceId(), i.getId())).collect(Collectors.toList()).toArray(new String[dtoList.size()]);
|
||||
String[] sqls = dtoList.stream().map(i -> String.format("UPDATE t_ability_application SET instance_id = %s WHERE id = %s", dto.getProcessInstanceId(), i.getId()))
|
||||
.collect(Collectors.toList()).toArray(new String[dtoList.size()]);
|
||||
jdbcTemplate.batchUpdate(sqls);
|
||||
}
|
||||
}, executor);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -308,7 +308,7 @@ public class CensusController {
|
|||
} catch (JsonProcessingException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}).reversed().thenComparing(i -> i.toString())
|
||||
}).reversed().thenComparing(Object::toString)
|
||||
); // 按应用领域数目逆序排序
|
||||
return new Result<List<Map<String, Object>>>().ok(result);
|
||||
}
|
||||
|
|
|
@ -342,40 +342,36 @@ public class CensusControllerV2 {
|
|||
List<Map<String, Object>> dbAmount = (List<Map<String, Object>>) map.get("total");
|
||||
return dbAmount.stream().filter(index -> "基础设施".equals(index.get("type").toString()))
|
||||
.mapToLong(index -> Long.parseLong(index.get("count").toString())).sum();
|
||||
}).thenAccept(sum -> {
|
||||
result.add(new HashMap<String, Object>() {
|
||||
{
|
||||
put("amount", sum);
|
||||
put("type", "视频资源数量");
|
||||
}
|
||||
});
|
||||
});
|
||||
}).thenAccept(sum -> result.add(new HashMap<String, Object>() {
|
||||
{
|
||||
put("amount", sum);
|
||||
put("type", "视频资源数量");
|
||||
}
|
||||
}));
|
||||
}
|
||||
break;
|
||||
case BAOTOU: { // 包头
|
||||
allAmount = CompletableFuture.supplyAsync(() -> { // 获取平台总基础设施数目
|
||||
return jdbcTemplate.queryForObject("SELECT COUNT(id) FROM tb_data_resource WHERE type = '基础设施' AND del_flag = 0", Long.class);
|
||||
}).thenAccept(sum -> {
|
||||
result.add(new HashMap<String, Object>() {
|
||||
{
|
||||
put("amount", sum);
|
||||
put("type", "视频资源数量");
|
||||
}
|
||||
});
|
||||
});
|
||||
}).thenAccept(sum -> result.add(new HashMap<String, Object>() {
|
||||
{
|
||||
put("amount", sum);
|
||||
put("type", "视频资源数量");
|
||||
}
|
||||
}));
|
||||
}
|
||||
break;
|
||||
case TSINGTAO_XHA: { // 青岛西海岸
|
||||
allAmount = CompletableFuture.supplyAsync(() -> { // 获取平台总基础设施数目
|
||||
List<Long> result_ = new CopyOnWriteArrayList<>();
|
||||
String url = String.format(tsingtao_xhaProperties.getCloudcam(), "", 1, 10);
|
||||
String url = tsingtao_xhaProperties.getCamCount();
|
||||
logger.info(url);
|
||||
Request request = new Request.Builder().url(url).build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
if (response.isSuccessful()) {
|
||||
JSONObject jsonObject = JSON.parseObject(response.body().string());
|
||||
if (jsonObject.containsKey("data")) {
|
||||
result_.add(jsonObject.getJSONObject("data").getLongValue("total"));
|
||||
if (jsonObject.containsKey("errorNo") && jsonObject.getLongValue("errorNo") == 200) {
|
||||
result_.add(jsonObject.getLongValue("body"));
|
||||
}
|
||||
} else {
|
||||
logger.error("青岛西海岸获取失败");
|
||||
|
@ -383,15 +379,13 @@ public class CensusControllerV2 {
|
|||
} catch (Exception exception) {
|
||||
logger.error("青岛西海岸失败", exception);
|
||||
}
|
||||
return result_.stream().filter(index -> index != null).findAny().orElse(0l);
|
||||
}).thenAccept(sum -> {
|
||||
result.add(new HashMap<String, Object>() {
|
||||
{
|
||||
put("amount", sum);
|
||||
put("type", "视频资源数量");
|
||||
}
|
||||
});
|
||||
});
|
||||
return result_.stream().filter(Objects::nonNull).findAny().orElse(0L);
|
||||
}).thenAccept(sum -> result.add(new HashMap<String, Object>() {
|
||||
{
|
||||
put("amount", sum);
|
||||
put("type", "视频资源数量");
|
||||
}
|
||||
}));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -461,19 +455,17 @@ public class CensusControllerV2 {
|
|||
{
|
||||
List<Map> lists = (dataResource != null && dataResource.containsKey("data") && dataResource.get("data") != null) ? (List<Map>) dataResource.get("data") : new ArrayList<>();
|
||||
ArrayList<Map> list = new ArrayList<>();
|
||||
lists.forEach(item -> {
|
||||
list.add(new HashMap<String, Object>() {{
|
||||
put("服务名称", item.get("zyname"));
|
||||
put("申请次数", item.get("syqk"));
|
||||
}});
|
||||
});
|
||||
lists.forEach(item -> list.add(new HashMap<String, Object>() {{
|
||||
put("服务名称", item.get("zyname"));
|
||||
put("申请次数", item.get("syqk"));
|
||||
}}));
|
||||
put("resourceTop5", list);
|
||||
}
|
||||
});
|
||||
}
|
||||
break;
|
||||
case TSINGTAO_XHA: { // 青岛西海岸
|
||||
Long total = 0L;
|
||||
Long total;
|
||||
Request request = new Request.Builder().url(tsingtao_xhaProperties.getResourcecount()).build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
if (response.isSuccessful()) {
|
||||
|
|
|
@ -153,7 +153,7 @@ public class ResourceMountController {
|
|||
@PostMapping(value = "/undercarriage")
|
||||
@ApiOperation("批量进行能力下架申请")
|
||||
@LogOperation("批量进行能力下架申请")
|
||||
public Result<List<ProcessInstanceDTO>> undercarriage(@RequestBody TResourceUndercarriageApplyDTO tResourceUndercarriageApplyDTO) {
|
||||
public Result<Object> undercarriage(@RequestBody TResourceUndercarriageApplyDTO tResourceUndercarriageApplyDTO) {
|
||||
// 仿照请求接口 /act/process/lastestPage
|
||||
PageData<Map<String, Object>> page = actProcessService.page(undercarriage_params);
|
||||
if (page.getTotal() <= 0) { //
|
||||
|
@ -175,7 +175,7 @@ public class ResourceMountController {
|
|||
}
|
||||
}).filter(index -> index).findAny();
|
||||
if (undercarriage.isPresent()) {
|
||||
return new Result<List<ProcessInstanceDTO>>().error("该资源已发起下架");
|
||||
return new Result<>().ok("该资源已发起下架");
|
||||
}
|
||||
return new Result().ok(tResourceUndercarriageApplyDTO.getResource().stream().map(index -> {
|
||||
List<ProcessInstanceDTO> dtoList = new ArrayList<>();
|
||||
|
@ -190,6 +190,7 @@ public class ResourceMountController {
|
|||
throw new RuntimeException("该资源已发起下架");
|
||||
}
|
||||
dto.setUndercarriageReason(tResourceUndercarriageApplyDTO.getReason());
|
||||
dto.setUndercarriageEnclosure(tResourceUndercarriageApplyDTO.getEnclosure());
|
||||
dto.setDelFlag(ResourceEntityDelFlag.NORMAL.getFlag()); // 设置为正常
|
||||
String userId = SecurityUser.getUserId().toString();
|
||||
Optional<SysUserDTO> userDTO = Optional.ofNullable(sysUserService.get(Long.valueOf(userId)));
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package io.renren.common.domain;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
|
@ -21,4 +20,5 @@ public class Tsingtao_xhaProperties {
|
|||
private String resourcecount;
|
||||
private String resourceapplyinfo;
|
||||
private String sjzy;
|
||||
private String camCount;
|
||||
}
|
||||
|
|
|
@ -105,7 +105,8 @@ public class CodeGenerationUtils {
|
|||
try {
|
||||
String finalTableName = tableName;
|
||||
String finalNo = no;
|
||||
String[] sqls = id.stream().map(i -> String.format("UPDATE %s SET apply_number = '%s' WHERE id = %s;", finalTableName, finalNo, i)).collect(Collectors.toList()).toArray(new String[id.size()]);
|
||||
String[] sqls = id.stream().map(i -> String.format("UPDATE %s SET apply_number = '%s' WHERE id = %s;", finalTableName, finalNo, i))
|
||||
.collect(Collectors.toList()).toArray(new String[id.size()]);
|
||||
jdbcTemplate.batchUpdate(sqls);
|
||||
} catch (Exception exception) {
|
||||
logger.error("流水号写入失败", exception);
|
||||
|
|
|
@ -11,7 +11,6 @@ import io.swagger.annotations.Api;
|
|||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
|
|
@ -14,6 +14,8 @@ import io.renren.modules.demanData.dto.TDemandDataDTO;
|
|||
import io.renren.modules.demanData.service.TDemandDataService;
|
||||
import io.renren.modules.processForm.dto.TAbilityApplicationDTO;
|
||||
import io.renren.modules.processForm.service.TAbilityApplicationService;
|
||||
import io.renren.modules.resource.dto.ResourceDTO;
|
||||
import io.renren.modules.resource.service.ResourceService;
|
||||
import io.renren.modules.resourceMountApply.dto.TResourceMountApplyDTO;
|
||||
import io.renren.modules.resourceMountApply.service.TResourceMountApplyService;
|
||||
import io.renren.modules.sys.dto.SysUserDTO;
|
||||
|
@ -22,6 +24,12 @@ import io.swagger.annotations.Api;
|
|||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.activiti.engine.HistoryService;
|
||||
import org.activiti.engine.RepositoryService;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.history.HistoricProcessInstance;
|
||||
import org.activiti.engine.history.HistoricProcessInstanceQuery;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
|
@ -45,6 +53,9 @@ import java.util.Optional;
|
|||
@RequestMapping("/act/his")
|
||||
@Api(tags = "流程历史")
|
||||
public class HistoryController {
|
||||
|
||||
@Autowired
|
||||
protected HistoryService historyService_;
|
||||
@Autowired
|
||||
private ActHistoryService historyService;
|
||||
@Autowired
|
||||
|
@ -58,6 +69,15 @@ public class HistoryController {
|
|||
private TResourceMountApplyService tResourceMountApplyService;
|
||||
@Autowired
|
||||
private TDemandDataService tDemandDataService;
|
||||
@Autowired
|
||||
private ResourceService resourceService;
|
||||
|
||||
@Autowired
|
||||
protected TaskService taskService;
|
||||
@Autowired
|
||||
protected RepositoryService repositoryService;
|
||||
@Autowired
|
||||
protected RuntimeService runtimeService;
|
||||
|
||||
@GetMapping("getInstImage")
|
||||
@ApiOperation(value = "获取流程活动图", produces = "application/octet-stream")
|
||||
|
@ -130,11 +150,21 @@ public class HistoryController {
|
|||
if (params.containsKey("processDefinitionKey") && StringUtils.isNotEmpty(params.get("processDefinitionKey").toString())) {
|
||||
params.replace("processDefinitionKey", params.get("processDefinitionKey").toString() + "%");
|
||||
}
|
||||
params.put("ended", "true");
|
||||
PageData<ProcessActivityDTO> page = activitiService.getMyProcessInstancePage(params);
|
||||
setExtraProcessProperties(Optional.ofNullable(page.getList()).orElse(new ArrayList<>()));
|
||||
return new Result().ok(page);
|
||||
}
|
||||
|
||||
@GetMapping("getVariablesByInstanceId")
|
||||
@ApiOperation("获取已办任务流程参数")
|
||||
@LogOperation("获取已办任务流程参数")
|
||||
public Result getVariablesByInstanceId(String instanceId, String variableName) {
|
||||
HistoricProcessInstanceQuery query = historyService_.createHistoricProcessInstanceQuery();
|
||||
Optional<HistoricProcessInstance> processInstance = Optional.ofNullable(query.processInstanceId(instanceId).includeProcessVariables().singleResult());
|
||||
return new Result().ok(processInstance.get().getProcessVariables().get(variableName));
|
||||
}
|
||||
|
||||
@GetMapping("getDeptHandledInstancePage")
|
||||
@ApiOperation("已办任务:根据登录账号查询其所在部门的已办任务")
|
||||
@LogOperation("已办任务:根据登录账号查询其所在部门的已办任务")
|
||||
|
@ -174,9 +204,11 @@ public class HistoryController {
|
|||
abilityApplicationService.getByInstanceId(activityDTO.getProcessInstanceId());
|
||||
TResourceMountApplyDTO tResourceMountApplyDTO = null;
|
||||
TDemandDataDTO tDemandDataDTO = null;
|
||||
ResourceDTO resourceDTO = null;
|
||||
if (!activityDTO.getBusinessKey().startsWith("[") && !activityDTO.getBusinessKey().startsWith("{")) { // json 内容(批量申请)
|
||||
tResourceMountApplyDTO = tResourceMountApplyService.get(Long.valueOf(activityDTO.getBusinessKey()));
|
||||
tDemandDataDTO = tDemandDataService.get(Long.valueOf(activityDTO.getBusinessKey()));
|
||||
resourceDTO = resourceService.get(Long.valueOf(activityDTO.getBusinessKey()));
|
||||
}
|
||||
if (abilityApplicationDTOS != null && !abilityApplicationDTOS.isEmpty()) {
|
||||
StringBuffer stringBuffer = new StringBuffer();
|
||||
|
@ -190,6 +222,8 @@ public class HistoryController {
|
|||
activityDTO.setResourceName(tResourceMountApplyDTO.getResourceDTO().getName());
|
||||
} else if (tDemandDataDTO != null) {
|
||||
activityDTO.setResourceName(tDemandDataDTO.getDemandSubject());
|
||||
} else if (resourceDTO != null) {
|
||||
activityDTO.setResourceName(resourceDTO.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -277,12 +277,12 @@ public class ActHistoryService {
|
|||
for (ProcessInstanceDTO dto : list) {
|
||||
List<TAbilityApplicationDTO> abilityApplicationDTO = tAbilityApplicationService.getByInstanceId(dto.getProcessInstanceId()); // 获取申请表单
|
||||
if (abilityApplicationDTO != null && !abilityApplicationDTO.isEmpty()) {
|
||||
if (abilityApplicationDTO.stream().filter(index -> StringUtils.isNotEmpty(index.getCameraList())).findAny().isPresent()) { // 存在摄像头
|
||||
if (abilityApplicationDTO.stream().anyMatch(index -> StringUtils.isNotEmpty(index.getCameraList()))) { // 存在摄像头
|
||||
dto.setName("申请摄像头列表");
|
||||
dto.setResourceId(null);
|
||||
} else {
|
||||
StringBuffer stringBuffer = new StringBuffer();
|
||||
abilityApplicationDTO.stream().map(TAbilityApplicationDTO::getSystem).filter(index -> StringUtils.isNotEmpty(index)).forEach(index -> {
|
||||
abilityApplicationDTO.stream().map(TAbilityApplicationDTO::getSystem).filter(StringUtils::isNotEmpty).forEach(index -> {
|
||||
stringBuffer.append(index);
|
||||
stringBuffer.append(",");
|
||||
});
|
||||
|
|
|
@ -209,8 +209,6 @@ public class ActTaskService extends BaseServiceImpl {
|
|||
for (Task task : list) {
|
||||
TaskDTO dto = new TaskDTO();
|
||||
this.convertTaskInfo(task, dto);
|
||||
//Optional<SysUserEntity> sysUserEntity = Optional.ofNullable(sysUserService.selectById(dto.getUserId()));
|
||||
//dto.setUserName(sysUserEntity.get().getRealName());
|
||||
Map<String, Object> processVariable = new LinkedHashMap<>();
|
||||
|
||||
if (dto.getBusinessKey().startsWith("{") || dto.getBusinessKey().startsWith("[")) { // 为json内容 (特殊处理批量)
|
||||
|
|
|
@ -27,6 +27,7 @@ import springfox.documentation.annotations.ApiIgnore;
|
|||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
|
@ -97,10 +98,14 @@ public class TDemandCommentController {
|
|||
// @RequiresPermissions("demandComment:tdemandcomment:info")
|
||||
public Result<TDemandCommentDTO> get(@PathVariable("id") Long id) {
|
||||
TDemandCommentDTO data = tDemandCommentService.get(id);
|
||||
if (null != data) {
|
||||
data.setDemandDataDTO(tDemandDataService.get(data.getTargetId()));
|
||||
return new Result<TDemandCommentDTO>().ok(data);
|
||||
} else {
|
||||
return new Result<TDemandCommentDTO>().ok(new TDemandCommentDTO());
|
||||
}
|
||||
|
||||
data.setDemandDataDTO(tDemandDataService.get(data.getTargetId()));
|
||||
|
||||
return new Result<TDemandCommentDTO>().ok(data);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
|
|
|
@ -49,12 +49,7 @@ public class FuseController {
|
|||
@ApiImplicitParam(name = "description", value = "融合服务描述", paramType = "query", dataType = "String"),
|
||||
@ApiImplicitParam(name = "type", value = "融合服务类型", paramType = "query", dataType = "String"),
|
||||
@ApiImplicitParam(name = "applicationArea", value = "应用领域", paramType = "query", dataType = "String"),
|
||||
@ApiImplicitParam(name = "deptId", value = "所属部门", paramType = "query", dataType = "int"),
|
||||
@ApiImplicitParam(name = "deptUser", value = "部门联系人", paramType = "query", dataType = "String"),
|
||||
@ApiImplicitParam(name = "mobile", value = "部门联系人电话", paramType = "query", dataType = "String"),
|
||||
@ApiImplicitParam(name = "provider", value = "服务商", paramType = "query", dataType = "String"),
|
||||
@ApiImplicitParam(name = "providerUser", value = "服务商联系人", paramType = "query", dataType = "String"),
|
||||
@ApiImplicitParam(name = "providerMobile", value = "服务商联系人电话", paramType = "query", dataType = "String")
|
||||
@ApiImplicitParam(name = "deptId", value = "所属部门", paramType = "query", dataType = "int")
|
||||
})
|
||||
public Result<PageData<TbFuseDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params) {
|
||||
PageData<TbFuseDTO> page = tbFuseService.page(params);
|
||||
|
|
|
@ -18,6 +18,4 @@ public interface TbFuseDao extends BaseDao<TbFuseEntity> {
|
|||
|
||||
List<TbFuseDTO> getFuseDTOList(Map params);
|
||||
|
||||
List<Map<String, Object>> selectGroupByDeptId();
|
||||
|
||||
}
|
||||
|
|
|
@ -29,16 +29,6 @@ public class TbFuseDTO {
|
|||
private String applicationArea;
|
||||
@ApiModelProperty(value = "所属部门")
|
||||
private Long deptId;
|
||||
@ApiModelProperty(value = "部门联系人")
|
||||
private String deptUser;
|
||||
@ApiModelProperty(value = "部门联系人电话")
|
||||
private String mobile;
|
||||
@ApiModelProperty(value = "服务商")
|
||||
private String provider;
|
||||
@ApiModelProperty(value = "服务商联系人")
|
||||
private String providerUser;
|
||||
@ApiModelProperty(value = "服务商联系人电话")
|
||||
private String providerMobile;
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private Long creator;
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package io.renren.modules.fuse.dto;
|
||||
|
||||
import io.renren.modules.resource.dto.ResourceDTO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
@ -24,6 +23,8 @@ public class TbFuseResourceDTO {
|
|||
@ApiModelProperty(value = "资源挂载顺序")
|
||||
private String sequence;
|
||||
@ApiModelProperty(value = "资源")
|
||||
private ResourceDTO resource;
|
||||
private Object resource;
|
||||
@ApiModelProperty(value = "资源类型")
|
||||
private String type;
|
||||
|
||||
}
|
||||
|
|
|
@ -43,26 +43,6 @@ public class TbFuseEntity extends BaseEntity {
|
|||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long deptId;
|
||||
/**
|
||||
* 部门联系人
|
||||
*/
|
||||
private String deptUser;
|
||||
/**
|
||||
* 部门联系人电话
|
||||
*/
|
||||
private String mobile;
|
||||
/**
|
||||
* 服务商
|
||||
*/
|
||||
private String provider;
|
||||
/**
|
||||
* 服务商联系人
|
||||
*/
|
||||
private String providerUser;
|
||||
/**
|
||||
* 服务商联系人电话
|
||||
*/
|
||||
private String providerMobile;
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
|
|
|
@ -32,4 +32,8 @@ public class TbFuseResourceEntity {
|
|||
* 顺序
|
||||
*/
|
||||
private String sequence;
|
||||
/**
|
||||
* 资源类型
|
||||
*/
|
||||
private String type;
|
||||
}
|
||||
|
|
|
@ -21,6 +21,4 @@ public interface TbFuseService extends CrudService<TbFuseEntity, TbFuseDTO> {
|
|||
|
||||
Integer deleteFuse(Long id);
|
||||
|
||||
Integer count(Map<String, Object> params);
|
||||
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|||
import io.renren.common.constant.Constant;
|
||||
import io.renren.common.page.PageData;
|
||||
import io.renren.common.service.impl.CrudServiceImpl;
|
||||
import io.renren.common.utils.Result;
|
||||
import io.renren.modules.fuse.dao.TbFuseAttrDao;
|
||||
import io.renren.modules.fuse.dao.TbFuseDao;
|
||||
import io.renren.modules.fuse.dao.TbFuseResourceDao;
|
||||
|
@ -16,10 +17,17 @@ import io.renren.modules.fuse.entity.TbFuseAttrEntity;
|
|||
import io.renren.modules.fuse.entity.TbFuseEntity;
|
||||
import io.renren.modules.fuse.entity.TbFuseResourceEntity;
|
||||
import io.renren.modules.fuse.service.TbFuseService;
|
||||
import io.renren.modules.monitor.mapper.CameraChannelMapper;
|
||||
import io.renren.modules.resource.dataResource.AbstractDataResourceService;
|
||||
import io.renren.modules.resource.dataResource.DataResourceFactory;
|
||||
import io.renren.modules.resource.dto.GetDataResourceListDto;
|
||||
import io.renren.modules.resource.dto.ResourceDTO;
|
||||
import io.renren.modules.resource.service.ResourceService;
|
||||
import io.renren.modules.resource.service.impl.ResourceServiceImpl;
|
||||
import io.renren.modules.resourceCollection.dao.ResourceCollectionDao;
|
||||
import io.renren.modules.security.user.SecurityUser;
|
||||
import io.renren.modules.sys.service.SysDeptService;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
@ -50,6 +58,10 @@ public class TbFuseServiceImpl extends CrudServiceImpl<TbFuseDao, TbFuseEntity,
|
|||
private ResourceService resourceService;
|
||||
@Autowired
|
||||
private ResourceCollectionDao resourceCollectionDao;
|
||||
@Autowired
|
||||
private CameraChannelMapper cameraChannelMapper;
|
||||
@Autowired
|
||||
private SysDeptService sysDeptService;
|
||||
|
||||
@Override
|
||||
public QueryWrapper<TbFuseEntity> getWrapper(Map<String, Object> params) {
|
||||
|
@ -71,21 +83,6 @@ public class TbFuseServiceImpl extends CrudServiceImpl<TbFuseDao, TbFuseEntity,
|
|||
case "deptId":
|
||||
wrapper.eq(StringUtils.isNotBlank(params.get("deptId").toString()), "dept_id", params.get("deptId").toString());
|
||||
break;
|
||||
case "deptUser":
|
||||
wrapper.like(StringUtils.isNotBlank(params.get("deptUser").toString()), "dept_user", params.get("deptUser").toString());
|
||||
break;
|
||||
case "mobile":
|
||||
wrapper.like(StringUtils.isNotBlank(params.get("mobile").toString()), "mobile", params.get("mobile").toString());
|
||||
break;
|
||||
case "provider":
|
||||
wrapper.like(StringUtils.isNotBlank(params.get("provider").toString()), "provider", params.get("provider").toString());
|
||||
break;
|
||||
case "providerUser":
|
||||
wrapper.like(StringUtils.isNotBlank(params.get("providerUser").toString()), "provider_user", params.get("providerUser").toString());
|
||||
break;
|
||||
case "providerMobile":
|
||||
wrapper.like(StringUtils.isNotBlank(params.get("providerMobile").toString()), "provider_mobile", params.get("providerMobile").toString());
|
||||
break;
|
||||
case "creator":
|
||||
wrapper.eq(StringUtils.isNotBlank(params.get("creator").toString()), "creator", params.get("creator").toString());
|
||||
break;
|
||||
|
@ -115,23 +112,15 @@ public class TbFuseServiceImpl extends CrudServiceImpl<TbFuseDao, TbFuseEntity,
|
|||
}
|
||||
params.put("userId", SecurityUser.getUserId());
|
||||
List<TbFuseDTO> dtoList = baseDao.getFuseDTOList(params);
|
||||
Map<String, Map<String, Object>> dataResourceList=getDataResource();
|
||||
dtoList.forEach(dto -> {
|
||||
dto.setFuseResourceList(getFuseResourceByFuseId(dto.getId()));
|
||||
dto.setFuseResourceList(getFuseResourceByFuseId(dto.getId(), dataResourceList));
|
||||
dto.setFuseAttrList(getAttrByFuseId(dto.getId()));
|
||||
});
|
||||
List<TbFuseDTO> result = dtoList.stream().skip((curPage - 1) * limit).limit(limit).collect(Collectors.toList());
|
||||
return new PageData(result, dtoList.size());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer count(Map<String, Object> params) {
|
||||
if (params != null) {
|
||||
return baseDao.selectCount(getWrapper(params));
|
||||
} else {
|
||||
return baseDao.selectCount(null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public TbFuseDTO getFuseById(Long id) {
|
||||
TbFuseEntity fuseEntity = fuseDao.selectById(id);
|
||||
|
@ -141,7 +130,7 @@ public class TbFuseServiceImpl extends CrudServiceImpl<TbFuseDao, TbFuseEntity,
|
|||
TbFuseDTO fuseDTO = new TbFuseDTO();
|
||||
BeanUtils.copyProperties(fuseEntity, fuseDTO);
|
||||
fuseDTO.setFuseAttrList(getAttrByFuseId(id));
|
||||
fuseDTO.setFuseResourceList(getFuseResourceByFuseId(id));
|
||||
fuseDTO.setFuseResourceList(getFuseResourceByFuseId(id, getDataResource()));
|
||||
setCollection(fuseDTO);
|
||||
return fuseDTO;
|
||||
}
|
||||
|
@ -166,16 +155,58 @@ public class TbFuseServiceImpl extends CrudServiceImpl<TbFuseDao, TbFuseEntity,
|
|||
}).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
private List<TbFuseResourceDTO> getFuseResourceByFuseId(Long fuseId) {
|
||||
private Map<String, Map<String, Object>> getDataResource() {
|
||||
Map<String, Map<String, Object>> result = new HashMap<>();
|
||||
Optional<AbstractDataResourceService> factory = DataResourceFactory.build();
|
||||
if (factory.isPresent()) {
|
||||
GetDataResourceListDto dto = new GetDataResourceListDto().setPageNum(0).setPageSize(30);
|
||||
Map<String, Object> dataMap = (Map<String, Object>) factory.get().getDataResource(dto);
|
||||
if (dataMap != null) {
|
||||
List<Map<String, Object>> list = (List<Map<String, Object>>) dataMap.get("data");
|
||||
list.stream().forEach(map -> {
|
||||
if (map.containsKey("zyname")) {
|
||||
result.put(map.get("guid").toString(), map);
|
||||
} else {
|
||||
result.put(map.get("serviceId").toString(), map);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<TbFuseResourceDTO> getFuseResourceByFuseId(Long fuseId, Map<String, Map<String, Object>> dataResourceMap) {
|
||||
List<TbFuseResourceDTO> result = new ArrayList();
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("fuse_id", fuseId);
|
||||
List<TbFuseResourceEntity> list = fuseResourceDao.selectList(wrapper);
|
||||
return list.stream().map(attr -> {
|
||||
TbFuseResourceDTO dto = new TbFuseResourceDTO();
|
||||
BeanUtils.copyProperties(attr, dto);
|
||||
dto.setResource(resourceService.get(dto.getResourceId()));
|
||||
return dto;
|
||||
}).collect(Collectors.toList());
|
||||
list.stream().filter(index -> index.getType() != null).collect(Collectors.groupingBy(TbFuseResourceEntity::getType)).forEach((type, value) -> {
|
||||
if ("组件服务".equals(type)) {
|
||||
result.addAll(value.stream().map(attr -> {
|
||||
TbFuseResourceDTO dto = new TbFuseResourceDTO();
|
||||
BeanUtils.copyProperties(attr, dto);
|
||||
ResourceDTO resourceDTO=resourceService.get(dto.getResourceId());
|
||||
resourceDTO.setDeptName(sysDeptService.get(resourceDTO.getDeptId()).getName());
|
||||
dto.setResource(resourceDTO);
|
||||
return dto;
|
||||
}).collect(Collectors.toList()));
|
||||
} else if ("数据资源".equals(type)) {
|
||||
result.addAll(value.stream().map(attr -> {
|
||||
TbFuseResourceDTO dto = new TbFuseResourceDTO();
|
||||
BeanUtils.copyProperties(attr, dto);
|
||||
dto.setResource(dataResourceMap.get(dto.getResourceId()));
|
||||
return dto;
|
||||
}).collect(Collectors.toList()));
|
||||
} else if ("基础设施".equals(type)) {
|
||||
result.addAll(value.stream().map(attr -> {
|
||||
TbFuseResourceDTO dto = new TbFuseResourceDTO();
|
||||
BeanUtils.copyProperties(attr, dto);
|
||||
dto.setResource(cameraChannelMapper.selectById(dto.getResourceId().toString()));
|
||||
return dto;
|
||||
}).collect(Collectors.toList()));
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -13,7 +13,7 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
public class MonitorService {
|
||||
public class MonitorServiceV2 {
|
||||
|
||||
@Value("${hisense.gateway.url}")
|
||||
private String gatewayDomain;
|
|
@ -17,9 +17,9 @@ import java.util.Date;
|
|||
* 清理操作日志表任务
|
||||
*/
|
||||
@Component("clearLogTask")
|
||||
public class clearLogTask implements ITask {
|
||||
public class ClearLogTask implements ITask {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(clearLogTask.class);
|
||||
private static final Logger logger = LoggerFactory.getLogger(ClearLogTask.class);
|
||||
|
||||
@Autowired
|
||||
private SysLogOperationDao sysLogOperationDao;
|
|
@ -1,5 +1,6 @@
|
|||
package io.renren.modules.monitor.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.common.collect.Lists;
|
||||
import io.renren.modules.monitor.dto.*;
|
||||
|
@ -151,9 +152,7 @@ public class Controller {
|
|||
|
||||
List<CameraChannelDto1> list = cameraChannelMapper.selectByChannelCode(channelCode);
|
||||
|
||||
Result success = Result.success(list);
|
||||
|
||||
return success;
|
||||
return Result.success(list);
|
||||
|
||||
|
||||
}
|
||||
|
@ -170,9 +169,7 @@ public class Controller {
|
|||
|
||||
List<CameraChannel> labels = cameraChannelMapper.selectByChannelName(channelName);
|
||||
|
||||
Result success = Result.success(labels);
|
||||
|
||||
return success;
|
||||
return Result.success(labels);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -254,8 +251,7 @@ public class Controller {
|
|||
public Result selectAllByGps(Double gpsX,Double gpsY,Integer radius){
|
||||
double[] around = LongLatUtil.getAround(gpsX, gpsY, radius);
|
||||
List<CameraChannel> c = cameraChannelMapper.selectAllByGps(around[0], around[2], around[1], around[3]);
|
||||
Result success = Result.success(c);
|
||||
return success;
|
||||
return Result.success(c);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -268,9 +264,7 @@ public class Controller {
|
|||
|
||||
List<Label> labels = cameraChannelMapper.selectAllLabel();
|
||||
|
||||
Result success = Result.success(labels);
|
||||
|
||||
return success;
|
||||
return Result.success(labels);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -283,9 +277,7 @@ public class Controller {
|
|||
|
||||
List<Label> labels = cameraChannelMapper.selectByLabelCity();
|
||||
|
||||
Result success = Result.success(labels);
|
||||
|
||||
return success;
|
||||
return Result.success(labels);
|
||||
}
|
||||
/**
|
||||
* 根据标签名字模糊查询标签
|
||||
|
@ -299,9 +291,7 @@ public class Controller {
|
|||
|
||||
List<Label> labels = cameraChannelMapper.selectByLabelName(labelName);
|
||||
|
||||
Result success = Result.success(labels);
|
||||
|
||||
return success;
|
||||
return Result.success(labels);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -319,9 +309,7 @@ public class Controller {
|
|||
|
||||
List<CameraOrganization> organs = cameraOrgenMapper.selectSubOrganization(parentId);
|
||||
|
||||
Result success = Result.success(organs);
|
||||
|
||||
return success;
|
||||
return Result.success(organs);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -338,24 +326,13 @@ public class Controller {
|
|||
})
|
||||
public Result selectNLAll(Integer page,Integer pageSize,String labelCode){
|
||||
List<CameraChannelNLDto> selectNLAll = cameraChannelMapper.selectNLAll(page,pageSize);
|
||||
if (labelCode != null && labelCode != ""){
|
||||
if (labelCode != null && !"".equals(labelCode)){
|
||||
List<CameraChannelNLDto> dtos = cameraChannelMapper.selectByLabel(page, pageSize);
|
||||
Result success = Result.success(dtos);
|
||||
return success;
|
||||
return Result.success(dtos);
|
||||
}
|
||||
Result success = Result.success(selectNLAll);
|
||||
return success;
|
||||
return Result.success(selectNLAll);
|
||||
}
|
||||
|
||||
//查询视频点播巡检结果,只取异常的
|
||||
// @RequestMapping("listChannelPlayStates")
|
||||
// public Result listChannelPlayStates(
|
||||
// @RequestParam(value="page",required = false,defaultValue = "1") Integer page,
|
||||
// @RequestParam(value="pageSize",required = false,defaultValue = "20") Integer pageSize
|
||||
// ){
|
||||
// return monitorService.listChannelPlayStates();
|
||||
// }
|
||||
|
||||
//道路统计数据与排名
|
||||
@GetMapping("roadData")
|
||||
@ApiOperation("道路统计数据与排名,根据后台dt调用接口")
|
||||
|
@ -450,8 +427,7 @@ public class Controller {
|
|||
@GetMapping("passengerFlow")
|
||||
@ApiOperation("获取最新的客流列表,测试接口,调用接口获取")
|
||||
public List<Map> passengerFlow(){
|
||||
List<Map> list = passengerFlowService.passengerFlow();
|
||||
return list;
|
||||
return passengerFlowService.passengerFlow();
|
||||
}
|
||||
|
||||
//获取最新的实时客流列表,从表获取
|
||||
|
@ -459,15 +435,13 @@ public class Controller {
|
|||
@ApiOperation("获取最新的实时客流列表,从表获取,热力图")
|
||||
@ApiImplicitParam(name="timeId",value = "时间点",required = false,paramType = "query",dataType = "string")
|
||||
public List<PassengerFlow> listPassengerFlow(@RequestParam(value="timeId",required = false,defaultValue = "1970000000") String timeId){
|
||||
List<PassengerFlow> list = passengerFlowService.listPassengerFlow(timeId);
|
||||
return list;
|
||||
return passengerFlowService.listPassengerFlow(timeId);
|
||||
}
|
||||
//从表中获取最新的客流列表,并筛选出all_nums >=5000的
|
||||
@GetMapping("listPassengerFlowByAllNums")
|
||||
@ApiOperation("从表中获取最新的客流列表,并筛选出all_nums >=5000的")
|
||||
public List<PassengerFlow> listPassengerFlowByAllNums(){
|
||||
List<PassengerFlow> list = passengerFlowService.listPassengerFlowByAllNums();
|
||||
return list;
|
||||
return passengerFlowService.listPassengerFlowByAllNums();
|
||||
}
|
||||
|
||||
//获取实时客流并保存到表t_passenger_flow
|
||||
|
@ -567,7 +541,7 @@ public class Controller {
|
|||
@ApiImplicitParam(name="longitude",value = "经度",paramType = "query",required = true,dataType = "double")
|
||||
})
|
||||
public Result listBuildingSiteByPoints(double longitude,double latitude,Integer radius){
|
||||
List<BuildingSite> list = new ArrayList<>();
|
||||
List<BuildingSite> list;
|
||||
list = buildingSitrService.listBuildingSiteByPoints(longitude,latitude,radius);
|
||||
return Result.success(list);
|
||||
}
|
||||
|
@ -580,8 +554,7 @@ public class Controller {
|
|||
@ApiOperation("查询全部工地信息")
|
||||
public Result selectBuildSite(){
|
||||
List<BuildingSite> buildingSites = buildingSiteMapper.selectBuildSite();
|
||||
Result success = Result.success(buildingSites);
|
||||
return success;
|
||||
return Result.success(buildingSites);
|
||||
}
|
||||
|
||||
/******************************2022/07/13 ytl修改视频资源 start********************************************/
|
||||
|
@ -598,13 +571,9 @@ public class Controller {
|
|||
if (parentId == null){
|
||||
parentId = "";
|
||||
}
|
||||
|
||||
//List<CameraOrganization> organs = cameraOrgenMapper.selectSubOrganization(parentId);
|
||||
List<Map> maps = monitorService.selectSubOrganizationNew(parentId);
|
||||
|
||||
Result success = Result.success(maps);
|
||||
|
||||
return success;
|
||||
return Result.success(maps);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -640,23 +609,19 @@ public class Controller {
|
|||
list1 = Arrays.asList(labelCodes);
|
||||
}
|
||||
//查询当前地区及下级地区的id,组成list,2022-07-14,ytl
|
||||
List<Map> orgenIds = new ArrayList<>();
|
||||
String path = "";
|
||||
if(queryMap.get("parentId") != null && StringUtils.isNotBlank(queryMap.get("parentId").toString())){
|
||||
//根据parentId获取地区表中的path
|
||||
Map parentId = cameraOrgenMapper.selectOrgenizationById(queryMap.get("parentId").toString());
|
||||
path = parentId.get("path").toString();
|
||||
}
|
||||
|
||||
List<Map> list = cameraChannelMapper.selectByParentIdNew(queryMap, list1,path);
|
||||
|
||||
Result success = Result.success(list);
|
||||
success.setCount(cameraChannelMapper.selectByParentIdCountNew(queryMap, list1,path));
|
||||
return success;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 摄像头按照市区进行聚合查询
|
||||
*/
|
||||
|
@ -670,29 +635,32 @@ public class Controller {
|
|||
* 保存区域信息
|
||||
*/
|
||||
@GetMapping("/saveOrgenization")
|
||||
public Result saveOrgenization() throws Exception{
|
||||
List<JSONObject> orgenizationByPage = monitorService.getOrgenization(new ArrayList<JSONObject>());
|
||||
List<Map> maps = JSONObject.parseArray(JSONObject.toJSONString(orgenizationByPage), Map.class);
|
||||
if(maps.size() > 0){
|
||||
public Result saveOrgenization() {
|
||||
List<JSONObject> orgenizationByPage = monitorService.getOrgenization(new ArrayList<>());
|
||||
List<Map> maps = JSON.parseArray(JSON.toJSONString(orgenizationByPage), Map.class);
|
||||
if(!maps.isEmpty()){
|
||||
List<List<Map>> lists = Lists.partition(maps,100);
|
||||
lists.forEach(list->{
|
||||
cameraOrgenMapper.batchSaveOrgenization(list);
|
||||
});
|
||||
lists.forEach(list-> cameraOrgenMapper.batchSaveOrgenization(list));
|
||||
|
||||
//修改path 信息
|
||||
List<Map> maps2 = cameraOrgenMapper.testAll();
|
||||
maps2.forEach(map->{
|
||||
monitorService.setOrganizationPath(map,map.get("parent_id").toString());
|
||||
});
|
||||
maps2.forEach(map-> monitorService.setOrganizationPath(map,map.get("parent_id").toString()));
|
||||
|
||||
maps2.forEach(m->{
|
||||
cameraOrgenMapper.updateOrganizationPaht(m.get("path").toString(),m.get("id").toString());
|
||||
});
|
||||
maps2.forEach(m-> cameraOrgenMapper.updateOrganizationPaht(m.get("path").toString(),m.get("id").toString()));
|
||||
}
|
||||
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 事件版的保存区域组织信息
|
||||
*/
|
||||
@GetMapping("/saveOrgenizationEvent")
|
||||
public Result saveOrgenizationEvent() throws Exception{
|
||||
monitorService.getAndSaveOrgenization();
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存通道信息多线程版
|
||||
* @return
|
||||
|
@ -703,5 +671,14 @@ public class Controller {
|
|||
return Result.success("成功收到指令,请耐心等待");
|
||||
}
|
||||
/******************************2022/07/13 ytl修改视频资源 end********************************************/
|
||||
|
||||
/**
|
||||
* 07-25增加的判断视频资源是否在库中,
|
||||
* 以后可以删除,直接调用cameraChannelServicecheckCameraIfExists即可
|
||||
* @param list
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/checkCameraIfExists")
|
||||
public Result checkCameraIfExists(@RequestParam List<String> list){
|
||||
return cameraChannelService.checkCameraIfExists(list);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
package io.renren.modules.monitor.eventListen;
|
||||
|
||||
import io.renren.modules.monitor.eventListen.saveCameraChannelEndEvent.SaveCameraChannelEndEvent;
|
||||
import io.renren.modules.monitor.eventListen.saveOrgenizationEndEvent.SaveOrgenizationEndEvent;
|
||||
import io.renren.modules.monitor.mapper.CameraOrgenizationMapper;
|
||||
import io.renren.modules.monitor.service.MonitorService;
|
||||
import lombok.extern.log4j.Log4j2;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 关于获取视频通道相关信息的监听器
|
||||
* @author ytl
|
||||
* @Date 2022/7/27 15:17
|
||||
**/
|
||||
@Component
|
||||
@Log4j2
|
||||
public class GetAboutCameraChannelEventListener {
|
||||
@Autowired
|
||||
private MonitorService monitorService;
|
||||
|
||||
@Autowired
|
||||
private CameraOrgenizationMapper cameraOrgenMapper;
|
||||
|
||||
@Async
|
||||
@Order(value = 1)//值越小,越优先执行
|
||||
@EventListener(SaveOrgenizationEndEvent.class)
|
||||
public void listenOrgenizationEvent(SaveOrgenizationEndEvent event) throws Exception{
|
||||
boolean msg = event.getMsg();
|
||||
log.info("开始处理SaveOrgenizationEndEvent 消息事件。。。。"+msg);
|
||||
//......处理流程代码
|
||||
if(msg){
|
||||
monitorService.saveChannelInfoAsync();
|
||||
}
|
||||
}
|
||||
|
||||
@Async
|
||||
@Order(value = 2)//值越小,越优先执行
|
||||
@EventListener(SaveCameraChannelEndEvent.class)
|
||||
public void listenChannelEvent(SaveCameraChannelEndEvent event) throws Exception{
|
||||
boolean msg = event.getMsg();
|
||||
log.info("开始处理SaveCameraChannelEndEvent 消息事件。。。。"+msg);
|
||||
|
||||
if(msg){
|
||||
//保存cache表信息到正式表
|
||||
monitorService.insertChannelCacheToCameraChannel();
|
||||
|
||||
//更新t_region的channelcount
|
||||
cameraOrgenMapper.updateRegionChannelCount();
|
||||
|
||||
log.info("获取视频资源的组织和通道新消息流程结束。。。。。。");
|
||||
|
||||
//更新武伟达的标签表
|
||||
monitorService.synchronizeMtmLabel();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package io.renren.modules.monitor.eventListen.saveCameraChannelEndEvent;
|
||||
|
||||
import org.springframework.context.ApplicationEvent;
|
||||
|
||||
/**
|
||||
* @author ytl
|
||||
* @Date 2022/7/28 10:24
|
||||
**/
|
||||
public class SaveCameraChannelEndEvent extends ApplicationEvent {
|
||||
private boolean msg;
|
||||
|
||||
public SaveCameraChannelEndEvent(Object source,boolean msg) {
|
||||
super(source);
|
||||
this.msg = msg;
|
||||
}
|
||||
|
||||
public boolean getMsg(){
|
||||
return msg;
|
||||
}
|
||||
|
||||
public void setMsg(boolean msg){
|
||||
this.msg = msg;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package io.renren.modules.monitor.eventListen.saveOrgenizationEndEvent;
|
||||
|
||||
import lombok.extern.log4j.Log4j2;
|
||||
import org.springframework.context.ApplicationEvent;
|
||||
|
||||
/**
|
||||
* @author ytl
|
||||
* @Date 2022/7/27 15:13
|
||||
**/
|
||||
public class SaveOrgenizationEndEvent extends ApplicationEvent {
|
||||
private boolean msg;
|
||||
public SaveOrgenizationEndEvent(Object source,boolean msg) {
|
||||
super(source);
|
||||
this.msg = msg;
|
||||
}
|
||||
|
||||
public boolean getMsg(){
|
||||
return msg;
|
||||
}
|
||||
|
||||
public void setMsg(boolean msg){
|
||||
this.msg = msg;
|
||||
}
|
||||
}
|
|
@ -7,9 +7,11 @@ import io.renren.modules.monitor.dto.CameraChannelNLDto;
|
|||
import io.renren.modules.monitor.dto.ChannelLabelDto;
|
||||
import io.renren.modules.monitor.entity.CameraChannel;
|
||||
import io.renren.modules.monitor.entity.Label;
|
||||
import org.apache.ibatis.annotations.Delete;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import org.springframework.security.core.parameters.P;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -71,4 +73,17 @@ public interface CameraChannelMapper extends BaseDao<CameraChannel> {
|
|||
List<Map> selectChannelNumByRegion();
|
||||
|
||||
void batchSaveMtmLabel(@Param("list") List<Map<String,Object>> list);
|
||||
|
||||
@Delete("delete from t_camera_channel_cache where gps_x is null or gps_y is null or gps_x = '' or gps_y = '' ")
|
||||
void deleteByNonPlace();
|
||||
|
||||
Map selectCameraChannelById(@Param("channelId") String channelId);
|
||||
|
||||
List<Map> selectCameraChannelByPid(@Param("parentId") String parentId);
|
||||
|
||||
void batchSaveCameraChannel(@Param("list") List<Map> list);
|
||||
|
||||
void insertChannelCacheToCameraChannel();
|
||||
|
||||
void batchSaveLabel(@Param("list") List<Map<String,Object>> list);
|
||||
}
|
||||
|
|
|
@ -25,44 +25,47 @@ public interface CameraOrgenizationMapper extends BaseDao<CameraOrganization> {
|
|||
|
||||
void batchSaveOrgenization(List<Map> list);
|
||||
|
||||
@Select("SELECT name,parent_id,id,path FROM t_camera_organization WHERE id = #{id}")
|
||||
@Select("SELECT name,parent_id,id,path FROM t_camera_organization_cache WHERE id = #{id}")
|
||||
Map selectOrgenizationById(@Param("id") String id);
|
||||
|
||||
@Update("UPDATE t_camera_organization SET path = TRIM( TRAILING '->' FROM #{path}) where id = #{id}")
|
||||
void updateOrganizationPaht(@Param("path") String path,@Param("id") String id);
|
||||
|
||||
void updateOrganizationPath(@Param("path") String path,@Param("id") String id);
|
||||
|
||||
@Select(" SELECT id FROM t_camera_organization")
|
||||
List<Map> listOrgenization();
|
||||
|
||||
@Select(" SELECT name FROM t_camera_organization where substring(id,5) = #{idPart} and left(id,3) = '006'")
|
||||
String getNameByidPart(@Param("idPart")String idPart);
|
||||
|
||||
@Update("UPDATE t_camera_organization SET COUNT = COUNT + 1 WHERE id = #{id}")
|
||||
void updateOrganizationCount(@Param("id") String id);
|
||||
// @Update("UPDATE t_camera_organization SET COUNT = COUNT + 1 WHERE id = #{id}")
|
||||
// void updateOrganizationCount(@Param("id") String id);
|
||||
|
||||
void batchSaveCameraChannel(List<Map> list);
|
||||
|
||||
@Select("select * from t_camera_organization")
|
||||
List<Map> testAll();
|
||||
|
||||
List<Map> selectAll();
|
||||
|
||||
@Update("truncate table ${tableName}")
|
||||
void truncate(@Param("tableName") String tableName) ;
|
||||
|
||||
@Select("select orgaid,id,name,path from t_camera_organization order by orgaid")
|
||||
@Select("select orgaid,id,name,path from t_camera_organization_cache order by orgaid")
|
||||
List<Map> selectAllSubOrganizationMap();
|
||||
|
||||
@Update("UPDATE t_camera_organization SET channelCount = #{channelCount} where orgaid = #{orgaId}")
|
||||
@Update("UPDATE t_camera_organization_cache SET channelCount = #{channelCount} where orgaid = #{orgaId}")
|
||||
void editChannelCount(@Param("channelCount") Integer channelCount,@Param("orgaId") Integer orgaId);
|
||||
|
||||
@Update(" UPDATE t_region a inner join \n" +
|
||||
" (SELECT COUNT(idt_camera_channel) AS channel_count,region_code FROM t_camera_channel GROUP BY region_code) b\n" +
|
||||
" ON a.region_code = b.region_code set a.channel_count = b.channel_count")
|
||||
void updateRegionChannelCount();
|
||||
|
||||
@Select(" SELECT id FROM t_camera_organization WHERE orgaid >(SELECT a.orgaid FROM t_camera_organization a INNER JOIN \n" +
|
||||
"\t(\n" +
|
||||
"\t\tSELECT parent_id FROM t_camera_channel ORDER BY idt_camera_channel desc LIMIT 1\n" +
|
||||
"\t) b ON a.id = b.parent_id \n" +
|
||||
") ORDER BY orgaid ASC ")
|
||||
List<Map> listOrgenization2();
|
||||
// @Select(" SELECT id FROM t_camera_organization WHERE orgaid >(SELECT a.orgaid FROM t_camera_organization a INNER JOIN \n" +
|
||||
// "\t(\n" +
|
||||
// "\t\tSELECT parent_id FROM t_camera_channel ORDER BY idt_camera_channel desc LIMIT 1\n" +
|
||||
// "\t) b ON a.id = b.parent_id \n" +
|
||||
// ") ORDER BY orgaid ASC ")
|
||||
// List<Map> listOrgenization2();
|
||||
|
||||
void insertOrganizationCacheToCameraOrganization();
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package io.renren.modules.monitor.service;
|
|||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import io.renren.modules.monitor.dto.CameraChannelDto;
|
||||
import io.renren.modules.monitor.entity.Result;
|
||||
import io.renren.modules.monitor.mapper.CameraChannelMapper;
|
||||
import io.renren.modules.monitor.utils.EhcacheUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -9,7 +10,7 @@ import org.springframework.cache.ehcache.EhCacheCacheManager;
|
|||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author admin
|
||||
|
@ -38,4 +39,25 @@ public class CameraChannelService {
|
|||
return list;
|
||||
}
|
||||
|
||||
//根据输入的channel_id的列表查询到系统中存在的cameraChannel信息
|
||||
public Result checkCameraIfExists(List<String> channelList){
|
||||
List<Map> exists = new ArrayList<>();
|
||||
|
||||
Iterator<String> iterator = channelList.iterator();
|
||||
while(iterator.hasNext()){
|
||||
String s = iterator.next();
|
||||
Map map = cameraChannelMapper.selectCameraChannelById(s);
|
||||
if(map != null && !map.isEmpty()){
|
||||
exists.add(map);
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
|
||||
Map<String,Object> result = new HashMap<>();
|
||||
result.put("exists",exists);
|
||||
result.put("nonExists",channelList);
|
||||
|
||||
return Result.success(result);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||
import com.google.common.collect.Lists;
|
||||
import io.renren.modules.monitor.dto.ChannelLabelDto;
|
||||
import io.renren.modules.monitor.entity.*;
|
||||
import io.renren.modules.monitor.eventListen.saveCameraChannelEndEvent.SaveCameraChannelEndEvent;
|
||||
import io.renren.modules.monitor.eventListen.saveOrgenizationEndEvent.SaveOrgenizationEndEvent;
|
||||
import io.renren.modules.monitor.mapper.*;
|
||||
import lombok.extern.log4j.Log4j2;
|
||||
import org.bytedeco.javacv.FFmpegFrameGrabber;
|
||||
|
@ -15,12 +17,16 @@ import org.bytedeco.javacv.Frame;
|
|||
import org.bytedeco.javacv.Java2DFrameConverter;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.ApplicationEventPublisher;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.http.*;
|
||||
import org.springframework.http.client.SimpleClientHttpRequestFactory;
|
||||
import org.springframework.http.converter.StringHttpMessageConverter;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.Base64Utils;
|
||||
import org.springframework.util.LinkedMultiValueMap;
|
||||
import org.springframework.util.MultiValueMap;
|
||||
|
@ -35,6 +41,7 @@ import java.awt.image.BufferedImage;
|
|||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.Charset;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneOffset;
|
||||
|
@ -44,6 +51,7 @@ import java.util.*;
|
|||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
@Service
|
||||
@Log4j2
|
||||
|
@ -51,6 +59,9 @@ public class MonitorService {
|
|||
private static Integer cpuNUm = Runtime.getRuntime().availableProcessors();
|
||||
private static final ExecutorService executor = Executors.newFixedThreadPool(cpuNUm);
|
||||
|
||||
@Autowired
|
||||
private ApplicationEventPublisher publisher;
|
||||
|
||||
@Autowired
|
||||
private RestTemplate restTemplate;
|
||||
|
||||
|
@ -1129,24 +1140,73 @@ public class MonitorService {
|
|||
return Result.success(maps);
|
||||
}
|
||||
|
||||
public List<JSONObject> getOrgenization(List<JSONObject> list){
|
||||
try {
|
||||
List<JSONObject> list1 = this.getOrgenizationRoot();
|
||||
list.addAll(list1);
|
||||
list1.forEach(a->{
|
||||
if(a.getBooleanValue("isParent")){
|
||||
getOrgenizationByParent(list,a.getString("id"));
|
||||
}
|
||||
});
|
||||
return list;
|
||||
}catch (Exception e){
|
||||
log.info(e.getMessage());
|
||||
return null;
|
||||
//以此作为获取视频资源的开始,获取地区和组织信息
|
||||
public void getAndSaveOrgenization(){
|
||||
List<JSONObject> orgenizationByPage = this.getOrgenization(new ArrayList<JSONObject>(10000));
|
||||
if(orgenizationByPage != null && orgenizationByPage.size() > 0){
|
||||
cameraOrgenMapper.truncate("t_camera_organization_cache");
|
||||
List<Map> maps = JSONObject.parseArray(JSONObject.toJSONString(orgenizationByPage), Map.class);
|
||||
if(maps.size() > 0){
|
||||
List<List<Map>> lists = Lists.partition(maps,100);
|
||||
lists.forEach(list->{
|
||||
cameraOrgenMapper.batchSaveOrgenization(list);
|
||||
});
|
||||
|
||||
//修改path 信息
|
||||
List<Map> maps2 = cameraOrgenMapper.selectAll();
|
||||
maps2.forEach(map->{
|
||||
this.setOrganizationPath(map,map.get("parent_id").toString());
|
||||
});
|
||||
|
||||
maps2.forEach(m->{
|
||||
cameraOrgenMapper.updateOrganizationPath(m.get("path").toString(),m.get("id").toString());
|
||||
});
|
||||
|
||||
//发布事件
|
||||
publisher.publishEvent(new SaveOrgenizationEndEvent(this,true));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public List<JSONObject> getOrgenization(List<JSONObject> list) {
|
||||
RestTemplate template = this.getRestTemplate();
|
||||
int count = 0;
|
||||
boolean flag = true;
|
||||
while(flag){
|
||||
if(count >= 9){
|
||||
flag = false;
|
||||
}
|
||||
count ++;
|
||||
try {
|
||||
List<JSONObject> list1 = this.getOrgenizationRoot(template);
|
||||
list.addAll(list1);
|
||||
list1.forEach(a->{
|
||||
if(a.getBooleanValue("isParent")){
|
||||
getOrgenizationByParent(list,a.getString("id"),template);
|
||||
}
|
||||
});
|
||||
flag = false;
|
||||
return list;
|
||||
}catch (Exception e){
|
||||
log.error("第{}次获取视频通道组织信息失败,错误是:{}",count,e.getMessage());
|
||||
if(count >= 10){
|
||||
log.error("获取视频通道组织信息失败,失败原因:{}",e.getMessage());
|
||||
return new ArrayList<JSONObject>();
|
||||
}
|
||||
list.clear();
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
} catch (InterruptedException interruptedException) {
|
||||
interruptedException.printStackTrace();
|
||||
}
|
||||
continue;
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
//获取根组织
|
||||
public List<JSONObject> getOrgenizationRoot() throws Exception{
|
||||
public List<JSONObject> getOrgenizationRoot(RestTemplate restTemplate){
|
||||
List<JSONObject> list = new ArrayList<>();
|
||||
String url = monitorDomain + "/videoService/devicesManager/deviceTree?id=&nodeType=1&typeCode=01&page=1&pageSize=3000";
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
|
@ -1161,7 +1221,7 @@ public class MonitorService {
|
|||
}
|
||||
|
||||
//组织递归根据父ID查,简化了分页
|
||||
public List<JSONObject> getOrgenizationByParent(List<JSONObject> list,String id){
|
||||
public List<JSONObject> getOrgenizationByParent(List<JSONObject> list,String id,RestTemplate restTemplate) {
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.add("X-Subject-Token",token);
|
||||
String url;
|
||||
|
@ -1175,13 +1235,14 @@ public class MonitorService {
|
|||
|
||||
responseEntity = restTemplate.exchange(url, HttpMethod.GET,httpEntity,JSONObject.class);
|
||||
JSONObject re = responseEntity.getBody();
|
||||
|
||||
if(re.getIntValue("totalCount")>0){
|
||||
JSONArray results = re.getJSONArray("results");
|
||||
List<JSONObject> jsonObjects = results.toJavaList(JSONObject.class);
|
||||
list.addAll(jsonObjects);
|
||||
jsonObjects.forEach(js->{
|
||||
if(js.getBooleanValue("isParent")){
|
||||
getOrgenizationByParent(list,js.getString("id"));
|
||||
getOrgenizationByParent(list, js.getString("id"), restTemplate);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -1200,48 +1261,122 @@ public class MonitorService {
|
|||
}
|
||||
|
||||
//保存通道信息
|
||||
public Result saveChannelInfo() throws Exception {
|
||||
List<Map> orgenList = cameraOrgenMapper.listOrgenization();
|
||||
for(Map m:orgenList){
|
||||
List<Map> cameChannels = getChannelInfo(m.get("id").toString());
|
||||
List<Map> needSave = new ArrayList<>();
|
||||
if(cameChannels.size() > 0){
|
||||
boolean flag = false;
|
||||
for(Map j:cameChannels){
|
||||
if(Integer.parseInt(j.get("nodeType").toString()) ==3){
|
||||
flag = true;
|
||||
String channelSn = j.get("channelSn").toString();
|
||||
String channelOrngin = channelSn.substring(0,6);
|
||||
String deptName = cameraOrgenMapper.getNameByidPart(channelOrngin);
|
||||
j.put("regionName",deptName);
|
||||
j.put("regionCode",channelOrngin);
|
||||
j.put("parentId",m.get("id").toString());
|
||||
j.put("nodeName","");
|
||||
needSave.add(j);
|
||||
}
|
||||
}
|
||||
if(!flag){//更新count字段
|
||||
cameraOrgenMapper.updateOrganizationCount(m.get("id").toString());
|
||||
}
|
||||
}else{//更新count字段
|
||||
cameraOrgenMapper.updateOrganizationCount(m.get("id").toString());
|
||||
}
|
||||
// public Result saveChannelInfo() throws Exception {
|
||||
// List<Map> orgenList = cameraOrgenMapper.listOrgenization();
|
||||
// for(Map m:orgenList){
|
||||
// List<Map> cameChannels = getChannelInfo(m.get("id").toString());
|
||||
// List<Map> needSave = new ArrayList<>();
|
||||
// if(cameChannels.size() > 0){
|
||||
// boolean flag = false;
|
||||
// for(Map j:cameChannels){
|
||||
// if(Integer.parseInt(j.get("nodeType").toString()) ==3){
|
||||
// flag = true;
|
||||
// String channelSn = j.get("channelSn").toString();
|
||||
// String channelOrngin = channelSn.substring(0,6);
|
||||
// String deptName = cameraOrgenMapper.getNameByidPart(channelOrngin);
|
||||
// j.put("regionName",deptName);
|
||||
// j.put("regionCode",channelOrngin);
|
||||
// j.put("parentId",m.get("id").toString());
|
||||
// j.put("nodeName","");
|
||||
// needSave.add(j);
|
||||
// }
|
||||
// }
|
||||
// if(!flag){//更新count字段
|
||||
// cameraOrgenMapper.updateOrganizationCount(m.get("id").toString());
|
||||
// }
|
||||
// }else{//更新count字段
|
||||
// cameraOrgenMapper.updateOrganizationCount(m.get("id").toString());
|
||||
// }
|
||||
//
|
||||
// needSave.forEach(map->setNodeName(map,map.get("parentId").toString()));
|
||||
// //保存并更新count字段
|
||||
// if(needSave.size() > 0){
|
||||
// List<List<Map>> partition = Lists.partition(needSave, 100);
|
||||
// partition.forEach(list->{
|
||||
// cameraOrgenMapper.batchSaveCameraChannel(list);
|
||||
// });
|
||||
// cameraOrgenMapper.updateOrganizationCount(m.get("id").toString());
|
||||
// }
|
||||
// }
|
||||
// return Result.success();
|
||||
// }
|
||||
|
||||
needSave.forEach(map->setNodeName(map,map.get("parentId").toString()));
|
||||
//保存并更新count字段
|
||||
if(needSave.size() > 0){
|
||||
List<List<Map>> partition = Lists.partition(needSave, 100);
|
||||
partition.forEach(list->{
|
||||
cameraOrgenMapper.batchSaveCameraChannel(list);
|
||||
});
|
||||
cameraOrgenMapper.updateOrganizationCount(m.get("id").toString());
|
||||
}
|
||||
//2、获取视频通道信息并保存,多线程版
|
||||
public void saveChannelInfoAsync() throws Exception {
|
||||
RestTemplate restTemplate = this.getRestTemplate();
|
||||
AtomicInteger faulseCount = new AtomicInteger();//失败的次数
|
||||
//1-清空t_camera_channel
|
||||
cameraOrgenMapper.truncate("t_camera_channel_cache");
|
||||
Thread.sleep(1500);
|
||||
//2-查询全部地区
|
||||
//List<Map> maps = cameraOrgenMapper.testAll();
|
||||
List<Map> maps = cameraOrgenMapper.selectAll();
|
||||
if (maps != null && maps.size() > 0){
|
||||
List<List<Map>> lists = Lists.partition(maps, 1000);
|
||||
//3-创建线程池
|
||||
ExecutorService executorService;
|
||||
executorService = Executors.newFixedThreadPool(lists.size() + 1);
|
||||
|
||||
List<CompletableFuture> completableFutureLis = new ArrayList<>();
|
||||
lists.forEach(l->{
|
||||
completableFutureLis.add(
|
||||
CompletableFuture.runAsync(()->{
|
||||
l.forEach(m->{
|
||||
boolean flag = true;
|
||||
int tryCount = 0;//每个地区重试10次去获取该地区下视频通道信息
|
||||
while(flag){
|
||||
if(tryCount >= 9){
|
||||
flag = false;
|
||||
}
|
||||
tryCount++;
|
||||
//4-根据地区id去查询视频通道信息
|
||||
List<Map> cameraChannels = new ArrayList<>();
|
||||
try {
|
||||
cameraChannels = getChannelInfo(m.get("id").toString(),restTemplate);
|
||||
|
||||
}catch (Exception e){
|
||||
log.info("根据组织id:{}查询视频通道失败,这是第{}次重试",m.get("id").toString(),tryCount);
|
||||
if(tryCount >= 10){
|
||||
faulseCount.incrementAndGet();
|
||||
log.error("根据组织id:{},查询视频通道失败,超出重试次数。将去正式表中查询",m.get("id").toString());
|
||||
//去t_camera_channel查询相关信息并保存
|
||||
cameraChannels = cameraChannelMapper.selectCameraChannelByPid(m.get("id").toString());
|
||||
if(cameraChannels.size() > 0){
|
||||
List<List<Map>> channelList = Lists.partition(cameraChannels,100);
|
||||
for(List<Map> ll:channelList){
|
||||
cameraChannelMapper.batchSaveCameraChannel(ll);
|
||||
}
|
||||
} else {
|
||||
log.error("根据组织id:{},从正式表中查询视频通道失败,不存在该部门数据",m.get("id").toString());
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
//5-保存视频通道信息
|
||||
batchSaveChannelInfos(cameraChannels,m.get("id").toString());
|
||||
flag = false;
|
||||
}
|
||||
});
|
||||
},executorService)
|
||||
);
|
||||
});
|
||||
|
||||
executorService.shutdown();
|
||||
CompletableFuture.allOf(completableFutureLis.toArray(new CompletableFuture[completableFutureLis.size()])).join();
|
||||
|
||||
//6-更新完通道信息后,删除经度或纬度为空的视频通道信息
|
||||
cameraChannelMapper.deleteByNonPlace();
|
||||
|
||||
//7-查询地区下通道的数量并更新到地区cache表中
|
||||
editChannelCount();
|
||||
|
||||
//发布事件
|
||||
publisher.publishEvent(new SaveCameraChannelEndEvent(this,true));
|
||||
}
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
//根据组织id获取通道信息
|
||||
public List<Map> getChannelInfo(String orgenId) throws Exception{
|
||||
public List<Map> getChannelInfo(String orgenId,RestTemplate restTemplate) throws Exception{
|
||||
String url = monitorDomain +"/videoService/devicesManager/deviceTree?nodeType=1&typeCode=01;0;ALL;ALL&page=1&pageSize=3000&id="+orgenId;
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.add("X-Subject-Token",token);
|
||||
|
@ -1250,7 +1385,12 @@ public class MonitorService {
|
|||
HttpEntity<Map> httpEntity = new HttpEntity<>(null, headers);
|
||||
responseEntity = restTemplate.exchange(url, HttpMethod.GET,httpEntity,JSONObject.class);
|
||||
JSONObject re = responseEntity.getBody();
|
||||
List<Map> results = re.getJSONArray("results").toJavaList(Map.class);
|
||||
List<Map> results = new ArrayList<>();
|
||||
if(re.getJSONArray("results") != null){
|
||||
results = re.getJSONArray("results").toJavaList(Map.class);
|
||||
}else{
|
||||
log.info("根据组织id:{}获取摄像头信息失败,失败原因:{}",orgenId,re.toJSONString());
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
|
@ -1265,82 +1405,6 @@ public class MonitorService {
|
|||
}
|
||||
}
|
||||
|
||||
//2、获取视频通道信息并保存,多线程版
|
||||
@Async
|
||||
public void saveChannelInfoAsync() throws Exception {
|
||||
//1-清空t_camera_channel
|
||||
cameraOrgenMapper.truncate("t_camera_channel");
|
||||
|
||||
//2-创建线程池
|
||||
ExecutorService executorService = Executors.newFixedThreadPool(20);//20个线程足够
|
||||
|
||||
//3-查询全部地区
|
||||
List<Map> maps = cameraOrgenMapper.testAll();
|
||||
List<List<Map>> lists = Lists.partition(maps, 1000);
|
||||
|
||||
List<CompletableFuture> completableFutureLis = new ArrayList<>();
|
||||
lists.forEach(l->{
|
||||
completableFutureLis.add(
|
||||
CompletableFuture.runAsync(()->{
|
||||
l.forEach(m->{
|
||||
boolean flag = true;
|
||||
int tryCount = 0;//每个地区重试10次去获取该地区下视频通道信息
|
||||
while(flag){
|
||||
if(tryCount >= 9){
|
||||
flag = false;
|
||||
}
|
||||
tryCount++;
|
||||
//4-根据地区id去查询视频通道信息
|
||||
List<Map> cameraChannels = new ArrayList<>();
|
||||
try {
|
||||
cameraChannels = getChannelInfo(m.get("id").toString());
|
||||
|
||||
}catch (Exception e){
|
||||
log.info("根据地区id:{}查询视频通道失败,这是第{}次重试",m.get("id").toString(),tryCount);
|
||||
continue;
|
||||
}
|
||||
//5-保存视频通道信息
|
||||
batchSaveChannelInfos(cameraChannels,m.get("id").toString());
|
||||
//6-更新地区表的count
|
||||
cameraOrgenMapper.updateOrganizationCount(m.get("id").toString());
|
||||
flag = false;
|
||||
}
|
||||
});
|
||||
},executorService)
|
||||
);
|
||||
});
|
||||
|
||||
CompletableFuture.allOf(completableFutureLis.toArray(new CompletableFuture[completableFutureLis.size()])).join();
|
||||
|
||||
//6-更新完通道信息后,查询地区下通道的数量并更新到地区表和市区表中
|
||||
editChannelCount();
|
||||
|
||||
//7-同步武伟达的t_channel_mtm_label数据
|
||||
synchronizeMtmLabel();
|
||||
}
|
||||
|
||||
//同步武伟达的t_channel_mtm_label数据
|
||||
public void synchronizeMtmLabel(){
|
||||
DruidDataSource druidDataSource = new DruidDataSource();
|
||||
druidDataSource.setUrl(jdbcUrl);
|
||||
druidDataSource.setDriverClassName(jdbcDriverClassName);
|
||||
druidDataSource.setUsername(jdbcUserName);
|
||||
druidDataSource.setPassword(jdbcPassWord);
|
||||
jdbcTemplate.setDataSource(druidDataSource);
|
||||
|
||||
List<Map<String, Object>> maps = jdbcTemplate.queryForList("select * from t_channel_mtm_label");
|
||||
if(maps.size() > 0){
|
||||
//清空t_channel_mtm_label
|
||||
cameraOrgenMapper.truncate("t_channel_mtm_label");
|
||||
List<List<Map<String, Object>>> partition = Lists.partition(maps, 200);
|
||||
partition.forEach(list->{
|
||||
cameraChannelMapper.batchSaveMtmLabel(list);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//单独保存视频通道信息
|
||||
public void batchSaveChannelInfos(List<Map> list,String parentId){
|
||||
List<Map> needSave = new ArrayList<>();
|
||||
|
@ -1360,25 +1424,22 @@ public class MonitorService {
|
|||
needSave.add(j);
|
||||
}
|
||||
}
|
||||
}else{//更新count字段
|
||||
cameraOrgenMapper.updateOrganizationCount(parentId);
|
||||
}
|
||||
|
||||
//修改nodeName
|
||||
needSave.forEach(map->setNodeName(map,map.get("parentId").toString()));
|
||||
//保存并更新count字段
|
||||
//保存
|
||||
if(needSave.size() > 0){
|
||||
List<List<Map>> partition = Lists.partition(needSave, 100);
|
||||
partition.forEach(l->{
|
||||
cameraOrgenMapper.batchSaveCameraChannel(l);
|
||||
});
|
||||
cameraOrgenMapper.updateOrganizationCount(parentId);
|
||||
}
|
||||
}
|
||||
|
||||
//更新完通道信息后,查询地区下通道的数量并更新到地区表中和市区表中
|
||||
//更新完通道信息后,查询组织下通道的数量并更新到组织表中
|
||||
public void editChannelCount() throws Exception{
|
||||
//1-更新地区表中的每个地区下channelCount
|
||||
//更新地区表中的每个地区下channelCount
|
||||
List<Map> maps = cameraOrgenMapper.selectAllSubOrganizationMap();
|
||||
if(maps.size() > 0){
|
||||
for(int i=0;i< maps.size();i++){
|
||||
|
@ -1388,10 +1449,60 @@ public class MonitorService {
|
|||
cameraOrgenMapper.editChannelCount(count,orgaid);
|
||||
};
|
||||
}
|
||||
//2-更新市区表t_region表中的channelCount
|
||||
cameraOrgenMapper.updateRegionChannelCount();
|
||||
}
|
||||
|
||||
//将t_camera_organization_cache和camera_channel_cache表数据保存到相应的主表中
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void insertChannelCacheToCameraChannel(){
|
||||
cameraOrgenMapper.truncate("t_camera_organization");
|
||||
cameraOrgenMapper.insertOrganizationCacheToCameraOrganization();
|
||||
cameraOrgenMapper.truncate("t_camera_channel");
|
||||
cameraChannelMapper.insertChannelCacheToCameraChannel();
|
||||
}
|
||||
|
||||
//同步武伟达的t_channel_mtm_label数据
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void synchronizeMtmLabel(){
|
||||
DruidDataSource druidDataSource = new DruidDataSource();
|
||||
druidDataSource.setUrl(jdbcUrl);
|
||||
druidDataSource.setDriverClassName(jdbcDriverClassName);
|
||||
druidDataSource.setUsername(jdbcUserName);
|
||||
druidDataSource.setPassword(jdbcPassWord);
|
||||
jdbcTemplate.setDataSource(druidDataSource);
|
||||
|
||||
List<Map<String, Object>> maps = jdbcTemplate.queryForList("select * from t_channel_mtm_label");
|
||||
if (maps.size() > 0){
|
||||
//清空t_channel_mtm_label
|
||||
cameraOrgenMapper.truncate("t_channel_mtm_label");
|
||||
List<List<Map<String, Object>>> partition = Lists.partition(maps, 200);
|
||||
partition.forEach(list->{
|
||||
cameraChannelMapper.batchSaveMtmLabel(list);
|
||||
});
|
||||
}
|
||||
|
||||
List<Map<String, Object>> labelMaps = jdbcTemplate.queryForList("select * from t_label");
|
||||
if (labelMaps.size() > 0){
|
||||
//清空t_label
|
||||
cameraOrgenMapper.truncate("t_label");
|
||||
List<List<Map<String, Object>>> partition = Lists.partition(maps, 200);
|
||||
partition.forEach(list->{
|
||||
cameraChannelMapper.batchSaveLabel(list);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public RestTemplate getRestTemplate(){
|
||||
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
|
||||
factory.setReadTimeout(30000);//单位为ms
|
||||
factory.setConnectTimeout(10000);//单位为ms
|
||||
factory.setOutputStreaming(false);
|
||||
|
||||
RestTemplate restTemplate = new RestTemplate(factory);
|
||||
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(Charset.forName("UTF-8")));
|
||||
return restTemplate;
|
||||
}
|
||||
|
||||
//测试用的
|
||||
public List<Map> listChildOrgenIds(String id){
|
||||
Map orgenNow = cameraOrgenMapper.selectOrgenizationById(id);
|
||||
List<Map> childs = new ArrayList<>();
|
||||
|
@ -1399,7 +1510,6 @@ public class MonitorService {
|
|||
String path = orgenNow.get("path").toString();
|
||||
childs = cameraOrgenMapper.selectSubOrganizationMapByPath(id);
|
||||
}
|
||||
|
||||
return childs;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
package io.renren.modules.monitor.task;
|
||||
|
||||
import io.renren.modules.job.task.ITask;
|
||||
import io.renren.modules.monitor.service.MonitorService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 定时获取视频资源的部门信息
|
||||
* @author ytl
|
||||
* @Date 2022/7/29 9:45
|
||||
**/
|
||||
|
||||
@Component("getAndSaveOrgenizationTask")
|
||||
public class GetAndSaveOrgenizationTask implements ITask {
|
||||
@Autowired
|
||||
private MonitorService monitorService;
|
||||
|
||||
@Override
|
||||
public void run(String params) {
|
||||
monitorService.getAndSaveOrgenization();
|
||||
}
|
||||
|
||||
}
|
|
@ -26,9 +26,9 @@ import org.springframework.web.bind.annotation.*;
|
|||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* 通知管理
|
||||
*
|
||||
|
@ -49,10 +49,10 @@ public class SysNoticeController {
|
|||
@GetMapping("page")
|
||||
@ApiOperation("分页")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType = "int"),
|
||||
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"),
|
||||
@ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType = "String"),
|
||||
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType = "String")
|
||||
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType = "int"),
|
||||
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"),
|
||||
@ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType = "String"),
|
||||
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType = "String")
|
||||
})
|
||||
// @RequiresPermissions("sys:notice:all")
|
||||
public Result<PageData<SysNoticeDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params) {
|
||||
|
@ -141,7 +141,8 @@ public class SysNoticeController {
|
|||
public Result save(@RequestBody SysNoticeDTO dto) {
|
||||
//效验数据
|
||||
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
|
||||
|
||||
dto.setCreator(SecurityUser.getUser().getId());
|
||||
dto.setCreateDate(new Date());
|
||||
sysNoticeService.save(dto);
|
||||
|
||||
return new Result();
|
||||
|
@ -163,7 +164,7 @@ public class SysNoticeController {
|
|||
@DeleteMapping
|
||||
@ApiOperation("删除")
|
||||
@LogOperation("删除")
|
||||
// @RequiresPermissions("sys:notice:all")
|
||||
//@RequiresPermissions("sys:notice:all")
|
||||
public Result delete(@RequestBody Long[] ids) {
|
||||
//效验数据
|
||||
AssertUtils.isArrayEmpty(ids, "id");
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
package io.renren.modules.notice.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.renren.common.entity.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
|
@ -14,9 +15,26 @@ import java.util.Date;
|
|||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("sys_notice")
|
||||
public class SysNoticeEntity extends BaseEntity {
|
||||
public class SysNoticeEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long creator;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Date createDate;
|
||||
|
||||
/**
|
||||
* 通知类型
|
||||
*/
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package io.renren.modules.notice.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.renren.common.constant.Constant;
|
||||
|
@ -21,7 +22,11 @@ import io.renren.modules.sys.service.SysUserService;
|
|||
import io.renren.websocket.WebSocketServer;
|
||||
import io.renren.websocket.data.MessageData;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.session.UnknownSessionException;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
@ -29,18 +34,25 @@ import java.util.ArrayList;
|
|||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
|
||||
/**
|
||||
* 通知管理
|
||||
*/
|
||||
@Service
|
||||
public class SysNoticeServiceImpl extends CrudServiceImpl<SysNoticeDao, SysNoticeEntity, SysNoticeDTO> implements SysNoticeService {
|
||||
private static final ExecutorService executor = Executors.newWorkStealingPool();
|
||||
private static final Logger logger = LoggerFactory.getLogger(SysNoticeServiceImpl.class);
|
||||
@Autowired
|
||||
private SysNoticeUserService sysNoticeUserService;
|
||||
@Autowired
|
||||
private SysUserService sysUserService;
|
||||
@Autowired
|
||||
private WebSocketServer webSocketServer;
|
||||
@Autowired
|
||||
private JdbcTemplate jdbcTemplate;
|
||||
|
||||
@Override
|
||||
public QueryWrapper<SysNoticeEntity> getWrapper(Map<String, Object> params) {
|
||||
|
@ -86,21 +98,33 @@ public class SysNoticeServiceImpl extends CrudServiceImpl<SysNoticeDao, SysNotic
|
|||
@Transactional(rollbackFor = Exception.class)
|
||||
public void save(SysNoticeDTO dto) {
|
||||
SysNoticeEntity entity = ConvertUtils.sourceToTarget(dto, SysNoticeEntity.class);
|
||||
if (StringUtils.isEmpty(entity.getFrom())) {
|
||||
entity.setFrom("其它"); // 站内信通知来源 (通知、评论、其它)
|
||||
try {
|
||||
if (StringUtils.isEmpty(entity.getFrom())) {
|
||||
entity.setFrom("其它"); // 站内信通知来源 (通知、评论、其它)
|
||||
}
|
||||
|
||||
if (entity.getCreator() == null) {
|
||||
entity.setCreator(0L);
|
||||
}
|
||||
|
||||
//更新发送者信息
|
||||
if (dto.getStatus() == NoticeStatusEnum.SEND.value() && StringUtils.isEmpty(dto.getSenderName())) {
|
||||
entity.setSenderName(SecurityUser.getUser().getRealName());
|
||||
entity.setSenderDate(new Date());
|
||||
}
|
||||
|
||||
try {
|
||||
baseDao.insert(entity);
|
||||
} catch (UnknownSessionException unknownSessionException) {
|
||||
logger.info("发送站内信shiro异常 " + JSON.toJSONString(entity), unknownSessionException);
|
||||
}
|
||||
|
||||
//发送通知
|
||||
dto.setId(entity.getId());
|
||||
sendNotice(dto);
|
||||
} catch (Exception exception) {
|
||||
logger.error("发送站内信异常 " + JSON.toJSONString(entity), exception);
|
||||
}
|
||||
|
||||
//更新发送者信息
|
||||
if (dto.getStatus() == NoticeStatusEnum.SEND.value() && StringUtils.isEmpty(dto.getSenderName())) {
|
||||
entity.setSenderName(SecurityUser.getUser().getRealName());
|
||||
entity.setSenderDate(new Date());
|
||||
}
|
||||
|
||||
baseDao.insert(entity);
|
||||
|
||||
//发送通知
|
||||
dto.setId(entity.getId());
|
||||
sendNotice(dto);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -131,12 +155,14 @@ public class SysNoticeServiceImpl extends CrudServiceImpl<SysNoticeDao, SysNotic
|
|||
|
||||
//全部用户
|
||||
if (notice.getReceiverType() == ReceiverTypeEnum.ALL.value()) {
|
||||
//发送给全部用户
|
||||
sendAllUser(notice);
|
||||
|
||||
//通过WebSocket,提示全部用户,有新通知
|
||||
MessageData<String> message = new MessageData<String>().msg(notice.getTitle());
|
||||
webSocketServer.sendMessageAll(message);
|
||||
CompletableFuture.runAsync(() -> {
|
||||
//发送给全部用户
|
||||
sendAllUser(notice);
|
||||
}, executor).thenRunAsync(() -> {
|
||||
//通过WebSocket,提示全部用户,有新通知
|
||||
MessageData<String> message = new MessageData<String>().msg(notice.getTitle());
|
||||
webSocketServer.sendMessageAll(message);
|
||||
}, executor);
|
||||
|
||||
} else { //选中用户
|
||||
List<Long> userIdList = new ArrayList<>();
|
||||
|
@ -152,12 +178,14 @@ public class SysNoticeServiceImpl extends CrudServiceImpl<SysNoticeDao, SysNotic
|
|||
return;
|
||||
}
|
||||
|
||||
//发送给选中用户
|
||||
sendUser(notice, userIdList);
|
||||
|
||||
//通过WebSocket,提示选中用户,有新通知
|
||||
MessageData<String> message = new MessageData<String>().msg(notice.getTitle());
|
||||
webSocketServer.sendMessage(userIdList, message);
|
||||
List<Long> finalUserIdList = userIdList;
|
||||
CompletableFuture.runAsync(() -> {
|
||||
sendUser(notice, finalUserIdList);
|
||||
}, executor).thenRunAsync(() -> {
|
||||
//通过WebSocket,提示选中用户,有新通知
|
||||
MessageData<String> message = new MessageData<String>().msg(notice.getTitle());
|
||||
webSocketServer.sendMessage(finalUserIdList, message);
|
||||
}, executor);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ public class TAbilityApplicationController {
|
|||
@ApiImplicitParam(name = "resourceId", value = "资源id", paramType = "query", dataType = "String")
|
||||
}
|
||||
)
|
||||
public Result<PageData<TAbilityApplicationDTO>> resourceInUse(Map<String, Object> params) {
|
||||
public Result<PageData<TAbilityApplicationDTO>> resourceInUse(@ApiIgnore @RequestParam Map<String, Object> params) {
|
||||
PageData<TAbilityApplicationDTO> page = tAbilityApplicationService.page(params);
|
||||
return new Result<PageData<TAbilityApplicationDTO>>().ok(page);
|
||||
}
|
||||
|
@ -225,10 +225,12 @@ public class TAbilityApplicationController {
|
|||
if (StringUtils.isEmpty(index_.getCameraList())) {
|
||||
return;
|
||||
}
|
||||
List<CameraChannelDto1> channelDto1s = cameraChannelMapper.selectByChannelCode(index_.getCameraList().replaceAll("\"", ""));
|
||||
if (!channelDto1s.isEmpty()) {
|
||||
cameraList.add(channelDto1s.get(0));
|
||||
}
|
||||
cameraList.add(JSON.parseObject(index_.getCameraList()));
|
||||
//
|
||||
//List<CameraChannelDto1> channelDto1s = cameraChannelMapper.selectByChannelCode(index_.getCameraList().replaceAll("\"", ""));
|
||||
//if (!channelDto1s.isEmpty()) {
|
||||
// cameraList.add(channelDto1s.get(0));
|
||||
//}
|
||||
});
|
||||
camera = cameraList;
|
||||
|
||||
|
@ -238,12 +240,13 @@ public class TAbilityApplicationController {
|
|||
put("instanceId", tAbilityApplicationDTOList.get(0).getInstanceId()); // 流程id
|
||||
put("resourceOwnerDept", tAbilityApplicationDTOList.get(0).getResourceOwnerDept()); // 资源所属部门信息
|
||||
put("resources", resourceDTOS);//申请的该部门的能力资源
|
||||
if (tAbilityApplicationDTOList.get(0).getApplyFlag().equals("通过")) {
|
||||
put("ended", true);
|
||||
} else {
|
||||
if (tAbilityApplicationDTOList.get(0).getApproveStatus().equals("审核中")) {
|
||||
put("ended", false);
|
||||
} else {
|
||||
put("ended", true);
|
||||
}
|
||||
put("taskHandleDetailInfo", taskHandleDetailInfo); // 流程详情
|
||||
put("approveStatus", tAbilityApplicationDTOList.get(0).getApproveStatus());
|
||||
if (!finalCamera.isEmpty()) {
|
||||
put("camera", finalCamera); // 流程详情
|
||||
}
|
||||
|
@ -258,6 +261,10 @@ public class TAbilityApplicationController {
|
|||
return sysDeptDTO.getName();
|
||||
}
|
||||
}));
|
||||
tAbilityApplicationV2DTO.setEnded(re.keySet().stream().map(index -> {
|
||||
List<Map<String, Object>> index_ = re.get(index);
|
||||
return index_.stream().map(temp -> !(Boolean) temp.get("ended")).filter(i -> i).findAny().orElse(Boolean.FALSE); // 存在未完成流程
|
||||
}).filter(index -> index).map(index -> !index).findAny().orElse(Boolean.TRUE));
|
||||
tAbilityApplicationV2DTO.setResourceApplication(re);
|
||||
return new Result<TAbilityApplicationV2DTO>().ok(tAbilityApplicationV2DTO);
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@ import org.activiti.engine.TaskService;
|
|||
import org.activiti.engine.delegate.*;
|
||||
import org.activiti.engine.delegate.event.ActivitiEvent;
|
||||
import org.activiti.engine.delegate.event.ActivitiEventListener;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
@ -266,10 +267,11 @@ public class CorrectionListener implements TaskListener, ExecutionListener, Acti
|
|||
logger.info("-------能力申请code-------");
|
||||
ResourceEntity resourceEntity = resourceService.selectById(abilityApplicationDTO.getResourceId());
|
||||
|
||||
//没有groupid当做没有接口,直接跳过
|
||||
if (resourceEntity.getGroupId() == null)
|
||||
return;
|
||||
|
||||
if (ObjectUtils.allNotNull(resourceEntity)) {
|
||||
//没有groupid当做没有接口,直接跳过
|
||||
if (resourceEntity.getGroupId() == null)
|
||||
return;
|
||||
}
|
||||
String code = UUID.randomUUID().toString();
|
||||
apiGatewayService.subscribeCode(String.valueOf(abilityApplicationDTO.getId()), code);
|
||||
|
||||
|
|
|
@ -120,7 +120,7 @@ public class CorrectionListenerV2 implements TaskListener, ExecutionListener, Ac
|
|||
/**
|
||||
* 结束审批
|
||||
*
|
||||
* @param kv
|
||||
* @param delegateExecution
|
||||
*/
|
||||
private void endTake(DelegateExecution delegateExecution) { // 进入最后结束节点
|
||||
Map<String, Object> kv = delegateExecution.getVariables();
|
||||
|
@ -146,7 +146,11 @@ public class CorrectionListenerV2 implements TaskListener, ExecutionListener, Ac
|
|||
jdbcTemplate.batchUpdate(sqls);
|
||||
|
||||
if (auditingBaseDTO.getReject() == null || auditingBaseDTO.getReject() != Boolean.TRUE) { // 都是同意
|
||||
batchApplyCode(delegateExecution, dtoList);
|
||||
try {
|
||||
batchApplyCode(delegateExecution, dtoList);
|
||||
} catch (Exception exception) {
|
||||
logger.error("上架网关失败", exception);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -298,7 +302,9 @@ public class CorrectionListenerV2 implements TaskListener, ExecutionListener, Ac
|
|||
boolean hasData = false;
|
||||
for (TAbilityApplicationDTO abilityApplicationDTO : dtoList) {
|
||||
ResourceEntity resourceEntity = resourceService.selectById(abilityApplicationDTO.getResourceId());
|
||||
|
||||
if (resourceEntity == null) {
|
||||
continue;
|
||||
}
|
||||
//没有groupid当做没有接口,直接跳过
|
||||
if (resourceEntity == null || resourceEntity.getGroupId() == null)
|
||||
continue;
|
||||
|
|
|
@ -128,7 +128,7 @@ public class DataCenterListenerV2 implements TaskListener, ExecutionListener, Ac
|
|||
if (resourceDTOOptional.isPresent()) {
|
||||
return !StringUtils.contains(resourceDTOOptional.get().getShareCondition(), "免批"); // 存在非免批
|
||||
} else {
|
||||
return false;
|
||||
return true; // 摄像头非免批
|
||||
}
|
||||
}).findAny();
|
||||
if (!tAbilityApplicationDTO.isPresent()) { // 全是免批
|
||||
|
|
|
@ -61,13 +61,17 @@ public class ApiGatewayService {
|
|||
throw new IllegalArgumentException(String.format("未找到对应的资源id:%s", resourceId));
|
||||
}
|
||||
String apiUrl = resourceEntity.getApiUrl();
|
||||
String methods = resourceEntity.getApiMethodType().toUpperCase();
|
||||
String methods = "";
|
||||
if (resourceEntity.getApiMethodType() != null) {
|
||||
methods = resourceEntity.getApiMethodType().toUpperCase();
|
||||
}
|
||||
Long deptId = resourceEntity.getDeptId();
|
||||
|
||||
HashSet supportMethod = Sets.newHashSet("POST", "GET");
|
||||
|
||||
if (StringUtils.isBlank(apiUrl) || deptId == null || deptId == 0 || StringUtils.isBlank(methods) || !supportMethod.contains(methods)){
|
||||
String msg = String.format("注册api参数为空,跳过 apiUrl:%s, deptId:%ld methods:%s, resourceId:%s", apiUrl, deptId, methods, resourceId);
|
||||
|
||||
//重要参数没有当成不需要注册
|
||||
log.info(msg);
|
||||
return;
|
||||
|
|
|
@ -59,6 +59,8 @@ public class TAbilityApplicationServiceImpl extends CrudServiceImpl<TAbilityAppl
|
|||
});
|
||||
if (params.containsKey("abilityprocess_v2")) {
|
||||
wrapper.orderByDesc("apply_number"); // 流程排序
|
||||
} else {
|
||||
wrapper.orderByDesc("create_date"); // 创建时间逆序
|
||||
}
|
||||
return wrapper;
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ import io.renren.modules.resource.videoPreview.VideoPreviewFactory;
|
|||
import io.renren.modules.sys.dto.SysDeptDTO;
|
||||
import io.renren.modules.sys.service.SysDeptService;
|
||||
import io.swagger.annotations.*;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -129,7 +130,13 @@ public class ResourceController {
|
|||
})
|
||||
public Result<PageData<ResourceDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params) {
|
||||
PageData<ResourceDTO> page = resourceService.page(params);
|
||||
page.getList().forEach(item -> item.setInfoList(resourceService.selectAttrsByResourceId(item.getId())));
|
||||
page.getList().forEach(item -> {
|
||||
item.setInfoList(resourceService.selectAttrsByResourceId(item.getId()));
|
||||
if (item.getDeptId() != null) {
|
||||
String deptName = sysDeptService.get(item.getDeptId()).getName();
|
||||
item.setDeptName(StringUtils.isNotBlank(deptName) ? deptName : "--");
|
||||
}
|
||||
});
|
||||
return new Result<PageData<ResourceDTO>>().ok(page);
|
||||
}
|
||||
|
||||
|
@ -230,7 +237,7 @@ public class ResourceController {
|
|||
//@RequiresPermissions("resource:resource:save")
|
||||
public Result save(@RequestBody ResourceDTO dto, @RequestParam String source) {
|
||||
// 效验数据
|
||||
logger.info("source:" + source);
|
||||
logger.info("source:{}", source);
|
||||
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
|
||||
if ("f".equals(source)) {
|
||||
dto.setDelFlag(2); // 来自前端页面 走审批流程
|
||||
|
@ -250,7 +257,7 @@ public class ResourceController {
|
|||
public Result importResource(@RequestParam("file") MultipartFile uploadFile, HttpServletRequest request) {
|
||||
List<Map<String, Object>> dept =
|
||||
jdbcTemplate.queryForList("SELECT id,`name` FROM sys_dept");
|
||||
logger.info("上传文件:" + uploadFile.getOriginalFilename());
|
||||
logger.info("上传文件:{}" , uploadFile.getOriginalFilename());
|
||||
String format = sdf.format(new Date());
|
||||
File folder = new File(uploadPath + "upload" + File.separator + format);
|
||||
logger.info(folder.getPath());
|
||||
|
@ -259,29 +266,20 @@ public class ResourceController {
|
|||
}
|
||||
// 对上传的文件重命名,避免文件重名
|
||||
String oldName = uploadFile.getOriginalFilename();
|
||||
String newName = UUID.randomUUID().toString()
|
||||
+ oldName.substring(oldName.lastIndexOf("."));
|
||||
String newName = UUID.randomUUID() + oldName.substring(oldName.lastIndexOf("."));
|
||||
try {
|
||||
// 文件保存
|
||||
File file = new File(folder, newName);
|
||||
uploadFile.transferTo(file);
|
||||
Optional<SysDeptDTO> deptDTO = Optional.ofNullable(sysDeptService.getByName(bigDateDeptName));
|
||||
CompletableFuture.runAsync(() -> {
|
||||
EasyExcel.read(file, new ResourceExcelImportListener(0, dept, resourceService, deptDTO.get().getId())).sheet(0).headRowNumber(1).doReadSync();
|
||||
}, executor);
|
||||
CompletableFuture.runAsync(() -> {
|
||||
EasyExcel.read(file, new ResourceExcelImportListener(1, dept, resourceService, deptDTO.get().getId())).sheet(1).headRowNumber(1).doReadSync();
|
||||
}, executor);
|
||||
CompletableFuture.runAsync(() -> {
|
||||
EasyExcel.read(file, new ResourceExcelImportListener(2, dept, resourceService, deptDTO.get().getId())).sheet(2).headRowNumber(1).doReadSync();
|
||||
}, executor);
|
||||
CompletableFuture.runAsync(() -> {
|
||||
EasyExcel.read(file, new ResourceExcelImportListener(3, dept, resourceService, deptDTO.get().getId())).sheet(3).headRowNumber(1).doReadSync();
|
||||
}, executor);
|
||||
CompletableFuture.runAsync(() -> EasyExcel.read(file, new ResourceExcelImportListener(0, dept, resourceService, deptDTO.get().getId())).sheet(0).headRowNumber(1).doReadSync(), executor);
|
||||
CompletableFuture.runAsync(() -> EasyExcel.read(file, new ResourceExcelImportListener(1, dept, resourceService, deptDTO.get().getId())).sheet(1).headRowNumber(1).doReadSync(), executor);
|
||||
CompletableFuture.runAsync(() -> EasyExcel.read(file, new ResourceExcelImportListener(2, dept, resourceService, deptDTO.get().getId())).sheet(2).headRowNumber(1).doReadSync(), executor);
|
||||
CompletableFuture.runAsync(() -> EasyExcel.read(file, new ResourceExcelImportListener(3, dept, resourceService, deptDTO.get().getId())).sheet(3).headRowNumber(1).doReadSync(), executor);
|
||||
} catch (IOException e) {
|
||||
return new Result<String>().error(e.getMessage());
|
||||
}
|
||||
return new Result().ok(LocalDateTime.now().toString());
|
||||
return new Result<String>().ok(LocalDateTime.now().toString());
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
|
@ -311,7 +309,7 @@ public class ResourceController {
|
|||
@LogOperation("资源转发")
|
||||
public Result ZywMessage() {
|
||||
String url = "http://15.72.158.81/zyjk/ZywMessage.asmx";
|
||||
String parame = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
|
||||
String param = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
|
||||
"<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n" +
|
||||
" <soap:Body>\n" +
|
||||
" </soap:Body>\n" +
|
||||
|
@ -319,11 +317,11 @@ public class ResourceController {
|
|||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
requestHeaders.set("SOAPAction", "http://tempuri.org/ZywMessagePort");
|
||||
requestHeaders.setContentType(MediaType.TEXT_XML);
|
||||
HttpEntity<String> requestEntity = new HttpEntity(parame, requestHeaders);
|
||||
HttpEntity<String> requestEntity = new HttpEntity<>(param, requestHeaders);
|
||||
try {
|
||||
String body = restTemplate.postForEntity(url, requestEntity, String.class).getBody();
|
||||
String json = body.substring(body.indexOf("{"), body.indexOf("}") + 1);
|
||||
HashMap map = JSONObject.parseObject(json, HashMap.class);
|
||||
HashMap map = JSON.parseObject(json, HashMap.class);
|
||||
return new Result().ok(map);
|
||||
} catch (Exception e) {
|
||||
return new Result().ok(new HashMap<String, Object>() {{
|
||||
|
@ -365,13 +363,13 @@ public class ResourceController {
|
|||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
requestHeaders.set("SOAPAction", "http://tempuri.org/ZWCJ_mainPort");
|
||||
requestHeaders.setContentType(new MediaType("text", "xml", Charset.forName("utf-8")));
|
||||
HttpEntity<String> requestEntity = new HttpEntity(parame, requestHeaders);
|
||||
HttpEntity<String> requestEntity = new HttpEntity<>(parame, requestHeaders);
|
||||
try {
|
||||
String body = restTemplate.postForEntity(url, requestEntity, String.class).getBody();
|
||||
String startTag = "<ZWCJ_mainPortResult>";
|
||||
String endTag = "</ZWCJ_mainPortResult>";
|
||||
String json = body.substring(body.indexOf(startTag) + startTag.length(), body.indexOf(endTag));
|
||||
HashMap result = JSONObject.parseObject(json, HashMap.class);
|
||||
HashMap result = JSON.parseObject(json, HashMap.class);
|
||||
|
||||
List<Map> rows = (List<Map>) result.get("data");
|
||||
List<Object> objects = rows.stream()
|
||||
|
@ -513,8 +511,8 @@ public class ResourceController {
|
|||
@GetMapping("/selectTotalByDept")
|
||||
@ApiOperation("按照资源类型统计本部门发布的资源")
|
||||
@LogOperation("按照资源类型统计本部门发布的资源")
|
||||
public Result selectTotalByDept() {
|
||||
return new Result().ok(resourceService.selectTotalByDept());
|
||||
public Result<Map<String, Object>> selectTotalByDept() {
|
||||
return new Result<Map<String, Object>>().ok(resourceService.selectTotalByDept());
|
||||
}
|
||||
|
||||
@GetMapping("/getApplyByDept")
|
||||
|
@ -553,13 +551,6 @@ public class ResourceController {
|
|||
return new Result().ok(resourceService.selectInfrastructureList());
|
||||
}
|
||||
|
||||
@GetMapping("/list")
|
||||
@ApiOperation("能力查询")
|
||||
@LogOperation("能力查询")
|
||||
public Result list(@ApiIgnore @RequestParam Map<String, Object> params){
|
||||
return new Result<>().ok(resourceService.list(params));
|
||||
}
|
||||
|
||||
@GetMapping("/selectDevelopDoc")
|
||||
@ApiOperation("查询能力开发文档目录")
|
||||
@LogOperation("查询能力开发文档目录")
|
||||
|
|
|
@ -92,6 +92,10 @@ public class ResourceDTO extends AuditingBaseDTO implements Serializable {
|
|||
private String applyCount;
|
||||
@ApiModelProperty(value = "部门ID集合")
|
||||
private List<Long> deptIds;
|
||||
@ApiModelProperty(value = "是否在申购车内")
|
||||
private Boolean isInShoppingCart;
|
||||
@ApiModelProperty(value = "审核状态:通过,不通过")
|
||||
private String approveStatus;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "属性信息")
|
||||
|
@ -103,6 +107,8 @@ public class ResourceDTO extends AuditingBaseDTO implements Serializable {
|
|||
private String undercarriageReason;
|
||||
@ApiModelProperty(value = "提起下架人员姓名")
|
||||
private String undercarriageUserName;
|
||||
@ApiModelProperty(value = "下架附件")
|
||||
private String undercarriageEnclosure;
|
||||
|
||||
@ApiModelProperty(value = "总体评价")
|
||||
private Integer total;
|
||||
|
|
|
@ -134,6 +134,12 @@ public class ResourceEntity extends BaseEntity {
|
|||
*/
|
||||
private String undercarriageUserName;
|
||||
|
||||
|
||||
/**
|
||||
* 下架附件
|
||||
*/
|
||||
private String undercarriageEnclosure;
|
||||
|
||||
@TableField(value = "info_list", typeHandler = FastjsonTypeHandler.class)
|
||||
private List<AttrEntity> infoList;
|
||||
|
||||
|
|
|
@ -32,10 +32,18 @@ public enum ResourceEntityDelFlag {
|
|||
* 已下架
|
||||
*/
|
||||
UNDERCARRIAGE(5, "已下架"),
|
||||
|
||||
|
||||
/**
|
||||
* 上架被拒绝
|
||||
*/
|
||||
REJECT_REVIEW(6, "上架被拒绝"),
|
||||
|
||||
/**
|
||||
* 其他
|
||||
*/
|
||||
OTHER(9, "其他"),
|
||||
|
||||
/**
|
||||
* 未知
|
||||
*/
|
||||
|
|
|
@ -7,6 +7,7 @@ import io.renren.modules.resource.dto.ResourceDTO;
|
|||
import io.renren.modules.resource.entity.AttrEntity;
|
||||
import io.renren.modules.resource.entity.ResourceEntity;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
@ -111,7 +112,7 @@ public interface ResourceService extends CrudService<ResourceEntity, ResourceDTO
|
|||
|
||||
Object getByDept(Map<String, Object> params);
|
||||
|
||||
Object selectTotalByDept();
|
||||
HashMap<String, Object> selectTotalByDept();
|
||||
|
||||
Object getApplyByDept(Map<String, Object> params);
|
||||
|
||||
|
|
|
@ -15,7 +15,6 @@ import io.renren.common.domain.Tsingtao_xhaProperties;
|
|||
import io.renren.common.page.PageData;
|
||||
import io.renren.common.service.impl.CrudServiceImpl;
|
||||
import io.renren.common.utils.DateUtils;
|
||||
import io.renren.common.utils.Result;
|
||||
import io.renren.modules.monitor.dto.CameraChannelDto1;
|
||||
import io.renren.modules.monitor.entity.CameraChannel;
|
||||
import io.renren.modules.monitor.mapper.CameraChannelMapper;
|
||||
|
@ -51,6 +50,7 @@ import okhttp3.*;
|
|||
import org.activiti.engine.HistoryService;
|
||||
import org.activiti.engine.history.HistoricProcessInstance;
|
||||
import org.activiti.engine.history.HistoricProcessInstanceQuery;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
@ -81,8 +81,8 @@ import java.util.stream.Collectors;
|
|||
*/
|
||||
@Service
|
||||
public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEntity, ResourceDTO> implements ResourceService {
|
||||
private static final Integer cpuNUm = Runtime.getRuntime().availableProcessors();
|
||||
private static final ExecutorService executor = Executors.newWorkStealingPool(cpuNUm * 3);
|
||||
private static final Integer CPU_NUM = Runtime.getRuntime().availableProcessors();
|
||||
private static final ExecutorService executor = Executors.newWorkStealingPool(CPU_NUM * 3);
|
||||
|
||||
/**
|
||||
* 公共http客户端
|
||||
|
@ -90,14 +90,14 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
private static final OkHttpClient client = new OkHttpClient().newBuilder()
|
||||
.connectTimeout(1, TimeUnit.MINUTES)
|
||||
.readTimeout(1, TimeUnit.MINUTES)
|
||||
.connectionPool(new ConnectionPool(cpuNUm * 2, 2, TimeUnit.MINUTES))
|
||||
.connectionPool(new ConnectionPool(CPU_NUM * 2, 2, TimeUnit.MINUTES))
|
||||
.retryOnConnectionFailure(false)
|
||||
.build();
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(ResourceServiceImpl.class);
|
||||
|
||||
private static final String selectDeptListKey = "selectDeptList";
|
||||
private static final String selectDTOPageSpecilTotalKey = "selectDTOPageSpecilTotal";
|
||||
private static final String SELECT_DEPT_LIST_KEY = "selectDeptList";
|
||||
private static final String SELECT_DTO_PAGE_SPECIAL_TOTAL_KEY = "selectDTOPageSpecilTotal";
|
||||
|
||||
@Value("${system.startDay}")
|
||||
private String systemDay;
|
||||
|
@ -201,6 +201,8 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
case "creator":
|
||||
wrapper.eq(StringUtils.isNotBlank(params.get("creator").toString()), "creator", params.get("creator").toString());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
});
|
||||
if (params.containsKey("selectType") && "1".equals(params.get("selectType").toString())) { // 创建者查询时
|
||||
|
@ -218,7 +220,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
|
||||
@Override
|
||||
@Transactional
|
||||
@CacheEvict(cacheNames = {selectDeptListKey, selectDTOPageSpecilTotalKey}, allEntries = true)
|
||||
@CacheEvict(cacheNames = {SELECT_DEPT_LIST_KEY, SELECT_DTO_PAGE_SPECIAL_TOTAL_KEY}, allEntries = true)
|
||||
public void insertWithAttrs(ResourceDTO dto) {
|
||||
ResourceEntity resourceEntity = new ResourceEntity();
|
||||
BeanUtils.copyProperties(dto, resourceEntity);
|
||||
|
@ -282,7 +284,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
|
||||
@Override
|
||||
@Transactional
|
||||
@CacheEvict(cacheNames = {selectDeptListKey, selectDTOPageSpecilTotalKey}, allEntries = true)
|
||||
@CacheEvict(cacheNames = {SELECT_DEPT_LIST_KEY, SELECT_DTO_PAGE_SPECIAL_TOTAL_KEY}, allEntries = true)
|
||||
public void createMixAbility(ResourceDTO dto) {
|
||||
ResourceEntity resourceEntity = new ResourceEntity();
|
||||
BeanUtils.copyProperties(dto, resourceEntity);
|
||||
|
@ -326,7 +328,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
|
||||
@Override
|
||||
@Transactional
|
||||
@CacheEvict(cacheNames = {selectDeptListKey, selectDTOPageSpecilTotalKey}, allEntries = true)
|
||||
@CacheEvict(cacheNames = {SELECT_DEPT_LIST_KEY, SELECT_DTO_PAGE_SPECIAL_TOTAL_KEY}, allEntries = true)
|
||||
public void deleteWithAttrs(JSONObject jsonObject) {
|
||||
JSONArray jsonArray = jsonObject.getJSONArray("ids");
|
||||
List<Long> idList = jsonArray.toJavaList(Long.class);
|
||||
|
@ -340,7 +342,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
|
||||
@Override
|
||||
@Transactional
|
||||
@CacheEvict(cacheNames = {selectDeptListKey, selectDTOPageSpecilTotalKey}, allEntries = true)
|
||||
@CacheEvict(cacheNames = {SELECT_DEPT_LIST_KEY, SELECT_DTO_PAGE_SPECIAL_TOTAL_KEY}, allEntries = true)
|
||||
public void updateWithAttrs(ResourceDTO dto) {
|
||||
ResourceEntity resourceEntity = new ResourceEntity();
|
||||
BeanUtils.copyProperties(dto, resourceEntity);
|
||||
|
@ -451,9 +453,6 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
|
||||
/**
|
||||
* 从本库内查询
|
||||
*
|
||||
* @param resultPage
|
||||
* @return
|
||||
*/
|
||||
private Page<ResourceDTO> common(Page<ResourceDTO> resultPage, List<Map> selectDTOPageSpecilTotal, ResourceDTO resourceDTO, String orderField, String orderType, Integer pageNum, Integer pageSize) {
|
||||
if (resourceDTO.getInfoList().isEmpty()) {
|
||||
|
@ -499,11 +498,11 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
resultPage.setRecords(resourceDTOS);
|
||||
resultPage.setTotal(resourceDao.selectDTOPageCount(resourceDTO));
|
||||
} else {
|
||||
logger.info("orderField:{} orderType:{}", orderField, orderType);
|
||||
logger.info("排序要求 orderField:{} orderType:{}", orderField, orderType);
|
||||
List<ResourceDTO> resourceDTOS = resourceDao.selectWithAttrs(resourceDTO, orderField, orderType);
|
||||
int j = Math.min(pageNum * pageSize, resourceDTOS.size());
|
||||
if (resourceDTOS.isEmpty()) {
|
||||
resultPage.setRecords(null);
|
||||
resultPage.setRecords(new ArrayList<>());
|
||||
resultPage.setTotal(0);
|
||||
} else {
|
||||
List<ResourceDTO> recordLists = resourceDTOS.stream()
|
||||
|
@ -533,25 +532,20 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
public Object selectTotal() {
|
||||
HashMap<String, Object> resultMap = new HashMap<>();
|
||||
List<Map> re = resourceDao.selectTypeCount(null);
|
||||
//2022-07-05,ytl修改 start
|
||||
re.removeIf(r -> {
|
||||
return org.apache.commons.lang3.StringUtils.equals(r.get("type").toString(), "基础设施");
|
||||
});
|
||||
//2022-07-05,ytl修改 end
|
||||
switch (Constant.ProjectPlace.getByFlag(projectPlace)) {
|
||||
case TSINGTAO_XHA: { // 青岛西海岸
|
||||
CompletableFuture allAmount = CompletableFuture.supplyAsync(() -> { // 获取平台总基础设施数目
|
||||
List<Long> result_ = new CopyOnWriteArrayList<>();
|
||||
List<Long> result = new CopyOnWriteArrayList<>();
|
||||
CompletableFuture cloud =
|
||||
CompletableFuture.runAsync(() -> { // 云脑专网
|
||||
String url = String.format(tsingtao_xhaProperties.getCloudcam(), "", 1, 10);
|
||||
String url = tsingtao_xhaProperties.getCamCount();
|
||||
logger.info(url);
|
||||
Request request = new Request.Builder().url(url).build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
if (response.isSuccessful()) {
|
||||
JSONObject jsonObject = JSON.parseObject(response.body().string());
|
||||
if (jsonObject.containsKey("data")) {
|
||||
result_.add(jsonObject.getJSONObject("data").getLongValue("total"));
|
||||
if (jsonObject.containsKey("errorNo") && jsonObject.getLongValue("errorNo") == 200) {
|
||||
result.add(jsonObject.getLongValue("body"));
|
||||
}
|
||||
} else {
|
||||
logger.error("青岛西海岸获取失败");
|
||||
|
@ -562,14 +556,14 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
}, executor);
|
||||
CompletableFuture local =
|
||||
CompletableFuture.runAsync(() -> { // 金宏网
|
||||
String url = String.format(tsingtao_xhaProperties.getLocalcam(), "", 1, 10);
|
||||
String url = tsingtao_xhaProperties.getLocalcam();
|
||||
logger.info(url);
|
||||
Request request = new Request.Builder().url(url).build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
if (response.isSuccessful()) {
|
||||
JSONObject jsonObject = JSON.parseObject(response.body().string());
|
||||
if (jsonObject.containsKey("data")) {
|
||||
result_.add(jsonObject.getJSONObject("data").getLongValue("total"));
|
||||
if (jsonObject.containsKey("errorNo") && jsonObject.getLongValue("errorNo") == 200) {
|
||||
result.add(jsonObject.getLongValue("body"));
|
||||
}
|
||||
} else {
|
||||
logger.error("青岛西海岸获取失败");
|
||||
|
@ -580,16 +574,14 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
}, executor);
|
||||
CompletableFuture all = CompletableFuture.allOf(cloud, local);
|
||||
all.join();
|
||||
return result_.stream().filter(Objects::nonNull).findAny().orElse(0l);
|
||||
}).thenAccept(sum -> {
|
||||
re.add(new HashMap<String, Object>() {
|
||||
{
|
||||
put("count", sum + "");
|
||||
put("type", "基础设施");
|
||||
}
|
||||
});
|
||||
});
|
||||
Long total = 0L;
|
||||
return result.stream().filter(Objects::nonNull).findAny().orElse(0L);
|
||||
}).thenAccept(sum -> re.add(new HashMap<String, Object>() {
|
||||
{
|
||||
put("count", sum + "");
|
||||
put("type", "基础设施");
|
||||
}
|
||||
}));
|
||||
Long total;
|
||||
Request request = new Request.Builder().url(tsingtao_xhaProperties.getResourcecount()).build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
if (response.isSuccessful()) {
|
||||
|
@ -639,6 +631,8 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
List<String> temp = new ArrayList<>();
|
||||
re.forEach(map -> temp.add(map.get("type").toString()));
|
||||
|
@ -702,13 +696,13 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
Long userId = SecurityUser.getUser().getId();
|
||||
//根据用户收藏和申请数据查出应用领域排名,再根据应用领域查询热门能力推荐给用户
|
||||
List<Map> applyAreaList = resourceDao.selectApplyArea(userId);
|
||||
//没有收藏和申请过,按最热能力选取,否则根据应用领域最多类型推荐
|
||||
|
||||
JSONObject object = new JSONObject();
|
||||
object.put("pageNum", 0);
|
||||
object.put("pageSize", 9);
|
||||
object.put("orderFiled", "total");
|
||||
object.put("orderType", "DESC");
|
||||
Page<ResourceDTO> resultPage = (Page<ResourceDTO>) this.selectMostPopular(object);
|
||||
//根据收藏和申请的资源所属应用领域最多类型推荐,若没有收藏和申请数据或者查询出来的数据不足9条,按最热能力选取不重复的补足
|
||||
if (!applyAreaList.isEmpty()) {
|
||||
ResourceDTO resourceDTO = new ResourceDTO();
|
||||
ArrayList<AttrEntity> list = new ArrayList<>();
|
||||
|
@ -725,18 +719,27 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
Page<ResourceDTO> page = (Page<ResourceDTO>) this.pageWithAttrs(jsonObject, selectDTOPageSpecilTotal);
|
||||
//若查出数据不足9条则在热门能力补充缺少的数量
|
||||
if (page.getRecords().size() < 9) {
|
||||
for (int i = 0; page.getRecords().size() < 9; i++) {
|
||||
for (int j = 0; j < page.getRecords().size(); j++) {
|
||||
if (!page.getRecords().get(j).getId().equals(resultPage.getRecords().get(i).getId())) {
|
||||
page.getRecords().add(resultPage.getRecords().get(i));
|
||||
break;
|
||||
Page<ResourceDTO> resultPage = (Page<ResourceDTO>) this.selectMostPopular(object);
|
||||
do {
|
||||
resultPage.getRecords().forEach(p -> {
|
||||
//如果集合中不存在,则进行添加
|
||||
if (!page.getRecords().contains(p)) {
|
||||
page.getRecords().add(p);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
} while (page.getRecords().size() < 9);
|
||||
//for (int i = 0; page.getRecords().size() < 9; i++) {
|
||||
// for (int j = 0; j < page.getRecords().size(); j++) {
|
||||
// if (!page.getRecords().get(j).getId().equals(resultPage.getRecords().get(i).getId())) {
|
||||
// page.getRecords().add(resultPage.getRecords().get(i));
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
}
|
||||
return page;
|
||||
} else {
|
||||
return resultPage;
|
||||
return this.selectMostPopular(object);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -751,7 +754,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
}
|
||||
|
||||
@Override
|
||||
@Cacheable(value = selectDeptListKey, key = "#p1")
|
||||
@Cacheable(value = SELECT_DEPT_LIST_KEY, key = "#p1")
|
||||
public Object selectDeptList(JSONObject jsonObject, String type) {
|
||||
List<Map> resultList = new CopyOnWriteArrayList<>();
|
||||
HashMap<String, Object> resourceMap = new HashMap<>();
|
||||
|
@ -971,10 +974,10 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
if (maxTypeCount[0] > 0) {
|
||||
maxdeptMap.put("typeName", maxTypeString[0]);
|
||||
if ("基础设施".equals(maxTypeString[0])) {
|
||||
List <Map> resourceList = new ArrayList<>();
|
||||
List<Map> resourceList = new ArrayList<>();
|
||||
Map<String, Object> infrastructureList = (Map<String, Object>) this.selectInfrastructureList();
|
||||
infrastructureList.forEach((k,v) -> {
|
||||
resourceList.add(new HashMap(){{
|
||||
infrastructureList.forEach((k, v) -> {
|
||||
resourceList.add(new HashMap() {{
|
||||
put("id", k + v + "项");
|
||||
put("name", k + v + "项");
|
||||
}});
|
||||
|
@ -986,11 +989,11 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
dto.setPageSize(30);
|
||||
Optional<AbstractDataResourceService> factory = DataResourceFactory.build();
|
||||
if (factory.isPresent()) {
|
||||
List <Map> resourceList = new ArrayList<>();
|
||||
List<Map> resourceList = new ArrayList<>();
|
||||
Map<String, Object> dataResource = (Map<String, Object>) factory.get().getDataResource(dto);
|
||||
if (!dataResource.isEmpty()) {
|
||||
List<Map<String, Object>> list = (List<Map<String, Object>>) dataResource.get("data");
|
||||
list.forEach(map -> resourceList.add(new HashMap(){{
|
||||
list.forEach(map -> resourceList.add(new HashMap() {{
|
||||
if (map.containsKey("zyname")) {
|
||||
put("id", map.get("guid"));
|
||||
put("name", map.get("zyname"));
|
||||
|
@ -1002,7 +1005,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
}
|
||||
maxdeptMap.put("resourceList", resourceList);
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
List<Map> resourceList = resourceDao.selectByType(maxTypeString[0]);
|
||||
maxdeptMap.put("resourceList", resourceList);
|
||||
}
|
||||
|
@ -1042,7 +1045,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
}
|
||||
|
||||
@Override
|
||||
@Cacheable(value = selectDTOPageSpecilTotalKey, key = "#p0")
|
||||
@Cacheable(value = SELECT_DTO_PAGE_SPECIAL_TOTAL_KEY, key = "#p0")
|
||||
public List<Map> selectDTOPageSpecilTotal(ResourceDTO resourceDTO) {
|
||||
return resourceDao.selectDTOPageSpecilTotal(resourceDTO);
|
||||
}
|
||||
|
@ -1055,9 +1058,10 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
List<TAbilityApplicationEntity> applicationEntities = tAbilityApplicationDao.selectList(queryWrapper);
|
||||
ArrayList cameraList = new ArrayList();
|
||||
applicationEntities.forEach(index -> {
|
||||
List<CameraChannelDto1> channelDto1s = cameraChannelMapper.selectByChannelCode(index.getCameraList().replaceAll("\"", ""));
|
||||
if (!channelDto1s.isEmpty()) {
|
||||
cameraList.add(channelDto1s.get(0));
|
||||
//List<CameraChannelDto1> channelDto1s = cameraChannelMapper.selectByChannelCode(index.getCameraList().replaceAll("\"", ""));
|
||||
CameraChannelDto1 channelDto1s = JSON.toJavaObject(JSON.parseObject(index.getCameraList()), CameraChannelDto1.class);
|
||||
if (ObjectUtils.allNotNull(channelDto1s)) {
|
||||
cameraList.add(channelDto1s);
|
||||
}
|
||||
});
|
||||
return cameraList;
|
||||
|
@ -1066,10 +1070,10 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
@Override
|
||||
public Object selectResourceListByType(String type) {
|
||||
if ("基础设施".equals(type)) {
|
||||
List <Map> resourceList = new ArrayList<>();
|
||||
List<Map> resourceList = new ArrayList<>();
|
||||
Map<String, Object> infrastructureList = (Map<String, Object>) this.selectInfrastructureList();
|
||||
infrastructureList.forEach((k,v) -> {
|
||||
resourceList.add(new HashMap(){{
|
||||
infrastructureList.forEach((k, v) -> {
|
||||
resourceList.add(new HashMap() {{
|
||||
put("id", k + v + "项");
|
||||
put("name", k + v + "项");
|
||||
}});
|
||||
|
@ -1077,15 +1081,15 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
return resourceList;
|
||||
} else if ("数据资源".equals(type)) {
|
||||
GetDataResourceListDto dto = new GetDataResourceListDto();
|
||||
dto.setPageNum(0);
|
||||
dto.setPageNum(1);
|
||||
dto.setPageSize(30);
|
||||
Optional<AbstractDataResourceService> factory = DataResourceFactory.build();
|
||||
if (factory.isPresent()) {
|
||||
List <Map> resourceList = new ArrayList<>();
|
||||
List<Map> resourceList = new ArrayList<>();
|
||||
Map<String, Object> dataResource = (Map<String, Object>) factory.get().getDataResource(dto);
|
||||
if ( dataResource != null && !dataResource.isEmpty()) {
|
||||
if (dataResource != null && !dataResource.isEmpty()) {
|
||||
List<Map<String, Object>> list = (List<Map<String, Object>>) dataResource.get("data");
|
||||
list.forEach(map -> resourceList.add(new HashMap(){{
|
||||
list.forEach(map -> resourceList.add(new HashMap() {{
|
||||
if (map.containsKey("zyname")) {
|
||||
put("id", map.get("guid"));
|
||||
put("name", map.get("zyname"));
|
||||
|
@ -1099,7 +1103,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
} else {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
return resourceDao.selectByType(type);
|
||||
}
|
||||
}
|
||||
|
@ -1113,12 +1117,12 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
* 同步知识库
|
||||
*/
|
||||
@Override
|
||||
@CacheEvict(cacheNames = {selectDeptListKey, selectDTOPageSpecilTotalKey}, allEntries = true)
|
||||
@CacheEvict(cacheNames = {SELECT_DEPT_LIST_KEY, SELECT_DTO_PAGE_SPECIAL_TOTAL_KEY}, allEntries = true)
|
||||
public void KnowledgeBase() {
|
||||
final List<String> knowledgeUUID = jdbcTemplate.queryForList("SELECT note1 FROM tb_data_resource WHERE type ='知识库' AND note1 IS NOT NULL FOR UPDATE;", String.class).stream().distinct().collect(Collectors.toList());
|
||||
final int pageSize = cpuNUm * 10;
|
||||
final int pageSize = CPU_NUM * 10;
|
||||
Arrays.stream(catalogIds).map(index -> {
|
||||
logger.info("处理:" + index);
|
||||
logger.info("处理:{}", index);
|
||||
CopyOnWriteArrayList<CompletableFuture> task = new CopyOnWriteArrayList<>();
|
||||
AtomicBoolean end = new AtomicBoolean(true);
|
||||
AtomicInteger pageIndex = new AtomicInteger(1);
|
||||
|
@ -1126,33 +1130,39 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
do {
|
||||
final long timestamp = LocalDateTime.now().toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
|
||||
int page = pageIndex.getAndIncrement();
|
||||
logger.info("处理:" + index + " 分页{}", page);
|
||||
logger.info("处理:{}分页{}", index, page);
|
||||
task.add(CompletableFuture.supplyAsync(() -> {
|
||||
try {
|
||||
logger.info("分页任务处理:" + index + " 分页{} 时间 -->" + timestamp, page);
|
||||
logger.info("分页任务处理:{}分页{} 时间--> {}", index, page, timestamp);
|
||||
JSONObject bizContentParam = new JSONObject();
|
||||
bizContentParam.put("appkey", appKey);
|
||||
bizContentParam.put("catalogId", index);
|
||||
bizContentParam.put("pageIndex", page);
|
||||
bizContentParam.put("pageSize", pageSize);
|
||||
String bizContent_ = bizContentParam.toJSONString();
|
||||
logger.info("biz_content参数:{}", bizContent_);
|
||||
String bizContent = bizContentParam.toJSONString();
|
||||
logger.info("biz_content参数:{}", bizContent);
|
||||
// 通过FormBody对象构建Builder来添加表单参数
|
||||
FormBody.Builder signFormBody = new FormBody.Builder().add("app_id", appId).add("interface_id", methodId).add("version", version).add("timestamp", String.valueOf(timestamp)).add("origin", origin).add("charset", charset).add("biz_content", bizContent_);
|
||||
logger.info(index + "分页{}对接知识库数据请求参数:" + signFormBody.build().contentType().toString(), page);
|
||||
FormBody.Builder signFormBody = new FormBody.Builder().add("app_id", appId)
|
||||
.add("interface_id", methodId).
|
||||
add("version", version).
|
||||
add("timestamp", String.valueOf(timestamp)).
|
||||
add("origin", origin).
|
||||
add("charset", charset).
|
||||
add("biz_content", bizContent);
|
||||
logger.info("{}分页{}对接知识库数据请求参数:{}", index, page, signFormBody.build().contentType().toString());
|
||||
|
||||
Request signRequest = new Request.Builder().url(sign).post(signFormBody.build()).build();
|
||||
Response signResponse = client.newCall(signRequest).execute();
|
||||
String signResult = signResponse.body().string();
|
||||
logger.info("{}分页signResult数据:" + signResult, page);
|
||||
logger.info("{}分页signResult数据:{}", page, signResult);
|
||||
JSONObject signJsonObject = JSON.parseObject(signResult);
|
||||
if (!signJsonObject.containsKey("data")) {
|
||||
logger.info("获取sign异常:" + signResult);
|
||||
logger.info("获取sign异常:{}", signResult);
|
||||
end.set(false);
|
||||
throw new RuntimeException("获取sign异常");
|
||||
}
|
||||
if (signJsonObject.get("data") == null) {
|
||||
logger.info("获取sign异常:" + signResult);
|
||||
logger.info("获取sign异常:{}", signResult);
|
||||
end.set(false);
|
||||
throw new RuntimeException("获取sign异常");
|
||||
}
|
||||
|
@ -1234,7 +1244,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
infoList.add(attrEntity);
|
||||
dto.setInfoList(infoList);
|
||||
this.insertWithAttrs(dto);
|
||||
logger.info("插入:" + dto.getName());
|
||||
logger.info("插入:{}", dto.getName());
|
||||
});
|
||||
}, executor));
|
||||
try {
|
||||
|
@ -1418,12 +1428,12 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
|
||||
@Override
|
||||
public PageData<Map<String, Object>> resourceInfrastructureDetails(Map<String, Object> params) {
|
||||
List<Map<String, Object>> result = new CopyOnWriteArrayList<>();
|
||||
List<Map<String, Object>> result;
|
||||
Integer page = Integer.parseInt(params.get("page").toString()) - 1;
|
||||
Integer pageSize = Integer.parseInt(params.get("limit").toString());
|
||||
Object[] pas = {params.get("id"), params.get("id")};
|
||||
|
||||
List<Map<String, Object>> result2 = new ArrayList<>();
|
||||
List<Map<String, Object>> result2;
|
||||
if (Long.parseLong(params.get("id").toString()) == 0) {
|
||||
result2 = jdbcTemplate.queryForList("SELECT COUNT(a.id) AS resourceNum,a.dept_id AS deptId,b.name AS deptName\n" +
|
||||
"FROM tb_data_resource a INNER JOIN sys_dept b ON a.dept_id = b.id\n" +
|
||||
|
@ -1439,11 +1449,11 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
"ORDER BY a.dept_id,b.name\n", pas);
|
||||
}
|
||||
|
||||
if (result2.size() > 0) {
|
||||
if (!result2.isEmpty()) {
|
||||
List<List<Map<String, Object>>> partition = Lists.partition(result2, pageSize);
|
||||
result.addAll(partition.get(page));
|
||||
result = new CopyOnWriteArrayList<>(partition.get(page));
|
||||
} else {
|
||||
return new PageData<>(result2, result2.size());
|
||||
return new PageData<>(result2, 0);
|
||||
}
|
||||
|
||||
CompletableFuture<Void> resourceCollectionNum01 = CompletableFuture.runAsync(() -> {//被申请数量 resourceCarNum
|
||||
|
@ -1470,8 +1480,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
CompletableFuture<Void> all = CompletableFuture.allOf(resourceCollectionNum01, resourceCollectionNum02, resourceCollectionNum03);
|
||||
all.join();
|
||||
|
||||
PageData<Map<String, Object>> pageData = new PageData<>(result, result2.size());
|
||||
return pageData;
|
||||
return new PageData<>(result, result2.size());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1481,7 +1490,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
Integer pageSize = Integer.parseInt(params.get("limit").toString());
|
||||
Object[] pas = {params.get("id"), params.get("id")};
|
||||
|
||||
List<Map<String, Object>> result2 = new ArrayList<>();
|
||||
List<Map<String, Object>> result2;
|
||||
if (Long.parseLong(params.get("id").toString()) == 0) {
|
||||
result2 = jdbcTemplate.queryForList("SELECT COUNT(a.id) AS resourceNum,a.dept_id AS deptId,b.name AS deptName\n" +
|
||||
"FROM tb_data_resource a INNER JOIN sys_dept b ON a.dept_id = b.id\n" +
|
||||
|
@ -1498,7 +1507,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
}
|
||||
|
||||
|
||||
if (result2.size() > 0) {
|
||||
if (!result2.isEmpty()) {
|
||||
List<List<Map<String, Object>>> partition = Lists.partition(result2, pageSize);
|
||||
result.addAll(partition.get(page));
|
||||
} else {
|
||||
|
@ -1529,13 +1538,12 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
CompletableFuture<Void> all = CompletableFuture.allOf(resourceCarNum, resourceBrowseNum, resourceCollectionNum);
|
||||
all.join();
|
||||
|
||||
PageData<Map<String, Object>> pageData = new PageData<>(result, result2.size());
|
||||
return pageData;
|
||||
return new PageData<>(result, result2.size());
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageData<Map<String, Object>> resourceKnowledgeDetails(Map<String, Object> params) {
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
List<Map<String, Object>> result;
|
||||
Integer page = Integer.parseInt(params.get("page").toString()) - 1;
|
||||
Integer pageSize = Integer.parseInt(params.get("limit").toString());
|
||||
Object[] pas = {params.get("id"), params.get("id")};
|
||||
|
@ -1558,100 +1566,77 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
}
|
||||
|
||||
List<List<Map<String, Object>>> partition = Lists.partition(result, pageSize);
|
||||
if (result.size() > 0) {
|
||||
PageData<Map<String, Object>> pageData = new PageData<>(partition.get(page), result.size());
|
||||
return pageData;
|
||||
if (!result.isEmpty()) {
|
||||
return new PageData<>(partition.get(page), result.size());
|
||||
} else {
|
||||
return new PageData<>(result, result.size());
|
||||
return new PageData<>(result, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageData<Map<String, Object>> resourceBusinessUseDetails(Map<String, Object> params) {
|
||||
List<Map<String, Object>> maps = new CopyOnWriteArrayList<>();
|
||||
List<Map<String, Object>> maps;
|
||||
Integer page = Integer.parseInt(params.get("page").toString()) - 1;
|
||||
Integer pageSize = Integer.parseInt(params.get("limit").toString());
|
||||
Object[] ps = {params.get("id"), params.get("id")};
|
||||
//获取部门列表
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
List<Map<String, Object>> list;
|
||||
if (Long.parseLong(params.get("id").toString()) == 0) {
|
||||
list = jdbcTemplate.queryForList("SELECT id as deptId,name AS deptName FROM sys_dept");
|
||||
list = jdbcTemplate.queryForList("SELECT id AS deptId,name AS deptName FROM sys_dept");
|
||||
} else {
|
||||
list = jdbcTemplate.queryForList("SELECT id as deptId,name AS deptName FROM sys_dept WHERE id = ? OR INSTR(pids,?)", ps);
|
||||
list = jdbcTemplate.queryForList("SELECT id AS deptId,name AS deptName FROM sys_dept WHERE id = ? OR INSTR(pids,?)", ps);
|
||||
}
|
||||
|
||||
if (list.size() > 0) {
|
||||
if (!list.isEmpty()) {
|
||||
List<List<Map<String, Object>>> partition = Lists.partition(list, pageSize);
|
||||
maps.addAll(partition.get(page));
|
||||
maps = new CopyOnWriteArrayList<>(partition.get(page));
|
||||
} else {
|
||||
return new PageData<>(list, list.size());
|
||||
return new PageData<>(list, 0);
|
||||
}
|
||||
|
||||
Map<String, Object> paraMap = new ConcurrentHashMap<>();
|
||||
paraMap.put("resourceType", params.get("resourceType"));
|
||||
//分别根据部门获取组件使用总数和调用数
|
||||
//申请数
|
||||
// CompletableFuture<Void> voidCompletableFuture01 = CompletableFuture.runAsync(() -> {
|
||||
// maps.forEach(m -> {
|
||||
// paraMap.put("id", m.get("deptId"));
|
||||
// Map<String, Object> maps1 = new HashMap<>();
|
||||
// maps1 = baseDao.assemblyCarByDept(paraMap);
|
||||
// if (maps1 == null) {
|
||||
// m.put("resourceCarNum", 0);
|
||||
// } else {
|
||||
// m.put("resourceCarNum", maps1.get("carNum") == null ? 0 : maps1.get("carNum"));
|
||||
// }
|
||||
// });
|
||||
// });
|
||||
|
||||
//本部门的应用关联的组件数量
|
||||
CompletableFuture<Void> voidCompletableFuture02 = CompletableFuture.runAsync(() -> {
|
||||
maps.forEach(m -> {
|
||||
paraMap.put("id", m.get("deptId"));
|
||||
Map<String, Object> maps2 = new HashMap<>();
|
||||
maps2 = baseDao.assemblyUseByDept(paraMap);
|
||||
if (maps2 == null) {
|
||||
m.put("resourceUseNum", 0);
|
||||
} else {
|
||||
m.put("resourceUseNum", maps2.get("useNum") == null ? 0 : maps2.get("useNum"));
|
||||
}
|
||||
});
|
||||
}, executor);
|
||||
CompletableFuture<Void> voidCompletableFuture02 = CompletableFuture.runAsync(() -> maps.forEach(m -> {
|
||||
paraMap.put("id", m.get("deptId"));
|
||||
Map<String, Object> maps2 = new HashMap<>();
|
||||
maps2 = baseDao.assemblyUseByDept(paraMap);
|
||||
if (maps2 == null) {
|
||||
m.put("resourceUseNum", 0);
|
||||
} else {
|
||||
m.put("resourceUseNum", maps2.get("useNum") == null ? 0 : maps2.get("useNum"));
|
||||
}
|
||||
}), executor);
|
||||
//还缺少组件调用数,这先用假数据代替
|
||||
CompletableFuture<Void> voidCompletableFuture01 = CompletableFuture.runAsync(() -> {
|
||||
maps.forEach(m -> {
|
||||
m.put("resourceCallNum", 0);
|
||||
});
|
||||
}, executor);
|
||||
CompletableFuture<Void> voidCompletableFuture01 = CompletableFuture.runAsync(() -> maps.forEach(m -> m.put("resourceCallNum", 0)), executor);
|
||||
|
||||
CompletableFuture<Void> all = CompletableFuture.allOf(voidCompletableFuture01, voidCompletableFuture02);
|
||||
all.join();
|
||||
|
||||
PageData<Map<String, Object>> pageData = new PageData<>(maps, list.size());
|
||||
return pageData;
|
||||
return new PageData<>(maps, list.size());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public PageData<Map<String, Object>> resourceDatasUseDetails(Map<String, Object> params) {
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
List<Map<String, Object>> result;
|
||||
Integer page = Integer.parseInt(params.get("page").toString()) - 1;
|
||||
Integer pageSize = Integer.parseInt(params.get("limit").toString());
|
||||
|
||||
//查询部门列表
|
||||
Object[] ps = {params.get("id"), params.get("id")};
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
List<Map<String, Object>> list;
|
||||
if (Long.parseLong(params.get("id").toString()) == 0) {
|
||||
list = jdbcTemplate.queryForList("SELECT id AS deptId,name AS deptName FROM sys_dept ");
|
||||
} else {
|
||||
list = jdbcTemplate.queryForList("SELECT id AS deptId,name AS deptName FROM sys_dept WHERE id = ? OR INSTR(pids,?) ", ps);
|
||||
}
|
||||
|
||||
if (list.size() > 0) {
|
||||
if (!list.isEmpty()) {
|
||||
List<List<Map<String, Object>>> partition = Lists.partition(list, pageSize);
|
||||
result.addAll(partition.get(page));
|
||||
result = new ArrayList<>(partition.get(page));
|
||||
} else {
|
||||
return new PageData<>(list, list.size());
|
||||
return new PageData<>(list, 0);
|
||||
}
|
||||
ConcurrentHashMap map = new ConcurrentHashMap();
|
||||
map.put("resourceType", params.get("resourceType"));
|
||||
|
@ -1666,13 +1651,12 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
}
|
||||
});
|
||||
|
||||
PageData<Map<String, Object>> pageData = new PageData<>(result, list.size());
|
||||
return pageData;
|
||||
return new PageData<>(result, list.size());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> assemblerCarDetail(Map<String, Object> params) {
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
List<Map<String, Object>> result;
|
||||
Object[] ps = {params.get("resourceType"), params.get("id"), (Integer.parseInt(params.get("page").toString()) - 1) * Integer.parseInt(params.get("limit").toString()), Integer.parseInt(params.get("limit").toString())};
|
||||
result = jdbcTemplate.queryForList("SELECT a.* FROM tb_resource_car a INNER JOIN sys_user b ON a.creator = b.id " +
|
||||
"INNER JOIN tb_data_resource d ON a.resource_id = d.id WHERE a.del_flag = 0 AND d.type = ? AND " +
|
||||
|
@ -1711,7 +1695,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
}
|
||||
|
||||
@Override
|
||||
public Object selectTotalByDept() {
|
||||
public HashMap<String, Object> selectTotalByDept() {
|
||||
HashMap<String, Object> resultMap = new HashMap<>();
|
||||
Long deptId = SecurityUser.getUser().getDeptId();
|
||||
List<Long> deptList = null;
|
||||
|
@ -1733,7 +1717,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
limit = Integer.parseInt((String) params.get(Constant.LIMIT));
|
||||
}
|
||||
List<SysUserDTO> sysUserList = sysUserService.list(new HashMap());
|
||||
List<ResourceDTO> result = resourceDao.selectUsersApplyAndCount(sysUserList.stream().map(dto -> dto.getId()).collect(Collectors.toList()));
|
||||
List<ResourceDTO> result = resourceDao.selectUsersApplyAndCount(sysUserList.stream().map(SysUserDTO::getId).collect(Collectors.toList()));
|
||||
int j = Math.min(curPage * limit, result.size());
|
||||
ArrayList<ResourceDTO> recordLists = new ArrayList<>();
|
||||
for (int i = (curPage - 1) * limit; i < j; i++) {
|
||||
|
@ -1842,17 +1826,17 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
|
||||
@Override
|
||||
public Object selectInfrastructureList() {
|
||||
return new HashMap<String, Object>() {{
|
||||
Map map = (Map) selectTotal();
|
||||
List<Map<String, Object>> list = (List<Map<String, Object>>) map.get("total");
|
||||
list.forEach(index -> {
|
||||
if ("基础设施".equals(index.get("type").toString())) {
|
||||
put("视频资源", Integer.parseInt(index.get("count").toString()));
|
||||
}
|
||||
});
|
||||
put("感知资源", 0);
|
||||
put("云资源", 0);
|
||||
}};
|
||||
HashMap<String, Object> resultMap = new HashMap<>();
|
||||
Map map = (Map) selectTotal();
|
||||
List<Map<String, Object>> list = (List<Map<String, Object>>) map.get("total");
|
||||
list.forEach(index -> {
|
||||
if ("基础设施".equals(index.get("type").toString())) {
|
||||
resultMap.put("视频资源", Integer.parseInt(index.get("count").toString()));
|
||||
}
|
||||
});
|
||||
resultMap.put("感知资源", 0);
|
||||
resultMap.put("云资源", 0);
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
private List<Long> getSourceIdsByProcess(List<HistoricProcessInstance> list) {
|
||||
|
@ -1890,6 +1874,44 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
|
||||
@Override
|
||||
public List<Map> selectDevelopDoc() {
|
||||
//List<Map> result = new ArrayList<>();
|
||||
//List<Map<String, Object>> dtoMaps = baseDao.selectDevelopDocResource();
|
||||
//Map<String, List<Map<String, Object>>> resourceTypeMap = dtoMaps.stream().collect(Collectors.groupingBy(m -> m.get("type").toString()));
|
||||
//resourceTypeMap.forEach((key, value) -> {
|
||||
// if (!"组件服务".equals(key)) {
|
||||
// Map<String, Object> map = new HashMap<>();
|
||||
// map.put("title", key);
|
||||
// map.put("children", value);
|
||||
// result.add(map);
|
||||
// }
|
||||
//});
|
||||
//if (resourceTypeMap.get("组件服务") != null) {
|
||||
// Map componentMap = new HashMap();
|
||||
// componentMap.put("title", "组件服务");
|
||||
// Map<String, List> map = new ConcurrentHashMap<>();
|
||||
// CompletableFuture.allOf(resourceTypeMap.get("组件服务").stream()
|
||||
// .map(it -> CompletableFuture.runAsync(() -> selectAttrsByResourceId(Long.parseLong(it.get("id").toString()))
|
||||
// .stream()
|
||||
// .filter(temp -> "组件类型".equals(temp.getAttrType()))
|
||||
// .forEach(attr -> {
|
||||
// if (map.get(attr.getAttrValue()) != null) {
|
||||
// map.get(attr.getAttrValue()).add(it);
|
||||
// } else {
|
||||
// map.put(attr.getAttrValue(), Collections.synchronizedList(new ArrayList() {{
|
||||
// add(it);
|
||||
// }}));
|
||||
// }
|
||||
// }), executor))
|
||||
// .collect(Collectors.toList())
|
||||
// .toArray(new CompletableFuture[resourceTypeMap.get("组件服务").size()]))
|
||||
// .join();
|
||||
// componentMap.put("children", map.entrySet().stream().map(it -> new HashMap() {{
|
||||
// put("title", it.getKey());
|
||||
// put("children", it.getValue());
|
||||
// }}).collect(Collectors.toList()));
|
||||
// result.add(componentMap);
|
||||
//}
|
||||
//return result;
|
||||
List<Map> result = new ArrayList<>();
|
||||
List<Map<String, Object>> dtoMaps = baseDao.selectDevelopDocResource();
|
||||
Map<String, List<Map<String, Object>>> resourceTypeMap = dtoMaps.stream().collect(Collectors.groupingBy(m -> m.get("type").toString()));
|
||||
|
@ -1927,6 +1949,8 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
|||
result.add(componentMap);
|
||||
}
|
||||
return result;
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -5,8 +5,6 @@ import io.renren.modules.resource.videoPreview.AbstractVideoPreviewService;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* 青岛市局预览
|
||||
*/
|
||||
|
@ -29,7 +27,7 @@ public class TsingtaoVideoPreviewService extends AbstractVideoPreviewService {
|
|||
public String getHls(String key) {
|
||||
try {
|
||||
return monitorService.fileCode(key);
|
||||
} catch (IOException e) {
|
||||
} catch (Exception e) {
|
||||
logger.error("青岛市局获取预览地址失败", e);
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -24,4 +24,6 @@ public class TResourceUndercarriageApplyDTO extends AuditingBaseDTO implements S
|
|||
private List<Map<String, String>> resource;
|
||||
@ApiModelProperty(value = "下架原因")
|
||||
private String reason;
|
||||
@ApiModelProperty(value = "下架附件")
|
||||
private String enclosure;
|
||||
}
|
||||
|
|
|
@ -130,16 +130,31 @@ public class ResourceOwnerListener implements TaskListener, ExecutionListener, A
|
|||
JsonElement jsonElement = gson.toJsonTree(kv);
|
||||
TResourceMountApplyDTO resourceMountApplyDTO = gson.fromJson(jsonElement, TResourceMountApplyDTO.class);
|
||||
ResourceDTO re = resourceService.get(resourceMountApplyDTO.getResourceId());
|
||||
if (re != null) {
|
||||
re.setDelFlag(ResourceEntityDelFlag.NORMAL.getFlag());
|
||||
resourceService.update(re);
|
||||
logger.error("审批通过!资源id:" + re.getId());
|
||||
try {
|
||||
apiGatewayService.registerApi2Gateway(String.valueOf(re.getId())); // 发布到应用网关
|
||||
} catch (Exception exception) {
|
||||
logger.error("发布到应用网关", exception);
|
||||
if (resourceMountApplyDTO != null) {
|
||||
if (resourceMountApplyDTO.getReject() != null && resourceMountApplyDTO.getReject() == Boolean.TRUE) { // 存在被拒绝的节点
|
||||
if (re != null) {
|
||||
re.setDelFlag(ResourceEntityDelFlag.REJECT_REVIEW.getFlag());
|
||||
resourceService.update(re);
|
||||
logger.error("审批未通过!资源id:" + re.getId());
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (resourceMountApplyDTO.getReject() == null || resourceMountApplyDTO.getReject() != Boolean.TRUE) { // 都是同意
|
||||
if (re != null) {
|
||||
re.setDelFlag(ResourceEntityDelFlag.NORMAL.getFlag());
|
||||
resourceService.update(re);
|
||||
logger.error("审批通过!资源id:" + re.getId());
|
||||
try {
|
||||
apiGatewayService.registerApi2Gateway(String.valueOf(re.getId())); // 发布到应用网关
|
||||
} catch (Exception exception) {
|
||||
logger.error("发布到应用网关", exception);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -2,6 +2,7 @@ package io.renren.modules.security.config;
|
|||
|
||||
import io.renren.modules.security.oauth2.Oauth2Filter;
|
||||
import io.renren.modules.security.oauth2.Oauth2Realm;
|
||||
import io.renren.modules.security.oauth2.ShiroSessionManager;
|
||||
import org.apache.shiro.mgt.SecurityManager;
|
||||
import org.apache.shiro.session.mgt.SessionManager;
|
||||
import org.apache.shiro.spring.LifecycleBeanPostProcessor;
|
||||
|
@ -9,6 +10,7 @@ import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSource
|
|||
import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
|
||||
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
|
||||
import org.apache.shiro.web.session.mgt.DefaultWebSessionManager;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
|
@ -26,12 +28,22 @@ public class ShiroConfig {
|
|||
// @Autowired
|
||||
// private Oauth2Filter oauth2Filter;
|
||||
|
||||
//@Autowired
|
||||
//private ShiroSessionManager shiroSessionManager;
|
||||
|
||||
//@Bean
|
||||
//public DefaultWebSessionManager sessionManager() {
|
||||
// DefaultWebSessionManager sessionManager = new DefaultWebSessionManager();
|
||||
// sessionManager.setSessionValidationSchedulerEnabled(false);
|
||||
// sessionManager.setSessionIdUrlRewritingEnabled(false);
|
||||
// sessionManager.setGlobalSessionTimeout(-1000l);
|
||||
// return sessionManager;
|
||||
//}
|
||||
|
||||
@Bean
|
||||
public DefaultWebSessionManager sessionManager() {
|
||||
DefaultWebSessionManager sessionManager = new DefaultWebSessionManager();
|
||||
sessionManager.setSessionValidationSchedulerEnabled(false);
|
||||
sessionManager.setSessionIdUrlRewritingEnabled(false);
|
||||
|
||||
ShiroSessionManager sessionManager = new ShiroSessionManager();
|
||||
sessionManager.setGlobalSessionTimeout(-1000L);
|
||||
return sessionManager;
|
||||
}
|
||||
|
||||
|
@ -77,6 +89,9 @@ public class ShiroConfig {
|
|||
filterMap.put("/bsabilityrecord/**", "anon");
|
||||
filterMap.put("/act/his/getInstImage", "anon");
|
||||
|
||||
filterMap.put("/resource/getApplyCameraList/**", "anon");
|
||||
filterMap.put("/resource/hls/getHls", "anon");
|
||||
|
||||
/**
|
||||
* 资源上传
|
||||
*/
|
||||
|
|
|
@ -14,7 +14,6 @@ import io.renren.modules.log.service.SysLogLoginService;
|
|||
import io.renren.modules.security.dto.LoginDTO;
|
||||
import io.renren.modules.security.oauth2.Oauth2Filter;
|
||||
import io.renren.modules.security.oauth2.SSOValidator;
|
||||
import io.renren.modules.security.oauth2.YaWeiCookieManage;
|
||||
import io.renren.modules.security.password.PasswordUtils;
|
||||
import io.renren.modules.security.service.CaptchaService;
|
||||
import io.renren.modules.security.service.SysUserTokenService;
|
||||
|
@ -28,6 +27,7 @@ import io.swagger.annotations.ApiImplicitParam;
|
|||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.subject.Subject;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -45,6 +45,8 @@ import java.io.IOException;
|
|||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.apache.shiro.SecurityUtils.getSubject;
|
||||
|
||||
/**
|
||||
* 登录
|
||||
*/
|
||||
|
@ -188,6 +190,9 @@ public class LoginController {
|
|||
response.addHeader("REDIRECT", ssoValidator.getLogoutUrl());
|
||||
}
|
||||
|
||||
Subject subject = getSubject();
|
||||
subject.logout();
|
||||
|
||||
return new Result();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package io.renren.modules.security.oauth2;
|
||||
|
||||
import cn.hutool.core.util.URLUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.jasig.cas.client.validation.Assertion;
|
||||
import org.jasig.cas.client.validation.TicketValidationException;
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
package io.renren.modules.security.oauth2;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
public interface SSOValidator {
|
||||
|
||||
String validatePrincipal(String requestURL);
|
||||
|
|
|
@ -0,0 +1,82 @@
|
|||
package io.renren.modules.security.oauth2;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.shiro.session.Session;
|
||||
import org.apache.shiro.session.mgt.SessionContext;
|
||||
import org.apache.shiro.web.servlet.ShiroHttpServletRequest;
|
||||
import org.apache.shiro.web.session.mgt.DefaultWebSessionManager;
|
||||
import org.apache.shiro.web.util.WebUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.servlet.ServletRequest;
|
||||
import javax.servlet.ServletResponse;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.Serializable;
|
||||
|
||||
//@Component
|
||||
public class ShiroSessionManager extends DefaultWebSessionManager {
|
||||
/**
|
||||
* 返回客户端的,
|
||||
*/
|
||||
public final String TOKEN_NAME = "token";
|
||||
/**
|
||||
* 这个是客户端请求给服务端带的header
|
||||
*/
|
||||
public final static String HEADER_TOKEN_NAME = "token";
|
||||
public final static Logger log = LoggerFactory.getLogger(ShiroSessionManager.class);
|
||||
private static final String REFERENCED_SESSION_ID_SOURCE = "Stateless request";
|
||||
|
||||
/**
|
||||
* 重写getSessionId,分析请求头中的指定参数,做用户凭证sessionId
|
||||
*/
|
||||
@Override
|
||||
protected Serializable getSessionId(ServletRequest request, ServletResponse response) {
|
||||
String sessionId = WebUtils.toHttp(request).getHeader(HEADER_TOKEN_NAME);
|
||||
log.info("获取的sessionId为" + sessionId);
|
||||
if (StringUtils.isEmpty(sessionId)) {
|
||||
return super.getSessionId(request, response);
|
||||
} else {
|
||||
//如果请求头中有 token 则其值为sessionId
|
||||
request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_SOURCE, REFERENCED_SESSION_ID_SOURCE);
|
||||
request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID, sessionId);
|
||||
request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_IS_VALID, Boolean.TRUE);
|
||||
return sessionId;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*@Override
|
||||
protected void onStart(Session session, SessionContext context) {
|
||||
log.info("执行onStart");
|
||||
if (!WebUtils.isHttp(context)) {
|
||||
log.debug("SessionContext argument is not HTTP compatible or does not have an HTTP request/response pair. No session ID cookie will be set.");
|
||||
} else {
|
||||
HttpServletRequest request = WebUtils.getHttpRequest(context);
|
||||
HttpServletResponse response = WebUtils.getHttpResponse(context);
|
||||
Serializable sessionId = session.getId();
|
||||
this.storeSessionId(sessionId, request, response);
|
||||
request.removeAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_SOURCE);
|
||||
request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_IS_NEW, Boolean.TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
*//**
|
||||
* 把sessionId 放入 response header 中
|
||||
* onStart时调用
|
||||
* 没有sessionid时 会产生sessionid 并放入 response header中
|
||||
*//*
|
||||
private void storeSessionId(Serializable currentId, HttpServletRequest ignored, HttpServletResponse response) {
|
||||
if (currentId == null) {
|
||||
String msg = "sessionId cannot be null when persisting for subsequent requests.";
|
||||
throw new IllegalArgumentException(msg);
|
||||
} else {
|
||||
String idString = currentId.toString();
|
||||
response.setHeader(this.TOKEN_NAME, idString);
|
||||
log.info("Set session ID header for session with id {}", idString);
|
||||
log.trace("Set session ID header for session with id {}", idString);
|
||||
}
|
||||
}*/
|
||||
}
|
|
@ -38,7 +38,6 @@ public class SysUserTokenServiceImpl extends BaseServiceImpl<SysUserTokenDao, Sy
|
|||
token = TokenGenerator.generateValue();
|
||||
|
||||
SysUserTokenEntity tokenEntity = new SysUserTokenEntity();
|
||||
tokenEntity = new SysUserTokenEntity();
|
||||
tokenEntity.setUserId(userId);
|
||||
tokenEntity.setToken(token);
|
||||
tokenEntity.setUpdateDate(now);
|
||||
|
|
|
@ -38,7 +38,6 @@ public class WebSocketServer {
|
|||
@OnOpen
|
||||
public void open(Session session) {
|
||||
Long userId = (Long) session.getUserProperties().get(Constant.USER_KEY);
|
||||
|
||||
servers.put(session.getId(), new WebSocketData(userId, session));
|
||||
}
|
||||
|
||||
|
@ -46,7 +45,7 @@ public class WebSocketServer {
|
|||
public void onClose(Session session) {
|
||||
//客户端断开连接
|
||||
servers.remove(session.getId());
|
||||
log.debug("websocket close, session id:" + session.getId());
|
||||
log.info("websocket close, session id:" + session.getId());
|
||||
}
|
||||
|
||||
@OnError
|
||||
|
@ -57,7 +56,7 @@ public class WebSocketServer {
|
|||
|
||||
@OnMessage
|
||||
public void onMessage(Session session, String msg) {
|
||||
log.info("session id: " + session.getId() + "userId:{}, message:" + msg, servers.get(session.getId()).getUserId());
|
||||
log.info("session id: " + session.getId() + " userId:{}, message:" + msg, servers.get(session.getId()).getUserId());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -77,11 +76,11 @@ public class WebSocketServer {
|
|||
* @param message 消息内容
|
||||
*/
|
||||
public void sendMessage(Long userId, MessageData<?> message) {
|
||||
servers.values().forEach(info -> {
|
||||
if (userId.equals(info.getUserId())) {
|
||||
sendMessage(info.getSession(), message);
|
||||
}
|
||||
});
|
||||
servers.values().stream()
|
||||
.filter(index -> userId.equals(index.getUserId()))
|
||||
.forEach(index -> {
|
||||
sendMessage(index.getSession(), message);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -90,7 +89,9 @@ public class WebSocketServer {
|
|||
* @param message 消息内容
|
||||
*/
|
||||
public void sendMessageAll(MessageData<?> message) {
|
||||
servers.values().forEach(info -> sendMessage(info.getSession(), message));
|
||||
servers.values().forEach(info ->
|
||||
sendMessage(info.getSession(), message)
|
||||
);
|
||||
}
|
||||
|
||||
public void sendMessage(Session session, MessageData<?> message) {
|
||||
|
@ -100,4 +101,8 @@ public class WebSocketServer {
|
|||
log.error("send message error," + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
public static Map<String, WebSocketData> getServers() {
|
||||
return servers;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
package io.renren.websocket.task;
|
||||
|
||||
import io.renren.modules.job.task.ITask;
|
||||
import io.renren.websocket.WebSocketServer;
|
||||
import io.renren.websocket.data.MessageData;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
/**
|
||||
* 与websocket客户端定时心跳
|
||||
*/
|
||||
@Component("heartRateTask")
|
||||
public class HeartRateTask implements ITask {
|
||||
private static final Logger logger = LoggerFactory.getLogger(HeartRateTask.class);
|
||||
|
||||
@Autowired
|
||||
private WebSocketServer webSocketServer;
|
||||
|
||||
/**
|
||||
* 执行定时任务接口
|
||||
*
|
||||
* @param params 参数,多参数使用JSON数据
|
||||
*/
|
||||
@Override
|
||||
public void run(String params) {
|
||||
try {
|
||||
if (webSocketServer.getServers().isEmpty()) {
|
||||
return;
|
||||
}
|
||||
MessageData<String> message = new MessageData<String>().msg("heartRate:" + LocalDateTime.now());
|
||||
webSocketServer.sendMessageAll(message);
|
||||
} catch (Exception exception) {
|
||||
logger.error("websocket客户端心跳失败", exception);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -6,8 +6,7 @@ spring:
|
|||
#MySQL
|
||||
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://15.2.21.238:3310/share_platform?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&useSSL=false
|
||||
#url: jdbc:mysql://15.2.21.221:3306/share_platform?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&useSSL=false
|
||||
url: jdbc:mysql://192.168.124.236:3306/share_platform?useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&useSSL=false
|
||||
username: root
|
||||
password: Hisense2019
|
||||
#Hisense2019
|
||||
|
@ -62,7 +61,7 @@ spring:
|
|||
out-of-order: true
|
||||
#上传的静态资源配置
|
||||
resource:
|
||||
root_url: 15.2.21.238
|
||||
root_url: 192.168.124.236
|
||||
pic-host: http://${resource.root_url}:${server.port}${server.servlet.context-path}
|
||||
path: /home/yth/files/
|
||||
devModelFilePath: /home/yth/files/devModelFile
|
||||
|
|
|
@ -11,7 +11,7 @@ spring:
|
|||
initial-size: 10
|
||||
max-active: 100
|
||||
min-idle: 10
|
||||
max-wait: 100
|
||||
max-wait: 60000
|
||||
pool-prepared-statements: true
|
||||
max-pool-prepared-statement-per-connection-size: 20
|
||||
time-between-eviction-runs-millis: 60000
|
||||
|
@ -37,7 +37,6 @@ spring:
|
|||
# 生产环境默认关掉flyway
|
||||
flyway:
|
||||
enabled: false
|
||||
validate-on-migrate: false
|
||||
#上传的静态资源配置
|
||||
resource:
|
||||
root_url: 15.72.183.90
|
||||
|
@ -51,8 +50,15 @@ big_date:
|
|||
|
||||
hisense:
|
||||
gateway:
|
||||
url: http://15.72.184.3:31230
|
||||
url: http://15.72.184.7:8080
|
||||
|
||||
|
||||
qdyjj:
|
||||
ipAndPort: 15.72.178.136:9494
|
||||
|
||||
#同步摄像头标签表t_channel_mtm_label需要链接的数据库配置
|
||||
synchro:
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://15.72.183.91:3306/monitor_manage?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&useSSL=false
|
||||
username: root
|
||||
password: w@CmM1mBVQkPhdrc
|
|
@ -5,7 +5,7 @@ spring:
|
|||
druid:
|
||||
#MySQL
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://15.2.21.238:3310/share_platform_show?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&useSSL=false
|
||||
url: jdbc:mysql://192.168.124.236:3310/share_platform_show?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&useSSL=false
|
||||
username: root
|
||||
password: Hisense2019
|
||||
# #Oracle
|
||||
|
@ -52,7 +52,7 @@ spring:
|
|||
|
||||
#上传的静态资源配置
|
||||
resource:
|
||||
root_url: 15.2.21.238
|
||||
root_url: 192.168.124.236
|
||||
path: /home/yth/files/
|
||||
devModelFilePath: /home/yth/files/devModelFile
|
||||
# 大数据部门相关配置
|
||||
|
|
|
@ -5,9 +5,9 @@ spring:
|
|||
druid:
|
||||
#MySQL
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://15.2.21.238:3310/share_platform?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
|
||||
url: jdbc:mysql://192.168.124.243:3306/share_platform?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
|
||||
username: root
|
||||
password: Hisense2019
|
||||
password: Liwen073898!
|
||||
initial-size: 10
|
||||
max-active: 100
|
||||
min-idle: 10
|
||||
|
@ -37,7 +37,7 @@ spring:
|
|||
|
||||
#上传的静态资源配置
|
||||
resource:
|
||||
root_url: 15.2.21.238
|
||||
root_url: 192.168.124.243
|
||||
path: /home/yth/files/
|
||||
devModelFilePath: /home/yth/files/devModelFile
|
||||
# 大数据部门相关配置
|
||||
|
|
|
@ -63,7 +63,12 @@ spring:
|
|||
baseline-on-migrate: true
|
||||
baseline-version: 0
|
||||
validate-on-migrate: true
|
||||
|
||||
jackson:
|
||||
parser:
|
||||
# 允许出现特殊字符和转义符
|
||||
allow_unquoted_control_chars: true
|
||||
#允许出现单引号
|
||||
allow_single_quotes: true
|
||||
|
||||
fdfs:
|
||||
so-timeout: 600000
|
||||
|
|
|
@ -0,0 +1,723 @@
|
|||
-- 涉及到的表:sys_menu,sys_language
|
||||
-- 表数据有更新时直接从Navicat选择转储SQL文件替换文件内容!!!
|
||||
-- 替换前建议备份
|
||||
-- 注意更新时间
|
||||
|
||||
/*
|
||||
Date: 20/07/2022 16:15:01
|
||||
*/
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_language
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_language`;
|
||||
CREATE TABLE `sys_language` (
|
||||
`table_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表名',
|
||||
`table_id` bigint(20) NOT NULL COMMENT '表主键',
|
||||
`field_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字段名',
|
||||
`field_value` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '字段值',
|
||||
`language` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '语言',
|
||||
PRIMARY KEY (`table_name`, `table_id`, `field_name`, `language`) USING BTREE,
|
||||
INDEX `idx_table_id`(`table_id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '国际化' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_language
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000002, 'name', 'Authority Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000002, 'name', '权限管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000002, 'name', '權限管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000003, 'name', 'Add', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000003, 'name', '新增', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000003, 'name', '新增', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000004, 'name', 'Edit', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000004, 'name', '修改', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000004, 'name', '修改', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000005, 'name', 'Delete', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000005, 'name', '删除', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000005, 'name', '刪除', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000006, 'name', 'Export', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000006, 'name', '导出', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000006, 'name', '導出', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000007, 'name', 'Role Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000007, 'name', '角色管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000007, 'name', '角色管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000008, 'name', 'View', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000008, 'name', '查看', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000008, 'name', '查看', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000009, 'name', 'Add', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000009, 'name', '新增', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000009, 'name', '新增', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000010, 'name', 'Edit', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000010, 'name', '修改', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000010, 'name', '修改', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000011, 'name', 'Delete', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000011, 'name', '删除', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000011, 'name', '刪除', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000012, 'name', 'Department Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000012, 'name', '部门管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000012, 'name', '部門管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000014, 'name', 'View', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000014, 'name', '查看', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000014, 'name', '查看', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000015, 'name', 'Add', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000015, 'name', '新增', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000015, 'name', '新增', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000016, 'name', 'Edit', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000016, 'name', '修改', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000016, 'name', '修改', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000017, 'name', 'Delete', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000017, 'name', '删除', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000017, 'name', '刪除', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000018, 'name', 'Process Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000018, 'name', '流程管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000018, 'name', '流程管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000019, 'name', 'Model Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000019, 'name', '模型管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000019, 'name', '模型管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000020, 'name', 'Running Process', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000020, 'name', '运行中的流程', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000020, 'name', '運行中的流程', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000021, 'name', 'SMS Service', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000021, 'name', '短信服务', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000021, 'name', '短信服務', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000022, 'name', 'Mail Template', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000022, 'name', '邮件模板', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000022, 'name', '郵件模板', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000023, 'name', 'Mail Log', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000023, 'name', '邮件发送记录', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000023, 'name', '郵件發送記錄', 'zh-TW ');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000024, 'name', 'Message Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000024, 'name', '消息管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000024, 'name', '消息管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000025, 'name', 'Menu Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000025, 'name', '菜单管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000025, 'name', '菜單管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000026, 'name', 'View', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000026, 'name', '查看', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000026, 'name', '查看', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000027, 'name', 'Add', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000027, 'name', '新增', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000027, 'name', '新增', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000028, 'name', 'Edit', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000028, 'name', '修改', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000028, 'name', '修改', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000029, 'name', 'Delete', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000029, 'name', '删除', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000029, 'name', '刪除', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000030, 'name', 'Timed Task', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000030, 'name', '定时任务', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000030, 'name', '定時任務', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000031, 'name', 'View', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000031, 'name', '查看', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000031, 'name', '查看', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000032, 'name', 'Add', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000032, 'name', '新增', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000032, 'name', '新增', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000033, 'name', 'Edit', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000033, 'name', '修改', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000033, 'name', '修改', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000034, 'name', 'Delete', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000034, 'name', '删除', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000034, 'name', '刪除', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000035, 'name', 'Setting', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000035, 'name', '系统设置', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000035, 'name', '系統設置', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000036, 'name', 'Pause', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000036, 'name', '暂停', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000036, 'name', '暫停', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000037, 'name', 'Resume', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000037, 'name', '恢复', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000037, 'name', '恢復', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000038, 'name', 'Execute', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000038, 'name', '立即执行', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000038, 'name', '立即執行', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000039, 'name', 'Log List', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000039, 'name', '日志列表', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000039, 'name', '日誌列表', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000040, 'name', 'Parameter Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000040, 'name', '参数管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000040, 'name', '參數管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000041, 'name', 'Dict Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000041, 'name', '字典管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000041, 'name', '字典管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000042, 'name', 'View', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000042, 'name', '查看', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000042, 'name', '查看', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000043, 'name', 'Add', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000043, 'name', '新增', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000043, 'name', '新增', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000044, 'name', 'Edit', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000044, 'name', '修改', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000044, 'name', '修改', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000045, 'name', 'Delete', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000045, 'name', '删除', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000045, 'name', '刪除', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000046, 'name', 'Log Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000046, 'name', '日志管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000046, 'name', '日誌管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000047, 'name', 'File Upload', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000047, 'name', '文件上传', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000047, 'name', '文件上傳', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000048, 'name', 'Login Log', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000048, 'name', '登录日志', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000048, 'name', '登錄日誌', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000049, 'name', 'Operation Log', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000049, 'name', '用户行为日志', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000049, 'name', '操作日誌', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000050, 'name', 'Error Log', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000050, 'name', '异常日志', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000050, 'name', '異常日誌', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000051, 'name', 'SQL Monitoring', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000051, 'name', 'SQL监控', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000051, 'name', 'SQL監控', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000052, 'name', 'News Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000052, 'name', '新闻管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000052, 'name', '新聞管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000053, 'name', 'System Monitoring', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000053, 'name', '系统监控', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000053, 'name', '系統監控', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000054, 'name', 'Demo', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000054, 'name', '功能示例', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000054, 'name', '功能示例', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000055, 'name', 'User Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000055, 'name', '用户管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000055, 'name', '用戶管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000056, 'name', 'View', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000056, 'name', '查看', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000056, 'name', '查看', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000057, 'name', 'Add', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000057, 'name', '新增', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000057, 'name', '新增', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000058, 'name', 'Export', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000058, 'name', '导出', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000058, 'name', '導出', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000059, 'name', 'View', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000059, 'name', '查看', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000059, 'name', '查看', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000060, 'name', 'Edit', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000060, 'name', '修改', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000060, 'name', '修改', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000061, 'name', 'Delete', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000061, 'name', '删除', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000061, 'name', '刪除', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000300, 'name', 'Station Notice', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000300, 'name', '站内通知', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000300, 'name', '站內通知', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000301, 'name', 'Notice Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000301, 'name', '通知管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000301, 'name', '通知管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000302, 'name', 'My Notice', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000302, 'name', '我的通知', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000302, 'name', '我的通知', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000303, 'name', 'SMS History', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000303, 'name', '短信发送记录', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1067246875800000303, 'name', '短信發送記錄', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150940491508928513, 'name', 'Process Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150940491508928513, 'name', '流程管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150940491508928513, 'name', '流程管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150941310262235138, 'name', 'Personal Office', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150941310262235138, 'name', '个人办公', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150941310262235138, 'name', '個人辦公', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150941384811794433, 'name', 'My To-do', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150941384811794433, 'name', '我的待办', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150941384811794433, 'name', '我的待辦', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150941447038488577, 'name', 'Task Already', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150941447038488577, 'name', '已办任务', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150941447038488577, 'name', '已辦任務', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150941506626965506, 'name', 'Initiation Process', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150941506626965506, 'name', '发起流程', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150941506626965506, 'name', '發起流程', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150941588046794754, 'name', 'My Application', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150941588046794754, 'name', '我的申请', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1150941588046794754, 'name', '我的申請', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1151384841607028738, 'name', 'To Be Signed', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1151384841607028738, 'name', '待签收任务', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1151384841607028738, 'name', '待簽收任務', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1156748733921165314, 'name', 'Interface Document', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1156748733921165314, 'name', '接口文档', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1156748733921165314, 'name', '接口文檔', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842114, 'name', 'Correction Request', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842114, 'name', '转正申请', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842114, 'name', '轉正申請', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842115, 'name', 'Administrative Regions', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842115, 'name', '行政区域', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842115, 'name', '行政區域', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842116, 'name', 'View', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842116, 'name', '查看', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842116, 'name', '查看', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842117, 'name', 'Add', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842117, 'name', '新增', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842117, 'name', '新增', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842118, 'name', 'Edit', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842118, 'name', '修改', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842118, 'name', '修改', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842119, 'name', 'Delete', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842119, 'name', '删除', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1158267114314842119, 'name', '刪除', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1270380959719501825, 'name', 'Master And Child', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1270380959719501825, 'name', '主子表演示', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1270380959719501825, 'name', '主子表演示', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1270380959719501826, 'name', 'View', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1270380959719501826, 'name', '查看', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1270380959719501826, 'name', '查看', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1270380959719501827, 'name', 'Add', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1270380959719501827, 'name', '新增', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1270380959719501827, 'name', '新增', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1270380959719501828, 'name', 'Edit', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1270380959719501828, 'name', '修改', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1270380959719501828, 'name', '修改', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1270380959719501829, 'name', 'Delete', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1270380959719501829, 'name', '删除', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1270380959719501829, 'name', '刪除', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1300278047072649217, 'name', 'Report Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1300278047072649217, 'name', '报表管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1300278047072649217, 'name', '報表管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1300278435729440769, 'name', 'Report Design', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1300278435729440769, 'name', '报表设计器', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1300278435729440769, 'name', '報表設計器', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1300381796852060161, 'name', 'Report List', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1300381796852060161, 'name', '报表列表', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1300381796852060161, 'name', '報表列表', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1302850622416084993, 'name', 'DevTools', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1302850622416084993, 'name', '开发者工具', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1302850622416084993, 'name', '開發者工具', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1302850783288614913, 'name', 'DataSource', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1302850783288614913, 'name', '数据源管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1302850783288614913, 'name', '數據源管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1302862890696564738, 'name', 'Field Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1302862890696564738, 'name', '字段管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1302862890696564738, 'name', '字段管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1302874751835848705, 'name', 'BaseClass', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1302874751835848705, 'name', '基类管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1302874751835848705, 'name', '基類管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1304081184014635010, 'name', 'Template', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1304081184014635010, 'name', '模板管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1304081184014635010, 'name', '模板管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1304802103569809410, 'name', 'Code Generation', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1304802103569809410, 'name', '代码生成工具', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1304802103569809410, 'name', '代碼生成工具', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1305513187675144193, 'name', 'Parameter Config', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1305513187675144193, 'name', '参数配置', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1305513187675144193, 'name', '參數配置', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1305532398162145281, 'name', 'Config Info', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1305532398162145281, 'name', '配置信息', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1305532398162145281, 'name', '配置信息', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1340949288542347266, 'name', 'Page Design', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1340949288542347266, 'name', '页面表单设计', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1340949288542347266, 'name', '頁面表單設計', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341596622612987906, 'name', 'Job Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341596622612987906, 'name', '岗位管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341596622612987906, 'name', '崗位管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341596622688485377, 'name', 'View', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341596622688485377, 'name', '查看', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341596622688485377, 'name', '查看', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341596622755594242, 'name', 'Add', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341596622755594242, 'name', '新增', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341596622755594242, 'name', '新增', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341596622835286018, 'name', 'Edit', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341596622835286018, 'name', '修改', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341596622835286018, 'name', '修改', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341596622902394881, 'name', 'Delete', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341596622902394881, 'name', '删除', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341596622902394881, 'name', '刪除', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341659662599495681, 'name', 'Online User', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341659662599495681, 'name', '在线用户', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341659662599495681, 'name', '在線用戶', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341676084016852994, 'name', 'Excel Demo', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341676084016852994, 'name', 'Excel导入演示', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1341676084016852994, 'name', 'Excel導入演示', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1343074487777677313, 'name', 'Pay Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1343074487777677313, 'name', '支付管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1343074487777677313, 'name', '支付管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1343074685589442561, 'name', 'Order Management', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1343074685589442561, 'name', '订单管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1343074685589442561, 'name', '訂單管理', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1343074794440019970, 'name', 'AliPay Log', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1343074794440019970, 'name', '支付宝回调日志', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1343074794440019970, 'name', '支付寶回調日誌', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479714171727732737, 'name', '能力目录(编目)管理(普通)', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479714553140961281, 'name', '能力挂接(普通)', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716355429195777, 'name', '能力需求管理(普通)', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716765099450370, 'name', '能力目录列表', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716765099450370, 'name', '能力目录列表', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716765099450370, 'name', '能力目录列表', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716767699918849, 'name', 'Add', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716767699918849, 'name', '新增', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716767699918849, 'name', '新增', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716769545412609, 'name', 'Edit', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716769545412609, 'name', '修改', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716769545412609, 'name', '修改', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716771990691841, 'name', 'Delete', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716771990691841, 'name', '删除', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716771990691841, 'name', '删除', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716772791803905, 'name', 'Export', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716772791803905, 'name', '导出', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716772791803905, 'name', '導出', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716915775627265, 'name', '能力目录审核', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716915775627265, 'name', '能力目录审核', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716915775627265, 'name', '能力目录审核', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716916153114625, 'name', 'View', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716916153114625, 'name', '查看', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716916153114625, 'name', '查看', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716916518019073, 'name', 'Add', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716916518019073, 'name', '新增', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716916518019073, 'name', '新增', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716916891312129, 'name', 'Edit', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716916891312129, 'name', '修改', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716916891312129, 'name', '修改', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716917260410882, 'name', 'Delete', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716917260410882, 'name', '删除', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716917260410882, 'name', '删除', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716917616926721, 'name', 'Export', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716917616926721, 'name', '导出', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479716917616926721, 'name', '導出', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717972316610562, 'name', '服务', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717972316610562, 'name', '应用资源', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717972316610562, 'name', '服务', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717972710875138, 'name', 'View', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717972710875138, 'name', '查看', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717972710875138, 'name', '查看', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717973096751106, 'name', 'Add', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717973096751106, 'name', '新增', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717973096751106, 'name', '新增', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717973830754305, 'name', 'Edit', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717973830754305, 'name', '修改', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717973830754305, 'name', '修改', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717974791249922, 'name', 'Delete', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717974791249922, 'name', '删除', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717974791249922, 'name', '删除', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717975143571457, 'name', 'Export', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717975143571457, 'name', '导出', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479717975143571457, 'name', '導出', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718134397100033, 'name', 'AI算法', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718134397100033, 'name', '组件服务', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718134397100033, 'name', 'AI算法', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718135307264002, 'name', 'View', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718135307264002, 'name', '查看', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718135307264002, 'name', '查看', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718136649441281, 'name', 'Add', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718136649441281, 'name', '新增', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718136649441281, 'name', '新增', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718137043705858, 'name', 'Edit', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718137043705858, 'name', '修改', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718137043705858, 'name', '修改', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718137433776130, 'name', 'Delete', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718137433776130, 'name', '删除', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718137433776130, 'name', '删除', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718139103109121, 'name', 'Export', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718139103109121, 'name', '导出', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718139103109121, 'name', '導出', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718537687818241, 'name', '我的需求', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718537687818241, 'name', '我的需求', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718537687818241, 'name', '我的需求', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718538073694209, 'name', 'View', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718538073694209, 'name', '查看', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718538073694209, 'name', '查看', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718538446987266, 'name', 'Add', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718538446987266, 'name', '新增1', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718538446987266, 'name', '新增', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718538824474626, 'name', 'Edit', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718538824474626, 'name', '修改', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718538824474626, 'name', '修改', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718539201961985, 'name', 'Delete', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718539201961985, 'name', '删除', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718539201961985, 'name', '删除', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718539579449345, 'name', 'Export', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718539579449345, 'name', '导出', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718539579449345, 'name', '導出', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718596517126145, 'name', '需求审核', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718596517126145, 'name', '需求审核', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718596517126145, 'name', '需求审核', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718596907196417, 'name', 'View', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718596907196417, 'name', '查看', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718596907196417, 'name', '查看', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718597293072385, 'name', 'Add', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718597293072385, 'name', '新增', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718597293072385, 'name', '新增', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718597674754049, 'name', 'Edit', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718597674754049, 'name', '修改', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718597674754049, 'name', '修改', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718598052241410, 'name', 'Delete', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718598052241410, 'name', '删除', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718598052241410, 'name', '删除', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718598442311682, 'name', 'Export', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718598442311682, 'name', '导出', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1479718598442311682, 'name', '導出', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481106341655306242, 'name', '能力调用情况分析(超管)', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481130021655502850, 'name', '审核', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481151514917556226, 'name', '审核', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481184238046834690, 'name', '能力目录(编目)管理(超管)', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481184729887698946, 'name', '能力需求管理(超管)', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447555369881602, 'name', '审核记录', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447555369881602, 'name', '审核记录(超管)', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447555369881602, 'name', '审核记录', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447555726397442, 'name', 'View', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447555726397442, 'name', '查看', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447555726397442, 'name', '查看', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447556078718977, 'name', 'Add', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447556078718977, 'name', '新增', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447556078718977, 'name', '新增', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447556422651905, 'name', 'Edit', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447556422651905, 'name', '修改', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447556422651905, 'name', '修改', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447556770779137, 'name', 'Delete', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447556770779137, 'name', '删除', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447556770779137, 'name', '删除', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447557123100673, 'name', 'Export', 'en-US');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447557123100673, 'name', '导出', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1481447557123100673, 'name', '導出', 'zh-TW');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1513775256278900737, 'name', '转正表单', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1513797246491648001, 'name', '融合服务', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1514156880712777730, 'name', '能力申请表单', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1523928422334148609, 'name', '工作动态', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1526084841978781697, 'name', '算法仓管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1526085998621024257, 'name', '算法管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1526087445634932737, 'name', '告警展示', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1526087790134091777, 'name', '任务监控', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1538710711974182913, 'name', '资源导入', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1539127096390934529, 'name', '项目管理', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1539128432322826241, 'name', '项目列表', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1539136487160696834, 'name', '项目贡献能力明细', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1539136757919797249, 'name', '项目使用能力明细', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1539155687929511937, 'name', '赋能案例', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1539159216605782017, 'name', '赋能案例', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1539421305375272962, 'name', '基础设施', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1539422109297520641, 'name', '数据资源', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1541049688748081153, 'name', '能力统计', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1541249771661844482, 'name', '工作台', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1541261628388888578, 'name', '我的待办', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1541261780432408577, 'name', '能力申请', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1541982817671380994, 'name', '能力运行监控', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1545238019690090497, 'name', '已办任务', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1545239930820513793, 'name', '能力申请', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1545252736160636929, 'name', '能力资源上架', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1545253936767574018, 'name', '能力需求申请', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1545254965168971778, 'name', '能力资源下架', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1545290496837820418, 'name', '评论审核', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1545292602084827138, 'name', '能力资源上架', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1545312045695377410, 'name', '能力需求申请', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1545313018614521857, 'name', '能力资源下架', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1545313754106699777, 'name', '评论审核', 'zh-CN');
|
||||
INSERT INTO `sys_language` VALUES ('sys_menu', 1546381109252136961, 'name', '数据修改日志', 'zh-CN');
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_menu
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_menu`;
|
||||
CREATE TABLE `sys_menu` (
|
||||
`id` bigint(20) NOT NULL COMMENT 'id',
|
||||
`pid` bigint(20) NULL DEFAULT NULL COMMENT '上级ID,一级菜单为0',
|
||||
`url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单URL',
|
||||
`permissions` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '授权(多个用逗号分隔,如:sys:user:list,sys:user:save)',
|
||||
`type` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '类型 0:菜单 1:按钮',
|
||||
`icon` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单图标',
|
||||
`sort` int(11) NULL DEFAULT NULL COMMENT '排序',
|
||||
`creator` bigint(20) NULL DEFAULT NULL COMMENT '创建者',
|
||||
`create_date` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`updater` bigint(20) NULL DEFAULT NULL COMMENT '更新者',
|
||||
`update_date` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
INDEX `idx_pid`(`pid`) USING BTREE,
|
||||
INDEX `idx_sort`(`sort`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单管理' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_menu
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000002, 0, NULL, NULL, 0, 'icon-safetycertificate', 0, 1067246875800000001, '2022-01-08 09:18:30', 1067246875800000001, '2022-01-08 09:18:30');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000003, 1067246875800000055, NULL, 'sys:user:save,sys:dept:list,sys:role:list', 1, NULL, 1, 1067246875800000001, '2022-01-08 09:18:30', 1067246875800000001, '2022-01-08 09:18:30');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000004, 1067246875800000055, NULL, 'sys:user:update,sys:dept:list,sys:role:list', 1, NULL, 2, 1067246875800000001, '2022-01-08 09:18:30', 1067246875800000001, '2022-01-08 09:18:30');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000005, 1067246875800000055, NULL, 'sys:user:delete', 1, NULL, 3, 1067246875800000001, '2022-01-08 09:18:30', 1067246875800000001, '2022-01-08 09:18:30');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000006, 1067246875800000055, NULL, 'sys:user:export', 1, NULL, 4, 1067246875800000001, '2022-01-08 09:18:30', 1067246875800000001, '2022-01-08 09:18:30');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000007, 1067246875800000002, 'sys/role', NULL, 0, 'icon-team', 2, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000008, 1067246875800000007, NULL, 'sys:role:page,sys:role:info', 1, NULL, 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000009, 1067246875800000007, NULL, 'sys:role:save,sys:menu:select,sys:dept:list', 1, NULL, 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000010, 1067246875800000007, NULL, 'sys:role:update,sys:menu:select,sys:dept:list', 1, NULL, 2, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000011, 1067246875800000007, NULL, 'sys:role:delete', 1, NULL, 3, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000012, 1067246875800000002, 'sys/dept', NULL, 0, 'icon-apartment', 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000014, 1067246875800000012, NULL, 'sys:dept:list,sys:dept:info', 1, NULL, 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000015, 1067246875800000012, NULL, 'sys:dept:save', 1, NULL, 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000016, 1067246875800000012, NULL, 'sys:dept:update', 1, NULL, 2, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000017, 1067246875800000012, NULL, 'sys:dept:delete', 1, NULL, 3, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000018, 1150940491508928513, 'activiti/process', 'sys:process:all', 0, 'icon-detail', 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000019, 1150940491508928513, 'activiti/model', 'sys:model:all', 0, 'icon-appstore-fill', 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000020, 1150940491508928513, 'activiti/running', 'sys:running:all', 0, 'icon-play-square', 2, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000021, 1067246875800000024, 'message/sms', 'sys:sms:all', 0, 'icon-message-fill', 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000022, 1067246875800000024, 'message/mail_template', 'sys:mail:all', 0, 'icon-mail', 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000023, 1067246875800000024, 'message/mail_log', 'sys:mail:log', 0, 'icon-detail-fill', 2, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000024, 0, NULL, NULL, 0, 'icon-message', 3, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000025, 1067246875800000035, 'sys/menu', NULL, 0, 'icon-unorderedlist', 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000026, 1067246875800000025, NULL, 'sys:menu:list,sys:menu:info', 1, NULL, 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000027, 1067246875800000025, NULL, 'sys:menu:save', 1, NULL, 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000028, 1067246875800000025, NULL, 'sys:menu:update', 1, NULL, 2, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000029, 1067246875800000025, NULL, 'sys:menu:delete', 1, NULL, 3, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000030, 1067246875800000035, 'job/schedule', NULL, 0, 'icon-dashboard', 3, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000031, 1067246875800000030, NULL, 'sys:schedule:page,sys:schedule:info', 1, NULL, 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000032, 1067246875800000030, NULL, 'sys:schedule:save', 1, NULL, 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000033, 1067246875800000030, NULL, 'sys:schedule:update', 1, NULL, 2, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000034, 1067246875800000030, NULL, 'sys:schedule:delete', 1, NULL, 3, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000035, 0, NULL, NULL, 0, 'icon-setting', 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000036, 1067246875800000030, NULL, 'sys:schedule:pause', 1, NULL, 4, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000037, 1067246875800000030, NULL, 'sys:schedule:resume', 1, NULL, 5, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000038, 1067246875800000030, NULL, 'sys:schedule:run', 1, NULL, 6, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000039, 1067246875800000030, NULL, 'sys:schedule:log', 1, NULL, 7, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000040, 1067246875800000035, 'sys/params', '', 0, 'icon-fileprotect', 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000041, 1067246875800000035, 'sys/dict-type', NULL, 0, 'icon-golden-fill', 2, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000042, 1067246875800000041, NULL, 'sys:dict:page,sys:dict:info', 1, NULL, 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000043, 1067246875800000041, NULL, 'sys:dict:save', 1, NULL, 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000044, 1067246875800000041, NULL, 'sys:dict:update', 1, NULL, 2, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000045, 1067246875800000041, NULL, 'sys:dict:delete', 1, NULL, 3, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000046, 0, NULL, NULL, 0, 'icon-container', 4, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000047, 1067246875800000035, 'oss/oss', 'sys:oss:all', 0, 'icon-upload', 4, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000048, 1067246875800000046, 'sys/log-login', 'sys:log:login', 0, 'icon-filedone', 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-07-11 15:38:10');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000049, 1067246875800000046, 'sys/log-operation', 'sys:log:operation', 0, 'icon-solution', 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-07-11 15:36:37');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000050, 1067246875800000046, 'sys/log-error', 'sys:log:error', 0, 'icon-file-exception', 2, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000051, 1067246875800000053, '{{ window.SITE_CONFIG[\"apiURL\"] }}/druid/sql.html', NULL, 0, 'icon-database', 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000052, 1067246875800000054, 'demo/news', 'demo:news:all', 0, 'icon-file-word', 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000053, 0, NULL, NULL, 0, 'icon-desktop', 5, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000054, 0, NULL, NULL, 0, 'icon-windows', 6, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000055, 1067246875800000002, 'sys/user', NULL, 0, 'icon-user', 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000056, 1067246875800000055, NULL, 'sys:user:page,sys:user:info', 1, NULL, 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000057, 1067246875800000040, NULL, 'sys:params:save', 1, NULL, 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000058, 1067246875800000040, NULL, 'sys:params:export', 1, NULL, 4, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000059, 1067246875800000040, '', 'sys:params:page,sys:params:info', 1, NULL, 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000060, 1067246875800000040, NULL, 'sys:params:update', 1, NULL, 2, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000061, 1067246875800000040, '', 'sys:params:delete', 1, '', 3, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000300, 0, NULL, NULL, 0, 'icon-bell', 4, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000301, 1067246875800000300, 'notice/notice', 'sys:notice:all', 0, 'icon-bell', 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000302, 1067246875800000300, 'notice/notice-user', 'sys:notice:all', 0, 'icon-notification', 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1067246875800000303, 1067246875800000024, 'message/sms-log', 'sys:smslog:all', 0, 'icon-unorderedlist', 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1150940491508928513, 0, NULL, NULL, 0, 'icon-reloadtime', 4, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1150941310262235138, 0, NULL, NULL, 0, 'icon-user', 4, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1150941384811794433, 1150941310262235138, 'activiti/my-todo-task', 'sys:correction:all,sys:process:all,sys:running:all,sys:task:all', 0, 'icon-dashboard', 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1150941447038488577, 1150941310262235138, 'activiti/my-join-task', 'sys:his:all', 0, 'icon-check-square', 3, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1150941506626965506, 1150940491508928513, 'activiti/process-initiation', 'sys:process:all', 0, 'icon-play-square', 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1150941588046794754, 1150941310262235138, 'activiti/my-apply', 'sys:correction:all,sys:process:all,sys:running:all,sys:task:all', 0, 'icon-edit-square', 2, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1151384841607028738, 1150941310262235138, 'activiti/my-todo-task-pool', 'sys:correction:all,sys:process:all,sys:running:all,sys:task:all', 0, 'icon-interation', 5, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1156748733921165314, 1067246875800000053, '{{ window.SITE_CONFIG[\"apiURL\"] }}/doc.html', '', 0, 'icon-file-word', 2, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1158267114314842114, 1150941310262235138, 'activiti/demo/correction', 'sys:correction:all,sys:process:all,sys:running:all,sys:task:all', 0, 'icon-issuesclose', 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1158267114314842115, 1067246875800000035, 'sys/region', NULL, 0, 'icon-location', 4, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1158267114314842116, 1158267114314842115, NULL, 'sys:region:list,sys:region:info', 1, NULL, 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1158267114314842117, 1158267114314842115, NULL, 'sys:region:save', 1, NULL, 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1158267114314842118, 1158267114314842115, NULL, 'sys:region:update', 1, NULL, 2, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1158267114314842119, 1158267114314842115, NULL, 'sys:region:delete', 1, NULL, 3, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1270380959719501825, 1067246875800000054, 'demo/product', NULL, 0, 'icon-tag', 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1270380959719501826, 1270380959719501825, NULL, 'demo:product:page,demo:product:info', 1, NULL, 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1270380959719501827, 1270380959719501825, NULL, 'demo:product:save', 1, NULL, 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1270380959719501828, 1270380959719501825, NULL, 'demo:product:update', 1, NULL, 2, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1270380959719501829, 1270380959719501825, NULL, 'demo:product:delete', 1, NULL, 3, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1300278047072649217, 0, '', '', 0, 'icon-filesearch', 3, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1300278435729440769, 1300278047072649217, '{{ window.SITE_CONFIG[\"apiURL\"] }}/ureport/designer', '', 0, 'icon-book', 0, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1300381796852060161, 1300278047072649217, 'ureport/ureport', 'sys:ureport:all', 0, 'icon-up-circle', 1, 1067246875800000001, '2022-01-08 09:18:31', 1067246875800000001, '2022-01-08 09:18:31');
|
||||
INSERT INTO `sys_menu` VALUES (1302850622416084993, 0, '', '', 0, 'icon-rocket', 3, 1067246875800000001, '2022-01-08 14:48:03', 1067246875800000001, '2022-01-08 14:48:03');
|
||||
INSERT INTO `sys_menu` VALUES (1302850783288614913, 1305532398162145281, 'devtools/datasource', '', 0, 'icon-sync', 0, 1067246875800000001, '2022-01-08 14:48:03', 1067246875800000001, '2022-01-08 14:48:03');
|
||||
INSERT INTO `sys_menu` VALUES (1302862890696564738, 1305532398162145281, 'devtools/fieldtype', '', 0, 'icon-eye', 1, 1067246875800000001, '2022-01-08 14:48:03', 1067246875800000001, '2022-01-08 14:48:03');
|
||||
INSERT INTO `sys_menu` VALUES (1302874751835848705, 1305532398162145281, 'devtools/baseclass', '', 0, 'icon-info-circle', 3, 1067246875800000001, '2022-01-08 14:48:03', 1067246875800000001, '2022-01-08 14:48:03');
|
||||
INSERT INTO `sys_menu` VALUES (1304081184014635010, 1305532398162145281, 'devtools/template', '', 0, 'icon-up-circle', 3, 1067246875800000001, '2022-01-08 14:48:03', 1067246875800000001, '2022-01-08 14:48:03');
|
||||
INSERT INTO `sys_menu` VALUES (1304802103569809410, 1302850622416084993, 'devtools/generator', '', 0, 'icon-tags', 0, 1067246875800000001, '2022-01-08 14:48:03', 1067246875800000001, '2022-01-08 14:48:03');
|
||||
INSERT INTO `sys_menu` VALUES (1305513187675144193, 1305532398162145281, 'devtools/param', '', 0, 'icon-setting', 5, 1067246875800000001, '2022-01-08 14:48:03', 1067246875800000001, '2022-01-08 14:48:03');
|
||||
INSERT INTO `sys_menu` VALUES (1305532398162145281, 1302850622416084993, '', '', 0, 'icon-setting', 3, 1067246875800000001, '2022-01-08 14:48:03', 1067246875800000001, '2022-01-08 14:48:03');
|
||||
INSERT INTO `sys_menu` VALUES (1340949288542347266, 1302850622416084993, 'form-generator/form', '', 0, 'icon-edit-square', 0, 1067246875800000001, '2022-01-08 14:48:04', 1067246875800000001, '2022-01-08 14:48:04');
|
||||
INSERT INTO `sys_menu` VALUES (1341596622612987906, 1067246875800000002, 'sys/post', NULL, 0, 'icon-pic-left', 1, 1067246875800000001, '2022-01-08 09:18:35', 1067246875800000001, '2022-01-08 09:18:35');
|
||||
INSERT INTO `sys_menu` VALUES (1341596622688485377, 1341596622612987906, NULL, 'sys:post:page,sys:post:info', 1, NULL, 0, 1067246875800000001, '2022-01-08 09:18:35', 1067246875800000001, '2022-01-08 09:18:35');
|
||||
INSERT INTO `sys_menu` VALUES (1341596622755594242, 1341596622612987906, NULL, 'sys:post:save', 1, NULL, 1, 1067246875800000001, '2022-01-08 09:18:35', 1067246875800000001, '2022-01-08 09:18:35');
|
||||
INSERT INTO `sys_menu` VALUES (1341596622835286018, 1341596622612987906, NULL, 'sys:post:update', 1, NULL, 2, 1067246875800000001, '2022-01-08 09:18:35', 1067246875800000001, '2022-01-08 09:18:35');
|
||||
INSERT INTO `sys_menu` VALUES (1341596622902394881, 1341596622612987906, NULL, 'sys:post:delete', 1, NULL, 3, 1067246875800000001, '2022-01-08 09:18:35', 1067246875800000001, '2022-01-08 09:18:35');
|
||||
INSERT INTO `sys_menu` VALUES (1341659662599495681, 1067246875800000053, 'sys/online', 'sys:online:all', 0, 'icon-team', 1, 1067246875800000001, '2022-01-08 09:18:35', 1067246875800000001, '2022-01-08 09:18:35');
|
||||
INSERT INTO `sys_menu` VALUES (1341676084016852994, 1067246875800000054, 'demo/excel', 'demo:excel:all', 0, 'icon-table', 1, 1067246875800000001, '2022-01-08 09:18:35', 1067246875800000001, '2022-01-08 09:18:35');
|
||||
INSERT INTO `sys_menu` VALUES (1343074487777677313, 0, '', '', 0, 'icon-Dollar', 3, 1067246875800000001, '2022-01-08 09:18:35', 1067246875800000001, '2022-01-08 09:18:35');
|
||||
INSERT INTO `sys_menu` VALUES (1343074685589442561, 1343074487777677313, 'pay/order', 'pay:order:all', 0, 'icon-unorderedlist', 0, 1067246875800000001, '2022-01-08 09:18:35', 1067246875800000001, '2022-01-08 09:18:35');
|
||||
INSERT INTO `sys_menu` VALUES (1343074794440019970, 1343074487777677313, 'pay/alipaynotifylog', 'pay:alipayNotifyLog:all', 0, 'icon-filedone', 1, 1067246875800000001, '2022-01-08 09:18:35', 1067246875800000001, '2022-01-08 09:18:35');
|
||||
INSERT INTO `sys_menu` VALUES (1479714171727732737, 0, '', '', 0, 'icon-laptop', 3, 1067246875800000001, '2022-01-08 15:18:45', 1067246875800000001, '2022-01-14 15:34:22');
|
||||
INSERT INTO `sys_menu` VALUES (1479714553140961281, 0, '', '', 0, 'icon-codelibrary', 5, 1067246875800000001, '2022-01-08 15:20:16', 1067246875800000001, '2022-01-13 18:10:50');
|
||||
INSERT INTO `sys_menu` VALUES (1479716355429195777, 0, '', '', 0, 'icon-save', 0, 1067246875800000001, '2022-01-08 15:27:26', 1067246875800000001, '2022-01-13 18:09:55');
|
||||
INSERT INTO `sys_menu` VALUES (1479716765099450370, 1479714171727732737, '/bscatalogue/bscatalogue', NULL, 0, 'icon-up-circle', 0, 1067246875800000001, '2022-01-08 15:29:03', 1067246875800000001, '2022-01-11 19:44:43');
|
||||
INSERT INTO `sys_menu` VALUES (1479716767699918849, 1479716765099450370, '/bscatalogue', 'bscatalogue:bscatalogue:save', 1, NULL, 1, 1067246875800000001, '2022-01-08 15:29:03', 1067246875800000001, '2022-01-11 19:56:32');
|
||||
INSERT INTO `sys_menu` VALUES (1479716769545412609, 1479716765099450370, '/bscatalogue', 'bscatalogue:bscatalogue:update', 1, NULL, 2, 1067246875800000001, '2022-01-08 15:29:03', 1067246875800000001, '2022-01-11 19:55:19');
|
||||
INSERT INTO `sys_menu` VALUES (1479716771990691841, 1479716765099450370, '/bscatalogue', 'bscatalogue:bscatalogue:delete', 1, NULL, 3, 1067246875800000001, '2022-01-08 15:29:03', 1067246875800000001, '2022-01-11 19:56:53');
|
||||
INSERT INTO `sys_menu` VALUES (1479716772791803905, 1479716765099450370, '/bscatalogue', 'bscatalogue:export', 1, NULL, 4, 1067246875800000001, '2022-01-08 15:29:03', 1067246875800000001, '2022-01-08 15:29:03');
|
||||
INSERT INTO `sys_menu` VALUES (1479716915775627265, 1481184238046834690, '/bscatalogue/bscatalogueExamine', NULL, 0, 'icon-undo', 0, 1067246875800000001, '2022-01-08 15:29:39', 1067246875800000001, '2022-01-12 16:57:32');
|
||||
INSERT INTO `sys_menu` VALUES (1479716916153114625, 1479716915775627265, '/bscatalogue', 'bscatalogue:page,bscatalogue:info', 1, NULL, 0, 1067246875800000001, '2022-01-08 15:29:39', 1067246875800000001, '2022-01-08 15:29:39');
|
||||
INSERT INTO `sys_menu` VALUES (1479716916518019073, 1479716915775627265, '/bscatalogue', 'bscatalogue:save', 1, NULL, 1, 1067246875800000001, '2022-01-08 15:29:39', 1067246875800000001, '2022-01-08 15:29:39');
|
||||
INSERT INTO `sys_menu` VALUES (1479716916891312129, 1479716915775627265, '/bscatalogue', 'bscatalogue:update', 1, NULL, 2, 1067246875800000001, '2022-01-08 15:29:39', 1067246875800000001, '2022-01-08 15:29:39');
|
||||
INSERT INTO `sys_menu` VALUES (1479716917260410882, 1479716915775627265, '/bscatalogue', 'bscatalogue:delete', 1, NULL, 3, 1067246875800000001, '2022-01-08 15:29:39', 1067246875800000001, '2022-01-08 15:29:39');
|
||||
INSERT INTO `sys_menu` VALUES (1479716917616926721, 1479716915775627265, '/bscatalogue', 'bscatalogue:export', 1, NULL, 4, 1067246875800000001, '2022-01-08 15:29:39', 1067246875800000001, '2022-01-08 15:29:39');
|
||||
INSERT INTO `sys_menu` VALUES (1479717972316610562, 1479714553140961281, '/ability/bsabilityservice', NULL, 0, 'icon-CodeSandbox', 4, 1067246875800000001, '2022-01-08 15:33:51', 1513433270406643713, '2022-06-20 10:37:06');
|
||||
INSERT INTO `sys_menu` VALUES (1479717972710875138, 1479717972316610562, '/ability/bsabilityservice', 'ability:bsabilityservice:page,ability:bsabilityservice:info', 1, NULL, 0, 1067246875800000001, '2022-01-08 15:33:51', 1067246875800000001, '2022-01-08 15:33:51');
|
||||
INSERT INTO `sys_menu` VALUES (1479717973096751106, 1479717972316610562, '/ability/bsabilityservice', 'ability:bsabilityservice:save', 1, NULL, 1, 1067246875800000001, '2022-01-08 15:33:51', 1067246875800000001, '2022-01-08 15:33:51');
|
||||
INSERT INTO `sys_menu` VALUES (1479717973830754305, 1479717972316610562, '/ability/bsabilityservice', 'ability:bsabilityservice:update', 1, NULL, 2, 1067246875800000001, '2022-01-08 15:33:51', 1067246875800000001, '2022-01-08 15:33:51');
|
||||
INSERT INTO `sys_menu` VALUES (1479717974791249922, 1479717972316610562, '/ability/bsabilityservice', 'ability:bsabilityservice:delete', 1, NULL, 3, 1067246875800000001, '2022-01-08 15:33:51', 1067246875800000001, '2022-01-08 15:33:51');
|
||||
INSERT INTO `sys_menu` VALUES (1479717975143571457, 1479717972316610562, '/ability/bsabilityservice', 'ability:bsabilityservice:export', 1, NULL, 4, 1067246875800000001, '2022-01-08 15:33:51', 1067246875800000001, '2022-01-08 15:33:51');
|
||||
INSERT INTO `sys_menu` VALUES (1479718134397100033, 1479714553140961281, '/ability/bsabilityai', NULL, 0, 'icon-Batchfolding', 3, 1067246875800000001, '2022-01-08 15:34:30', 1513433270406643713, '2022-06-20 10:38:05');
|
||||
INSERT INTO `sys_menu` VALUES (1479718135307264002, 1479718134397100033, '/ability/bsabilityai', 'ability:bsabilityai:page,ability:bsabilityai:info', 1, NULL, 0, 1067246875800000001, '2022-01-08 15:34:30', 1067246875800000001, '2022-01-08 15:34:30');
|
||||
INSERT INTO `sys_menu` VALUES (1479718136649441281, 1479718134397100033, '/ability/bsabilityai', 'ability:bsabilityai:save', 1, NULL, 1, 1067246875800000001, '2022-01-08 15:34:30', 1067246875800000001, '2022-01-08 15:34:30');
|
||||
INSERT INTO `sys_menu` VALUES (1479718137043705858, 1479718134397100033, '/ability/bsabilityai', 'ability:bsabilityai:update', 1, NULL, 2, 1067246875800000001, '2022-01-08 15:34:30', 1067246875800000001, '2022-01-08 15:34:30');
|
||||
INSERT INTO `sys_menu` VALUES (1479718137433776130, 1479718134397100033, '/ability/bsabilityai', 'ability:bsabilityai:delete', 1, NULL, 3, 1067246875800000001, '2022-01-08 15:34:30', 1067246875800000001, '2022-01-08 15:34:30');
|
||||
INSERT INTO `sys_menu` VALUES (1479718139103109121, 1479718134397100033, '/ability/bsabilityai', 'ability:bsabilityai:export', 1, NULL, 4, 1067246875800000001, '2022-01-08 15:34:30', 1067246875800000001, '2022-01-08 15:34:30');
|
||||
INSERT INTO `sys_menu` VALUES (1479718537687818241, 1479716355429195777, '/demand/bsdemand', NULL, 0, '', 0, 1067246875800000001, '2022-01-08 15:36:06', 1067246875800000001, '2022-01-11 17:15:19');
|
||||
INSERT INTO `sys_menu` VALUES (1479718538073694209, 1479718537687818241, '/demand/bsdemand', 'bsdemand:page,bsdemand:info', 1, NULL, 0, 1067246875800000001, '2022-01-08 15:36:06', 1067246875800000001, '2022-01-08 15:36:06');
|
||||
INSERT INTO `sys_menu` VALUES (1479718538446987266, 1479718537687818241, '/demand/bsdemand', 'demand:bsdemand:save', 1, NULL, 1, 1067246875800000001, '2022-01-08 15:36:06', 1067246875800000001, '2022-01-11 17:18:45');
|
||||
INSERT INTO `sys_menu` VALUES (1479718538824474626, 1479718537687818241, '/demand/bsdemand', 'bsdemand:update', 1, NULL, 2, 1067246875800000001, '2022-01-08 15:36:06', 1067246875800000001, '2022-01-12 13:37:31');
|
||||
INSERT INTO `sys_menu` VALUES (1479718539201961985, 1479718537687818241, '/demand/bsdemand', 'bsdemand:delete', 1, NULL, 3, 1067246875800000001, '2022-01-08 15:36:06', 1067246875800000001, '2022-01-08 15:36:06');
|
||||
INSERT INTO `sys_menu` VALUES (1479718539579449345, 1479718537687818241, '/demand/bsdemand', 'bsdemand:export', 1, NULL, 4, 1067246875800000001, '2022-01-08 15:36:06', 1067246875800000001, '2022-01-08 15:36:06');
|
||||
INSERT INTO `sys_menu` VALUES (1479718596517126145, 1481184729887698946, '/demand/deman', NULL, 0, '', 0, 1067246875800000001, '2022-01-08 15:36:20', 1067246875800000001, '2022-01-12 16:57:49');
|
||||
INSERT INTO `sys_menu` VALUES (1479718596907196417, 1479718596517126145, '/demand/bsdemand', 'bsdemand:page,bsdemand:info', 1, NULL, 0, 1067246875800000001, '2022-01-08 15:36:20', 1067246875800000001, '2022-01-08 15:36:20');
|
||||
INSERT INTO `sys_menu` VALUES (1479718597293072385, 1479718596517126145, '/demand/bsdemand', 'bsdemand:save', 1, NULL, 1, 1067246875800000001, '2022-01-08 15:36:20', 1067246875800000001, '2022-01-11 17:13:45');
|
||||
INSERT INTO `sys_menu` VALUES (1479718597674754049, 1479718596517126145, '/demand/bsdemand', 'bsdemand:update', 1, NULL, 2, 1067246875800000001, '2022-01-08 15:36:20', 1067246875800000001, '2022-01-08 15:36:20');
|
||||
INSERT INTO `sys_menu` VALUES (1479718598052241410, 1479718596517126145, '/demand/bsdemand', 'bsdemand:delete', 1, NULL, 3, 1067246875800000001, '2022-01-08 15:36:20', 1067246875800000001, '2022-01-08 15:36:20');
|
||||
INSERT INTO `sys_menu` VALUES (1479718598442311682, 1479718596517126145, '/demand/bsdemand', 'bsdemand:export', 1, NULL, 4, 1067246875800000001, '2022-01-08 15:36:20', 1067246875800000001, '2022-01-08 15:36:20');
|
||||
INSERT INTO `sys_menu` VALUES (1481106341655306242, 0, '/ability/analysis', '', 0, 'icon-project', 6, 1067246875800000001, '2022-01-12 11:30:44', 1067246875800000001, '2022-01-14 15:42:40');
|
||||
INSERT INTO `sys_menu` VALUES (1481130021655502850, 1479718596517126145, '/demand/bsdemand', 'bsdemand:examine', 1, NULL, 0, 1067246875800000001, '2022-01-12 13:04:50', 1067246875800000001, '2022-01-12 13:58:58');
|
||||
INSERT INTO `sys_menu` VALUES (1481151514917556226, 1479716915775627265, '', 'bscatalogue:examine', 1, '', 0, 1067246875800000001, '2022-01-12 14:30:14', 1067246875800000001, '2022-01-12 14:30:47');
|
||||
INSERT INTO `sys_menu` VALUES (1481184238046834690, 0, '/bscatalogue/bscatalogueExamine', '', 0, 'icon-trademark', 4, 1067246875800000001, '2022-01-12 16:40:16', 1067246875800000001, '2022-01-14 15:34:32');
|
||||
INSERT INTO `sys_menu` VALUES (1481184729887698946, 0, '', '', 0, 'icon-trademark', 1, 1067246875800000001, '2022-01-12 16:42:13', 1067246875800000001, '2022-01-13 18:10:09');
|
||||
INSERT INTO `sys_menu` VALUES (1481447555369881602, 0, 'comment/bscomment', NULL, 0, 'icon-date', 2, 1067246875800000001, '2022-01-13 10:06:36', 1067246875800000001, '2022-01-13 11:08:51');
|
||||
INSERT INTO `sys_menu` VALUES (1481447555726397442, 1481447555369881602, 'comment/bscomment', 'comment:bscomment:page,comment:bscomment:info', 1, NULL, 0, 1067246875800000001, '2022-01-13 10:06:36', 1067246875800000001, '2022-01-13 10:06:36');
|
||||
INSERT INTO `sys_menu` VALUES (1481447556078718977, 1481447555369881602, 'comment/bscomment', 'comment:bscomment:save', 1, NULL, 1, 1067246875800000001, '2022-01-13 10:06:36', 1067246875800000001, '2022-01-13 10:06:36');
|
||||
INSERT INTO `sys_menu` VALUES (1481447556422651905, 1481447555369881602, 'comment/bscomment', 'comment:bscomment:update', 1, NULL, 2, 1067246875800000001, '2022-01-13 10:06:36', 1067246875800000001, '2022-01-13 10:06:36');
|
||||
INSERT INTO `sys_menu` VALUES (1481447556770779137, 1481447555369881602, 'comment/bscomment', 'comment:bscomment:delete', 1, NULL, 3, 1067246875800000001, '2022-01-13 10:06:36', 1067246875800000001, '2022-01-13 10:06:36');
|
||||
INSERT INTO `sys_menu` VALUES (1481447557123100673, 1481447555369881602, 'comment/bscomment', 'comment:bscomment:export', 1, NULL, 4, 1067246875800000001, '2022-01-13 10:06:36', 1067246875800000001, '2022-01-13 10:06:36');
|
||||
INSERT INTO `sys_menu` VALUES (1513775256278900737, 1150941310262235138, 'activiti/demo/correction-process', '', 0, 'icon-check-circle', 0, 1067246875800000001, '2022-04-12 15:05:20', 1067246875800000001, '2022-04-12 15:08:24');
|
||||
INSERT INTO `sys_menu` VALUES (1513797246491648001, 0, '/ability/IntegratedServices', '', 0, 'icon-medicinebox-fill', 10, 1067246875800000001, '2022-04-12 16:32:43', 1067246875800000001, '2022-07-14 10:04:35');
|
||||
INSERT INTO `sys_menu` VALUES (1514156880712777730, 1150941310262235138, 'activiti/demo/correction-process2', '', 0, 'icon-meh', 0, 1513435534798127105, '2022-04-13 16:21:47', 1513435534798127105, '2022-04-13 16:22:11');
|
||||
INSERT INTO `sys_menu` VALUES (1523928422334148609, 1150941310262235138, 'activiti/my-work-dynamics', 'sys:correction:all,sys:process:all,sys:running:all,sys:task:all', 0, 'icon-carryout', 6, 1067246875800000001, '2022-05-10 15:30:24', 1067246875800000001, '2022-05-10 15:30:45');
|
||||
INSERT INTO `sys_menu` VALUES (1526084841978781697, 0, '', '', 0, 'icon-edit-square', 4, 1067246875800000001, '2022-05-16 14:19:14', 1067246875800000001, '2022-05-16 14:27:13');
|
||||
INSERT INTO `sys_menu` VALUES (1526085998621024257, 1526084841978781697, 'algorithm/algorithm-management', '', 0, 'icon-number', 1, 1523593620618321921, '2022-05-16 14:23:50', 1523593620618321921, '2022-05-16 15:10:31');
|
||||
INSERT INTO `sys_menu` VALUES (1526087445634932737, 1526084841978781697, 'algorithm/alarm-display.vue', '', 0, 'icon-stop', 3, 1067246875800000001, '2022-05-16 14:29:35', 1523593620618321921, '2022-05-16 16:05:25');
|
||||
INSERT INTO `sys_menu` VALUES (1526087790134091777, 1526084841978781697, 'algorithm/task-monitoring.vue', '', 0, 'icon-earth', 2, 1067246875800000001, '2022-05-16 14:30:57', 1523593620618321921, '2022-05-16 15:10:44');
|
||||
INSERT INTO `sys_menu` VALUES (1538710711974182913, 1479714553140961281, '/ability/bsabilityimport', '', 0, 'icon-file-fill', 1, 1515973081575276545, '2022-06-20 10:29:56', 1067246875800000001, '2022-06-20 10:38:51');
|
||||
INSERT INTO `sys_menu` VALUES (1539127096390934529, 0, '', '', 0, 'icon-reconciliation', 0, 1067246875800000001, '2022-06-21 14:04:30', 1067246875800000001, '2022-06-21 14:04:30');
|
||||
INSERT INTO `sys_menu` VALUES (1539128432322826241, 1539127096390934529, 'project/list', '0', 0, 'icon-database', 0, 1067246875800000001, '2022-06-21 14:09:49', 1067246875800000001, '2022-06-21 14:09:49');
|
||||
INSERT INTO `sys_menu` VALUES (1539136487160696834, 1539127096390934529, 'project/contribute', '', 0, 'icon-orderedlist', 0, 1067246875800000001, '2022-06-21 14:41:49', 1067246875800000001, '2022-06-21 14:41:49');
|
||||
INSERT INTO `sys_menu` VALUES (1539136757919797249, 1539127096390934529, 'project/use', '', 0, 'icon-detail', 0, 1067246875800000001, '2022-06-21 14:42:54', 1067246875800000001, '2022-06-21 14:42:54');
|
||||
INSERT INTO `sys_menu` VALUES (1539155687929511937, 0, '', '', 0, 'icon-earth', 5, 1513437369940344833, '2022-06-21 15:58:07', 1513437369940344833, '2022-06-21 16:25:10');
|
||||
INSERT INTO `sys_menu` VALUES (1539159216605782017, 1539155687929511937, '/canassigncase/index', '', 0, 'icon-message', 0, 1513437369940344833, '2022-06-21 16:12:08', 1513437369940344833, '2022-06-21 16:12:08');
|
||||
INSERT INTO `sys_menu` VALUES (1539421305375272962, 1479714553140961281, '/ability/bsinfrastructure', '', 0, 'icon-layout-fill', 0, 1538070668834201602, '2022-06-22 09:33:35', 1538070668834201602, '2022-06-22 09:34:08');
|
||||
INSERT INTO `sys_menu` VALUES (1539422109297520641, 1479714553140961281, '/ability/bsdataresources', '', 0, 'icon-diff-fill', 0, 1538070668834201602, '2022-06-22 09:36:47', 1538070668834201602, '2022-06-22 09:36:47');
|
||||
INSERT INTO `sys_menu` VALUES (1541049688748081153, 0, '/abilityStatistics/index', '', 0, 'icon-appstore', 0, 1067246875800000001, '2022-06-26 21:24:12', 1067246875800000001, '2022-06-26 21:24:31');
|
||||
INSERT INTO `sys_menu` VALUES (1541249771661844482, 0, '/workBench/workBench', '', 0, 'icon-project', 0, 1517033347649310722, '2022-06-27 10:39:15', 1517397484770328578, '2022-06-29 12:54:06');
|
||||
INSERT INTO `sys_menu` VALUES (1541261628388888578, 0, '', '', 0, 'icon-user', 4, 1513433709613187073, '2022-06-27 11:26:22', 1067246875800000001, '2022-06-30 14:58:42');
|
||||
INSERT INTO `sys_menu` VALUES (1541261780432408577, 1541261628388888578, '/myAgent/CompetencyApplication', '', 0, 'icon-file-copy', 0, 1513433709613187073, '2022-06-27 11:26:58', 1067246875800000001, '2022-07-08 14:51:32');
|
||||
INSERT INTO `sys_menu` VALUES (1541982817671380994, 1067246875800000002, 'sys/CapabilityOperationMonitoring/index.vue', '', 0, 'icon-earth', 0, 1067246875800000001, '2022-06-29 11:12:07', 1067246875800000001, '2022-06-29 11:12:56');
|
||||
INSERT INTO `sys_menu` VALUES (1545238019690090497, 0, '', '', 0, 'icon-minus-circle', 4, 1067246875800000001, '2022-07-08 10:47:08', 1067246875800000001, '2022-07-08 10:47:08');
|
||||
INSERT INTO `sys_menu` VALUES (1545239930820513793, 1545238019690090497, '/hasToDoTasks/CompetencyApplication', '', 0, 'icon-eye', 0, 1067246875800000001, '2022-07-08 10:54:43', 1067246875800000001, '2022-07-08 11:49:03');
|
||||
INSERT INTO `sys_menu` VALUES (1545252736160636929, 1545238019690090497, '/hasToDoTasks/AbilityResourceShelf', '', 0, 'icon-earth', 1, 1067246875800000001, '2022-07-08 11:45:36', 1067246875800000001, '2022-07-08 11:57:37');
|
||||
INSERT INTO `sys_menu` VALUES (1545253936767574018, 1545238019690090497, '/hasToDoTasks/ApplicationForCompetencyRequirements', '', 0, 'icon-filedone', 2, 1067246875800000001, '2022-07-08 11:50:23', 1067246875800000001, '2022-07-08 11:50:23');
|
||||
INSERT INTO `sys_menu` VALUES (1545254965168971778, 1545238019690090497, '/hasToDoTasks/AbilityResourcesRemoved', '', 0, 'icon-aliwangwang', 3, 1067246875800000001, '2022-07-08 11:54:28', 1067246875800000001, '2022-07-08 11:55:20');
|
||||
INSERT INTO `sys_menu` VALUES (1545290496837820418, 1545238019690090497, '/hasToDoTasks/CommentModeration', '', 0, 'icon-message', 4, 1067246875800000001, '2022-07-08 14:15:39', 1067246875800000001, '2022-07-08 14:15:39');
|
||||
INSERT INTO `sys_menu` VALUES (1545292602084827138, 1541261628388888578, '/myAgent/AbilityResourceShelf', '', 0, 'icon-message', 1, 1067246875800000001, '2022-07-08 14:24:01', 1067246875800000001, '2022-07-08 14:24:51');
|
||||
INSERT INTO `sys_menu` VALUES (1545312045695377410, 1541261628388888578, '/myAgent/ApplicationforCompetencyRequirements', '', 0, 'icon-copyright', 2, 1067246875800000001, '2022-07-08 15:41:17', 1067246875800000001, '2022-07-08 15:41:17');
|
||||
INSERT INTO `sys_menu` VALUES (1545313018614521857, 1541261628388888578, '/myAgent/AbilityResourcesRemoved', '', 0, 'icon-logout', 3, 1067246875800000001, '2022-07-08 15:45:09', 1067246875800000001, '2022-07-08 15:45:09');
|
||||
INSERT INTO `sys_menu` VALUES (1545313754106699777, 1541261628388888578, '/myAgent/CommentModeration', '', 0, 'icon-reloadtime', 4, 1067246875800000001, '2022-07-08 15:48:04', 1067246875800000001, '2022-07-08 15:48:04');
|
||||
INSERT INTO `sys_menu` VALUES (1546381109252136961, 1067246875800000046, 'sys/log-data-modification-log', '', 0, 'icon-reloadtime', 3, 1067246875800000001, '2022-07-11 14:29:21', 1067246875800000001, '2022-07-11 15:38:19');
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
|
@ -1,8 +1,9 @@
|
|||
-- 涉及到的表:tb_data_category
|
||||
-- 表数据有更新时直接从Navicat选择转储SQL文件替换文件内容!!!
|
||||
-- 替换前建议备份
|
||||
-- 注意更新时间
|
||||
/*
|
||||
Date: 19/07/2022 10:55:51
|
||||
Date: 21/07/2022 09:49:36
|
||||
*/
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
@ -525,20 +526,20 @@ INSERT INTO `tb_data_category` VALUES (1541958011009875969, '数据范围', '组
|
|||
INSERT INTO `tb_data_category` VALUES (1541958848058736642, '样式服务地址', '组件服务一', '1539529687759314945', 'true', 'input', 'false', 'false', '', 4, 0, 1524924140178481154, '2022-06-29 09:36:52', 1524924140178481154, '2022-06-29 09:36:52', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542755260526624769, '能力类型', '组件服务一', '1534718048405012481', 'true', 'AbilityType', 'false', 'false', '', 1, 0, 1524924140178481154, '2022-07-01 14:21:32', 1524924140178481154, '2022-07-01 14:21:32', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542755491007823873, '组件类型', '组件服务一', '1534718048405012481', 'true', 'ComponentType', 'false', 'false', '', 2, 0, 1524924140178481154, '2022-07-01 14:22:27', 1524924140178481154, '2022-07-01 14:22:27', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542759999255478274, '来源应用', '组件服务一', '1534718048405012481', 'true', 'AssociatedApplication', 'false', 'false', '', 19, 0, 1524924140178481154, '2022-07-01 14:40:22', 1524924140178481154, '2022-07-01 14:40:22', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542759999255478274, '来源应用', '组件服务一', '1534718048405012481', 'true', 'select', 'false', 'false', '', 19, 0, 1524924140178481154, '2022-07-01 14:40:22', 1524924140178481154, '2022-07-01 14:40:22', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542768397682466818, '服务商', '组件服务一', '1534718048405012481', 'true', 'input', 'false', 'false', '', 13, 0, 1524924140178481154, '2022-07-01 15:13:44', 1524924140178481154, '2022-07-01 15:13:44', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542768571779637250, '服务商联系人', '组件服务一', '1534718048405012481', 'true', 'input', 'false', 'false', '', 14, 0, 1524924140178481154, '2022-07-01 15:14:25', 1524924140178481154, '2022-07-01 15:14:25', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542768616788713473, '服务商联系电话', '组件服务一', '1534718048405012481', 'true', 'input', 'false', 'false', '', 15, 0, 1524924140178481154, '2022-07-01 15:14:36', 1524924140178481154, '2022-07-01 15:14:36', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542769943472234498, '能力类型', '组件服务一', '1538797032767987714', 'true', 'AbilityType', 'false', 'false', '', 1, 0, 1524924140178481154, '2022-07-01 15:19:52', 1524924140178481154, '2022-07-01 15:19:52', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542770087471079426, '组件类型', '组件服务一', '1538797032767987714', 'true', 'ComponentType', 'false', 'false', '', 2, 0, 1524924140178481154, '2022-07-01 15:20:27', 1524924140178481154, '2022-07-01 15:20:27', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542773599965798402, '来源应用', '组件服务一', '1538797032767987714', 'true', 'AssociatedApplication', 'false', 'false', '', 14, 0, 1524924140178481154, '2022-07-01 15:34:24', 1524924140178481154, '2022-07-01 15:34:24', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542773599965798402, '来源应用', '组件服务一', '1538797032767987714', 'true', 'select', 'false', 'false', '', 14, 0, 1524924140178481154, '2022-07-01 15:34:24', 1524924140178481154, '2022-07-01 15:34:24', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542775012120846337, '能力类型', '基础设施', '1538705458625228801', 'true', 'AbilityType', 'false', 'false', '', 1, 0, 1524924140178481154, '2022-07-01 15:40:01', 1524924140178481154, '2022-07-01 15:40:01', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542775091430940674, '组件类型', '基础设施', '1538705458625228801', 'true', 'ComponentType', 'false', 'false', '', 2, 0, 1524924140178481154, '2022-07-01 15:40:20', 1524924140178481154, '2022-07-01 15:40:20', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542775245986848770, '来源应用', '基础设施', '1538705458625228801', 'true', 'AssociatedApplication', 'false', 'false', '', 14, 0, 1524924140178481154, '2022-07-01 15:40:57', 1524924140178481154, '2022-07-01 15:40:57', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542775245986848770, '来源应用', '基础设施', '1538705458625228801', 'true', 'select', 'false', 'false', '', 14, 0, 1524924140178481154, '2022-07-01 15:40:57', 1524924140178481154, '2022-07-01 15:40:57', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542777726523400194, '试用地址', '组件服务一', '1539529687759314945', 'true', 'input', 'false', 'false', '', 8, 1, 1524924140178481154, '2022-07-01 15:50:48', 1524924140178481154, '2022-07-16 12:22:57', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542778864555515905, '能力类型', '基础设施', '1539536463208636417', 'true', 'AbilityType', 'false', 'false', '', 1, 0, 1524924140178481154, '2022-07-01 15:55:19', 1524924140178481154, '2022-07-01 15:55:19', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542779816926765057, '组件类型', '组件服务一', '1539536463208636417', 'true', 'ComponentType', 'false', 'false', '', 2, 0, 1524924140178481154, '2022-07-01 15:59:06', 1524924140178481154, '2022-07-01 15:59:06', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542780090865147905, '来源应用', '组件服务一', '1539536463208636417', 'true', 'AssociatedApplication', 'false', 'false', '', 14, 0, 1524924140178481154, '2022-07-01 16:00:12', 1524924140178481154, '2022-07-01 16:00:12', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542780090865147905, '来源应用', '组件服务一', '1539536463208636417', 'true', 'select', 'false', 'false', '', 14, 0, 1524924140178481154, '2022-07-01 16:00:12', 1524924140178481154, '2022-07-01 16:00:12', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1542785872524468225, '能力类型', '应用资源一', '1534472573403713538', 'true', 'AbilityType', 'false', 'false', '', 1, 0, 1524924140178481154, '2022-07-01 16:23:10', 1524924140178481154, '2022-07-01 16:23:10', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1543894205352337409, '关联组件信息', '应用资源一', '1534472573403713538', 'true', 'AssociatedComponents', 'false', 'false', '', 13, 0, 1524924140178481154, '2022-07-04 17:47:17', 1524924140178481154, '2022-07-04 17:47:17', NULL, NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `tb_data_category` VALUES (1544995280897658882, '1', '组件服务一', '1534472573403713538', 'true', 'input', 'false', 'false', '', 14, 1, 1513433709613187073, '2022-07-07 18:42:34', 1513433709613187073, '2022-07-07 18:42:51', NULL, NULL, NULL, NULL, NULL);
|
||||
|
@ -577,4 +578,3 @@ INSERT INTO `tb_data_category` VALUES (1548962613546627073, '部门联系人电
|
|||
INSERT INTO `tb_data_category` VALUES (1548980404643405825, '使用方式', '组件服务', '1531208527270404097', 'true', 'input', 'true', 'true', '1513714027213660162', 8, 1, 1524924140178481154, '2022-07-18 18:38:02', 1524924140178481154, '2022-07-18 18:43:36', NULL, NULL, NULL, NULL, NULL);
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
-- 用于摄像头加申购车和申请使用,所属部门字段根据各个地方自己修改dept_id字段即可
|
||||
REPLACE INTO `tb_data_resource`(`id`, `type`, `name`, `description`, `link`, `api_method_type`, `api_url`, `group_id`, `dept_id`, `dept_contacts`, `dept_phone`, `share_type`, `share_mode`, `share_condition`, `district_id`, `visits`, `del_flag`, `creator`, `create_date`, `updater`, `update_date`, `note1`, `note2`, `note3`, `note4`, `note5`, `enclosure`, `undercarriage_reason`, `undercarriage_user_name`, `info_list`, `total`, `visitor`, `apply_number`, `undercarriage_enclosure`) VALUES (8888888880000000001, '基础设施', '申请摄像头', NULL, '', NULL, NULL, NULL, 1067246875800000066, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 9, NULL, NULL, NULL, '2022-07-04 18:23:47', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[]', 13, 5, NULL, NULL);
|
|
@ -0,0 +1,5 @@
|
|||
-- 公共定时任务
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
REPLACE INTO `schedule_job` (`id`, `bean_name`, `params`, `cron_expression`, `status`, `remark`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1551845641938800641, 'clearLogTask', '7', '5 5 0 * * ? *', 1, '定期清理操作日志', 1067246875800000001, NOW(), 1067246875800000001, NOW());
|
||||
REPLACE INTO `schedule_job` (`id`, `bean_name`, `params`, `cron_expression`, `status`, `remark`, `creator`, `create_date`, `updater`, `update_date`) VALUES (1551856342346502145, 'heartRateTask', '', '0 * * * * ? *', 1, 'websocket客户端定时心跳', 1067246875800000001, NOW(), 1067246875800000001, NOW());
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
|
@ -0,0 +1 @@
|
|||
alter table `tb_data_resource` ADD COLUMN `undercarriage_enclosure` longtext NULL comment '下架附件';
|
|
@ -0,0 +1,25 @@
|
|||
DROP TABLE IF EXISTS `t_region`;
|
||||
CREATE TABLE `t_region` (
|
||||
`id` int(0) NOT NULL AUTO_INCREMENT,
|
||||
`region_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
|
||||
`region_code` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
|
||||
`channel_count` int(0) NULL DEFAULT 0,
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of t_region
|
||||
-- ----------------------------
|
||||
INSERT INTO `t_region` VALUES (1, '市南区', '370202', 4367);
|
||||
INSERT INTO `t_region` VALUES (2, '市北区', '370203', 7193);
|
||||
INSERT INTO `t_region` VALUES (3, '西海岸新区', '370211', 41402);
|
||||
INSERT INTO `t_region` VALUES (4, '崂山区', '370212', 19573);
|
||||
INSERT INTO `t_region` VALUES (5, '李沧区', '370213', 5702);
|
||||
INSERT INTO `t_region` VALUES (6, '城阳区', '370214', 14565);
|
||||
INSERT INTO `t_region` VALUES (7, '即墨区', '370215', 13794);
|
||||
INSERT INTO `t_region` VALUES (8, '高新区', '370271', 0);
|
||||
INSERT INTO `t_region` VALUES (9, '胶州市', '370281', 14874);
|
||||
INSERT INTO `t_region` VALUES (10, '平度市', '370283', 16383);
|
||||
INSERT INTO `t_region` VALUES (11, '莱西市', '370285', 10046);
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
|
@ -0,0 +1,10 @@
|
|||
ALTER TABLE `tb_fuse`
|
||||
MODIFY COLUMN `description` varchar(1000) DEFAULT NULL COMMENT '融合服务描述',
|
||||
DROP COLUMN `dept_user`,
|
||||
DROP COLUMN `mobile`,
|
||||
DROP COLUMN `provider`,
|
||||
DROP COLUMN `provider_user`,
|
||||
DROP COLUMN `provider_mobile`;
|
||||
|
||||
ALTER TABLE `tb_fuse_resource`
|
||||
ADD COLUMN `type` varchar(128) NULL COMMENT '资源类型';
|
|
@ -0,0 +1,35 @@
|
|||
DROP TABLE IF EXISTS `t_camera_channel_cache`;
|
||||
CREATE TABLE `t_camera_channel_cache` (
|
||||
`idt_camera_channel` bigint(0) NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`channel_code` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`channel_id` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`channel_name` varchar(999) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '摄像头id',
|
||||
`gps_x` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '经度',
|
||||
`gps_y` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '纬度',
|
||||
`status` int(0) NULL DEFAULT NULL COMMENT '1在线;0离线',
|
||||
`parent_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组织id',
|
||||
`region_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`region_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`node_name` varchar(999) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`check_status` int(0) NULL DEFAULT 0,
|
||||
PRIMARY KEY (`idt_camera_channel`, `channel_code`) USING BTREE,
|
||||
INDEX `gps_x`(`gps_x`) USING BTREE,
|
||||
INDEX `gps_y`(`gps_y`) USING BTREE,
|
||||
INDEX `channel_code`(`channel_code`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 134450 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '通道表' ROW_FORMAT = Dynamic;
|
||||
|
||||
DROP TABLE IF EXISTS `t_camera_organization_cache`;
|
||||
CREATE TABLE `t_camera_organization_cache` (
|
||||
`id` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
|
||||
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
|
||||
`parent_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
|
||||
`sort` int(0) NULL DEFAULT NULL,
|
||||
`subCount` int(0) NULL DEFAULT NULL,
|
||||
`count` int(0) NULL DEFAULT 0 COMMENT '这个是统计该区域下的摄像头数据同步的次数,没太大作用',
|
||||
`is_parent` int(0) NULL DEFAULT NULL COMMENT '是否有子节点',
|
||||
`path` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
|
||||
`is_root` int(0) NULL DEFAULT 0 COMMENT '是否是根节点',
|
||||
`orgaid` bigint(0) NOT NULL AUTO_INCREMENT COMMENT '作为主键',
|
||||
`channelCount` int(0) NULL DEFAULT 0,
|
||||
PRIMARY KEY (`orgaid`, `id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 8868 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
|
|
@ -4,4 +4,5 @@ tsingtao-xha.cloudcam=http://10.10.30.9:8001/hx-weather-warning/camera/getCamera
|
|||
tsingtao-xha.localcam=http://10.134.135.9:8001/hx-weather-warning/camera/getCameraListByName?name=%s&pageNo=%d&pageSize=%d
|
||||
tsingtao-xha.resourcecount=http://10.10.30.24:30090/api/share-portal/platform/catalogue/query?catalogueId=&departmentId=&serviceName=&type=&orderField=requestNum&orderType=desc&pageNum=1&pageSize=10&serviceType=data&rq=1655106309671.43
|
||||
tsingtao-xha.resourceapplyinfo=http://10.10.30.24:30058/share-portal/platform/index/abilityMarket/count
|
||||
tsingtao-xha.sjzy=http://10.10.30.24:30090/api/share-portal/platform/catalogue/query?catalogueId=&departmentId=&serviceName=%s&type=&orderField=%s&orderType=%s&pageNum=%s&pageSize=%s&serviceType=data&rq=1655106309671.43
|
||||
tsingtao-xha.sjzy=http://10.10.30.24:30090/api/share-portal/platform/catalogue/query?catalogueId=&departmentId=&serviceName=%s&type=&orderField=%s&orderType=%s&pageNum=%s&pageSize=%s&serviceType=data&rq=1655106309671.43
|
||||
tsingtao-xha.camCount=http://10.10.30.57:9537/data_service/getCamera/getCameraCount
|
||||
|
|
|
@ -56,6 +56,9 @@
|
|||
<if test="processDefinitionKey != null">
|
||||
and aht.PROC_DEF_ID_ LIKE #{processDefinitionKey}
|
||||
</if>
|
||||
<if test="ended != null">
|
||||
and ahp.END_TIME_ IS NOT NULL
|
||||
</if>
|
||||
ORDER BY
|
||||
ahp.START_TIME_ DESC
|
||||
</select>
|
||||
|
|
|
@ -38,6 +38,9 @@
|
|||
<if test="deptId != null and deptId != ''">
|
||||
and deptId = #{deptId}
|
||||
</if>
|
||||
<if test="type != null and type != ''">
|
||||
and type = #{type}
|
||||
</if>
|
||||
<if test="deptUser != null and deptUser != ''">
|
||||
and dept_user like concat('%', #{deptUser}, '%')
|
||||
</if>
|
||||
|
@ -69,17 +72,4 @@
|
|||
ORDER BY ${orderField} ${orderType}
|
||||
</select>
|
||||
|
||||
<select id="selectGroupByDeptId" resultType="java.util.Map">
|
||||
SELECT ( CASE sd.type WHEN 1 THEN '省级' WHEN 2 THEN '市级' WHEN 3 THEN '区级' WHEN 4 THEN '企业' ELSE '其他' END ) AS "type",
|
||||
sd.NAME AS "deptName",
|
||||
count(tdr.id) AS "deptCount",
|
||||
sd.id AS "deptId",
|
||||
sr.name AS "districtName",
|
||||
sr.id AS "districtId"
|
||||
FROM sys_dept sd
|
||||
inner join tb_fuse tdr on sd.id=tdr.dept_id
|
||||
left join sys_region sr on sr.id=sd.district
|
||||
group by sd.id
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -117,7 +117,7 @@
|
|||
</select>
|
||||
|
||||
<select id="selectChannelCounts" parameterType="java.lang.String" resultType="integer">
|
||||
SELECT COUNT(a.idt_camera_channel) FROM t_camera_channel a inner join t_camera_organization b on a.parent_id = b.id
|
||||
SELECT COUNT(a.idt_camera_channel) FROM t_camera_channel_cache a inner join t_camera_organization_cache b on a.parent_id = b.id
|
||||
WHERE b.path like concat(#{path},'%')
|
||||
</select>
|
||||
|
||||
|
@ -145,7 +145,9 @@
|
|||
AND tcc.node_name LIKE CONCAT(#{path},'%')
|
||||
</if>
|
||||
|
||||
AND tcc.check_status IN (${map.checkStatus})
|
||||
<if test = "map.checkStatus != null and map.checkStatus != ''">
|
||||
AND tcc.check_status IN (${map.checkStatus})
|
||||
</if>
|
||||
AND tcc.gps_x != ''
|
||||
AND tcc.gps_y != ''
|
||||
AND tcc.gps_x IS NOT NULL
|
||||
|
@ -193,9 +195,13 @@
|
|||
AND tcc.node_name LIKE CONCAT(#{path},'%')
|
||||
</if>
|
||||
|
||||
|
||||
AND tcc.check_status IN (${map.checkStatus})
|
||||
|
||||
<if test = "map.checkStatus != null and map.checkStatus != ''">
|
||||
AND tcc.check_status IN (${map.checkStatus})
|
||||
</if>
|
||||
AND tcc.gps_x != ''
|
||||
AND tcc.gps_y != ''
|
||||
AND tcc.gps_x IS NOT NULL
|
||||
AND tcc.gps_y IS NOT NULL
|
||||
<if test = "map.cameraName != null and map.cameraName != ''">
|
||||
AND tcc.channel_name LIKE CONCAT('%',#{map.cameraName},'%')
|
||||
</if>
|
||||
|
@ -215,7 +221,11 @@
|
|||
|
||||
|
||||
<select id="selectChannelNumByRegion" resultType="java.util.Map">
|
||||
SELECT ROUND(COUNT(idt_camera_channel) /10000,1) AS channelCount,region_code,region_name FROM t_camera_channel WHERE region_name is not null GROUP BY region_code,region_name
|
||||
SELECT ROUND(COUNT(a.idt_camera_channel) /10000,1) AS channelCount,b.region_code,b.region_name
|
||||
FROM t_camera_channel a INNER JOIN t_region b
|
||||
ON a.region_code = b.region_code
|
||||
WHERE a.region_name is not null or a.region_name != ''
|
||||
GROUP BY b.region_code,b.region_name
|
||||
</select>
|
||||
|
||||
<insert id="batchSaveMtmLabel" parameterType="java.util.List">
|
||||
|
@ -227,4 +237,53 @@
|
|||
(#{item.channel_code},#{item.label_code})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<select id="selectCameraChannelById" parameterType="java.lang.String" resultType="java.util.Map">
|
||||
SELECT channel_id AS channelId,channel_name AS channelName FROM t_camera_channel
|
||||
WHERE channel_id = #{channelId} LIMIT 1
|
||||
</select>
|
||||
|
||||
<select id="selectCameraChannelByPid" parameterType="java.lang.String" resultType="java.util.Map">
|
||||
SELECT channel_code AS channelCode,channel_id AS channelId,channel_name AS channelName,gps_x AS gpsX,
|
||||
gps_y AS gpsY,status,parent_id AS parentId,region_code AS regionCode,region_name AS regionName,
|
||||
node_name AS nodeName
|
||||
FROM t_camera_channel
|
||||
WHERE parent_id = #{parentId}
|
||||
</select>
|
||||
|
||||
<insert id="batchSaveCameraChannel" parameterType="java.util.List">
|
||||
INSERT INTO t_camera_channel_cache
|
||||
(
|
||||
channel_code,channel_id,channel_name,gps_x,gps_y,status,
|
||||
parent_id,region_code,region_name,node_name
|
||||
)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator="," >
|
||||
(
|
||||
#{item.channelCode},#{item.channelId},#{item.channelName},#{item.gpsX},#{item.gpsY},#{item.status},
|
||||
#{item.parentId},#{item.regionCode},#{item.regionName},#{item.nodeName}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<insert id="insertChannelCacheToCameraChannel">
|
||||
INSERT INTO t_camera_channel
|
||||
(
|
||||
channel_code,channel_id,channel_name,gps_x,gps_y,status,
|
||||
parent_id,region_code,region_name,node_name,check_status
|
||||
)
|
||||
SELECT channel_code,channel_id,channel_name,gps_x,gps_y,status,
|
||||
parent_id,region_code,region_name,node_name,check_status
|
||||
FROM t_camera_channel_cache
|
||||
</insert>
|
||||
|
||||
<insert id="batchSaveLabel" parameterType="java.util.List">
|
||||
INSERT INTO t_label (
|
||||
label_code,label_name,capture_patternn,city
|
||||
)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.label_code},#{item.label_name},#{item.capture_patternn},#{item.city})
|
||||
</foreach>
|
||||
</insert>
|
||||
</mapper>
|
|
@ -3,7 +3,7 @@
|
|||
<mapper namespace="io.renren.modules.monitor.mapper.CameraOrgenizationMapper">
|
||||
<insert id="batchSaveOrgenization" parameterType="java.util.List">
|
||||
|
||||
INSERT INTO t_camera_organization (
|
||||
INSERT INTO t_camera_organization_cache (
|
||||
id,name,parent_id,sort,subCount,path,is_parent,is_root
|
||||
) VALUES
|
||||
<foreach collection="list" item="item" separator="," >
|
||||
|
@ -15,7 +15,7 @@
|
|||
|
||||
|
||||
<insert id="batchSaveCameraChannel" parameterType="java.util.List">
|
||||
INSERT INTO t_camera_channel
|
||||
INSERT INTO t_camera_channel_cache
|
||||
(
|
||||
channel_code,channel_id,channel_name,gps_x,gps_y,status,
|
||||
parent_id,region_code,region_name,node_name
|
||||
|
@ -29,4 +29,40 @@
|
|||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<update id="updateRegionChannelCount">
|
||||
UPDATE t_region a
|
||||
INNER JOIN
|
||||
(
|
||||
SELECT COUNT(idt_camera_channel) AS channel_count,region_code FROM t_camera_channel GROUP BY region_code
|
||||
) b
|
||||
ON a.region_code = b.region_code
|
||||
SET a.channel_count = b.channel_count
|
||||
</update>
|
||||
|
||||
<!-- <select id="listOrgenization2" resultType="java.util.Map">-->
|
||||
<!-- SELECT id FROM t_camera_organization-->
|
||||
<!-- WHERE orgaid >-->
|
||||
<!-- (SELECT a.orgaid FROM t_camera_organization a INNER JOIN-->
|
||||
<!-- (-->
|
||||
<!-- SELECT parent_id FROM t_camera_channel ORDER BY idt_camera_channel desc LIMIT 1-->
|
||||
<!-- ) b-->
|
||||
<!-- ON a.id = b.parent_id-->
|
||||
<!-- ) ORDER BY orgaid ASC-->
|
||||
<!-- </select>-->
|
||||
<select id="selectAll" resultType="java.util.Map">
|
||||
select * from t_camera_organization_cache
|
||||
</select>
|
||||
|
||||
<update id="updateOrganizationPath" parameterType="java.lang.String">
|
||||
UPDATE t_camera_organization_cache SET path = TRIM( TRAILING '->' FROM #{path}) where id = #{id}
|
||||
</update>
|
||||
|
||||
<insert id="insertOrganizationCacheToCameraOrganization">
|
||||
INSERT INTO t_camera_organization
|
||||
(
|
||||
id,name,parent_id,sort,subCount,is_parent,path,is_root,channelCount,count
|
||||
)
|
||||
SELECT id,name,parent_id,sort,subCount,is_parent,path,is_root,channelCount,count FROM t_camera_organization_cache
|
||||
</insert>
|
||||
</mapper>
|
|
@ -33,6 +33,7 @@
|
|||
<result property="enclosure" column="enclosure"/>
|
||||
<result property="undercarriageReason" column="undercarriage_reason"/>
|
||||
<result property="undercarriageUserName" column="undercarriage_user_name"/>
|
||||
<result property="undercarriageEnclosure" column="undercarriage_enclosure"/>
|
||||
<result property="infoList" column="info_list"
|
||||
typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
|
||||
<result property="applyNumber" column="apply_number"/>
|
||||
|
@ -68,6 +69,7 @@
|
|||
<result property="enclosure" column="enclosure"/>
|
||||
<result property="undercarriageReason" column="undercarriage_reason"/>
|
||||
<result property="undercarriageUserName" column="undercarriage_user_name"/>
|
||||
<result property="undercarriageEnclosure" column="undercarriage_enclosure"/>
|
||||
<!-- 自定义字段 -->
|
||||
<result property="deptName" column="deptName"/>
|
||||
<result property="isCollect" column="isCollect"/>
|
||||
|
@ -104,12 +106,16 @@
|
|||
IFNULL(sd.name, '暂无部门单位信息') AS "deptName",
|
||||
IFNULL(trc2.isCollect, 'false') AS "isCollect",
|
||||
(IFNULL(tdr.visits / 100, 0) + IFNULL(trs.score, 0) + IFNULL(taa.applyCount, 0)+ IFNULL(trc.collectCount, 0)) AS
|
||||
total
|
||||
total,
|
||||
IF ( IFNULL( trcar.car, 0 ) > 0, TRUE, FALSE ) AS "isInShoppingCart"
|
||||
FROM
|
||||
tb_data_resource tdr
|
||||
LEFT JOIN tb_data_attr tda ON tdr.id = tda.data_resource_id
|
||||
LEFT JOIN ( SELECT resource_id, AVG(score) AS "score" FROM tb_resource_score WHERE 1 = 1 AND del_flag = 0 GROUP
|
||||
BY resource_id ) trs ON tdr.id = trs.resource_id
|
||||
LEFT JOIN ( SELECT resource_id, COUNT( id ) AS "car" FROM tb_resource_car WHERE 1 = 1 AND del_flag = 0 AND
|
||||
user_id = #{dto.creator} GROUP BY resource_id ) trcar
|
||||
ON tdr.id = trcar.resource_id
|
||||
LEFT JOIN ( SELECT resource_id, COUNT(id) AS "applyCount" FROM t_ability_application WHERE 1 = 1 AND del_flag =
|
||||
0 GROUP BY resource_id ) taa ON tdr.id = taa.resource_id
|
||||
LEFT JOIN ( SELECT resource_id, COUNT(id) AS "collectCount" FROM tb_resource_collection WHERE 1 = 1 AND del_flag
|
||||
|
@ -149,7 +155,7 @@
|
|||
</if>
|
||||
|
||||
<!-- 按申请量和收藏量查询时排除知识库数据-->
|
||||
<if test="orderField != null and orderField != '' and (orderField = 'applyCount' or orderField = 'collectCount')">
|
||||
<if test="orderField != null and orderField != '' and (orderField == 'applyCount' or orderField == 'collectCount')">
|
||||
AND tdr.type != '知识库'
|
||||
</if>
|
||||
|
||||
|
@ -289,7 +295,9 @@
|
|||
IFNULL( trc.collectCount, 0 ) AS "collectCount",
|
||||
sd.NAME AS "deptName",
|
||||
IFNULL( trc2.isCollect, 'false' ) AS "isCollect",
|
||||
IF( IFNULL(taa2.approve_status, 0) < 1, '未申请', '已申请' ) AS "applyState"
|
||||
IF( IFNULL(taa2.approve_status, 0) < 1, '未申请', '已申请' ) AS "applyState",
|
||||
IF ( IFNULL( trcar.car, 0 ) > 0, TRUE, FALSE ) AS "isInShoppingCart",
|
||||
IF( IFNULL(taa3.approve_status, 0) < 1, '未通过', '通过' ) AS "approveStatus"
|
||||
FROM
|
||||
tb_data_resource tdr
|
||||
LEFT JOIN ( SELECT resource_id, AVG( score ) AS "score" FROM tb_resource_score WHERE 1 = 1 AND del_flag = 0
|
||||
|
@ -298,6 +306,9 @@
|
|||
= 0 GROUP BY resource_id ) taa ON tdr.id = taa.resource_id
|
||||
LEFT JOIN ( SELECT resource_id, COUNT( id ) AS "collectCount" FROM tb_resource_collection WHERE 1 = 1 AND
|
||||
del_flag = 0 GROUP BY resource_id ) trc ON tdr.id = trc.resource_id
|
||||
LEFT JOIN ( SELECT resource_id, COUNT( id ) AS "car" FROM tb_resource_car WHERE 1 = 1 AND del_flag = 0 AND
|
||||
user_id = #{userId} GROUP BY resource_id ) trcar
|
||||
ON tdr.id = trcar.resource_id
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
resource_id,
|
||||
|
@ -314,6 +325,9 @@
|
|||
) trc2 ON tdr.id = trc2.resource_id
|
||||
LEFT JOIN ( SELECT resource_id, COUNT( approve_status ) approve_status FROM t_ability_application WHERE 1 = 1
|
||||
AND del_flag = 0 AND user_id = #{userId} GROUP BY resource_id ) taa2 ON tdr.id = taa2.resource_id
|
||||
LEFT JOIN ( SELECT resource_id, COUNT( approve_status ) approve_status FROM t_ability_application WHERE 1 = 1
|
||||
AND del_flag = 0 AND user_id = #{userId} AND approve_status = '通过' GROUP BY resource_id ) taa3 ON tdr.id =
|
||||
taa3.resource_id
|
||||
LEFT JOIN sys_dept sd ON tdr.dept_id = sd.id
|
||||
WHERE
|
||||
1 = 1
|
||||
|
@ -358,11 +372,15 @@
|
|||
IFNULL(trc.collectCount, 0) AS "collectCount",
|
||||
sd.name AS "deptName",
|
||||
IFNULL(trc2.isCollect, 'false') AS "isCollect",
|
||||
IFNULL(taa2.approve_status, '未申请') AS "applyState"
|
||||
IFNULL(taa2.approve_status, '未申请') AS "applyState",
|
||||
IF ( IFNULL( trcar.car, 0 ) > 0, TRUE, FALSE ) AS "isInShoppingCart"
|
||||
FROM
|
||||
tb_data_resource tdr
|
||||
LEFT JOIN ( SELECT resource_id, AVG(score) AS "score" FROM tb_resource_score WHERE 1 = 1 AND del_flag = 0 GROUP
|
||||
BY resource_id ) trs ON tdr.id = trs.resource_id
|
||||
LEFT JOIN ( SELECT resource_id, COUNT( id ) AS "car" FROM tb_resource_car WHERE 1 = 1 AND del_flag = 0 AND
|
||||
user_id = #{dto.creator} GROUP BY resource_id ) trcar
|
||||
ON tdr.id = trcar.resource_id
|
||||
LEFT JOIN ( SELECT resource_id, COUNT(id) AS "applyCount" FROM t_ability_application WHERE 1 = 1 AND del_flag =
|
||||
0 GROUP BY resource_id ) taa ON tdr.id = taa.resource_id
|
||||
LEFT JOIN ( SELECT resource_id, COUNT(id) AS "collectCount" FROM tb_resource_collection WHERE 1 = 1 AND del_flag
|
||||
|
@ -464,7 +482,6 @@
|
|||
AND tdr.del_flag = 0
|
||||
<if test="dto.name != null and dto.name != ''">
|
||||
AND MATCH (tdr.name) AGAINST ( #{dto.name} IN BOOLEAN MODE)
|
||||
<!--AND tdr.name LIKE CONCAT('%',#{dto.name},'%') -->
|
||||
</if>
|
||||
<if test="dto.type != null and dto.type != ''">
|
||||
AND tdr.type = #{dto.type}
|
||||
|
@ -534,11 +551,9 @@
|
|||
|
||||
<select id="countAllDept" resultType="java.lang.Long">
|
||||
SELECT
|
||||
COUNT( DISTINCT dept_id )
|
||||
COUNT(id)
|
||||
FROM
|
||||
tb_data_resource
|
||||
WHERE
|
||||
del_flag = 0
|
||||
sys_dept
|
||||
</select>
|
||||
|
||||
<select id="selectGroupByDeptId" resultType="java.util.Map">
|
||||
|
@ -789,6 +804,7 @@
|
|||
WHERE 1 = 1
|
||||
AND del_flag = 0
|
||||
AND dept_id = #{deptId}
|
||||
LIMIT 30
|
||||
</select>
|
||||
|
||||
<select id="selectDeptCountList" resultType="java.util.Map">
|
||||
|
@ -855,6 +871,7 @@
|
|||
AND su.id = taa.user_id
|
||||
AND taa.resource_id = tdr.id
|
||||
AND su.dept_id = #{deptId}
|
||||
LIMIT 30
|
||||
</select>
|
||||
|
||||
<select id="selectApplyDeptCountList" resultType="java.util.Map">
|
||||
|
@ -1302,9 +1319,9 @@
|
|||
a.del_flag = 0
|
||||
AND
|
||||
d.del_flag = 0
|
||||
group by
|
||||
GROUP BY
|
||||
c.name,c.id
|
||||
order by
|
||||
ORDER BY
|
||||
c.name,c.id
|
||||
LIMIT ${pageNum}, ${pageSize}
|
||||
</select>
|
||||
|
@ -1371,7 +1388,7 @@
|
|||
#{deptId}
|
||||
</foreach>
|
||||
</if>
|
||||
group by tdr.id order by count desc
|
||||
GROUP BY tdr.id ORDER BY count desc
|
||||
</select>
|
||||
|
||||
<select id="selectUsersApplyAndCount" resultMap="resourceDTO">
|
||||
|
@ -1380,13 +1397,13 @@
|
|||
WHERE
|
||||
1 = 1
|
||||
AND tdr.del_flag = 0
|
||||
<if test="null != userIds">
|
||||
<if test="null != userIds and userIds.size > 0">
|
||||
and taa.user_id in
|
||||
<foreach item="userId" collection="userIds" open="(" separator="," close=")">
|
||||
#{userId}
|
||||
</foreach>
|
||||
</if>
|
||||
group by tdr.id order by applyCount desc
|
||||
GROUP BY tdr.id ORDER BY applyCount desc
|
||||
</select>
|
||||
|
||||
<select id="trafficDeptResource" resultType="java.util.Map">
|
||||
|
@ -1436,7 +1453,8 @@
|
|||
</select>
|
||||
|
||||
<select id="selectDevelopDocResource" resultType="java.util.Map">
|
||||
SELECT tdr.id, tdr.name as title, tdr.type, tda.attr_value as doc FROM tb_data_resource tdr right join tb_data_attr tda on tdr.id=tda.data_resource_id
|
||||
SELECT tdr.id, tdr.name as title, tdr.type, tda.attr_value as doc FROM tb_data_resource tdr right join
|
||||
tb_data_attr tda on tdr.id=tda.data_resource_id
|
||||
where tdr.del_flag != 1 and tda.attr_type='技术文档'
|
||||
</select>
|
||||
|
||||
|
|
Loading…
Reference in New Issue