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;
|
package io.renren.common.annotation;
|
||||||
|
|
||||||
|
|
||||||
import java.lang.annotation.*;
|
import java.lang.annotation.*;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程流转消息通知
|
* 流程流转消息通知
|
||||||
*/
|
*/
|
||||||
|
@ -14,20 +12,16 @@ public @interface ActivitiNoticeOperation {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 节点名称
|
* 节点名称
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
*/
|
||||||
String value() default "";
|
String value() default "";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程名称
|
* 流程名称
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
*/
|
||||||
String process() default "";
|
String process() default "";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return activiti 监听器类型 1:TaskListener 任务监听器; 2:ExecutionListener 执行监听器;
|
* activiti 监听器类型 1:TaskListener 任务监听器; 2:ExecutionListener 执行监听器;
|
||||||
*/
|
*/
|
||||||
int type() default 1;
|
int type() default 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package io.renren.common.aspect;
|
package io.renren.common.aspect;
|
||||||
|
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import io.renren.common.annotation.ActivitiNoticeOperation;
|
import io.renren.common.annotation.ActivitiNoticeOperation;
|
||||||
import io.renren.modules.notice.dto.SysNoticeDTO;
|
import io.renren.modules.notice.dto.SysNoticeDTO;
|
||||||
|
@ -44,9 +43,9 @@ import java.util.concurrent.Executors;
|
||||||
@Component
|
@Component
|
||||||
public class ActivitiNoticeAspect {
|
public class ActivitiNoticeAspect {
|
||||||
|
|
||||||
private static final Integer cpuNUm = Runtime.getRuntime().availableProcessors();
|
private static final Integer CPU_NUM = Runtime.getRuntime().availableProcessors();
|
||||||
private static final ExecutorService executor = Executors.newFixedThreadPool(cpuNUm * 3);
|
private static final ExecutorService EXECUTOR = Executors.newFixedThreadPool(CPU_NUM * 3);
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ActivitiNoticeAspect.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(ActivitiNoticeAspect.class);
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private SysNoticeService sysNoticeService;
|
private SysNoticeService sysNoticeService;
|
||||||
|
@ -59,7 +58,7 @@ public class ActivitiNoticeAspect {
|
||||||
@Autowired
|
@Autowired
|
||||||
private SysRoleService sysRoleService;
|
private SysRoleService sysRoleService;
|
||||||
|
|
||||||
private Set<String> work_ = new CopyOnWriteArraySet<>();
|
private Set<String> work = new CopyOnWriteArraySet<>();
|
||||||
|
|
||||||
@Value("${big_date.name}")
|
@Value("${big_date.name}")
|
||||||
private String bigDateDeptName; // 大数据局名称
|
private String bigDateDeptName; // 大数据局名称
|
||||||
|
@ -67,28 +66,28 @@ public class ActivitiNoticeAspect {
|
||||||
private String roleName; // 具备审批的角色名称
|
private String roleName; // 具备审批的角色名称
|
||||||
|
|
||||||
public ActivitiNoticeAspect() {
|
public ActivitiNoticeAspect() {
|
||||||
logger.error("构造:ActivitiNoticeAspect");
|
LOGGER.error("构造:ActivitiNoticeAspect");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Pointcut("@annotation(io.renren.common.annotation.ActivitiNoticeOperation)")
|
@Pointcut("@annotation(io.renren.common.annotation.ActivitiNoticeOperation)")
|
||||||
public void activitiNoticePointCut() {
|
public void activitiNoticePointCut() {
|
||||||
logger.error("切面:ActivitiNoticeAspect");
|
LOGGER.error("切面:ActivitiNoticeAspect");
|
||||||
}
|
}
|
||||||
|
|
||||||
@After(value = "activitiNoticePointCut()")
|
@After(value = "activitiNoticePointCut()")
|
||||||
public void notice(JoinPoint joinPoint) throws NoSuchMethodException {
|
public void notice(JoinPoint joinPoint) throws NoSuchMethodException {
|
||||||
logger.error("-------------------------------进入流程流转消息切面---------------------------------");
|
LOGGER.error("-------------------------------进入流程流转消息切面---------------------------------");
|
||||||
long beginTime = System.currentTimeMillis();
|
long beginTime = System.currentTimeMillis();
|
||||||
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
||||||
Method method = joinPoint.getTarget().getClass().getDeclaredMethod(signature.getName(), signature.getParameterTypes());
|
Method method = joinPoint.getTarget().getClass().getDeclaredMethod(signature.getName(), signature.getParameterTypes());
|
||||||
final ActivitiNoticeOperation activitiNoticeOperation = method.getAnnotation(ActivitiNoticeOperation.class);
|
final ActivitiNoticeOperation activitiNoticeOperation = method.getAnnotation(ActivitiNoticeOperation.class);
|
||||||
logger.error("切面类型:" + activitiNoticeOperation.type());
|
LOGGER.error("切面类型:{}", activitiNoticeOperation.type());
|
||||||
switch (activitiNoticeOperation.type()) {
|
switch (activitiNoticeOperation.type()) {
|
||||||
case 1: {
|
case 1: {
|
||||||
Arrays.asList(joinPoint.getArgs()).stream().findFirst().ifPresent(arg -> {
|
Arrays.stream(joinPoint.getArgs()).findFirst().ifPresent(arg -> {
|
||||||
final DelegateTask delegateTask = (DelegateTask) arg;
|
final DelegateTask delegateTask = (DelegateTask) arg;
|
||||||
final String eventName = delegateTask.getEventName();
|
final String eventName = delegateTask.getEventName();
|
||||||
logger.error("任务监听器事件:" + eventName);
|
LOGGER.error("任务监听器事件:{}", eventName);
|
||||||
switch (eventName) {
|
switch (eventName) {
|
||||||
case TaskListener.EVENTNAME_ASSIGNMENT: // 节点被委派给某人
|
case TaskListener.EVENTNAME_ASSIGNMENT: // 节点被委派给某人
|
||||||
assignment_notice(delegateTask, activitiNoticeOperation);
|
assignment_notice(delegateTask, activitiNoticeOperation);
|
||||||
|
@ -105,20 +104,19 @@ public class ActivitiNoticeAspect {
|
||||||
Arrays.asList(joinPoint.getArgs()).stream().findFirst().ifPresent(arg -> {
|
Arrays.asList(joinPoint.getArgs()).stream().findFirst().ifPresent(arg -> {
|
||||||
final DelegateExecution execution = (DelegateExecution) arg;
|
final DelegateExecution execution = (DelegateExecution) arg;
|
||||||
final String eventName = execution.getEventName();
|
final String eventName = execution.getEventName();
|
||||||
logger.error("执行监听器事件:" + eventName);
|
LOGGER.error("执行监听器事件:{}", eventName);
|
||||||
switch (eventName) {
|
if (ExecutionListener.EVENTNAME_END.equals(eventName)) { // 流程完成
|
||||||
case ExecutionListener.EVENTNAME_END: // 流程完成
|
|
||||||
end_notice(execution, activitiNoticeOperation);
|
end_notice(execution, activitiNoticeOperation);
|
||||||
break;
|
|
||||||
default:
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} // 执行监听器
|
} // 执行监听器
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
//执行时长(毫秒)
|
//执行时长(毫秒)
|
||||||
long time = System.currentTimeMillis() - beginTime;
|
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) {
|
private void task_complete_notice(final DelegateTask delegateTask, final ActivitiNoticeOperation activitiNoticeOperation) {
|
||||||
Map<String, Object> kv = delegateTask.getVariables();
|
Map<String, Object> kv = delegateTask.getVariables();
|
||||||
logger.error("表单:" + JSON.toJSONString(kv));
|
LOGGER.error("表单:" + JSON.toJSONString(kv));
|
||||||
if (work_.contains(TaskListener.EVENTNAME_COMPLETE + kv.get("id").toString())) {
|
if (work.contains(TaskListener.EVENTNAME_COMPLETE + kv.get("id").toString())) {
|
||||||
logger.error("------------出现重放------------");
|
LOGGER.error("------------出现重放------------");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
work_.add(TaskListener.EVENTNAME_COMPLETE + kv.get("id").toString());
|
work.add(TaskListener.EVENTNAME_COMPLETE + kv.get("id").toString());
|
||||||
String creator = null;
|
String creator = null;
|
||||||
if (kv.containsKey("creator")) { // 表单存在创建者
|
if (kv.containsKey("creator")) { // 表单存在创建者
|
||||||
creator = kv.get("creator").toString();
|
creator = kv.get("creator").toString();
|
||||||
|
@ -168,7 +166,7 @@ public class ActivitiNoticeAspect {
|
||||||
Optional<ResourceDTO> resourceDTO = Optional.ofNullable(resourceService.get(resourceId));
|
Optional<ResourceDTO> resourceDTO = Optional.ofNullable(resourceService.get(resourceId));
|
||||||
kv.get("resourceId");
|
kv.get("resourceId");
|
||||||
kv.get("id");
|
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();
|
SysNoticeDTO dto = new SysNoticeDTO();
|
||||||
dto.setType(2);
|
dto.setType(2);
|
||||||
dto.setTitle("流程节点系统通知");
|
dto.setTitle("流程节点系统通知");
|
||||||
|
@ -182,9 +180,9 @@ public class ActivitiNoticeAspect {
|
||||||
dto.setCreateDate(new Date());
|
dto.setCreateDate(new Date());
|
||||||
dto.setFrom("通知");
|
dto.setFrom("通知");
|
||||||
sysNoticeService.save(dto);
|
sysNoticeService.save(dto);
|
||||||
}, executor);
|
}, EXECUTOR);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("发送通知消息异常", e);
|
LOGGER.error("发送通知消息异常", e);
|
||||||
} finally {
|
} finally {
|
||||||
// 防止重放
|
// 防止重放
|
||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
|
@ -193,7 +191,7 @@ public class ActivitiNoticeAspect {
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
} finally {
|
} finally {
|
||||||
work_.remove(TaskListener.EVENTNAME_COMPLETE + kv.get("id").toString());
|
work.remove(TaskListener.EVENTNAME_COMPLETE + kv.get("id").toString());
|
||||||
}
|
}
|
||||||
}).start();
|
}).start();
|
||||||
}
|
}
|
||||||
|
@ -207,12 +205,12 @@ public class ActivitiNoticeAspect {
|
||||||
*/
|
*/
|
||||||
private void end_notice(final DelegateExecution execution, final ActivitiNoticeOperation activitiNoticeOperation) {
|
private void end_notice(final DelegateExecution execution, final ActivitiNoticeOperation activitiNoticeOperation) {
|
||||||
Map<String, Object> kv = execution.getVariables();
|
Map<String, Object> kv = execution.getVariables();
|
||||||
logger.error("表单:" + JSON.toJSONString(kv));
|
LOGGER.error("表单:" + JSON.toJSONString(kv));
|
||||||
if (work_.contains(ExecutionListener.EVENTNAME_END + kv.get("id").toString())) {
|
if (work.contains(ExecutionListener.EVENTNAME_END + kv.get("id").toString())) {
|
||||||
logger.error("------------出现重放------------");
|
LOGGER.error("------------出现重放------------");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
work_.add(ExecutionListener.EVENTNAME_END + kv.get("id").toString());
|
work.add(ExecutionListener.EVENTNAME_END + kv.get("id").toString());
|
||||||
String creator = null;
|
String creator = null;
|
||||||
if (kv.containsKey("creator")) { // 表单存在创建者
|
if (kv.containsKey("creator")) { // 表单存在创建者
|
||||||
creator = kv.get("creator").toString();
|
creator = kv.get("creator").toString();
|
||||||
|
@ -238,7 +236,7 @@ public class ActivitiNoticeAspect {
|
||||||
Long resourceId = null;
|
Long resourceId = null;
|
||||||
if (kv.containsKey("resourceId") && kv.get("resourceId") != null) {
|
if (kv.containsKey("resourceId") && kv.get("resourceId") != null) {
|
||||||
resourceId = Long.valueOf(kv.get("resourceId").toString());
|
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());
|
resourceId = Long.valueOf(kv.get("id").toString());
|
||||||
} else {
|
} else {
|
||||||
resourceId = 0L;
|
resourceId = 0L;
|
||||||
|
@ -248,7 +246,7 @@ public class ActivitiNoticeAspect {
|
||||||
SysUserDTO userDTO = sysUserService.get(Long.valueOf(finalCreator));
|
SysUserDTO userDTO = sysUserService.get(Long.valueOf(finalCreator));
|
||||||
kv.get("resourceId");
|
kv.get("resourceId");
|
||||||
kv.get("id");
|
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();
|
SysNoticeDTO dto = new SysNoticeDTO();
|
||||||
dto.setType(2);
|
dto.setType(2);
|
||||||
dto.setTitle("流程结束系统通知");
|
dto.setTitle("流程结束系统通知");
|
||||||
|
@ -262,19 +260,19 @@ public class ActivitiNoticeAspect {
|
||||||
dto.setCreateDate(new Date());
|
dto.setCreateDate(new Date());
|
||||||
dto.setFrom("通知");
|
dto.setFrom("通知");
|
||||||
sysNoticeService.save(dto);
|
sysNoticeService.save(dto);
|
||||||
}, executor).thenRunAsync(() -> {
|
}, EXECUTOR).thenRunAsync(() -> {
|
||||||
logger.error("大数据局名称:" + bigDateDeptName);
|
LOGGER.error("大数据局名称:" + bigDateDeptName);
|
||||||
SysDeptDTO deptDTO = sysDeptService.getByName(bigDateDeptName);
|
SysDeptDTO deptDTO = sysDeptService.getByName(bigDateDeptName);
|
||||||
logger.error("deptDTOId:" + deptDTO.getId());
|
LOGGER.error("deptDTOId:" + deptDTO.getId());
|
||||||
SysRoleDTO roleDTO = sysRoleService.getByName(roleName);
|
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()));
|
Optional<SysUserDTO> userDTO = Optional.ofNullable(sysUserService.getByDeptIdAndRoleId(deptDTO.getId(), roleDTO.getId()));
|
||||||
userDTO.ifPresent(user -> {
|
userDTO.ifPresent(user -> {
|
||||||
SysUserDTO creatorDTO = sysUserService.get(Long.valueOf(finalCreator));
|
SysUserDTO creatorDTO = sysUserService.get(Long.valueOf(finalCreator));
|
||||||
SysNoticeDTO dto = new SysNoticeDTO();
|
SysNoticeDTO dto = new SysNoticeDTO();
|
||||||
dto.setType(2);
|
dto.setType(2);
|
||||||
dto.setTitle("流程结束系统通知");
|
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.setContent(content); // 通知内容
|
||||||
dto.setReceiverType(1);
|
dto.setReceiverType(1);
|
||||||
dto.setReceiverTypeIds(userDTO.get().getId().toString());
|
dto.setReceiverTypeIds(userDTO.get().getId().toString());
|
||||||
|
@ -286,9 +284,9 @@ public class ActivitiNoticeAspect {
|
||||||
dto.setFrom("通知");
|
dto.setFrom("通知");
|
||||||
sysNoticeService.save(dto);
|
sysNoticeService.save(dto);
|
||||||
});
|
});
|
||||||
}, executor);
|
}, EXECUTOR);
|
||||||
} catch (Exception exception) {
|
} catch (Exception exception) {
|
||||||
logger.error("发送通知消息异常", exception);
|
LOGGER.error("发送通知消息异常", exception);
|
||||||
} finally {
|
} finally {
|
||||||
// 防止重放
|
// 防止重放
|
||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
|
@ -297,7 +295,7 @@ public class ActivitiNoticeAspect {
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
} finally {
|
} finally {
|
||||||
work_.remove(ExecutionListener.EVENTNAME_END + kv.get("id").toString());
|
work.remove(ExecutionListener.EVENTNAME_END + kv.get("id").toString());
|
||||||
}
|
}
|
||||||
}).start();
|
}).start();
|
||||||
}
|
}
|
||||||
|
@ -312,12 +310,12 @@ public class ActivitiNoticeAspect {
|
||||||
*/
|
*/
|
||||||
private void assignment_notice(final DelegateTask delegateTask, final ActivitiNoticeOperation activitiNoticeOperation) {
|
private void assignment_notice(final DelegateTask delegateTask, final ActivitiNoticeOperation activitiNoticeOperation) {
|
||||||
Map<String, Object> kv = delegateTask.getVariables();
|
Map<String, Object> kv = delegateTask.getVariables();
|
||||||
logger.error("表单:" + JSON.toJSONString(kv));
|
LOGGER.error("表单:" + JSON.toJSONString(kv));
|
||||||
if (work_.contains(TaskListener.EVENTNAME_ASSIGNMENT + kv.get("id").toString())) {
|
if (work.contains(TaskListener.EVENTNAME_ASSIGNMENT + kv.get("id").toString())) {
|
||||||
logger.error("------------出现重放------------");
|
LOGGER.error("------------出现重放------------");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
work_.add(TaskListener.EVENTNAME_ASSIGNMENT + kv.get("id").toString());
|
work.add(TaskListener.EVENTNAME_ASSIGNMENT + kv.get("id").toString());
|
||||||
String creator = null;
|
String creator = null;
|
||||||
if (kv.containsKey("creator")) { // 表单存在创建者
|
if (kv.containsKey("creator")) { // 表单存在创建者
|
||||||
creator = kv.get("creator").toString();
|
creator = kv.get("creator").toString();
|
||||||
|
@ -332,9 +330,9 @@ public class ActivitiNoticeAspect {
|
||||||
CompletableFuture.runAsync(() -> { // 发起人
|
CompletableFuture.runAsync(() -> { // 发起人
|
||||||
try {
|
try {
|
||||||
SysUserDTO assignee = sysUserService.get(Long.valueOf(delegateTask.getAssignee()));
|
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() + "\"";
|
String content = "【通知】您发起的流程 " + activitiNoticeOperation.process() + " 当前审核节点为:" + activitiNoticeOperation.value() + ";当前审核人为:\"" + assignee.getDeptName() + "\"审核负责人\"" + assignee.getRealName() + "\"";
|
||||||
logger.info("通知内容:" + content);
|
LOGGER.info("通知内容:" + content);
|
||||||
SysNoticeDTO dto = new SysNoticeDTO();
|
SysNoticeDTO dto = new SysNoticeDTO();
|
||||||
dto.setType(2);
|
dto.setType(2);
|
||||||
dto.setTitle("流程流转系统通知");
|
dto.setTitle("流程流转系统通知");
|
||||||
|
@ -349,9 +347,9 @@ public class ActivitiNoticeAspect {
|
||||||
dto.setFrom("通知");
|
dto.setFrom("通知");
|
||||||
sysNoticeService.save(dto);
|
sysNoticeService.save(dto);
|
||||||
} catch (Exception exception) {
|
} catch (Exception exception) {
|
||||||
logger.error("通知发起人失败", exception);
|
LOGGER.error("通知发起人失败", exception);
|
||||||
}
|
}
|
||||||
}, executor).thenRunAsync(() -> { // 审批者
|
}, EXECUTOR).thenRunAsync(() -> { // 审批者
|
||||||
try {
|
try {
|
||||||
SysUserDTO owner = sysUserService.get(Long.valueOf(finalCreator));
|
SysUserDTO owner = sysUserService.get(Long.valueOf(finalCreator));
|
||||||
String content = "【通知】" + owner.getRealName() + "发起的流程" + activitiNoticeOperation.process() + " 已进入审核节点:" + activitiNoticeOperation.value() + ";当前审核人指派为您";
|
String content = "【通知】" + owner.getRealName() + "发起的流程" + activitiNoticeOperation.process() + " 已进入审核节点:" + activitiNoticeOperation.value() + ";当前审核人指派为您";
|
||||||
|
@ -369,16 +367,16 @@ public class ActivitiNoticeAspect {
|
||||||
dto.setFrom("通知");
|
dto.setFrom("通知");
|
||||||
sysNoticeService.save(dto);
|
sysNoticeService.save(dto);
|
||||||
} catch (Exception exception) {
|
} catch (Exception exception) {
|
||||||
logger.error("通知审批人失败", exception);
|
LOGGER.error("通知审批人失败", exception);
|
||||||
}
|
}
|
||||||
}, executor);
|
}, EXECUTOR);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("发送通知消息异常", e);
|
LOGGER.error("发送通知消息异常", e);
|
||||||
} finally {
|
} finally {
|
||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
try {
|
try {
|
||||||
Thread.sleep(200);
|
Thread.sleep(200);
|
||||||
work_.remove(TaskListener.EVENTNAME_ASSIGNMENT + kv.get("id").toString());
|
work.remove(TaskListener.EVENTNAME_ASSIGNMENT + kv.get("id").toString());
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,7 @@ import java.util.stream.Collectors;
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/ability/center/v2")
|
@RequestMapping("/ability/center/v2")
|
||||||
public class AbilityCenterControllerV2 {
|
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 Logger logger = LoggerFactory.getLogger(AbilityCenterController.class);
|
||||||
private static final ObjectMapper oMapper = new ObjectMapper();
|
private static final ObjectMapper oMapper = new ObjectMapper();
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@ -108,10 +108,9 @@ public class AbilityCenterControllerV2 {
|
||||||
abilityBatchApplicationDTO.setApplyFlag(applyFlag); // 同一次的申请标识
|
abilityBatchApplicationDTO.setApplyFlag(applyFlag); // 同一次的申请标识
|
||||||
final Optional<SysDeptDTO> deptDTO = Optional.ofNullable(sysDeptService.getByName(bigDateDeptName));
|
final Optional<SysDeptDTO> deptDTO = Optional.ofNullable(sysDeptService.getByName(bigDateDeptName));
|
||||||
final UserDetail user = SecurityUser.getUser();
|
final UserDetail user = SecurityUser.getUser();
|
||||||
CompletableFuture.runAsync(() -> {
|
executor.execute(() -> {
|
||||||
logger.info("处理能力申请!");
|
|
||||||
deal(abilityBatchApplicationDTO, deptDTO, applyFlag, user);
|
deal(abilityBatchApplicationDTO, deptDTO, applyFlag, user);
|
||||||
}, executor);
|
});
|
||||||
return new Result().ok(LocalDateTime.now().toString());
|
return new Result().ok(LocalDateTime.now().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,10 +131,7 @@ public class AbilityCenterControllerV2 {
|
||||||
logger.info("申请入参{}", JSON.toJSONString(abilityBatchApplicationDTO));
|
logger.info("申请入参{}", JSON.toJSONString(abilityBatchApplicationDTO));
|
||||||
final Optional<SysDeptDTO> deptDTO = Optional.ofNullable(sysDeptService.getByName(bigDateDeptName));
|
final Optional<SysDeptDTO> deptDTO = Optional.ofNullable(sysDeptService.getByName(bigDateDeptName));
|
||||||
final UserDetail user = SecurityUser.getUser();
|
final UserDetail user = SecurityUser.getUser();
|
||||||
CompletableFuture.runAsync(() -> {
|
|
||||||
logger.info("处理能力申请!");
|
|
||||||
deal(abilityBatchApplicationDTO, deptDTO, applyFlag, user);
|
deal(abilityBatchApplicationDTO, deptDTO, applyFlag, user);
|
||||||
}, executor);
|
|
||||||
return new Result().ok(LocalDateTime.now().toString());
|
return new Result().ok(LocalDateTime.now().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,7 +158,7 @@ public class AbilityCenterControllerV2 {
|
||||||
tAbilityApplicationDTO.setApproveStatus("审核中");
|
tAbilityApplicationDTO.setApproveStatus("审核中");
|
||||||
tAbilityApplicationDTO.setDelFlag(0);
|
tAbilityApplicationDTO.setDelFlag(0);
|
||||||
// v2 新增字段
|
// 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.setTitle(abilityBatchApplicationDTO.getTitle());
|
||||||
tAbilityApplicationDTO.setApplicationBackground(abilityBatchApplicationDTO.getApplicationBackground());
|
tAbilityApplicationDTO.setApplicationBackground(abilityBatchApplicationDTO.getApplicationBackground());
|
||||||
tAbilityApplicationDTO.setApplicationScene(abilityBatchApplicationDTO.getApplicationScene());
|
tAbilityApplicationDTO.setApplicationScene(abilityBatchApplicationDTO.getApplicationScene());
|
||||||
|
@ -217,14 +213,22 @@ public class AbilityCenterControllerV2 {
|
||||||
}, executor);
|
}, executor);
|
||||||
|
|
||||||
Boolean basic_facilities = dtoList.stream().map(index -> {
|
Boolean basic_facilities = dtoList.stream().map(index -> {
|
||||||
Optional<ResourceDTO> resourceDTOOptional = Optional.ofNullable(resourceService.get(Long.valueOf(index.getResourceId()))); // 从本库内查不到 视为其它平台的基础设施资源
|
Optional<ResourceDTO> resourceDTOOptional = Optional.ofNullable(resourceService.get(Long.valueOf(index.getResourceId())));
|
||||||
return !resourceDTOOptional.isPresent() || !"基础设施".equals(resourceDTOOptional.get().getType());
|
if (!resourceDTOOptional.isPresent()) { // 从本库内查不到 视为其它平台的基础设施资源
|
||||||
}).filter(index -> !index).findAny().orElse(Boolean.TRUE);
|
return true;
|
||||||
|
}
|
||||||
|
if ("基础设施".equals(resourceDTOOptional.get().getType())) { // 基础设施
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}).filter(index -> index).findAny().orElse(Boolean.FALSE);
|
||||||
logger.error("--------------------是否全是基础设施{}----------------------------------------------", basic_facilities);
|
logger.error("--------------------是否全是基础设施{}----------------------------------------------", basic_facilities);
|
||||||
final List<Long> ids = dtoList.stream().map(TAbilityApplicationDTO::getId).collect(Collectors.toList()); // 发起申请的表单id
|
final List<Long> ids = dtoList.stream().map(TAbilityApplicationDTO::getId).collect(Collectors.toList()); // 发起申请的表单id
|
||||||
// 仿照请求接口 /act/running/startOfBusinessKey
|
// 仿照请求接口 /act/running/startOfBusinessKey
|
||||||
ProcessStartDTO processStartDTO = new ProcessStartDTO();
|
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); //限定
|
processStartDTO.setProcessDefinitionKey(key); //限定
|
||||||
AuditingBaseDTO auditingBaseDTO = new AuditingBaseDTO();
|
AuditingBaseDTO auditingBaseDTO = new AuditingBaseDTO();
|
||||||
auditingBaseDTO.setCompleteEntry(Boolean.TRUE); // 首次录入
|
auditingBaseDTO.setCompleteEntry(Boolean.TRUE); // 首次录入
|
||||||
|
@ -250,11 +254,13 @@ public class AbilityCenterControllerV2 {
|
||||||
// 仿照请求接口 /processForm/tabilityapplication/updateInstanceId
|
// 仿照请求接口 /processForm/tabilityapplication/updateInstanceId
|
||||||
CompletableFuture.runAsync(() -> {
|
CompletableFuture.runAsync(() -> {
|
||||||
if (dto.getBusinessKey() != null) {
|
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);
|
jdbcTemplate.batchUpdate(sqls);
|
||||||
}
|
}
|
||||||
}, executor);
|
}, executor);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -308,7 +308,7 @@ public class CensusController {
|
||||||
} catch (JsonProcessingException e) {
|
} catch (JsonProcessingException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}).reversed().thenComparing(i -> i.toString())
|
}).reversed().thenComparing(Object::toString)
|
||||||
); // 按应用领域数目逆序排序
|
); // 按应用领域数目逆序排序
|
||||||
return new Result<List<Map<String, Object>>>().ok(result);
|
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");
|
List<Map<String, Object>> dbAmount = (List<Map<String, Object>>) map.get("total");
|
||||||
return dbAmount.stream().filter(index -> "基础设施".equals(index.get("type").toString()))
|
return dbAmount.stream().filter(index -> "基础设施".equals(index.get("type").toString()))
|
||||||
.mapToLong(index -> Long.parseLong(index.get("count").toString())).sum();
|
.mapToLong(index -> Long.parseLong(index.get("count").toString())).sum();
|
||||||
}).thenAccept(sum -> {
|
}).thenAccept(sum -> result.add(new HashMap<String, Object>() {
|
||||||
result.add(new HashMap<String, Object>() {
|
|
||||||
{
|
{
|
||||||
put("amount", sum);
|
put("amount", sum);
|
||||||
put("type", "视频资源数量");
|
put("type", "视频资源数量");
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
});
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BAOTOU: { // 包头
|
case BAOTOU: { // 包头
|
||||||
allAmount = CompletableFuture.supplyAsync(() -> { // 获取平台总基础设施数目
|
allAmount = CompletableFuture.supplyAsync(() -> { // 获取平台总基础设施数目
|
||||||
return jdbcTemplate.queryForObject("SELECT COUNT(id) FROM tb_data_resource WHERE type = '基础设施' AND del_flag = 0", Long.class);
|
return jdbcTemplate.queryForObject("SELECT COUNT(id) FROM tb_data_resource WHERE type = '基础设施' AND del_flag = 0", Long.class);
|
||||||
}).thenAccept(sum -> {
|
}).thenAccept(sum -> result.add(new HashMap<String, Object>() {
|
||||||
result.add(new HashMap<String, Object>() {
|
|
||||||
{
|
{
|
||||||
put("amount", sum);
|
put("amount", sum);
|
||||||
put("type", "视频资源数量");
|
put("type", "视频资源数量");
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
});
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case TSINGTAO_XHA: { // 青岛西海岸
|
case TSINGTAO_XHA: { // 青岛西海岸
|
||||||
allAmount = CompletableFuture.supplyAsync(() -> { // 获取平台总基础设施数目
|
allAmount = CompletableFuture.supplyAsync(() -> { // 获取平台总基础设施数目
|
||||||
List<Long> result_ = new CopyOnWriteArrayList<>();
|
List<Long> result_ = new CopyOnWriteArrayList<>();
|
||||||
String url = String.format(tsingtao_xhaProperties.getCloudcam(), "", 1, 10);
|
String url = tsingtao_xhaProperties.getCamCount();
|
||||||
logger.info(url);
|
logger.info(url);
|
||||||
Request request = new Request.Builder().url(url).build();
|
Request request = new Request.Builder().url(url).build();
|
||||||
try (Response response = client.newCall(request).execute()) {
|
try (Response response = client.newCall(request).execute()) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
JSONObject jsonObject = JSON.parseObject(response.body().string());
|
JSONObject jsonObject = JSON.parseObject(response.body().string());
|
||||||
if (jsonObject.containsKey("data")) {
|
if (jsonObject.containsKey("errorNo") && jsonObject.getLongValue("errorNo") == 200) {
|
||||||
result_.add(jsonObject.getJSONObject("data").getLongValue("total"));
|
result_.add(jsonObject.getLongValue("body"));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.error("青岛西海岸获取失败");
|
logger.error("青岛西海岸获取失败");
|
||||||
|
@ -383,15 +379,13 @@ public class CensusControllerV2 {
|
||||||
} catch (Exception exception) {
|
} catch (Exception exception) {
|
||||||
logger.error("青岛西海岸失败", exception);
|
logger.error("青岛西海岸失败", exception);
|
||||||
}
|
}
|
||||||
return result_.stream().filter(index -> index != null).findAny().orElse(0l);
|
return result_.stream().filter(Objects::nonNull).findAny().orElse(0L);
|
||||||
}).thenAccept(sum -> {
|
}).thenAccept(sum -> result.add(new HashMap<String, Object>() {
|
||||||
result.add(new HashMap<String, Object>() {
|
|
||||||
{
|
{
|
||||||
put("amount", sum);
|
put("amount", sum);
|
||||||
put("type", "视频资源数量");
|
put("type", "视频资源数量");
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
});
|
|
||||||
}
|
}
|
||||||
break;
|
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<>();
|
List<Map> lists = (dataResource != null && dataResource.containsKey("data") && dataResource.get("data") != null) ? (List<Map>) dataResource.get("data") : new ArrayList<>();
|
||||||
ArrayList<Map> list = new ArrayList<>();
|
ArrayList<Map> list = new ArrayList<>();
|
||||||
lists.forEach(item -> {
|
lists.forEach(item -> list.add(new HashMap<String, Object>() {{
|
||||||
list.add(new HashMap<String, Object>() {{
|
|
||||||
put("服务名称", item.get("zyname"));
|
put("服务名称", item.get("zyname"));
|
||||||
put("申请次数", item.get("syqk"));
|
put("申请次数", item.get("syqk"));
|
||||||
}});
|
}}));
|
||||||
});
|
|
||||||
put("resourceTop5", list);
|
put("resourceTop5", list);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case TSINGTAO_XHA: { // 青岛西海岸
|
case TSINGTAO_XHA: { // 青岛西海岸
|
||||||
Long total = 0L;
|
Long total;
|
||||||
Request request = new Request.Builder().url(tsingtao_xhaProperties.getResourcecount()).build();
|
Request request = new Request.Builder().url(tsingtao_xhaProperties.getResourcecount()).build();
|
||||||
try (Response response = client.newCall(request).execute()) {
|
try (Response response = client.newCall(request).execute()) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
|
|
|
@ -153,7 +153,7 @@ public class ResourceMountController {
|
||||||
@PostMapping(value = "/undercarriage")
|
@PostMapping(value = "/undercarriage")
|
||||||
@ApiOperation("批量进行能力下架申请")
|
@ApiOperation("批量进行能力下架申请")
|
||||||
@LogOperation("批量进行能力下架申请")
|
@LogOperation("批量进行能力下架申请")
|
||||||
public Result<List<ProcessInstanceDTO>> undercarriage(@RequestBody TResourceUndercarriageApplyDTO tResourceUndercarriageApplyDTO) {
|
public Result<Object> undercarriage(@RequestBody TResourceUndercarriageApplyDTO tResourceUndercarriageApplyDTO) {
|
||||||
// 仿照请求接口 /act/process/lastestPage
|
// 仿照请求接口 /act/process/lastestPage
|
||||||
PageData<Map<String, Object>> page = actProcessService.page(undercarriage_params);
|
PageData<Map<String, Object>> page = actProcessService.page(undercarriage_params);
|
||||||
if (page.getTotal() <= 0) { //
|
if (page.getTotal() <= 0) { //
|
||||||
|
@ -175,7 +175,7 @@ public class ResourceMountController {
|
||||||
}
|
}
|
||||||
}).filter(index -> index).findAny();
|
}).filter(index -> index).findAny();
|
||||||
if (undercarriage.isPresent()) {
|
if (undercarriage.isPresent()) {
|
||||||
return new Result<List<ProcessInstanceDTO>>().error("该资源已发起下架");
|
return new Result<>().ok("该资源已发起下架");
|
||||||
}
|
}
|
||||||
return new Result().ok(tResourceUndercarriageApplyDTO.getResource().stream().map(index -> {
|
return new Result().ok(tResourceUndercarriageApplyDTO.getResource().stream().map(index -> {
|
||||||
List<ProcessInstanceDTO> dtoList = new ArrayList<>();
|
List<ProcessInstanceDTO> dtoList = new ArrayList<>();
|
||||||
|
@ -190,6 +190,7 @@ public class ResourceMountController {
|
||||||
throw new RuntimeException("该资源已发起下架");
|
throw new RuntimeException("该资源已发起下架");
|
||||||
}
|
}
|
||||||
dto.setUndercarriageReason(tResourceUndercarriageApplyDTO.getReason());
|
dto.setUndercarriageReason(tResourceUndercarriageApplyDTO.getReason());
|
||||||
|
dto.setUndercarriageEnclosure(tResourceUndercarriageApplyDTO.getEnclosure());
|
||||||
dto.setDelFlag(ResourceEntityDelFlag.NORMAL.getFlag()); // 设置为正常
|
dto.setDelFlag(ResourceEntityDelFlag.NORMAL.getFlag()); // 设置为正常
|
||||||
String userId = SecurityUser.getUserId().toString();
|
String userId = SecurityUser.getUserId().toString();
|
||||||
Optional<SysUserDTO> userDTO = Optional.ofNullable(sysUserService.get(Long.valueOf(userId)));
|
Optional<SysUserDTO> userDTO = Optional.ofNullable(sysUserService.get(Long.valueOf(userId)));
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package io.renren.common.domain;
|
package io.renren.common.domain;
|
||||||
|
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
import org.springframework.context.annotation.PropertySource;
|
import org.springframework.context.annotation.PropertySource;
|
||||||
|
@ -21,4 +20,5 @@ public class Tsingtao_xhaProperties {
|
||||||
private String resourcecount;
|
private String resourcecount;
|
||||||
private String resourceapplyinfo;
|
private String resourceapplyinfo;
|
||||||
private String sjzy;
|
private String sjzy;
|
||||||
|
private String camCount;
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,7 +105,8 @@ public class CodeGenerationUtils {
|
||||||
try {
|
try {
|
||||||
String finalTableName = tableName;
|
String finalTableName = tableName;
|
||||||
String finalNo = no;
|
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);
|
jdbcTemplate.batchUpdate(sqls);
|
||||||
} catch (Exception exception) {
|
} catch (Exception exception) {
|
||||||
logger.error("流水号写入失败", exception);
|
logger.error("流水号写入失败", exception);
|
||||||
|
|
|
@ -11,7 +11,6 @@ import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiImplicitParams;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import springfox.documentation.annotations.ApiIgnore;
|
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.demanData.service.TDemandDataService;
|
||||||
import io.renren.modules.processForm.dto.TAbilityApplicationDTO;
|
import io.renren.modules.processForm.dto.TAbilityApplicationDTO;
|
||||||
import io.renren.modules.processForm.service.TAbilityApplicationService;
|
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.dto.TResourceMountApplyDTO;
|
||||||
import io.renren.modules.resourceMountApply.service.TResourceMountApplyService;
|
import io.renren.modules.resourceMountApply.service.TResourceMountApplyService;
|
||||||
import io.renren.modules.sys.dto.SysUserDTO;
|
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.ApiImplicitParam;
|
||||||
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiImplicitParams;
|
||||||
import io.swagger.annotations.ApiOperation;
|
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.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
@ -45,6 +53,9 @@ import java.util.Optional;
|
||||||
@RequestMapping("/act/his")
|
@RequestMapping("/act/his")
|
||||||
@Api(tags = "流程历史")
|
@Api(tags = "流程历史")
|
||||||
public class HistoryController {
|
public class HistoryController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected HistoryService historyService_;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ActHistoryService historyService;
|
private ActHistoryService historyService;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@ -58,6 +69,15 @@ public class HistoryController {
|
||||||
private TResourceMountApplyService tResourceMountApplyService;
|
private TResourceMountApplyService tResourceMountApplyService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private TDemandDataService tDemandDataService;
|
private TDemandDataService tDemandDataService;
|
||||||
|
@Autowired
|
||||||
|
private ResourceService resourceService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected TaskService taskService;
|
||||||
|
@Autowired
|
||||||
|
protected RepositoryService repositoryService;
|
||||||
|
@Autowired
|
||||||
|
protected RuntimeService runtimeService;
|
||||||
|
|
||||||
@GetMapping("getInstImage")
|
@GetMapping("getInstImage")
|
||||||
@ApiOperation(value = "获取流程活动图", produces = "application/octet-stream")
|
@ApiOperation(value = "获取流程活动图", produces = "application/octet-stream")
|
||||||
|
@ -130,11 +150,21 @@ public class HistoryController {
|
||||||
if (params.containsKey("processDefinitionKey") && StringUtils.isNotEmpty(params.get("processDefinitionKey").toString())) {
|
if (params.containsKey("processDefinitionKey") && StringUtils.isNotEmpty(params.get("processDefinitionKey").toString())) {
|
||||||
params.replace("processDefinitionKey", params.get("processDefinitionKey").toString() + "%");
|
params.replace("processDefinitionKey", params.get("processDefinitionKey").toString() + "%");
|
||||||
}
|
}
|
||||||
|
params.put("ended", "true");
|
||||||
PageData<ProcessActivityDTO> page = activitiService.getMyProcessInstancePage(params);
|
PageData<ProcessActivityDTO> page = activitiService.getMyProcessInstancePage(params);
|
||||||
setExtraProcessProperties(Optional.ofNullable(page.getList()).orElse(new ArrayList<>()));
|
setExtraProcessProperties(Optional.ofNullable(page.getList()).orElse(new ArrayList<>()));
|
||||||
return new Result().ok(page);
|
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")
|
@GetMapping("getDeptHandledInstancePage")
|
||||||
@ApiOperation("已办任务:根据登录账号查询其所在部门的已办任务")
|
@ApiOperation("已办任务:根据登录账号查询其所在部门的已办任务")
|
||||||
@LogOperation("已办任务:根据登录账号查询其所在部门的已办任务")
|
@LogOperation("已办任务:根据登录账号查询其所在部门的已办任务")
|
||||||
|
@ -174,9 +204,11 @@ public class HistoryController {
|
||||||
abilityApplicationService.getByInstanceId(activityDTO.getProcessInstanceId());
|
abilityApplicationService.getByInstanceId(activityDTO.getProcessInstanceId());
|
||||||
TResourceMountApplyDTO tResourceMountApplyDTO = null;
|
TResourceMountApplyDTO tResourceMountApplyDTO = null;
|
||||||
TDemandDataDTO tDemandDataDTO = null;
|
TDemandDataDTO tDemandDataDTO = null;
|
||||||
|
ResourceDTO resourceDTO = null;
|
||||||
if (!activityDTO.getBusinessKey().startsWith("[") && !activityDTO.getBusinessKey().startsWith("{")) { // json 内容(批量申请)
|
if (!activityDTO.getBusinessKey().startsWith("[") && !activityDTO.getBusinessKey().startsWith("{")) { // json 内容(批量申请)
|
||||||
tResourceMountApplyDTO = tResourceMountApplyService.get(Long.valueOf(activityDTO.getBusinessKey()));
|
tResourceMountApplyDTO = tResourceMountApplyService.get(Long.valueOf(activityDTO.getBusinessKey()));
|
||||||
tDemandDataDTO = tDemandDataService.get(Long.valueOf(activityDTO.getBusinessKey()));
|
tDemandDataDTO = tDemandDataService.get(Long.valueOf(activityDTO.getBusinessKey()));
|
||||||
|
resourceDTO = resourceService.get(Long.valueOf(activityDTO.getBusinessKey()));
|
||||||
}
|
}
|
||||||
if (abilityApplicationDTOS != null && !abilityApplicationDTOS.isEmpty()) {
|
if (abilityApplicationDTOS != null && !abilityApplicationDTOS.isEmpty()) {
|
||||||
StringBuffer stringBuffer = new StringBuffer();
|
StringBuffer stringBuffer = new StringBuffer();
|
||||||
|
@ -190,6 +222,8 @@ public class HistoryController {
|
||||||
activityDTO.setResourceName(tResourceMountApplyDTO.getResourceDTO().getName());
|
activityDTO.setResourceName(tResourceMountApplyDTO.getResourceDTO().getName());
|
||||||
} else if (tDemandDataDTO != null) {
|
} else if (tDemandDataDTO != null) {
|
||||||
activityDTO.setResourceName(tDemandDataDTO.getDemandSubject());
|
activityDTO.setResourceName(tDemandDataDTO.getDemandSubject());
|
||||||
|
} else if (resourceDTO != null) {
|
||||||
|
activityDTO.setResourceName(resourceDTO.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -277,12 +277,12 @@ public class ActHistoryService {
|
||||||
for (ProcessInstanceDTO dto : list) {
|
for (ProcessInstanceDTO dto : list) {
|
||||||
List<TAbilityApplicationDTO> abilityApplicationDTO = tAbilityApplicationService.getByInstanceId(dto.getProcessInstanceId()); // 获取申请表单
|
List<TAbilityApplicationDTO> abilityApplicationDTO = tAbilityApplicationService.getByInstanceId(dto.getProcessInstanceId()); // 获取申请表单
|
||||||
if (abilityApplicationDTO != null && !abilityApplicationDTO.isEmpty()) {
|
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.setName("申请摄像头列表");
|
||||||
dto.setResourceId(null);
|
dto.setResourceId(null);
|
||||||
} else {
|
} else {
|
||||||
StringBuffer stringBuffer = new StringBuffer();
|
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(index);
|
||||||
stringBuffer.append(",");
|
stringBuffer.append(",");
|
||||||
});
|
});
|
||||||
|
|
|
@ -209,8 +209,6 @@ public class ActTaskService extends BaseServiceImpl {
|
||||||
for (Task task : list) {
|
for (Task task : list) {
|
||||||
TaskDTO dto = new TaskDTO();
|
TaskDTO dto = new TaskDTO();
|
||||||
this.convertTaskInfo(task, dto);
|
this.convertTaskInfo(task, dto);
|
||||||
//Optional<SysUserEntity> sysUserEntity = Optional.ofNullable(sysUserService.selectById(dto.getUserId()));
|
|
||||||
//dto.setUserName(sysUserEntity.get().getRealName());
|
|
||||||
Map<String, Object> processVariable = new LinkedHashMap<>();
|
Map<String, Object> processVariable = new LinkedHashMap<>();
|
||||||
|
|
||||||
if (dto.getBusinessKey().startsWith("{") || dto.getBusinessKey().startsWith("[")) { // 为json内容 (特殊处理批量)
|
if (dto.getBusinessKey().startsWith("{") || dto.getBusinessKey().startsWith("[")) { // 为json内容 (特殊处理批量)
|
||||||
|
|
|
@ -27,6 +27,7 @@ import springfox.documentation.annotations.ApiIgnore;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
|
@ -97,10 +98,14 @@ public class TDemandCommentController {
|
||||||
// @RequiresPermissions("demandComment:tdemandcomment:info")
|
// @RequiresPermissions("demandComment:tdemandcomment:info")
|
||||||
public Result<TDemandCommentDTO> get(@PathVariable("id") Long id) {
|
public Result<TDemandCommentDTO> get(@PathVariable("id") Long id) {
|
||||||
TDemandCommentDTO data = tDemandCommentService.get(id);
|
TDemandCommentDTO data = tDemandCommentService.get(id);
|
||||||
|
if (null != data) {
|
||||||
data.setDemandDataDTO(tDemandDataService.get(data.getTargetId()));
|
data.setDemandDataDTO(tDemandDataService.get(data.getTargetId()));
|
||||||
|
|
||||||
return new Result<TDemandCommentDTO>().ok(data);
|
return new Result<TDemandCommentDTO>().ok(data);
|
||||||
|
} else {
|
||||||
|
return new Result<TDemandCommentDTO>().ok(new TDemandCommentDTO());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping
|
@PostMapping
|
||||||
|
|
|
@ -49,12 +49,7 @@ public class FuseController {
|
||||||
@ApiImplicitParam(name = "description", value = "融合服务描述", paramType = "query", dataType = "String"),
|
@ApiImplicitParam(name = "description", value = "融合服务描述", paramType = "query", dataType = "String"),
|
||||||
@ApiImplicitParam(name = "type", value = "融合服务类型", paramType = "query", dataType = "String"),
|
@ApiImplicitParam(name = "type", value = "融合服务类型", paramType = "query", dataType = "String"),
|
||||||
@ApiImplicitParam(name = "applicationArea", value = "应用领域", paramType = "query", dataType = "String"),
|
@ApiImplicitParam(name = "applicationArea", value = "应用领域", paramType = "query", dataType = "String"),
|
||||||
@ApiImplicitParam(name = "deptId", value = "所属部门", paramType = "query", dataType = "int"),
|
@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")
|
|
||||||
})
|
})
|
||||||
public Result<PageData<TbFuseDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params) {
|
public Result<PageData<TbFuseDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params) {
|
||||||
PageData<TbFuseDTO> page = tbFuseService.page(params);
|
PageData<TbFuseDTO> page = tbFuseService.page(params);
|
||||||
|
|
|
@ -18,6 +18,4 @@ public interface TbFuseDao extends BaseDao<TbFuseEntity> {
|
||||||
|
|
||||||
List<TbFuseDTO> getFuseDTOList(Map params);
|
List<TbFuseDTO> getFuseDTOList(Map params);
|
||||||
|
|
||||||
List<Map<String, Object>> selectGroupByDeptId();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,16 +29,6 @@ public class TbFuseDTO {
|
||||||
private String applicationArea;
|
private String applicationArea;
|
||||||
@ApiModelProperty(value = "所属部门")
|
@ApiModelProperty(value = "所属部门")
|
||||||
private Long deptId;
|
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 = "创建人")
|
@ApiModelProperty(value = "创建人")
|
||||||
private Long creator;
|
private Long creator;
|
||||||
@ApiModelProperty(value = "创建时间")
|
@ApiModelProperty(value = "创建时间")
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package io.renren.modules.fuse.dto;
|
package io.renren.modules.fuse.dto;
|
||||||
|
|
||||||
import io.renren.modules.resource.dto.ResourceDTO;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
@ -24,6 +23,8 @@ public class TbFuseResourceDTO {
|
||||||
@ApiModelProperty(value = "资源挂载顺序")
|
@ApiModelProperty(value = "资源挂载顺序")
|
||||||
private String sequence;
|
private String sequence;
|
||||||
@ApiModelProperty(value = "资源")
|
@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)
|
@TableField(fill = FieldFill.INSERT)
|
||||||
private Long deptId;
|
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 sequence;
|
||||||
|
/**
|
||||||
|
* 资源类型
|
||||||
|
*/
|
||||||
|
private String type;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,4 @@ public interface TbFuseService extends CrudService<TbFuseEntity, TbFuseDTO> {
|
||||||
|
|
||||||
Integer deleteFuse(Long id);
|
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.constant.Constant;
|
||||||
import io.renren.common.page.PageData;
|
import io.renren.common.page.PageData;
|
||||||
import io.renren.common.service.impl.CrudServiceImpl;
|
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.TbFuseAttrDao;
|
||||||
import io.renren.modules.fuse.dao.TbFuseDao;
|
import io.renren.modules.fuse.dao.TbFuseDao;
|
||||||
import io.renren.modules.fuse.dao.TbFuseResourceDao;
|
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.TbFuseEntity;
|
||||||
import io.renren.modules.fuse.entity.TbFuseResourceEntity;
|
import io.renren.modules.fuse.entity.TbFuseResourceEntity;
|
||||||
import io.renren.modules.fuse.service.TbFuseService;
|
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.ResourceService;
|
||||||
import io.renren.modules.resource.service.impl.ResourceServiceImpl;
|
import io.renren.modules.resource.service.impl.ResourceServiceImpl;
|
||||||
import io.renren.modules.resourceCollection.dao.ResourceCollectionDao;
|
import io.renren.modules.resourceCollection.dao.ResourceCollectionDao;
|
||||||
import io.renren.modules.security.user.SecurityUser;
|
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.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
|
@ -50,6 +58,10 @@ public class TbFuseServiceImpl extends CrudServiceImpl<TbFuseDao, TbFuseEntity,
|
||||||
private ResourceService resourceService;
|
private ResourceService resourceService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ResourceCollectionDao resourceCollectionDao;
|
private ResourceCollectionDao resourceCollectionDao;
|
||||||
|
@Autowired
|
||||||
|
private CameraChannelMapper cameraChannelMapper;
|
||||||
|
@Autowired
|
||||||
|
private SysDeptService sysDeptService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public QueryWrapper<TbFuseEntity> getWrapper(Map<String, Object> params) {
|
public QueryWrapper<TbFuseEntity> getWrapper(Map<String, Object> params) {
|
||||||
|
@ -71,21 +83,6 @@ public class TbFuseServiceImpl extends CrudServiceImpl<TbFuseDao, TbFuseEntity,
|
||||||
case "deptId":
|
case "deptId":
|
||||||
wrapper.eq(StringUtils.isNotBlank(params.get("deptId").toString()), "dept_id", params.get("deptId").toString());
|
wrapper.eq(StringUtils.isNotBlank(params.get("deptId").toString()), "dept_id", params.get("deptId").toString());
|
||||||
break;
|
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":
|
case "creator":
|
||||||
wrapper.eq(StringUtils.isNotBlank(params.get("creator").toString()), "creator", params.get("creator").toString());
|
wrapper.eq(StringUtils.isNotBlank(params.get("creator").toString()), "creator", params.get("creator").toString());
|
||||||
break;
|
break;
|
||||||
|
@ -115,23 +112,15 @@ public class TbFuseServiceImpl extends CrudServiceImpl<TbFuseDao, TbFuseEntity,
|
||||||
}
|
}
|
||||||
params.put("userId", SecurityUser.getUserId());
|
params.put("userId", SecurityUser.getUserId());
|
||||||
List<TbFuseDTO> dtoList = baseDao.getFuseDTOList(params);
|
List<TbFuseDTO> dtoList = baseDao.getFuseDTOList(params);
|
||||||
|
Map<String, Map<String, Object>> dataResourceList=getDataResource();
|
||||||
dtoList.forEach(dto -> {
|
dtoList.forEach(dto -> {
|
||||||
dto.setFuseResourceList(getFuseResourceByFuseId(dto.getId()));
|
dto.setFuseResourceList(getFuseResourceByFuseId(dto.getId(), dataResourceList));
|
||||||
dto.setFuseAttrList(getAttrByFuseId(dto.getId()));
|
dto.setFuseAttrList(getAttrByFuseId(dto.getId()));
|
||||||
});
|
});
|
||||||
List<TbFuseDTO> result = dtoList.stream().skip((curPage - 1) * limit).limit(limit).collect(Collectors.toList());
|
List<TbFuseDTO> result = dtoList.stream().skip((curPage - 1) * limit).limit(limit).collect(Collectors.toList());
|
||||||
return new PageData(result, dtoList.size());
|
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
|
@Override
|
||||||
public TbFuseDTO getFuseById(Long id) {
|
public TbFuseDTO getFuseById(Long id) {
|
||||||
TbFuseEntity fuseEntity = fuseDao.selectById(id);
|
TbFuseEntity fuseEntity = fuseDao.selectById(id);
|
||||||
|
@ -141,7 +130,7 @@ public class TbFuseServiceImpl extends CrudServiceImpl<TbFuseDao, TbFuseEntity,
|
||||||
TbFuseDTO fuseDTO = new TbFuseDTO();
|
TbFuseDTO fuseDTO = new TbFuseDTO();
|
||||||
BeanUtils.copyProperties(fuseEntity, fuseDTO);
|
BeanUtils.copyProperties(fuseEntity, fuseDTO);
|
||||||
fuseDTO.setFuseAttrList(getAttrByFuseId(id));
|
fuseDTO.setFuseAttrList(getAttrByFuseId(id));
|
||||||
fuseDTO.setFuseResourceList(getFuseResourceByFuseId(id));
|
fuseDTO.setFuseResourceList(getFuseResourceByFuseId(id, getDataResource()));
|
||||||
setCollection(fuseDTO);
|
setCollection(fuseDTO);
|
||||||
return fuseDTO;
|
return fuseDTO;
|
||||||
}
|
}
|
||||||
|
@ -166,16 +155,58 @@ public class TbFuseServiceImpl extends CrudServiceImpl<TbFuseDao, TbFuseEntity,
|
||||||
}).collect(Collectors.toList());
|
}).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();
|
QueryWrapper wrapper = new QueryWrapper();
|
||||||
wrapper.eq("fuse_id", fuseId);
|
wrapper.eq("fuse_id", fuseId);
|
||||||
List<TbFuseResourceEntity> list = fuseResourceDao.selectList(wrapper);
|
List<TbFuseResourceEntity> list = fuseResourceDao.selectList(wrapper);
|
||||||
return list.stream().map(attr -> {
|
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();
|
TbFuseResourceDTO dto = new TbFuseResourceDTO();
|
||||||
BeanUtils.copyProperties(attr, dto);
|
BeanUtils.copyProperties(attr, dto);
|
||||||
dto.setResource(resourceService.get(dto.getResourceId()));
|
ResourceDTO resourceDTO=resourceService.get(dto.getResourceId());
|
||||||
|
resourceDTO.setDeptName(sysDeptService.get(resourceDTO.getDeptId()).getName());
|
||||||
|
dto.setResource(resourceDTO);
|
||||||
return dto;
|
return dto;
|
||||||
}).collect(Collectors.toList());
|
}).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
|
@Override
|
||||||
|
|
|
@ -13,7 +13,7 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class MonitorService {
|
public class MonitorServiceV2 {
|
||||||
|
|
||||||
@Value("${hisense.gateway.url}")
|
@Value("${hisense.gateway.url}")
|
||||||
private String gatewayDomain;
|
private String gatewayDomain;
|
|
@ -17,9 +17,9 @@ import java.util.Date;
|
||||||
* 清理操作日志表任务
|
* 清理操作日志表任务
|
||||||
*/
|
*/
|
||||||
@Component("clearLogTask")
|
@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
|
@Autowired
|
||||||
private SysLogOperationDao sysLogOperationDao;
|
private SysLogOperationDao sysLogOperationDao;
|
|
@ -1,5 +1,6 @@
|
||||||
package io.renren.modules.monitor.controller;
|
package io.renren.modules.monitor.controller;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import io.renren.modules.monitor.dto.*;
|
import io.renren.modules.monitor.dto.*;
|
||||||
|
@ -151,9 +152,7 @@ public class Controller {
|
||||||
|
|
||||||
List<CameraChannelDto1> list = cameraChannelMapper.selectByChannelCode(channelCode);
|
List<CameraChannelDto1> list = cameraChannelMapper.selectByChannelCode(channelCode);
|
||||||
|
|
||||||
Result success = Result.success(list);
|
return Result.success(list);
|
||||||
|
|
||||||
return success;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -170,9 +169,7 @@ public class Controller {
|
||||||
|
|
||||||
List<CameraChannel> labels = cameraChannelMapper.selectByChannelName(channelName);
|
List<CameraChannel> labels = cameraChannelMapper.selectByChannelName(channelName);
|
||||||
|
|
||||||
Result success = Result.success(labels);
|
return Result.success(labels);
|
||||||
|
|
||||||
return success;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -254,8 +251,7 @@ public class Controller {
|
||||||
public Result selectAllByGps(Double gpsX,Double gpsY,Integer radius){
|
public Result selectAllByGps(Double gpsX,Double gpsY,Integer radius){
|
||||||
double[] around = LongLatUtil.getAround(gpsX, gpsY, radius);
|
double[] around = LongLatUtil.getAround(gpsX, gpsY, radius);
|
||||||
List<CameraChannel> c = cameraChannelMapper.selectAllByGps(around[0], around[2], around[1], around[3]);
|
List<CameraChannel> c = cameraChannelMapper.selectAllByGps(around[0], around[2], around[1], around[3]);
|
||||||
Result success = Result.success(c);
|
return Result.success(c);
|
||||||
return success;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -268,9 +264,7 @@ public class Controller {
|
||||||
|
|
||||||
List<Label> labels = cameraChannelMapper.selectAllLabel();
|
List<Label> labels = cameraChannelMapper.selectAllLabel();
|
||||||
|
|
||||||
Result success = Result.success(labels);
|
return Result.success(labels);
|
||||||
|
|
||||||
return success;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -283,9 +277,7 @@ public class Controller {
|
||||||
|
|
||||||
List<Label> labels = cameraChannelMapper.selectByLabelCity();
|
List<Label> labels = cameraChannelMapper.selectByLabelCity();
|
||||||
|
|
||||||
Result success = Result.success(labels);
|
return Result.success(labels);
|
||||||
|
|
||||||
return success;
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 根据标签名字模糊查询标签
|
* 根据标签名字模糊查询标签
|
||||||
|
@ -299,9 +291,7 @@ public class Controller {
|
||||||
|
|
||||||
List<Label> labels = cameraChannelMapper.selectByLabelName(labelName);
|
List<Label> labels = cameraChannelMapper.selectByLabelName(labelName);
|
||||||
|
|
||||||
Result success = Result.success(labels);
|
return Result.success(labels);
|
||||||
|
|
||||||
return success;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -319,9 +309,7 @@ public class Controller {
|
||||||
|
|
||||||
List<CameraOrganization> organs = cameraOrgenMapper.selectSubOrganization(parentId);
|
List<CameraOrganization> organs = cameraOrgenMapper.selectSubOrganization(parentId);
|
||||||
|
|
||||||
Result success = Result.success(organs);
|
return Result.success(organs);
|
||||||
|
|
||||||
return success;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -338,24 +326,13 @@ public class Controller {
|
||||||
})
|
})
|
||||||
public Result selectNLAll(Integer page,Integer pageSize,String labelCode){
|
public Result selectNLAll(Integer page,Integer pageSize,String labelCode){
|
||||||
List<CameraChannelNLDto> selectNLAll = cameraChannelMapper.selectNLAll(page,pageSize);
|
List<CameraChannelNLDto> selectNLAll = cameraChannelMapper.selectNLAll(page,pageSize);
|
||||||
if (labelCode != null && labelCode != ""){
|
if (labelCode != null && !"".equals(labelCode)){
|
||||||
List<CameraChannelNLDto> dtos = cameraChannelMapper.selectByLabel(page, pageSize);
|
List<CameraChannelNLDto> dtos = cameraChannelMapper.selectByLabel(page, pageSize);
|
||||||
Result success = Result.success(dtos);
|
return Result.success(dtos);
|
||||||
return success;
|
|
||||||
}
|
}
|
||||||
Result success = Result.success(selectNLAll);
|
return Result.success(selectNLAll);
|
||||||
return success;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//查询视频点播巡检结果,只取异常的
|
|
||||||
// @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")
|
@GetMapping("roadData")
|
||||||
@ApiOperation("道路统计数据与排名,根据后台dt调用接口")
|
@ApiOperation("道路统计数据与排名,根据后台dt调用接口")
|
||||||
|
@ -450,8 +427,7 @@ public class Controller {
|
||||||
@GetMapping("passengerFlow")
|
@GetMapping("passengerFlow")
|
||||||
@ApiOperation("获取最新的客流列表,测试接口,调用接口获取")
|
@ApiOperation("获取最新的客流列表,测试接口,调用接口获取")
|
||||||
public List<Map> passengerFlow(){
|
public List<Map> passengerFlow(){
|
||||||
List<Map> list = passengerFlowService.passengerFlow();
|
return passengerFlowService.passengerFlow();
|
||||||
return list;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取最新的实时客流列表,从表获取
|
//获取最新的实时客流列表,从表获取
|
||||||
|
@ -459,15 +435,13 @@ public class Controller {
|
||||||
@ApiOperation("获取最新的实时客流列表,从表获取,热力图")
|
@ApiOperation("获取最新的实时客流列表,从表获取,热力图")
|
||||||
@ApiImplicitParam(name="timeId",value = "时间点",required = false,paramType = "query",dataType = "string")
|
@ApiImplicitParam(name="timeId",value = "时间点",required = false,paramType = "query",dataType = "string")
|
||||||
public List<PassengerFlow> listPassengerFlow(@RequestParam(value="timeId",required = false,defaultValue = "1970000000") String timeId){
|
public List<PassengerFlow> listPassengerFlow(@RequestParam(value="timeId",required = false,defaultValue = "1970000000") String timeId){
|
||||||
List<PassengerFlow> list = passengerFlowService.listPassengerFlow(timeId);
|
return passengerFlowService.listPassengerFlow(timeId);
|
||||||
return list;
|
|
||||||
}
|
}
|
||||||
//从表中获取最新的客流列表,并筛选出all_nums >=5000的
|
//从表中获取最新的客流列表,并筛选出all_nums >=5000的
|
||||||
@GetMapping("listPassengerFlowByAllNums")
|
@GetMapping("listPassengerFlowByAllNums")
|
||||||
@ApiOperation("从表中获取最新的客流列表,并筛选出all_nums >=5000的")
|
@ApiOperation("从表中获取最新的客流列表,并筛选出all_nums >=5000的")
|
||||||
public List<PassengerFlow> listPassengerFlowByAllNums(){
|
public List<PassengerFlow> listPassengerFlowByAllNums(){
|
||||||
List<PassengerFlow> list = passengerFlowService.listPassengerFlowByAllNums();
|
return passengerFlowService.listPassengerFlowByAllNums();
|
||||||
return list;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取实时客流并保存到表t_passenger_flow
|
//获取实时客流并保存到表t_passenger_flow
|
||||||
|
@ -567,7 +541,7 @@ public class Controller {
|
||||||
@ApiImplicitParam(name="longitude",value = "经度",paramType = "query",required = true,dataType = "double")
|
@ApiImplicitParam(name="longitude",value = "经度",paramType = "query",required = true,dataType = "double")
|
||||||
})
|
})
|
||||||
public Result listBuildingSiteByPoints(double longitude,double latitude,Integer radius){
|
public Result listBuildingSiteByPoints(double longitude,double latitude,Integer radius){
|
||||||
List<BuildingSite> list = new ArrayList<>();
|
List<BuildingSite> list;
|
||||||
list = buildingSitrService.listBuildingSiteByPoints(longitude,latitude,radius);
|
list = buildingSitrService.listBuildingSiteByPoints(longitude,latitude,radius);
|
||||||
return Result.success(list);
|
return Result.success(list);
|
||||||
}
|
}
|
||||||
|
@ -580,8 +554,7 @@ public class Controller {
|
||||||
@ApiOperation("查询全部工地信息")
|
@ApiOperation("查询全部工地信息")
|
||||||
public Result selectBuildSite(){
|
public Result selectBuildSite(){
|
||||||
List<BuildingSite> buildingSites = buildingSiteMapper.selectBuildSite();
|
List<BuildingSite> buildingSites = buildingSiteMapper.selectBuildSite();
|
||||||
Result success = Result.success(buildingSites);
|
return Result.success(buildingSites);
|
||||||
return success;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************2022/07/13 ytl修改视频资源 start********************************************/
|
/******************************2022/07/13 ytl修改视频资源 start********************************************/
|
||||||
|
@ -598,13 +571,9 @@ public class Controller {
|
||||||
if (parentId == null){
|
if (parentId == null){
|
||||||
parentId = "";
|
parentId = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
//List<CameraOrganization> organs = cameraOrgenMapper.selectSubOrganization(parentId);
|
|
||||||
List<Map> maps = monitorService.selectSubOrganizationNew(parentId);
|
List<Map> maps = monitorService.selectSubOrganizationNew(parentId);
|
||||||
|
|
||||||
Result success = Result.success(maps);
|
return Result.success(maps);
|
||||||
|
|
||||||
return success;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -640,23 +609,19 @@ public class Controller {
|
||||||
list1 = Arrays.asList(labelCodes);
|
list1 = Arrays.asList(labelCodes);
|
||||||
}
|
}
|
||||||
//查询当前地区及下级地区的id,组成list,2022-07-14,ytl
|
//查询当前地区及下级地区的id,组成list,2022-07-14,ytl
|
||||||
List<Map> orgenIds = new ArrayList<>();
|
|
||||||
String path = "";
|
String path = "";
|
||||||
if(queryMap.get("parentId") != null && StringUtils.isNotBlank(queryMap.get("parentId").toString())){
|
if(queryMap.get("parentId") != null && StringUtils.isNotBlank(queryMap.get("parentId").toString())){
|
||||||
//根据parentId获取地区表中的path
|
//根据parentId获取地区表中的path
|
||||||
Map parentId = cameraOrgenMapper.selectOrgenizationById(queryMap.get("parentId").toString());
|
Map parentId = cameraOrgenMapper.selectOrgenizationById(queryMap.get("parentId").toString());
|
||||||
path = parentId.get("path").toString();
|
path = parentId.get("path").toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Map> list = cameraChannelMapper.selectByParentIdNew(queryMap, list1,path);
|
List<Map> list = cameraChannelMapper.selectByParentIdNew(queryMap, list1,path);
|
||||||
|
|
||||||
Result success = Result.success(list);
|
Result success = Result.success(list);
|
||||||
success.setCount(cameraChannelMapper.selectByParentIdCountNew(queryMap, list1,path));
|
success.setCount(cameraChannelMapper.selectByParentIdCountNew(queryMap, list1,path));
|
||||||
return success;
|
return success;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 摄像头按照市区进行聚合查询
|
* 摄像头按照市区进行聚合查询
|
||||||
*/
|
*/
|
||||||
|
@ -670,29 +635,32 @@ public class Controller {
|
||||||
* 保存区域信息
|
* 保存区域信息
|
||||||
*/
|
*/
|
||||||
@GetMapping("/saveOrgenization")
|
@GetMapping("/saveOrgenization")
|
||||||
public Result saveOrgenization() throws Exception{
|
public Result saveOrgenization() {
|
||||||
List<JSONObject> orgenizationByPage = monitorService.getOrgenization(new ArrayList<JSONObject>());
|
List<JSONObject> orgenizationByPage = monitorService.getOrgenization(new ArrayList<>());
|
||||||
List<Map> maps = JSONObject.parseArray(JSONObject.toJSONString(orgenizationByPage), Map.class);
|
List<Map> maps = JSON.parseArray(JSON.toJSONString(orgenizationByPage), Map.class);
|
||||||
if(maps.size() > 0){
|
if(!maps.isEmpty()){
|
||||||
List<List<Map>> lists = Lists.partition(maps,100);
|
List<List<Map>> lists = Lists.partition(maps,100);
|
||||||
lists.forEach(list->{
|
lists.forEach(list-> cameraOrgenMapper.batchSaveOrgenization(list));
|
||||||
cameraOrgenMapper.batchSaveOrgenization(list);
|
|
||||||
});
|
|
||||||
|
|
||||||
//修改path 信息
|
//修改path 信息
|
||||||
List<Map> maps2 = cameraOrgenMapper.testAll();
|
List<Map> maps2 = cameraOrgenMapper.testAll();
|
||||||
maps2.forEach(map->{
|
maps2.forEach(map-> monitorService.setOrganizationPath(map,map.get("parent_id").toString()));
|
||||||
monitorService.setOrganizationPath(map,map.get("parent_id").toString());
|
|
||||||
});
|
|
||||||
|
|
||||||
maps2.forEach(m->{
|
maps2.forEach(m-> cameraOrgenMapper.updateOrganizationPaht(m.get("path").toString(),m.get("id").toString()));
|
||||||
cameraOrgenMapper.updateOrganizationPaht(m.get("path").toString(),m.get("id").toString());
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return Result.success();
|
return Result.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 事件版的保存区域组织信息
|
||||||
|
*/
|
||||||
|
@GetMapping("/saveOrgenizationEvent")
|
||||||
|
public Result saveOrgenizationEvent() throws Exception{
|
||||||
|
monitorService.getAndSaveOrgenization();
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存通道信息多线程版
|
* 保存通道信息多线程版
|
||||||
* @return
|
* @return
|
||||||
|
@ -703,5 +671,14 @@ public class Controller {
|
||||||
return Result.success("成功收到指令,请耐心等待");
|
return Result.success("成功收到指令,请耐心等待");
|
||||||
}
|
}
|
||||||
/******************************2022/07/13 ytl修改视频资源 end********************************************/
|
/******************************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.dto.ChannelLabelDto;
|
||||||
import io.renren.modules.monitor.entity.CameraChannel;
|
import io.renren.modules.monitor.entity.CameraChannel;
|
||||||
import io.renren.modules.monitor.entity.Label;
|
import io.renren.modules.monitor.entity.Label;
|
||||||
|
import org.apache.ibatis.annotations.Delete;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
import org.springframework.security.core.parameters.P;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -71,4 +73,17 @@ public interface CameraChannelMapper extends BaseDao<CameraChannel> {
|
||||||
List<Map> selectChannelNumByRegion();
|
List<Map> selectChannelNumByRegion();
|
||||||
|
|
||||||
void batchSaveMtmLabel(@Param("list") List<Map<String,Object>> list);
|
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);
|
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);
|
Map selectOrgenizationById(@Param("id") String id);
|
||||||
|
|
||||||
@Update("UPDATE t_camera_organization SET path = TRIM( TRAILING '->' FROM #{path}) where id = #{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 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")
|
@Select(" SELECT id FROM t_camera_organization")
|
||||||
List<Map> listOrgenization();
|
List<Map> listOrgenization();
|
||||||
|
|
||||||
@Select(" SELECT name FROM t_camera_organization where substring(id,5) = #{idPart} and left(id,3) = '006'")
|
@Select(" SELECT name FROM t_camera_organization where substring(id,5) = #{idPart} and left(id,3) = '006'")
|
||||||
String getNameByidPart(@Param("idPart")String idPart);
|
String getNameByidPart(@Param("idPart")String idPart);
|
||||||
|
|
||||||
@Update("UPDATE t_camera_organization SET COUNT = COUNT + 1 WHERE id = #{id}")
|
// @Update("UPDATE t_camera_organization SET COUNT = COUNT + 1 WHERE id = #{id}")
|
||||||
void updateOrganizationCount(@Param("id") String id);
|
// void updateOrganizationCount(@Param("id") String id);
|
||||||
|
|
||||||
void batchSaveCameraChannel(List<Map> list);
|
void batchSaveCameraChannel(List<Map> list);
|
||||||
|
|
||||||
@Select("select * from t_camera_organization")
|
@Select("select * from t_camera_organization")
|
||||||
List<Map> testAll();
|
List<Map> testAll();
|
||||||
|
|
||||||
|
List<Map> selectAll();
|
||||||
|
|
||||||
@Update("truncate table ${tableName}")
|
@Update("truncate table ${tableName}")
|
||||||
void truncate(@Param("tableName") String 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();
|
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);
|
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();
|
void updateRegionChannelCount();
|
||||||
|
|
||||||
@Select(" SELECT id FROM t_camera_organization WHERE orgaid >(SELECT a.orgaid FROM t_camera_organization a INNER JOIN \n" +
|
// @Select(" SELECT id FROM t_camera_organization WHERE orgaid >(SELECT a.orgaid FROM t_camera_organization a INNER JOIN \n" +
|
||||||
"\t(\n" +
|
// "\t(\n" +
|
||||||
"\t\tSELECT parent_id FROM t_camera_channel ORDER BY idt_camera_channel desc LIMIT 1\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" +
|
// "\t) b ON a.id = b.parent_id \n" +
|
||||||
") ORDER BY orgaid ASC ")
|
// ") ORDER BY orgaid ASC ")
|
||||||
List<Map> listOrgenization2();
|
// List<Map> listOrgenization2();
|
||||||
|
|
||||||
|
void insertOrganizationCacheToCameraOrganization();
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package io.renren.modules.monitor.service;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import io.renren.modules.monitor.dto.CameraChannelDto;
|
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.mapper.CameraChannelMapper;
|
||||||
import io.renren.modules.monitor.utils.EhcacheUtil;
|
import io.renren.modules.monitor.utils.EhcacheUtil;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
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.stereotype.Service;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author admin
|
* @author admin
|
||||||
|
@ -38,4 +39,25 @@ public class CameraChannelService {
|
||||||
return list;
|
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 com.google.common.collect.Lists;
|
||||||
import io.renren.modules.monitor.dto.ChannelLabelDto;
|
import io.renren.modules.monitor.dto.ChannelLabelDto;
|
||||||
import io.renren.modules.monitor.entity.*;
|
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 io.renren.modules.monitor.mapper.*;
|
||||||
import lombok.extern.log4j.Log4j2;
|
import lombok.extern.log4j.Log4j2;
|
||||||
import org.bytedeco.javacv.FFmpegFrameGrabber;
|
import org.bytedeco.javacv.FFmpegFrameGrabber;
|
||||||
|
@ -15,12 +17,16 @@ import org.bytedeco.javacv.Frame;
|
||||||
import org.bytedeco.javacv.Java2DFrameConverter;
|
import org.bytedeco.javacv.Java2DFrameConverter;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.context.ApplicationEventPublisher;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.http.*;
|
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.jdbc.core.JdbcTemplate;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.Base64Utils;
|
import org.springframework.util.Base64Utils;
|
||||||
import org.springframework.util.LinkedMultiValueMap;
|
import org.springframework.util.LinkedMultiValueMap;
|
||||||
import org.springframework.util.MultiValueMap;
|
import org.springframework.util.MultiValueMap;
|
||||||
|
@ -35,6 +41,7 @@ import java.awt.image.BufferedImage;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.nio.charset.Charset;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.ZoneOffset;
|
import java.time.ZoneOffset;
|
||||||
|
@ -44,6 +51,7 @@ import java.util.*;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Log4j2
|
@Log4j2
|
||||||
|
@ -51,6 +59,9 @@ public class MonitorService {
|
||||||
private static Integer cpuNUm = Runtime.getRuntime().availableProcessors();
|
private static Integer cpuNUm = Runtime.getRuntime().availableProcessors();
|
||||||
private static final ExecutorService executor = Executors.newFixedThreadPool(cpuNUm);
|
private static final ExecutorService executor = Executors.newFixedThreadPool(cpuNUm);
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ApplicationEventPublisher publisher;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private RestTemplate restTemplate;
|
private RestTemplate restTemplate;
|
||||||
|
|
||||||
|
@ -1129,24 +1140,73 @@ public class MonitorService {
|
||||||
return Result.success(maps);
|
return Result.success(maps);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<JSONObject> getOrgenization(List<JSONObject> list){
|
//以此作为获取视频资源的开始,获取地区和组织信息
|
||||||
try {
|
public void getAndSaveOrgenization(){
|
||||||
List<JSONObject> list1 = this.getOrgenizationRoot();
|
List<JSONObject> orgenizationByPage = this.getOrgenization(new ArrayList<JSONObject>(10000));
|
||||||
list.addAll(list1);
|
if(orgenizationByPage != null && orgenizationByPage.size() > 0){
|
||||||
list1.forEach(a->{
|
cameraOrgenMapper.truncate("t_camera_organization_cache");
|
||||||
if(a.getBooleanValue("isParent")){
|
List<Map> maps = JSONObject.parseArray(JSONObject.toJSONString(orgenizationByPage), Map.class);
|
||||||
getOrgenizationByParent(list,a.getString("id"));
|
if(maps.size() > 0){
|
||||||
}
|
List<List<Map>> lists = Lists.partition(maps,100);
|
||||||
|
lists.forEach(list->{
|
||||||
|
cameraOrgenMapper.batchSaveOrgenization(list);
|
||||||
});
|
});
|
||||||
return list;
|
|
||||||
}catch (Exception e){
|
//修改path 信息
|
||||||
log.info(e.getMessage());
|
List<Map> maps2 = cameraOrgenMapper.selectAll();
|
||||||
return null;
|
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<>();
|
List<JSONObject> list = new ArrayList<>();
|
||||||
String url = monitorDomain + "/videoService/devicesManager/deviceTree?id=&nodeType=1&typeCode=01&page=1&pageSize=3000";
|
String url = monitorDomain + "/videoService/devicesManager/deviceTree?id=&nodeType=1&typeCode=01&page=1&pageSize=3000";
|
||||||
HttpHeaders headers = new HttpHeaders();
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
@ -1161,7 +1221,7 @@ public class MonitorService {
|
||||||
}
|
}
|
||||||
|
|
||||||
//组织递归根据父ID查,简化了分页
|
//组织递归根据父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();
|
HttpHeaders headers = new HttpHeaders();
|
||||||
headers.add("X-Subject-Token",token);
|
headers.add("X-Subject-Token",token);
|
||||||
String url;
|
String url;
|
||||||
|
@ -1175,13 +1235,14 @@ public class MonitorService {
|
||||||
|
|
||||||
responseEntity = restTemplate.exchange(url, HttpMethod.GET,httpEntity,JSONObject.class);
|
responseEntity = restTemplate.exchange(url, HttpMethod.GET,httpEntity,JSONObject.class);
|
||||||
JSONObject re = responseEntity.getBody();
|
JSONObject re = responseEntity.getBody();
|
||||||
|
|
||||||
if(re.getIntValue("totalCount")>0){
|
if(re.getIntValue("totalCount")>0){
|
||||||
JSONArray results = re.getJSONArray("results");
|
JSONArray results = re.getJSONArray("results");
|
||||||
List<JSONObject> jsonObjects = results.toJavaList(JSONObject.class);
|
List<JSONObject> jsonObjects = results.toJavaList(JSONObject.class);
|
||||||
list.addAll(jsonObjects);
|
list.addAll(jsonObjects);
|
||||||
jsonObjects.forEach(js->{
|
jsonObjects.forEach(js->{
|
||||||
if(js.getBooleanValue("isParent")){
|
if(js.getBooleanValue("isParent")){
|
||||||
getOrgenizationByParent(list,js.getString("id"));
|
getOrgenizationByParent(list, js.getString("id"), restTemplate);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1200,83 +1261,61 @@ public class MonitorService {
|
||||||
}
|
}
|
||||||
|
|
||||||
//保存通道信息
|
//保存通道信息
|
||||||
public Result saveChannelInfo() throws Exception {
|
// public Result saveChannelInfo() throws Exception {
|
||||||
List<Map> orgenList = cameraOrgenMapper.listOrgenization();
|
// List<Map> orgenList = cameraOrgenMapper.listOrgenization();
|
||||||
for(Map m:orgenList){
|
// for(Map m:orgenList){
|
||||||
List<Map> cameChannels = getChannelInfo(m.get("id").toString());
|
// List<Map> cameChannels = getChannelInfo(m.get("id").toString());
|
||||||
List<Map> needSave = new ArrayList<>();
|
// List<Map> needSave = new ArrayList<>();
|
||||||
if(cameChannels.size() > 0){
|
// if(cameChannels.size() > 0){
|
||||||
boolean flag = false;
|
// boolean flag = false;
|
||||||
for(Map j:cameChannels){
|
// for(Map j:cameChannels){
|
||||||
if(Integer.parseInt(j.get("nodeType").toString()) ==3){
|
// if(Integer.parseInt(j.get("nodeType").toString()) ==3){
|
||||||
flag = true;
|
// flag = true;
|
||||||
String channelSn = j.get("channelSn").toString();
|
// String channelSn = j.get("channelSn").toString();
|
||||||
String channelOrngin = channelSn.substring(0,6);
|
// String channelOrngin = channelSn.substring(0,6);
|
||||||
String deptName = cameraOrgenMapper.getNameByidPart(channelOrngin);
|
// String deptName = cameraOrgenMapper.getNameByidPart(channelOrngin);
|
||||||
j.put("regionName",deptName);
|
// j.put("regionName",deptName);
|
||||||
j.put("regionCode",channelOrngin);
|
// j.put("regionCode",channelOrngin);
|
||||||
j.put("parentId",m.get("id").toString());
|
// j.put("parentId",m.get("id").toString());
|
||||||
j.put("nodeName","");
|
// j.put("nodeName","");
|
||||||
needSave.add(j);
|
// needSave.add(j);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
if(!flag){//更新count字段
|
// if(!flag){//更新count字段
|
||||||
cameraOrgenMapper.updateOrganizationCount(m.get("id").toString());
|
// cameraOrgenMapper.updateOrganizationCount(m.get("id").toString());
|
||||||
}
|
// }
|
||||||
}else{//更新count字段
|
// }else{//更新count字段
|
||||||
cameraOrgenMapper.updateOrganizationCount(m.get("id").toString());
|
// cameraOrgenMapper.updateOrganizationCount(m.get("id").toString());
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
needSave.forEach(map->setNodeName(map,map.get("parentId").toString()));
|
// needSave.forEach(map->setNodeName(map,map.get("parentId").toString()));
|
||||||
//保存并更新count字段
|
// //保存并更新count字段
|
||||||
if(needSave.size() > 0){
|
// if(needSave.size() > 0){
|
||||||
List<List<Map>> partition = Lists.partition(needSave, 100);
|
// List<List<Map>> partition = Lists.partition(needSave, 100);
|
||||||
partition.forEach(list->{
|
// partition.forEach(list->{
|
||||||
cameraOrgenMapper.batchSaveCameraChannel(list);
|
// cameraOrgenMapper.batchSaveCameraChannel(list);
|
||||||
});
|
// });
|
||||||
cameraOrgenMapper.updateOrganizationCount(m.get("id").toString());
|
// cameraOrgenMapper.updateOrganizationCount(m.get("id").toString());
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
return Result.success();
|
// return Result.success();
|
||||||
}
|
// }
|
||||||
|
|
||||||
//根据组织id获取通道信息
|
|
||||||
public List<Map> getChannelInfo(String orgenId) 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);
|
|
||||||
ResponseEntity<JSONObject> responseEntity = null;
|
|
||||||
|
|
||||||
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);
|
|
||||||
return results;
|
|
||||||
}
|
|
||||||
|
|
||||||
//查询nodename
|
|
||||||
public void setNodeName(Map map,String id){
|
|
||||||
Map map2 = cameraOrgenMapper.selectOrgenizationById(id);
|
|
||||||
if(map2 != null){
|
|
||||||
String nodeName = map2.get("name").toString();
|
|
||||||
String newNodeName = nodeName + "->" + (map.get("nodeName")==null?"":map.get("nodeName").toString());
|
|
||||||
map.put("nodeName",newNodeName);
|
|
||||||
setNodeName(map,map2.get("parent_id").toString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//2、获取视频通道信息并保存,多线程版
|
//2、获取视频通道信息并保存,多线程版
|
||||||
@Async
|
|
||||||
public void saveChannelInfoAsync() throws Exception {
|
public void saveChannelInfoAsync() throws Exception {
|
||||||
|
RestTemplate restTemplate = this.getRestTemplate();
|
||||||
|
AtomicInteger faulseCount = new AtomicInteger();//失败的次数
|
||||||
//1-清空t_camera_channel
|
//1-清空t_camera_channel
|
||||||
cameraOrgenMapper.truncate("t_camera_channel");
|
cameraOrgenMapper.truncate("t_camera_channel_cache");
|
||||||
|
Thread.sleep(1500);
|
||||||
//2-创建线程池
|
//2-查询全部地区
|
||||||
ExecutorService executorService = Executors.newFixedThreadPool(20);//20个线程足够
|
//List<Map> maps = cameraOrgenMapper.testAll();
|
||||||
|
List<Map> maps = cameraOrgenMapper.selectAll();
|
||||||
//3-查询全部地区
|
if (maps != null && maps.size() > 0){
|
||||||
List<Map> maps = cameraOrgenMapper.testAll();
|
|
||||||
List<List<Map>> lists = Lists.partition(maps, 1000);
|
List<List<Map>> lists = Lists.partition(maps, 1000);
|
||||||
|
//3-创建线程池
|
||||||
|
ExecutorService executorService;
|
||||||
|
executorService = Executors.newFixedThreadPool(lists.size() + 1);
|
||||||
|
|
||||||
List<CompletableFuture> completableFutureLis = new ArrayList<>();
|
List<CompletableFuture> completableFutureLis = new ArrayList<>();
|
||||||
lists.forEach(l->{
|
lists.forEach(l->{
|
||||||
|
@ -1293,16 +1332,28 @@ public class MonitorService {
|
||||||
//4-根据地区id去查询视频通道信息
|
//4-根据地区id去查询视频通道信息
|
||||||
List<Map> cameraChannels = new ArrayList<>();
|
List<Map> cameraChannels = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
cameraChannels = getChannelInfo(m.get("id").toString());
|
cameraChannels = getChannelInfo(m.get("id").toString(),restTemplate);
|
||||||
|
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.info("根据地区id:{}查询视频通道失败,这是第{}次重试",m.get("id").toString(),tryCount);
|
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;
|
continue;
|
||||||
}
|
}
|
||||||
//5-保存视频通道信息
|
//5-保存视频通道信息
|
||||||
batchSaveChannelInfos(cameraChannels,m.get("id").toString());
|
batchSaveChannelInfos(cameraChannels,m.get("id").toString());
|
||||||
//6-更新地区表的count
|
|
||||||
cameraOrgenMapper.updateOrganizationCount(m.get("id").toString());
|
|
||||||
flag = false;
|
flag = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1310,36 +1361,49 @@ public class MonitorService {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
executorService.shutdown();
|
||||||
CompletableFuture.allOf(completableFutureLis.toArray(new CompletableFuture[completableFutureLis.size()])).join();
|
CompletableFuture.allOf(completableFutureLis.toArray(new CompletableFuture[completableFutureLis.size()])).join();
|
||||||
|
|
||||||
//6-更新完通道信息后,查询地区下通道的数量并更新到地区表和市区表中
|
//6-更新完通道信息后,删除经度或纬度为空的视频通道信息
|
||||||
|
cameraChannelMapper.deleteByNonPlace();
|
||||||
|
|
||||||
|
//7-查询地区下通道的数量并更新到地区cache表中
|
||||||
editChannelCount();
|
editChannelCount();
|
||||||
|
|
||||||
//7-同步武伟达的t_channel_mtm_label数据
|
//发布事件
|
||||||
synchronizeMtmLabel();
|
publisher.publishEvent(new SaveCameraChannelEndEvent(this,true));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//同步武伟达的t_channel_mtm_label数据
|
//根据组织id获取通道信息
|
||||||
public void synchronizeMtmLabel(){
|
public List<Map> getChannelInfo(String orgenId,RestTemplate restTemplate) throws Exception{
|
||||||
DruidDataSource druidDataSource = new DruidDataSource();
|
String url = monitorDomain +"/videoService/devicesManager/deviceTree?nodeType=1&typeCode=01;0;ALL;ALL&page=1&pageSize=3000&id="+orgenId;
|
||||||
druidDataSource.setUrl(jdbcUrl);
|
HttpHeaders headers = new HttpHeaders();
|
||||||
druidDataSource.setDriverClassName(jdbcDriverClassName);
|
headers.add("X-Subject-Token",token);
|
||||||
druidDataSource.setUsername(jdbcUserName);
|
ResponseEntity<JSONObject> responseEntity = null;
|
||||||
druidDataSource.setPassword(jdbcPassWord);
|
|
||||||
jdbcTemplate.setDataSource(druidDataSource);
|
|
||||||
|
|
||||||
List<Map<String, Object>> maps = jdbcTemplate.queryForList("select * from t_channel_mtm_label");
|
HttpEntity<Map> httpEntity = new HttpEntity<>(null, headers);
|
||||||
if(maps.size() > 0){
|
responseEntity = restTemplate.exchange(url, HttpMethod.GET,httpEntity,JSONObject.class);
|
||||||
//清空t_channel_mtm_label
|
JSONObject re = responseEntity.getBody();
|
||||||
cameraOrgenMapper.truncate("t_channel_mtm_label");
|
List<Map> results = new ArrayList<>();
|
||||||
List<List<Map<String, Object>>> partition = Lists.partition(maps, 200);
|
if(re.getJSONArray("results") != null){
|
||||||
partition.forEach(list->{
|
results = re.getJSONArray("results").toJavaList(Map.class);
|
||||||
cameraChannelMapper.batchSaveMtmLabel(list);
|
}else{
|
||||||
});
|
log.info("根据组织id:{}获取摄像头信息失败,失败原因:{}",orgenId,re.toJSONString());
|
||||||
|
}
|
||||||
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//查询nodename
|
||||||
|
public void setNodeName(Map map,String id){
|
||||||
|
Map map2 = cameraOrgenMapper.selectOrgenizationById(id);
|
||||||
|
if(map2 != null){
|
||||||
|
String nodeName = map2.get("name").toString();
|
||||||
|
String newNodeName = nodeName + "->" + (map.get("nodeName")==null?"":map.get("nodeName").toString());
|
||||||
|
map.put("nodeName",newNodeName);
|
||||||
|
setNodeName(map,map2.get("parent_id").toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//单独保存视频通道信息
|
//单独保存视频通道信息
|
||||||
public void batchSaveChannelInfos(List<Map> list,String parentId){
|
public void batchSaveChannelInfos(List<Map> list,String parentId){
|
||||||
|
@ -1360,25 +1424,22 @@ public class MonitorService {
|
||||||
needSave.add(j);
|
needSave.add(j);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{//更新count字段
|
|
||||||
cameraOrgenMapper.updateOrganizationCount(parentId);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//修改nodeName
|
//修改nodeName
|
||||||
needSave.forEach(map->setNodeName(map,map.get("parentId").toString()));
|
needSave.forEach(map->setNodeName(map,map.get("parentId").toString()));
|
||||||
//保存并更新count字段
|
//保存
|
||||||
if(needSave.size() > 0){
|
if(needSave.size() > 0){
|
||||||
List<List<Map>> partition = Lists.partition(needSave, 100);
|
List<List<Map>> partition = Lists.partition(needSave, 100);
|
||||||
partition.forEach(l->{
|
partition.forEach(l->{
|
||||||
cameraOrgenMapper.batchSaveCameraChannel(l);
|
cameraOrgenMapper.batchSaveCameraChannel(l);
|
||||||
});
|
});
|
||||||
cameraOrgenMapper.updateOrganizationCount(parentId);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//更新完通道信息后,查询地区下通道的数量并更新到地区表中和市区表中
|
//更新完通道信息后,查询组织下通道的数量并更新到组织表中
|
||||||
public void editChannelCount() throws Exception{
|
public void editChannelCount() throws Exception{
|
||||||
//1-更新地区表中的每个地区下channelCount
|
//更新地区表中的每个地区下channelCount
|
||||||
List<Map> maps = cameraOrgenMapper.selectAllSubOrganizationMap();
|
List<Map> maps = cameraOrgenMapper.selectAllSubOrganizationMap();
|
||||||
if(maps.size() > 0){
|
if(maps.size() > 0){
|
||||||
for(int i=0;i< maps.size();i++){
|
for(int i=0;i< maps.size();i++){
|
||||||
|
@ -1388,10 +1449,60 @@ public class MonitorService {
|
||||||
cameraOrgenMapper.editChannelCount(count,orgaid);
|
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){
|
public List<Map> listChildOrgenIds(String id){
|
||||||
Map orgenNow = cameraOrgenMapper.selectOrgenizationById(id);
|
Map orgenNow = cameraOrgenMapper.selectOrgenizationById(id);
|
||||||
List<Map> childs = new ArrayList<>();
|
List<Map> childs = new ArrayList<>();
|
||||||
|
@ -1399,7 +1510,6 @@ public class MonitorService {
|
||||||
String path = orgenNow.get("path").toString();
|
String path = orgenNow.get("path").toString();
|
||||||
childs = cameraOrgenMapper.selectSubOrganizationMapByPath(id);
|
childs = cameraOrgenMapper.selectSubOrganizationMapByPath(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
return childs;
|
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 springfox.documentation.annotations.ApiIgnore;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通知管理
|
* 通知管理
|
||||||
*
|
*
|
||||||
|
@ -141,7 +141,8 @@ public class SysNoticeController {
|
||||||
public Result save(@RequestBody SysNoticeDTO dto) {
|
public Result save(@RequestBody SysNoticeDTO dto) {
|
||||||
//效验数据
|
//效验数据
|
||||||
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
|
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
|
||||||
|
dto.setCreator(SecurityUser.getUser().getId());
|
||||||
|
dto.setCreateDate(new Date());
|
||||||
sysNoticeService.save(dto);
|
sysNoticeService.save(dto);
|
||||||
|
|
||||||
return new Result();
|
return new Result();
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package io.renren.modules.notice.entity;
|
package io.renren.modules.notice.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import io.renren.common.entity.BaseEntity;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
@ -14,9 +15,26 @@ import java.util.Date;
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
@TableName("sys_notice")
|
@TableName("sys_notice")
|
||||||
public class SysNoticeEntity extends BaseEntity {
|
public class SysNoticeEntity {
|
||||||
private static final long serialVersionUID = 1L;
|
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;
|
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.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import io.renren.common.constant.Constant;
|
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.WebSocketServer;
|
||||||
import io.renren.websocket.data.MessageData;
|
import io.renren.websocket.data.MessageData;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
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.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.jdbc.core.JdbcTemplate;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
@ -29,18 +34,25 @@ import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
import java.util.concurrent.ExecutorService;
|
||||||
|
import java.util.concurrent.Executors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通知管理
|
* 通知管理
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class SysNoticeServiceImpl extends CrudServiceImpl<SysNoticeDao, SysNoticeEntity, SysNoticeDTO> implements SysNoticeService {
|
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
|
@Autowired
|
||||||
private SysNoticeUserService sysNoticeUserService;
|
private SysNoticeUserService sysNoticeUserService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SysUserService sysUserService;
|
private SysUserService sysUserService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private WebSocketServer webSocketServer;
|
private WebSocketServer webSocketServer;
|
||||||
|
@Autowired
|
||||||
|
private JdbcTemplate jdbcTemplate;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public QueryWrapper<SysNoticeEntity> getWrapper(Map<String, Object> params) {
|
public QueryWrapper<SysNoticeEntity> getWrapper(Map<String, Object> params) {
|
||||||
|
@ -86,21 +98,33 @@ public class SysNoticeServiceImpl extends CrudServiceImpl<SysNoticeDao, SysNotic
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void save(SysNoticeDTO dto) {
|
public void save(SysNoticeDTO dto) {
|
||||||
SysNoticeEntity entity = ConvertUtils.sourceToTarget(dto, SysNoticeEntity.class);
|
SysNoticeEntity entity = ConvertUtils.sourceToTarget(dto, SysNoticeEntity.class);
|
||||||
|
try {
|
||||||
if (StringUtils.isEmpty(entity.getFrom())) {
|
if (StringUtils.isEmpty(entity.getFrom())) {
|
||||||
entity.setFrom("其它"); // 站内信通知来源 (通知、评论、其它)
|
entity.setFrom("其它"); // 站内信通知来源 (通知、评论、其它)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (entity.getCreator() == null) {
|
||||||
|
entity.setCreator(0L);
|
||||||
|
}
|
||||||
|
|
||||||
//更新发送者信息
|
//更新发送者信息
|
||||||
if (dto.getStatus() == NoticeStatusEnum.SEND.value() && StringUtils.isEmpty(dto.getSenderName())) {
|
if (dto.getStatus() == NoticeStatusEnum.SEND.value() && StringUtils.isEmpty(dto.getSenderName())) {
|
||||||
entity.setSenderName(SecurityUser.getUser().getRealName());
|
entity.setSenderName(SecurityUser.getUser().getRealName());
|
||||||
entity.setSenderDate(new Date());
|
entity.setSenderDate(new Date());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
baseDao.insert(entity);
|
baseDao.insert(entity);
|
||||||
|
} catch (UnknownSessionException unknownSessionException) {
|
||||||
|
logger.info("发送站内信shiro异常 " + JSON.toJSONString(entity), unknownSessionException);
|
||||||
|
}
|
||||||
|
|
||||||
//发送通知
|
//发送通知
|
||||||
dto.setId(entity.getId());
|
dto.setId(entity.getId());
|
||||||
sendNotice(dto);
|
sendNotice(dto);
|
||||||
|
} catch (Exception exception) {
|
||||||
|
logger.error("发送站内信异常 " + JSON.toJSONString(entity), exception);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -131,12 +155,14 @@ public class SysNoticeServiceImpl extends CrudServiceImpl<SysNoticeDao, SysNotic
|
||||||
|
|
||||||
//全部用户
|
//全部用户
|
||||||
if (notice.getReceiverType() == ReceiverTypeEnum.ALL.value()) {
|
if (notice.getReceiverType() == ReceiverTypeEnum.ALL.value()) {
|
||||||
|
CompletableFuture.runAsync(() -> {
|
||||||
//发送给全部用户
|
//发送给全部用户
|
||||||
sendAllUser(notice);
|
sendAllUser(notice);
|
||||||
|
}, executor).thenRunAsync(() -> {
|
||||||
//通过WebSocket,提示全部用户,有新通知
|
//通过WebSocket,提示全部用户,有新通知
|
||||||
MessageData<String> message = new MessageData<String>().msg(notice.getTitle());
|
MessageData<String> message = new MessageData<String>().msg(notice.getTitle());
|
||||||
webSocketServer.sendMessageAll(message);
|
webSocketServer.sendMessageAll(message);
|
||||||
|
}, executor);
|
||||||
|
|
||||||
} else { //选中用户
|
} else { //选中用户
|
||||||
List<Long> userIdList = new ArrayList<>();
|
List<Long> userIdList = new ArrayList<>();
|
||||||
|
@ -152,12 +178,14 @@ public class SysNoticeServiceImpl extends CrudServiceImpl<SysNoticeDao, SysNotic
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//发送给选中用户
|
List<Long> finalUserIdList = userIdList;
|
||||||
sendUser(notice, userIdList);
|
CompletableFuture.runAsync(() -> {
|
||||||
|
sendUser(notice, finalUserIdList);
|
||||||
|
}, executor).thenRunAsync(() -> {
|
||||||
//通过WebSocket,提示选中用户,有新通知
|
//通过WebSocket,提示选中用户,有新通知
|
||||||
MessageData<String> message = new MessageData<String>().msg(notice.getTitle());
|
MessageData<String> message = new MessageData<String>().msg(notice.getTitle());
|
||||||
webSocketServer.sendMessage(userIdList, message);
|
webSocketServer.sendMessage(finalUserIdList, message);
|
||||||
|
}, executor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -93,7 +93,7 @@ public class TAbilityApplicationController {
|
||||||
@ApiImplicitParam(name = "resourceId", value = "资源id", paramType = "query", dataType = "String")
|
@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);
|
PageData<TAbilityApplicationDTO> page = tAbilityApplicationService.page(params);
|
||||||
return new Result<PageData<TAbilityApplicationDTO>>().ok(page);
|
return new Result<PageData<TAbilityApplicationDTO>>().ok(page);
|
||||||
}
|
}
|
||||||
|
@ -225,10 +225,12 @@ public class TAbilityApplicationController {
|
||||||
if (StringUtils.isEmpty(index_.getCameraList())) {
|
if (StringUtils.isEmpty(index_.getCameraList())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
List<CameraChannelDto1> channelDto1s = cameraChannelMapper.selectByChannelCode(index_.getCameraList().replaceAll("\"", ""));
|
cameraList.add(JSON.parseObject(index_.getCameraList()));
|
||||||
if (!channelDto1s.isEmpty()) {
|
//
|
||||||
cameraList.add(channelDto1s.get(0));
|
//List<CameraChannelDto1> channelDto1s = cameraChannelMapper.selectByChannelCode(index_.getCameraList().replaceAll("\"", ""));
|
||||||
}
|
//if (!channelDto1s.isEmpty()) {
|
||||||
|
// cameraList.add(channelDto1s.get(0));
|
||||||
|
//}
|
||||||
});
|
});
|
||||||
camera = cameraList;
|
camera = cameraList;
|
||||||
|
|
||||||
|
@ -238,12 +240,13 @@ public class TAbilityApplicationController {
|
||||||
put("instanceId", tAbilityApplicationDTOList.get(0).getInstanceId()); // 流程id
|
put("instanceId", tAbilityApplicationDTOList.get(0).getInstanceId()); // 流程id
|
||||||
put("resourceOwnerDept", tAbilityApplicationDTOList.get(0).getResourceOwnerDept()); // 资源所属部门信息
|
put("resourceOwnerDept", tAbilityApplicationDTOList.get(0).getResourceOwnerDept()); // 资源所属部门信息
|
||||||
put("resources", resourceDTOS);//申请的该部门的能力资源
|
put("resources", resourceDTOS);//申请的该部门的能力资源
|
||||||
if (tAbilityApplicationDTOList.get(0).getApplyFlag().equals("通过")) {
|
if (tAbilityApplicationDTOList.get(0).getApproveStatus().equals("审核中")) {
|
||||||
put("ended", true);
|
|
||||||
} else {
|
|
||||||
put("ended", false);
|
put("ended", false);
|
||||||
|
} else {
|
||||||
|
put("ended", true);
|
||||||
}
|
}
|
||||||
put("taskHandleDetailInfo", taskHandleDetailInfo); // 流程详情
|
put("taskHandleDetailInfo", taskHandleDetailInfo); // 流程详情
|
||||||
|
put("approveStatus", tAbilityApplicationDTOList.get(0).getApproveStatus());
|
||||||
if (!finalCamera.isEmpty()) {
|
if (!finalCamera.isEmpty()) {
|
||||||
put("camera", finalCamera); // 流程详情
|
put("camera", finalCamera); // 流程详情
|
||||||
}
|
}
|
||||||
|
@ -258,6 +261,10 @@ public class TAbilityApplicationController {
|
||||||
return sysDeptDTO.getName();
|
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);
|
tAbilityApplicationV2DTO.setResourceApplication(re);
|
||||||
return new Result<TAbilityApplicationV2DTO>().ok(tAbilityApplicationV2DTO);
|
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.*;
|
||||||
import org.activiti.engine.delegate.event.ActivitiEvent;
|
import org.activiti.engine.delegate.event.ActivitiEvent;
|
||||||
import org.activiti.engine.delegate.event.ActivitiEventListener;
|
import org.activiti.engine.delegate.event.ActivitiEventListener;
|
||||||
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -266,10 +267,11 @@ public class CorrectionListener implements TaskListener, ExecutionListener, Acti
|
||||||
logger.info("-------能力申请code-------");
|
logger.info("-------能力申请code-------");
|
||||||
ResourceEntity resourceEntity = resourceService.selectById(abilityApplicationDTO.getResourceId());
|
ResourceEntity resourceEntity = resourceService.selectById(abilityApplicationDTO.getResourceId());
|
||||||
|
|
||||||
|
if (ObjectUtils.allNotNull(resourceEntity)) {
|
||||||
//没有groupid当做没有接口,直接跳过
|
//没有groupid当做没有接口,直接跳过
|
||||||
if (resourceEntity.getGroupId() == null)
|
if (resourceEntity.getGroupId() == null)
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
String code = UUID.randomUUID().toString();
|
String code = UUID.randomUUID().toString();
|
||||||
apiGatewayService.subscribeCode(String.valueOf(abilityApplicationDTO.getId()), code);
|
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) { // 进入最后结束节点
|
private void endTake(DelegateExecution delegateExecution) { // 进入最后结束节点
|
||||||
Map<String, Object> kv = delegateExecution.getVariables();
|
Map<String, Object> kv = delegateExecution.getVariables();
|
||||||
|
@ -146,7 +146,11 @@ public class CorrectionListenerV2 implements TaskListener, ExecutionListener, Ac
|
||||||
jdbcTemplate.batchUpdate(sqls);
|
jdbcTemplate.batchUpdate(sqls);
|
||||||
|
|
||||||
if (auditingBaseDTO.getReject() == null || auditingBaseDTO.getReject() != Boolean.TRUE) { // 都是同意
|
if (auditingBaseDTO.getReject() == null || auditingBaseDTO.getReject() != Boolean.TRUE) { // 都是同意
|
||||||
|
try {
|
||||||
batchApplyCode(delegateExecution, dtoList);
|
batchApplyCode(delegateExecution, dtoList);
|
||||||
|
} catch (Exception exception) {
|
||||||
|
logger.error("上架网关失败", exception);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -298,7 +302,9 @@ public class CorrectionListenerV2 implements TaskListener, ExecutionListener, Ac
|
||||||
boolean hasData = false;
|
boolean hasData = false;
|
||||||
for (TAbilityApplicationDTO abilityApplicationDTO : dtoList) {
|
for (TAbilityApplicationDTO abilityApplicationDTO : dtoList) {
|
||||||
ResourceEntity resourceEntity = resourceService.selectById(abilityApplicationDTO.getResourceId());
|
ResourceEntity resourceEntity = resourceService.selectById(abilityApplicationDTO.getResourceId());
|
||||||
|
if (resourceEntity == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
//没有groupid当做没有接口,直接跳过
|
//没有groupid当做没有接口,直接跳过
|
||||||
if (resourceEntity == null || resourceEntity.getGroupId() == null)
|
if (resourceEntity == null || resourceEntity.getGroupId() == null)
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -128,7 +128,7 @@ public class DataCenterListenerV2 implements TaskListener, ExecutionListener, Ac
|
||||||
if (resourceDTOOptional.isPresent()) {
|
if (resourceDTOOptional.isPresent()) {
|
||||||
return !StringUtils.contains(resourceDTOOptional.get().getShareCondition(), "免批"); // 存在非免批
|
return !StringUtils.contains(resourceDTOOptional.get().getShareCondition(), "免批"); // 存在非免批
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return true; // 摄像头非免批
|
||||||
}
|
}
|
||||||
}).findAny();
|
}).findAny();
|
||||||
if (!tAbilityApplicationDTO.isPresent()) { // 全是免批
|
if (!tAbilityApplicationDTO.isPresent()) { // 全是免批
|
||||||
|
|
|
@ -61,13 +61,17 @@ public class ApiGatewayService {
|
||||||
throw new IllegalArgumentException(String.format("未找到对应的资源id:%s", resourceId));
|
throw new IllegalArgumentException(String.format("未找到对应的资源id:%s", resourceId));
|
||||||
}
|
}
|
||||||
String apiUrl = resourceEntity.getApiUrl();
|
String apiUrl = resourceEntity.getApiUrl();
|
||||||
String methods = resourceEntity.getApiMethodType().toUpperCase();
|
String methods = "";
|
||||||
|
if (resourceEntity.getApiMethodType() != null) {
|
||||||
|
methods = resourceEntity.getApiMethodType().toUpperCase();
|
||||||
|
}
|
||||||
Long deptId = resourceEntity.getDeptId();
|
Long deptId = resourceEntity.getDeptId();
|
||||||
|
|
||||||
HashSet supportMethod = Sets.newHashSet("POST", "GET");
|
HashSet supportMethod = Sets.newHashSet("POST", "GET");
|
||||||
|
|
||||||
if (StringUtils.isBlank(apiUrl) || deptId == null || deptId == 0 || StringUtils.isBlank(methods) || !supportMethod.contains(methods)){
|
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);
|
String msg = String.format("注册api参数为空,跳过 apiUrl:%s, deptId:%ld methods:%s, resourceId:%s", apiUrl, deptId, methods, resourceId);
|
||||||
|
|
||||||
//重要参数没有当成不需要注册
|
//重要参数没有当成不需要注册
|
||||||
log.info(msg);
|
log.info(msg);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -59,6 +59,8 @@ public class TAbilityApplicationServiceImpl extends CrudServiceImpl<TAbilityAppl
|
||||||
});
|
});
|
||||||
if (params.containsKey("abilityprocess_v2")) {
|
if (params.containsKey("abilityprocess_v2")) {
|
||||||
wrapper.orderByDesc("apply_number"); // 流程排序
|
wrapper.orderByDesc("apply_number"); // 流程排序
|
||||||
|
} else {
|
||||||
|
wrapper.orderByDesc("create_date"); // 创建时间逆序
|
||||||
}
|
}
|
||||||
return wrapper;
|
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.dto.SysDeptDTO;
|
||||||
import io.renren.modules.sys.service.SysDeptService;
|
import io.renren.modules.sys.service.SysDeptService;
|
||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
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) {
|
public Result<PageData<ResourceDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params) {
|
||||||
PageData<ResourceDTO> page = resourceService.page(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);
|
return new Result<PageData<ResourceDTO>>().ok(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -230,7 +237,7 @@ public class ResourceController {
|
||||||
//@RequiresPermissions("resource:resource:save")
|
//@RequiresPermissions("resource:resource:save")
|
||||||
public Result save(@RequestBody ResourceDTO dto, @RequestParam String source) {
|
public Result save(@RequestBody ResourceDTO dto, @RequestParam String source) {
|
||||||
// 效验数据
|
// 效验数据
|
||||||
logger.info("source:" + source);
|
logger.info("source:{}", source);
|
||||||
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
|
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
|
||||||
if ("f".equals(source)) {
|
if ("f".equals(source)) {
|
||||||
dto.setDelFlag(2); // 来自前端页面 走审批流程
|
dto.setDelFlag(2); // 来自前端页面 走审批流程
|
||||||
|
@ -250,7 +257,7 @@ public class ResourceController {
|
||||||
public Result importResource(@RequestParam("file") MultipartFile uploadFile, HttpServletRequest request) {
|
public Result importResource(@RequestParam("file") MultipartFile uploadFile, HttpServletRequest request) {
|
||||||
List<Map<String, Object>> dept =
|
List<Map<String, Object>> dept =
|
||||||
jdbcTemplate.queryForList("SELECT id,`name` FROM sys_dept");
|
jdbcTemplate.queryForList("SELECT id,`name` FROM sys_dept");
|
||||||
logger.info("上传文件:" + uploadFile.getOriginalFilename());
|
logger.info("上传文件:{}" , uploadFile.getOriginalFilename());
|
||||||
String format = sdf.format(new Date());
|
String format = sdf.format(new Date());
|
||||||
File folder = new File(uploadPath + "upload" + File.separator + format);
|
File folder = new File(uploadPath + "upload" + File.separator + format);
|
||||||
logger.info(folder.getPath());
|
logger.info(folder.getPath());
|
||||||
|
@ -259,29 +266,20 @@ public class ResourceController {
|
||||||
}
|
}
|
||||||
// 对上传的文件重命名,避免文件重名
|
// 对上传的文件重命名,避免文件重名
|
||||||
String oldName = uploadFile.getOriginalFilename();
|
String oldName = uploadFile.getOriginalFilename();
|
||||||
String newName = UUID.randomUUID().toString()
|
String newName = UUID.randomUUID() + oldName.substring(oldName.lastIndexOf("."));
|
||||||
+ oldName.substring(oldName.lastIndexOf("."));
|
|
||||||
try {
|
try {
|
||||||
// 文件保存
|
// 文件保存
|
||||||
File file = new File(folder, newName);
|
File file = new File(folder, newName);
|
||||||
uploadFile.transferTo(file);
|
uploadFile.transferTo(file);
|
||||||
Optional<SysDeptDTO> deptDTO = Optional.ofNullable(sysDeptService.getByName(bigDateDeptName));
|
Optional<SysDeptDTO> deptDTO = Optional.ofNullable(sysDeptService.getByName(bigDateDeptName));
|
||||||
CompletableFuture.runAsync(() -> {
|
CompletableFuture.runAsync(() -> EasyExcel.read(file, new ResourceExcelImportListener(0, dept, resourceService, deptDTO.get().getId())).sheet(0).headRowNumber(1).doReadSync(), executor);
|
||||||
EasyExcel.read(file, new ResourceExcelImportListener(0, dept, resourceService, deptDTO.get().getId())).sheet(0).headRowNumber(1).doReadSync();
|
CompletableFuture.runAsync(() -> EasyExcel.read(file, new ResourceExcelImportListener(1, dept, resourceService, deptDTO.get().getId())).sheet(1).headRowNumber(1).doReadSync(), executor);
|
||||||
}, executor);
|
CompletableFuture.runAsync(() -> EasyExcel.read(file, new ResourceExcelImportListener(2, dept, resourceService, deptDTO.get().getId())).sheet(2).headRowNumber(1).doReadSync(), executor);
|
||||||
CompletableFuture.runAsync(() -> {
|
CompletableFuture.runAsync(() -> EasyExcel.read(file, new ResourceExcelImportListener(3, dept, resourceService, deptDTO.get().getId())).sheet(3).headRowNumber(1).doReadSync(), executor);
|
||||||
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) {
|
} catch (IOException e) {
|
||||||
return new Result<String>().error(e.getMessage());
|
return new Result<String>().error(e.getMessage());
|
||||||
}
|
}
|
||||||
return new Result().ok(LocalDateTime.now().toString());
|
return new Result<String>().ok(LocalDateTime.now().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@PutMapping("/update")
|
@PutMapping("/update")
|
||||||
|
@ -311,7 +309,7 @@ public class ResourceController {
|
||||||
@LogOperation("资源转发")
|
@LogOperation("资源转发")
|
||||||
public Result ZywMessage() {
|
public Result ZywMessage() {
|
||||||
String url = "http://15.72.158.81/zyjk/ZywMessage.asmx";
|
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: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" +
|
||||||
" </soap:Body>\n" +
|
" </soap:Body>\n" +
|
||||||
|
@ -319,11 +317,11 @@ public class ResourceController {
|
||||||
HttpHeaders requestHeaders = new HttpHeaders();
|
HttpHeaders requestHeaders = new HttpHeaders();
|
||||||
requestHeaders.set("SOAPAction", "http://tempuri.org/ZywMessagePort");
|
requestHeaders.set("SOAPAction", "http://tempuri.org/ZywMessagePort");
|
||||||
requestHeaders.setContentType(MediaType.TEXT_XML);
|
requestHeaders.setContentType(MediaType.TEXT_XML);
|
||||||
HttpEntity<String> requestEntity = new HttpEntity(parame, requestHeaders);
|
HttpEntity<String> requestEntity = new HttpEntity<>(param, requestHeaders);
|
||||||
try {
|
try {
|
||||||
String body = restTemplate.postForEntity(url, requestEntity, String.class).getBody();
|
String body = restTemplate.postForEntity(url, requestEntity, String.class).getBody();
|
||||||
String json = body.substring(body.indexOf("{"), body.indexOf("}") + 1);
|
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);
|
return new Result().ok(map);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return new Result().ok(new HashMap<String, Object>() {{
|
return new Result().ok(new HashMap<String, Object>() {{
|
||||||
|
@ -365,13 +363,13 @@ public class ResourceController {
|
||||||
HttpHeaders requestHeaders = new HttpHeaders();
|
HttpHeaders requestHeaders = new HttpHeaders();
|
||||||
requestHeaders.set("SOAPAction", "http://tempuri.org/ZWCJ_mainPort");
|
requestHeaders.set("SOAPAction", "http://tempuri.org/ZWCJ_mainPort");
|
||||||
requestHeaders.setContentType(new MediaType("text", "xml", Charset.forName("utf-8")));
|
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 {
|
try {
|
||||||
String body = restTemplate.postForEntity(url, requestEntity, String.class).getBody();
|
String body = restTemplate.postForEntity(url, requestEntity, String.class).getBody();
|
||||||
String startTag = "<ZWCJ_mainPortResult>";
|
String startTag = "<ZWCJ_mainPortResult>";
|
||||||
String endTag = "</ZWCJ_mainPortResult>";
|
String endTag = "</ZWCJ_mainPortResult>";
|
||||||
String json = body.substring(body.indexOf(startTag) + startTag.length(), body.indexOf(endTag));
|
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<Map> rows = (List<Map>) result.get("data");
|
||||||
List<Object> objects = rows.stream()
|
List<Object> objects = rows.stream()
|
||||||
|
@ -513,8 +511,8 @@ public class ResourceController {
|
||||||
@GetMapping("/selectTotalByDept")
|
@GetMapping("/selectTotalByDept")
|
||||||
@ApiOperation("按照资源类型统计本部门发布的资源")
|
@ApiOperation("按照资源类型统计本部门发布的资源")
|
||||||
@LogOperation("按照资源类型统计本部门发布的资源")
|
@LogOperation("按照资源类型统计本部门发布的资源")
|
||||||
public Result selectTotalByDept() {
|
public Result<Map<String, Object>> selectTotalByDept() {
|
||||||
return new Result().ok(resourceService.selectTotalByDept());
|
return new Result<Map<String, Object>>().ok(resourceService.selectTotalByDept());
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/getApplyByDept")
|
@GetMapping("/getApplyByDept")
|
||||||
|
@ -553,13 +551,6 @@ public class ResourceController {
|
||||||
return new Result().ok(resourceService.selectInfrastructureList());
|
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")
|
@GetMapping("/selectDevelopDoc")
|
||||||
@ApiOperation("查询能力开发文档目录")
|
@ApiOperation("查询能力开发文档目录")
|
||||||
@LogOperation("查询能力开发文档目录")
|
@LogOperation("查询能力开发文档目录")
|
||||||
|
|
|
@ -92,6 +92,10 @@ public class ResourceDTO extends AuditingBaseDTO implements Serializable {
|
||||||
private String applyCount;
|
private String applyCount;
|
||||||
@ApiModelProperty(value = "部门ID集合")
|
@ApiModelProperty(value = "部门ID集合")
|
||||||
private List<Long> deptIds;
|
private List<Long> deptIds;
|
||||||
|
@ApiModelProperty(value = "是否在申购车内")
|
||||||
|
private Boolean isInShoppingCart;
|
||||||
|
@ApiModelProperty(value = "审核状态:通过,不通过")
|
||||||
|
private String approveStatus;
|
||||||
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "属性信息")
|
@ApiModelProperty(value = "属性信息")
|
||||||
|
@ -103,6 +107,8 @@ public class ResourceDTO extends AuditingBaseDTO implements Serializable {
|
||||||
private String undercarriageReason;
|
private String undercarriageReason;
|
||||||
@ApiModelProperty(value = "提起下架人员姓名")
|
@ApiModelProperty(value = "提起下架人员姓名")
|
||||||
private String undercarriageUserName;
|
private String undercarriageUserName;
|
||||||
|
@ApiModelProperty(value = "下架附件")
|
||||||
|
private String undercarriageEnclosure;
|
||||||
|
|
||||||
@ApiModelProperty(value = "总体评价")
|
@ApiModelProperty(value = "总体评价")
|
||||||
private Integer total;
|
private Integer total;
|
||||||
|
|
|
@ -134,6 +134,12 @@ public class ResourceEntity extends BaseEntity {
|
||||||
*/
|
*/
|
||||||
private String undercarriageUserName;
|
private String undercarriageUserName;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下架附件
|
||||||
|
*/
|
||||||
|
private String undercarriageEnclosure;
|
||||||
|
|
||||||
@TableField(value = "info_list", typeHandler = FastjsonTypeHandler.class)
|
@TableField(value = "info_list", typeHandler = FastjsonTypeHandler.class)
|
||||||
private List<AttrEntity> infoList;
|
private List<AttrEntity> infoList;
|
||||||
|
|
||||||
|
|
|
@ -32,10 +32,18 @@ public enum ResourceEntityDelFlag {
|
||||||
* 已下架
|
* 已下架
|
||||||
*/
|
*/
|
||||||
UNDERCARRIAGE(5, "已下架"),
|
UNDERCARRIAGE(5, "已下架"),
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上架被拒绝
|
||||||
|
*/
|
||||||
|
REJECT_REVIEW(6, "上架被拒绝"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 其他
|
* 其他
|
||||||
*/
|
*/
|
||||||
OTHER(9, "其他"),
|
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.AttrEntity;
|
||||||
import io.renren.modules.resource.entity.ResourceEntity;
|
import io.renren.modules.resource.entity.ResourceEntity;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@ -111,7 +112,7 @@ public interface ResourceService extends CrudService<ResourceEntity, ResourceDTO
|
||||||
|
|
||||||
Object getByDept(Map<String, Object> params);
|
Object getByDept(Map<String, Object> params);
|
||||||
|
|
||||||
Object selectTotalByDept();
|
HashMap<String, Object> selectTotalByDept();
|
||||||
|
|
||||||
Object getApplyByDept(Map<String, Object> params);
|
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.page.PageData;
|
||||||
import io.renren.common.service.impl.CrudServiceImpl;
|
import io.renren.common.service.impl.CrudServiceImpl;
|
||||||
import io.renren.common.utils.DateUtils;
|
import io.renren.common.utils.DateUtils;
|
||||||
import io.renren.common.utils.Result;
|
|
||||||
import io.renren.modules.monitor.dto.CameraChannelDto1;
|
import io.renren.modules.monitor.dto.CameraChannelDto1;
|
||||||
import io.renren.modules.monitor.entity.CameraChannel;
|
import io.renren.modules.monitor.entity.CameraChannel;
|
||||||
import io.renren.modules.monitor.mapper.CameraChannelMapper;
|
import io.renren.modules.monitor.mapper.CameraChannelMapper;
|
||||||
|
@ -51,6 +50,7 @@ import okhttp3.*;
|
||||||
import org.activiti.engine.HistoryService;
|
import org.activiti.engine.HistoryService;
|
||||||
import org.activiti.engine.history.HistoricProcessInstance;
|
import org.activiti.engine.history.HistoricProcessInstance;
|
||||||
import org.activiti.engine.history.HistoricProcessInstanceQuery;
|
import org.activiti.engine.history.HistoricProcessInstanceQuery;
|
||||||
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
|
@ -81,8 +81,8 @@ import java.util.stream.Collectors;
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEntity, ResourceDTO> implements ResourceService {
|
public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEntity, ResourceDTO> implements ResourceService {
|
||||||
private static final Integer cpuNUm = Runtime.getRuntime().availableProcessors();
|
private static final Integer CPU_NUM = Runtime.getRuntime().availableProcessors();
|
||||||
private static final ExecutorService executor = Executors.newWorkStealingPool(cpuNUm * 3);
|
private static final ExecutorService executor = Executors.newWorkStealingPool(CPU_NUM * 3);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 公共http客户端
|
* 公共http客户端
|
||||||
|
@ -90,14 +90,14 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
private static final OkHttpClient client = new OkHttpClient().newBuilder()
|
private static final OkHttpClient client = new OkHttpClient().newBuilder()
|
||||||
.connectTimeout(1, TimeUnit.MINUTES)
|
.connectTimeout(1, TimeUnit.MINUTES)
|
||||||
.readTimeout(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)
|
.retryOnConnectionFailure(false)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ResourceServiceImpl.class);
|
private static final Logger logger = LoggerFactory.getLogger(ResourceServiceImpl.class);
|
||||||
|
|
||||||
private static final String selectDeptListKey = "selectDeptList";
|
private static final String SELECT_DEPT_LIST_KEY = "selectDeptList";
|
||||||
private static final String selectDTOPageSpecilTotalKey = "selectDTOPageSpecilTotal";
|
private static final String SELECT_DTO_PAGE_SPECIAL_TOTAL_KEY = "selectDTOPageSpecilTotal";
|
||||||
|
|
||||||
@Value("${system.startDay}")
|
@Value("${system.startDay}")
|
||||||
private String systemDay;
|
private String systemDay;
|
||||||
|
@ -201,6 +201,8 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
case "creator":
|
case "creator":
|
||||||
wrapper.eq(StringUtils.isNotBlank(params.get("creator").toString()), "creator", params.get("creator").toString());
|
wrapper.eq(StringUtils.isNotBlank(params.get("creator").toString()), "creator", params.get("creator").toString());
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (params.containsKey("selectType") && "1".equals(params.get("selectType").toString())) { // 创建者查询时
|
if (params.containsKey("selectType") && "1".equals(params.get("selectType").toString())) { // 创建者查询时
|
||||||
|
@ -218,7 +220,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@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) {
|
public void insertWithAttrs(ResourceDTO dto) {
|
||||||
ResourceEntity resourceEntity = new ResourceEntity();
|
ResourceEntity resourceEntity = new ResourceEntity();
|
||||||
BeanUtils.copyProperties(dto, resourceEntity);
|
BeanUtils.copyProperties(dto, resourceEntity);
|
||||||
|
@ -282,7 +284,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@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) {
|
public void createMixAbility(ResourceDTO dto) {
|
||||||
ResourceEntity resourceEntity = new ResourceEntity();
|
ResourceEntity resourceEntity = new ResourceEntity();
|
||||||
BeanUtils.copyProperties(dto, resourceEntity);
|
BeanUtils.copyProperties(dto, resourceEntity);
|
||||||
|
@ -326,7 +328,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@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) {
|
public void deleteWithAttrs(JSONObject jsonObject) {
|
||||||
JSONArray jsonArray = jsonObject.getJSONArray("ids");
|
JSONArray jsonArray = jsonObject.getJSONArray("ids");
|
||||||
List<Long> idList = jsonArray.toJavaList(Long.class);
|
List<Long> idList = jsonArray.toJavaList(Long.class);
|
||||||
|
@ -340,7 +342,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@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) {
|
public void updateWithAttrs(ResourceDTO dto) {
|
||||||
ResourceEntity resourceEntity = new ResourceEntity();
|
ResourceEntity resourceEntity = new ResourceEntity();
|
||||||
BeanUtils.copyProperties(dto, 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) {
|
private Page<ResourceDTO> common(Page<ResourceDTO> resultPage, List<Map> selectDTOPageSpecilTotal, ResourceDTO resourceDTO, String orderField, String orderType, Integer pageNum, Integer pageSize) {
|
||||||
if (resourceDTO.getInfoList().isEmpty()) {
|
if (resourceDTO.getInfoList().isEmpty()) {
|
||||||
|
@ -499,11 +498,11 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
resultPage.setRecords(resourceDTOS);
|
resultPage.setRecords(resourceDTOS);
|
||||||
resultPage.setTotal(resourceDao.selectDTOPageCount(resourceDTO));
|
resultPage.setTotal(resourceDao.selectDTOPageCount(resourceDTO));
|
||||||
} else {
|
} else {
|
||||||
logger.info("orderField:{} orderType:{}", orderField, orderType);
|
logger.info("排序要求 orderField:{} orderType:{}", orderField, orderType);
|
||||||
List<ResourceDTO> resourceDTOS = resourceDao.selectWithAttrs(resourceDTO, orderField, orderType);
|
List<ResourceDTO> resourceDTOS = resourceDao.selectWithAttrs(resourceDTO, orderField, orderType);
|
||||||
int j = Math.min(pageNum * pageSize, resourceDTOS.size());
|
int j = Math.min(pageNum * pageSize, resourceDTOS.size());
|
||||||
if (resourceDTOS.isEmpty()) {
|
if (resourceDTOS.isEmpty()) {
|
||||||
resultPage.setRecords(null);
|
resultPage.setRecords(new ArrayList<>());
|
||||||
resultPage.setTotal(0);
|
resultPage.setTotal(0);
|
||||||
} else {
|
} else {
|
||||||
List<ResourceDTO> recordLists = resourceDTOS.stream()
|
List<ResourceDTO> recordLists = resourceDTOS.stream()
|
||||||
|
@ -533,25 +532,20 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
public Object selectTotal() {
|
public Object selectTotal() {
|
||||||
HashMap<String, Object> resultMap = new HashMap<>();
|
HashMap<String, Object> resultMap = new HashMap<>();
|
||||||
List<Map> re = resourceDao.selectTypeCount(null);
|
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)) {
|
switch (Constant.ProjectPlace.getByFlag(projectPlace)) {
|
||||||
case TSINGTAO_XHA: { // 青岛西海岸
|
case TSINGTAO_XHA: { // 青岛西海岸
|
||||||
CompletableFuture allAmount = CompletableFuture.supplyAsync(() -> { // 获取平台总基础设施数目
|
CompletableFuture allAmount = CompletableFuture.supplyAsync(() -> { // 获取平台总基础设施数目
|
||||||
List<Long> result_ = new CopyOnWriteArrayList<>();
|
List<Long> result = new CopyOnWriteArrayList<>();
|
||||||
CompletableFuture cloud =
|
CompletableFuture cloud =
|
||||||
CompletableFuture.runAsync(() -> { // 云脑专网
|
CompletableFuture.runAsync(() -> { // 云脑专网
|
||||||
String url = String.format(tsingtao_xhaProperties.getCloudcam(), "", 1, 10);
|
String url = tsingtao_xhaProperties.getCamCount();
|
||||||
logger.info(url);
|
logger.info(url);
|
||||||
Request request = new Request.Builder().url(url).build();
|
Request request = new Request.Builder().url(url).build();
|
||||||
try (Response response = client.newCall(request).execute()) {
|
try (Response response = client.newCall(request).execute()) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
JSONObject jsonObject = JSON.parseObject(response.body().string());
|
JSONObject jsonObject = JSON.parseObject(response.body().string());
|
||||||
if (jsonObject.containsKey("data")) {
|
if (jsonObject.containsKey("errorNo") && jsonObject.getLongValue("errorNo") == 200) {
|
||||||
result_.add(jsonObject.getJSONObject("data").getLongValue("total"));
|
result.add(jsonObject.getLongValue("body"));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.error("青岛西海岸获取失败");
|
logger.error("青岛西海岸获取失败");
|
||||||
|
@ -562,14 +556,14 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
}, executor);
|
}, executor);
|
||||||
CompletableFuture local =
|
CompletableFuture local =
|
||||||
CompletableFuture.runAsync(() -> { // 金宏网
|
CompletableFuture.runAsync(() -> { // 金宏网
|
||||||
String url = String.format(tsingtao_xhaProperties.getLocalcam(), "", 1, 10);
|
String url = tsingtao_xhaProperties.getLocalcam();
|
||||||
logger.info(url);
|
logger.info(url);
|
||||||
Request request = new Request.Builder().url(url).build();
|
Request request = new Request.Builder().url(url).build();
|
||||||
try (Response response = client.newCall(request).execute()) {
|
try (Response response = client.newCall(request).execute()) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
JSONObject jsonObject = JSON.parseObject(response.body().string());
|
JSONObject jsonObject = JSON.parseObject(response.body().string());
|
||||||
if (jsonObject.containsKey("data")) {
|
if (jsonObject.containsKey("errorNo") && jsonObject.getLongValue("errorNo") == 200) {
|
||||||
result_.add(jsonObject.getJSONObject("data").getLongValue("total"));
|
result.add(jsonObject.getLongValue("body"));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.error("青岛西海岸获取失败");
|
logger.error("青岛西海岸获取失败");
|
||||||
|
@ -580,16 +574,14 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
}, executor);
|
}, executor);
|
||||||
CompletableFuture all = CompletableFuture.allOf(cloud, local);
|
CompletableFuture all = CompletableFuture.allOf(cloud, local);
|
||||||
all.join();
|
all.join();
|
||||||
return result_.stream().filter(Objects::nonNull).findAny().orElse(0l);
|
return result.stream().filter(Objects::nonNull).findAny().orElse(0L);
|
||||||
}).thenAccept(sum -> {
|
}).thenAccept(sum -> re.add(new HashMap<String, Object>() {
|
||||||
re.add(new HashMap<String, Object>() {
|
|
||||||
{
|
{
|
||||||
put("count", sum + "");
|
put("count", sum + "");
|
||||||
put("type", "基础设施");
|
put("type", "基础设施");
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
});
|
Long total;
|
||||||
Long total = 0L;
|
|
||||||
Request request = new Request.Builder().url(tsingtao_xhaProperties.getResourcecount()).build();
|
Request request = new Request.Builder().url(tsingtao_xhaProperties.getResourcecount()).build();
|
||||||
try (Response response = client.newCall(request).execute()) {
|
try (Response response = client.newCall(request).execute()) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
|
@ -639,6 +631,8 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
List<String> temp = new ArrayList<>();
|
List<String> temp = new ArrayList<>();
|
||||||
re.forEach(map -> temp.add(map.get("type").toString()));
|
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();
|
Long userId = SecurityUser.getUser().getId();
|
||||||
//根据用户收藏和申请数据查出应用领域排名,再根据应用领域查询热门能力推荐给用户
|
//根据用户收藏和申请数据查出应用领域排名,再根据应用领域查询热门能力推荐给用户
|
||||||
List<Map> applyAreaList = resourceDao.selectApplyArea(userId);
|
List<Map> applyAreaList = resourceDao.selectApplyArea(userId);
|
||||||
//没有收藏和申请过,按最热能力选取,否则根据应用领域最多类型推荐
|
|
||||||
JSONObject object = new JSONObject();
|
JSONObject object = new JSONObject();
|
||||||
object.put("pageNum", 0);
|
object.put("pageNum", 0);
|
||||||
object.put("pageSize", 9);
|
object.put("pageSize", 9);
|
||||||
object.put("orderFiled", "total");
|
object.put("orderFiled", "total");
|
||||||
object.put("orderType", "DESC");
|
object.put("orderType", "DESC");
|
||||||
Page<ResourceDTO> resultPage = (Page<ResourceDTO>) this.selectMostPopular(object);
|
//根据收藏和申请的资源所属应用领域最多类型推荐,若没有收藏和申请数据或者查询出来的数据不足9条,按最热能力选取不重复的补足
|
||||||
if (!applyAreaList.isEmpty()) {
|
if (!applyAreaList.isEmpty()) {
|
||||||
ResourceDTO resourceDTO = new ResourceDTO();
|
ResourceDTO resourceDTO = new ResourceDTO();
|
||||||
ArrayList<AttrEntity> list = new ArrayList<>();
|
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);
|
Page<ResourceDTO> page = (Page<ResourceDTO>) this.pageWithAttrs(jsonObject, selectDTOPageSpecilTotal);
|
||||||
//若查出数据不足9条则在热门能力补充缺少的数量
|
//若查出数据不足9条则在热门能力补充缺少的数量
|
||||||
if (page.getRecords().size() < 9) {
|
if (page.getRecords().size() < 9) {
|
||||||
for (int i = 0; page.getRecords().size() < 9; i++) {
|
Page<ResourceDTO> resultPage = (Page<ResourceDTO>) this.selectMostPopular(object);
|
||||||
for (int j = 0; j < page.getRecords().size(); j++) {
|
do {
|
||||||
if (!page.getRecords().get(j).getId().equals(resultPage.getRecords().get(i).getId())) {
|
resultPage.getRecords().forEach(p -> {
|
||||||
page.getRecords().add(resultPage.getRecords().get(i));
|
//如果集合中不存在,则进行添加
|
||||||
break;
|
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;
|
return page;
|
||||||
} else {
|
} else {
|
||||||
return resultPage;
|
return this.selectMostPopular(object);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -751,7 +754,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Cacheable(value = selectDeptListKey, key = "#p1")
|
@Cacheable(value = SELECT_DEPT_LIST_KEY, key = "#p1")
|
||||||
public Object selectDeptList(JSONObject jsonObject, String type) {
|
public Object selectDeptList(JSONObject jsonObject, String type) {
|
||||||
List<Map> resultList = new CopyOnWriteArrayList<>();
|
List<Map> resultList = new CopyOnWriteArrayList<>();
|
||||||
HashMap<String, Object> resourceMap = new HashMap<>();
|
HashMap<String, Object> resourceMap = new HashMap<>();
|
||||||
|
@ -1042,7 +1045,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Cacheable(value = selectDTOPageSpecilTotalKey, key = "#p0")
|
@Cacheable(value = SELECT_DTO_PAGE_SPECIAL_TOTAL_KEY, key = "#p0")
|
||||||
public List<Map> selectDTOPageSpecilTotal(ResourceDTO resourceDTO) {
|
public List<Map> selectDTOPageSpecilTotal(ResourceDTO resourceDTO) {
|
||||||
return resourceDao.selectDTOPageSpecilTotal(resourceDTO);
|
return resourceDao.selectDTOPageSpecilTotal(resourceDTO);
|
||||||
}
|
}
|
||||||
|
@ -1055,9 +1058,10 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
List<TAbilityApplicationEntity> applicationEntities = tAbilityApplicationDao.selectList(queryWrapper);
|
List<TAbilityApplicationEntity> applicationEntities = tAbilityApplicationDao.selectList(queryWrapper);
|
||||||
ArrayList cameraList = new ArrayList();
|
ArrayList cameraList = new ArrayList();
|
||||||
applicationEntities.forEach(index -> {
|
applicationEntities.forEach(index -> {
|
||||||
List<CameraChannelDto1> channelDto1s = cameraChannelMapper.selectByChannelCode(index.getCameraList().replaceAll("\"", ""));
|
//List<CameraChannelDto1> channelDto1s = cameraChannelMapper.selectByChannelCode(index.getCameraList().replaceAll("\"", ""));
|
||||||
if (!channelDto1s.isEmpty()) {
|
CameraChannelDto1 channelDto1s = JSON.toJavaObject(JSON.parseObject(index.getCameraList()), CameraChannelDto1.class);
|
||||||
cameraList.add(channelDto1s.get(0));
|
if (ObjectUtils.allNotNull(channelDto1s)) {
|
||||||
|
cameraList.add(channelDto1s);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return cameraList;
|
return cameraList;
|
||||||
|
@ -1077,7 +1081,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
return resourceList;
|
return resourceList;
|
||||||
} else if ("数据资源".equals(type)) {
|
} else if ("数据资源".equals(type)) {
|
||||||
GetDataResourceListDto dto = new GetDataResourceListDto();
|
GetDataResourceListDto dto = new GetDataResourceListDto();
|
||||||
dto.setPageNum(0);
|
dto.setPageNum(1);
|
||||||
dto.setPageSize(30);
|
dto.setPageSize(30);
|
||||||
Optional<AbstractDataResourceService> factory = DataResourceFactory.build();
|
Optional<AbstractDataResourceService> factory = DataResourceFactory.build();
|
||||||
if (factory.isPresent()) {
|
if (factory.isPresent()) {
|
||||||
|
@ -1113,12 +1117,12 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
* 同步知识库
|
* 同步知识库
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@CacheEvict(cacheNames = {selectDeptListKey, selectDTOPageSpecilTotalKey}, allEntries = true)
|
@CacheEvict(cacheNames = {SELECT_DEPT_LIST_KEY, SELECT_DTO_PAGE_SPECIAL_TOTAL_KEY}, allEntries = true)
|
||||||
public void KnowledgeBase() {
|
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 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 -> {
|
Arrays.stream(catalogIds).map(index -> {
|
||||||
logger.info("处理:" + index);
|
logger.info("处理:{}", index);
|
||||||
CopyOnWriteArrayList<CompletableFuture> task = new CopyOnWriteArrayList<>();
|
CopyOnWriteArrayList<CompletableFuture> task = new CopyOnWriteArrayList<>();
|
||||||
AtomicBoolean end = new AtomicBoolean(true);
|
AtomicBoolean end = new AtomicBoolean(true);
|
||||||
AtomicInteger pageIndex = new AtomicInteger(1);
|
AtomicInteger pageIndex = new AtomicInteger(1);
|
||||||
|
@ -1126,33 +1130,39 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
do {
|
do {
|
||||||
final long timestamp = LocalDateTime.now().toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
|
final long timestamp = LocalDateTime.now().toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
|
||||||
int page = pageIndex.getAndIncrement();
|
int page = pageIndex.getAndIncrement();
|
||||||
logger.info("处理:" + index + " 分页{}", page);
|
logger.info("处理:{}分页{}", index, page);
|
||||||
task.add(CompletableFuture.supplyAsync(() -> {
|
task.add(CompletableFuture.supplyAsync(() -> {
|
||||||
try {
|
try {
|
||||||
logger.info("分页任务处理:" + index + " 分页{} 时间 -->" + timestamp, page);
|
logger.info("分页任务处理:{}分页{} 时间--> {}", index, page, timestamp);
|
||||||
JSONObject bizContentParam = new JSONObject();
|
JSONObject bizContentParam = new JSONObject();
|
||||||
bizContentParam.put("appkey", appKey);
|
bizContentParam.put("appkey", appKey);
|
||||||
bizContentParam.put("catalogId", index);
|
bizContentParam.put("catalogId", index);
|
||||||
bizContentParam.put("pageIndex", page);
|
bizContentParam.put("pageIndex", page);
|
||||||
bizContentParam.put("pageSize", pageSize);
|
bizContentParam.put("pageSize", pageSize);
|
||||||
String bizContent_ = bizContentParam.toJSONString();
|
String bizContent = bizContentParam.toJSONString();
|
||||||
logger.info("biz_content参数:{}", bizContent_);
|
logger.info("biz_content参数:{}", bizContent);
|
||||||
// 通过FormBody对象构建Builder来添加表单参数
|
// 通过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_);
|
FormBody.Builder signFormBody = new FormBody.Builder().add("app_id", appId)
|
||||||
logger.info(index + "分页{}对接知识库数据请求参数:" + signFormBody.build().contentType().toString(), page);
|
.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();
|
Request signRequest = new Request.Builder().url(sign).post(signFormBody.build()).build();
|
||||||
Response signResponse = client.newCall(signRequest).execute();
|
Response signResponse = client.newCall(signRequest).execute();
|
||||||
String signResult = signResponse.body().string();
|
String signResult = signResponse.body().string();
|
||||||
logger.info("{}分页signResult数据:" + signResult, page);
|
logger.info("{}分页signResult数据:{}", page, signResult);
|
||||||
JSONObject signJsonObject = JSON.parseObject(signResult);
|
JSONObject signJsonObject = JSON.parseObject(signResult);
|
||||||
if (!signJsonObject.containsKey("data")) {
|
if (!signJsonObject.containsKey("data")) {
|
||||||
logger.info("获取sign异常:" + signResult);
|
logger.info("获取sign异常:{}", signResult);
|
||||||
end.set(false);
|
end.set(false);
|
||||||
throw new RuntimeException("获取sign异常");
|
throw new RuntimeException("获取sign异常");
|
||||||
}
|
}
|
||||||
if (signJsonObject.get("data") == null) {
|
if (signJsonObject.get("data") == null) {
|
||||||
logger.info("获取sign异常:" + signResult);
|
logger.info("获取sign异常:{}", signResult);
|
||||||
end.set(false);
|
end.set(false);
|
||||||
throw new RuntimeException("获取sign异常");
|
throw new RuntimeException("获取sign异常");
|
||||||
}
|
}
|
||||||
|
@ -1234,7 +1244,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
infoList.add(attrEntity);
|
infoList.add(attrEntity);
|
||||||
dto.setInfoList(infoList);
|
dto.setInfoList(infoList);
|
||||||
this.insertWithAttrs(dto);
|
this.insertWithAttrs(dto);
|
||||||
logger.info("插入:" + dto.getName());
|
logger.info("插入:{}", dto.getName());
|
||||||
});
|
});
|
||||||
}, executor));
|
}, executor));
|
||||||
try {
|
try {
|
||||||
|
@ -1418,12 +1428,12 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageData<Map<String, Object>> resourceInfrastructureDetails(Map<String, Object> params) {
|
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 page = Integer.parseInt(params.get("page").toString()) - 1;
|
||||||
Integer pageSize = Integer.parseInt(params.get("limit").toString());
|
Integer pageSize = Integer.parseInt(params.get("limit").toString());
|
||||||
Object[] pas = {params.get("id"), params.get("id")};
|
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) {
|
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" +
|
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" +
|
"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);
|
"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);
|
List<List<Map<String, Object>>> partition = Lists.partition(result2, pageSize);
|
||||||
result.addAll(partition.get(page));
|
result = new CopyOnWriteArrayList<>(partition.get(page));
|
||||||
} else {
|
} else {
|
||||||
return new PageData<>(result2, result2.size());
|
return new PageData<>(result2, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
CompletableFuture<Void> resourceCollectionNum01 = CompletableFuture.runAsync(() -> {//被申请数量 resourceCarNum
|
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);
|
CompletableFuture<Void> all = CompletableFuture.allOf(resourceCollectionNum01, resourceCollectionNum02, resourceCollectionNum03);
|
||||||
all.join();
|
all.join();
|
||||||
|
|
||||||
PageData<Map<String, Object>> pageData = new PageData<>(result, result2.size());
|
return new PageData<>(result, result2.size());
|
||||||
return pageData;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1481,7 +1490,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
Integer pageSize = Integer.parseInt(params.get("limit").toString());
|
Integer pageSize = Integer.parseInt(params.get("limit").toString());
|
||||||
Object[] pas = {params.get("id"), params.get("id")};
|
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) {
|
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" +
|
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" +
|
"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);
|
List<List<Map<String, Object>>> partition = Lists.partition(result2, pageSize);
|
||||||
result.addAll(partition.get(page));
|
result.addAll(partition.get(page));
|
||||||
} else {
|
} else {
|
||||||
|
@ -1529,13 +1538,12 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
CompletableFuture<Void> all = CompletableFuture.allOf(resourceCarNum, resourceBrowseNum, resourceCollectionNum);
|
CompletableFuture<Void> all = CompletableFuture.allOf(resourceCarNum, resourceBrowseNum, resourceCollectionNum);
|
||||||
all.join();
|
all.join();
|
||||||
|
|
||||||
PageData<Map<String, Object>> pageData = new PageData<>(result, result2.size());
|
return new PageData<>(result, result2.size());
|
||||||
return pageData;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageData<Map<String, Object>> resourceKnowledgeDetails(Map<String, Object> params) {
|
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 page = Integer.parseInt(params.get("page").toString()) - 1;
|
||||||
Integer pageSize = Integer.parseInt(params.get("limit").toString());
|
Integer pageSize = Integer.parseInt(params.get("limit").toString());
|
||||||
Object[] pas = {params.get("id"), params.get("id")};
|
Object[] pas = {params.get("id"), params.get("id")};
|
||||||
|
@ -1558,55 +1566,38 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
}
|
}
|
||||||
|
|
||||||
List<List<Map<String, Object>>> partition = Lists.partition(result, pageSize);
|
List<List<Map<String, Object>>> partition = Lists.partition(result, pageSize);
|
||||||
if (result.size() > 0) {
|
if (!result.isEmpty()) {
|
||||||
PageData<Map<String, Object>> pageData = new PageData<>(partition.get(page), result.size());
|
return new PageData<>(partition.get(page), result.size());
|
||||||
return pageData;
|
|
||||||
} else {
|
} else {
|
||||||
return new PageData<>(result, result.size());
|
return new PageData<>(result, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageData<Map<String, Object>> resourceBusinessUseDetails(Map<String, Object> params) {
|
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 page = Integer.parseInt(params.get("page").toString()) - 1;
|
||||||
Integer pageSize = Integer.parseInt(params.get("limit").toString());
|
Integer pageSize = Integer.parseInt(params.get("limit").toString());
|
||||||
Object[] ps = {params.get("id"), params.get("id")};
|
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) {
|
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 {
|
} 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);
|
List<List<Map<String, Object>>> partition = Lists.partition(list, pageSize);
|
||||||
maps.addAll(partition.get(page));
|
maps = new CopyOnWriteArrayList<>(partition.get(page));
|
||||||
} else {
|
} else {
|
||||||
return new PageData<>(list, list.size());
|
return new PageData<>(list, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, Object> paraMap = new ConcurrentHashMap<>();
|
Map<String, Object> paraMap = new ConcurrentHashMap<>();
|
||||||
paraMap.put("resourceType", params.get("resourceType"));
|
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(() -> {
|
CompletableFuture<Void> voidCompletableFuture02 = CompletableFuture.runAsync(() -> maps.forEach(m -> {
|
||||||
maps.forEach(m -> {
|
|
||||||
paraMap.put("id", m.get("deptId"));
|
paraMap.put("id", m.get("deptId"));
|
||||||
Map<String, Object> maps2 = new HashMap<>();
|
Map<String, Object> maps2 = new HashMap<>();
|
||||||
maps2 = baseDao.assemblyUseByDept(paraMap);
|
maps2 = baseDao.assemblyUseByDept(paraMap);
|
||||||
|
@ -1615,43 +1606,37 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
} else {
|
} else {
|
||||||
m.put("resourceUseNum", maps2.get("useNum") == null ? 0 : maps2.get("useNum"));
|
m.put("resourceUseNum", maps2.get("useNum") == null ? 0 : maps2.get("useNum"));
|
||||||
}
|
}
|
||||||
});
|
}), executor);
|
||||||
}, executor);
|
|
||||||
//还缺少组件调用数,这先用假数据代替
|
//还缺少组件调用数,这先用假数据代替
|
||||||
CompletableFuture<Void> voidCompletableFuture01 = CompletableFuture.runAsync(() -> {
|
CompletableFuture<Void> voidCompletableFuture01 = CompletableFuture.runAsync(() -> maps.forEach(m -> m.put("resourceCallNum", 0)), executor);
|
||||||
maps.forEach(m -> {
|
|
||||||
m.put("resourceCallNum", 0);
|
|
||||||
});
|
|
||||||
}, executor);
|
|
||||||
|
|
||||||
CompletableFuture<Void> all = CompletableFuture.allOf(voidCompletableFuture01, voidCompletableFuture02);
|
CompletableFuture<Void> all = CompletableFuture.allOf(voidCompletableFuture01, voidCompletableFuture02);
|
||||||
all.join();
|
all.join();
|
||||||
|
|
||||||
PageData<Map<String, Object>> pageData = new PageData<>(maps, list.size());
|
return new PageData<>(maps, list.size());
|
||||||
return pageData;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageData<Map<String, Object>> resourceDatasUseDetails(Map<String, Object> params) {
|
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 page = Integer.parseInt(params.get("page").toString()) - 1;
|
||||||
Integer pageSize = Integer.parseInt(params.get("limit").toString());
|
Integer pageSize = Integer.parseInt(params.get("limit").toString());
|
||||||
|
|
||||||
//查询部门列表
|
//查询部门列表
|
||||||
Object[] ps = {params.get("id"), params.get("id")};
|
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) {
|
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 {
|
} 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);
|
List<List<Map<String, Object>>> partition = Lists.partition(list, pageSize);
|
||||||
result.addAll(partition.get(page));
|
result = new ArrayList<>(partition.get(page));
|
||||||
} else {
|
} else {
|
||||||
return new PageData<>(list, list.size());
|
return new PageData<>(list, 0);
|
||||||
}
|
}
|
||||||
ConcurrentHashMap map = new ConcurrentHashMap();
|
ConcurrentHashMap map = new ConcurrentHashMap();
|
||||||
map.put("resourceType", params.get("resourceType"));
|
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 new PageData<>(result, list.size());
|
||||||
return pageData;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> assemblerCarDetail(Map<String, Object> params) {
|
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())};
|
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 " +
|
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 " +
|
"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
|
@Override
|
||||||
public Object selectTotalByDept() {
|
public HashMap<String, Object> selectTotalByDept() {
|
||||||
HashMap<String, Object> resultMap = new HashMap<>();
|
HashMap<String, Object> resultMap = new HashMap<>();
|
||||||
Long deptId = SecurityUser.getUser().getDeptId();
|
Long deptId = SecurityUser.getUser().getDeptId();
|
||||||
List<Long> deptList = null;
|
List<Long> deptList = null;
|
||||||
|
@ -1733,7 +1717,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
limit = Integer.parseInt((String) params.get(Constant.LIMIT));
|
limit = Integer.parseInt((String) params.get(Constant.LIMIT));
|
||||||
}
|
}
|
||||||
List<SysUserDTO> sysUserList = sysUserService.list(new HashMap());
|
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());
|
int j = Math.min(curPage * limit, result.size());
|
||||||
ArrayList<ResourceDTO> recordLists = new ArrayList<>();
|
ArrayList<ResourceDTO> recordLists = new ArrayList<>();
|
||||||
for (int i = (curPage - 1) * limit; i < j; i++) {
|
for (int i = (curPage - 1) * limit; i < j; i++) {
|
||||||
|
@ -1842,17 +1826,17 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object selectInfrastructureList() {
|
public Object selectInfrastructureList() {
|
||||||
return new HashMap<String, Object>() {{
|
HashMap<String, Object> resultMap = new HashMap<>();
|
||||||
Map map = (Map) selectTotal();
|
Map map = (Map) selectTotal();
|
||||||
List<Map<String, Object>> list = (List<Map<String, Object>>) map.get("total");
|
List<Map<String, Object>> list = (List<Map<String, Object>>) map.get("total");
|
||||||
list.forEach(index -> {
|
list.forEach(index -> {
|
||||||
if ("基础设施".equals(index.get("type").toString())) {
|
if ("基础设施".equals(index.get("type").toString())) {
|
||||||
put("视频资源", Integer.parseInt(index.get("count").toString()));
|
resultMap.put("视频资源", Integer.parseInt(index.get("count").toString()));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
put("感知资源", 0);
|
resultMap.put("感知资源", 0);
|
||||||
put("云资源", 0);
|
resultMap.put("云资源", 0);
|
||||||
}};
|
return resultMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<Long> getSourceIdsByProcess(List<HistoricProcessInstance> list) {
|
private List<Long> getSourceIdsByProcess(List<HistoricProcessInstance> list) {
|
||||||
|
@ -1890,6 +1874,44 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Map> selectDevelopDoc() {
|
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> result = new ArrayList<>();
|
||||||
List<Map<String, Object>> dtoMaps = baseDao.selectDevelopDocResource();
|
List<Map<String, Object>> dtoMaps = baseDao.selectDevelopDocResource();
|
||||||
Map<String, List<Map<String, Object>>> resourceTypeMap = dtoMaps.stream().collect(Collectors.groupingBy(m -> m.get("type").toString()));
|
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);
|
result.add(componentMap);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -5,8 +5,6 @@ import io.renren.modules.resource.videoPreview.AbstractVideoPreviewService;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 青岛市局预览
|
* 青岛市局预览
|
||||||
*/
|
*/
|
||||||
|
@ -29,7 +27,7 @@ public class TsingtaoVideoPreviewService extends AbstractVideoPreviewService {
|
||||||
public String getHls(String key) {
|
public String getHls(String key) {
|
||||||
try {
|
try {
|
||||||
return monitorService.fileCode(key);
|
return monitorService.fileCode(key);
|
||||||
} catch (IOException e) {
|
} catch (Exception e) {
|
||||||
logger.error("青岛市局获取预览地址失败", e);
|
logger.error("青岛市局获取预览地址失败", e);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,4 +24,6 @@ public class TResourceUndercarriageApplyDTO extends AuditingBaseDTO implements S
|
||||||
private List<Map<String, String>> resource;
|
private List<Map<String, String>> resource;
|
||||||
@ApiModelProperty(value = "下架原因")
|
@ApiModelProperty(value = "下架原因")
|
||||||
private String reason;
|
private String reason;
|
||||||
|
@ApiModelProperty(value = "下架附件")
|
||||||
|
private String enclosure;
|
||||||
}
|
}
|
||||||
|
|
|
@ -130,6 +130,17 @@ public class ResourceOwnerListener implements TaskListener, ExecutionListener, A
|
||||||
JsonElement jsonElement = gson.toJsonTree(kv);
|
JsonElement jsonElement = gson.toJsonTree(kv);
|
||||||
TResourceMountApplyDTO resourceMountApplyDTO = gson.fromJson(jsonElement, TResourceMountApplyDTO.class);
|
TResourceMountApplyDTO resourceMountApplyDTO = gson.fromJson(jsonElement, TResourceMountApplyDTO.class);
|
||||||
ResourceDTO re = resourceService.get(resourceMountApplyDTO.getResourceId());
|
ResourceDTO re = resourceService.get(resourceMountApplyDTO.getResourceId());
|
||||||
|
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) {
|
if (re != null) {
|
||||||
re.setDelFlag(ResourceEntityDelFlag.NORMAL.getFlag());
|
re.setDelFlag(ResourceEntityDelFlag.NORMAL.getFlag());
|
||||||
resourceService.update(re);
|
resourceService.update(re);
|
||||||
|
@ -140,6 +151,10 @@ public class ResourceOwnerListener implements TaskListener, ExecutionListener, A
|
||||||
logger.error("发布到应用网关", 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.Oauth2Filter;
|
||||||
import io.renren.modules.security.oauth2.Oauth2Realm;
|
import io.renren.modules.security.oauth2.Oauth2Realm;
|
||||||
|
import io.renren.modules.security.oauth2.ShiroSessionManager;
|
||||||
import org.apache.shiro.mgt.SecurityManager;
|
import org.apache.shiro.mgt.SecurityManager;
|
||||||
import org.apache.shiro.session.mgt.SessionManager;
|
import org.apache.shiro.session.mgt.SessionManager;
|
||||||
import org.apache.shiro.spring.LifecycleBeanPostProcessor;
|
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.spring.web.ShiroFilterFactoryBean;
|
||||||
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
|
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
|
||||||
import org.apache.shiro.web.session.mgt.DefaultWebSessionManager;
|
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.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
@ -26,12 +28,22 @@ public class ShiroConfig {
|
||||||
// @Autowired
|
// @Autowired
|
||||||
// private Oauth2Filter oauth2Filter;
|
// 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
|
@Bean
|
||||||
public DefaultWebSessionManager sessionManager() {
|
public DefaultWebSessionManager sessionManager() {
|
||||||
DefaultWebSessionManager sessionManager = new DefaultWebSessionManager();
|
ShiroSessionManager sessionManager = new ShiroSessionManager();
|
||||||
sessionManager.setSessionValidationSchedulerEnabled(false);
|
sessionManager.setGlobalSessionTimeout(-1000L);
|
||||||
sessionManager.setSessionIdUrlRewritingEnabled(false);
|
|
||||||
|
|
||||||
return sessionManager;
|
return sessionManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,6 +89,9 @@ public class ShiroConfig {
|
||||||
filterMap.put("/bsabilityrecord/**", "anon");
|
filterMap.put("/bsabilityrecord/**", "anon");
|
||||||
filterMap.put("/act/his/getInstImage", "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.dto.LoginDTO;
|
||||||
import io.renren.modules.security.oauth2.Oauth2Filter;
|
import io.renren.modules.security.oauth2.Oauth2Filter;
|
||||||
import io.renren.modules.security.oauth2.SSOValidator;
|
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.password.PasswordUtils;
|
||||||
import io.renren.modules.security.service.CaptchaService;
|
import io.renren.modules.security.service.CaptchaService;
|
||||||
import io.renren.modules.security.service.SysUserTokenService;
|
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.ApiImplicitParams;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.shiro.subject.Subject;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -45,6 +45,8 @@ import java.io.IOException;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static org.apache.shiro.SecurityUtils.getSubject;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录
|
* 登录
|
||||||
*/
|
*/
|
||||||
|
@ -188,6 +190,9 @@ public class LoginController {
|
||||||
response.addHeader("REDIRECT", ssoValidator.getLogoutUrl());
|
response.addHeader("REDIRECT", ssoValidator.getLogoutUrl());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Subject subject = getSubject();
|
||||||
|
subject.logout();
|
||||||
|
|
||||||
return new Result();
|
return new Result();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package io.renren.modules.security.oauth2;
|
package io.renren.modules.security.oauth2;
|
||||||
|
|
||||||
import cn.hutool.core.util.URLUtil;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.jasig.cas.client.validation.Assertion;
|
import org.jasig.cas.client.validation.Assertion;
|
||||||
import org.jasig.cas.client.validation.TicketValidationException;
|
import org.jasig.cas.client.validation.TicketValidationException;
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package io.renren.modules.security.oauth2;
|
package io.renren.modules.security.oauth2;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
|
|
||||||
public interface SSOValidator {
|
public interface SSOValidator {
|
||||||
|
|
||||||
String validatePrincipal(String requestURL);
|
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();
|
token = TokenGenerator.generateValue();
|
||||||
|
|
||||||
SysUserTokenEntity tokenEntity = new SysUserTokenEntity();
|
SysUserTokenEntity tokenEntity = new SysUserTokenEntity();
|
||||||
tokenEntity = new SysUserTokenEntity();
|
|
||||||
tokenEntity.setUserId(userId);
|
tokenEntity.setUserId(userId);
|
||||||
tokenEntity.setToken(token);
|
tokenEntity.setToken(token);
|
||||||
tokenEntity.setUpdateDate(now);
|
tokenEntity.setUpdateDate(now);
|
||||||
|
|
|
@ -38,7 +38,6 @@ public class WebSocketServer {
|
||||||
@OnOpen
|
@OnOpen
|
||||||
public void open(Session session) {
|
public void open(Session session) {
|
||||||
Long userId = (Long) session.getUserProperties().get(Constant.USER_KEY);
|
Long userId = (Long) session.getUserProperties().get(Constant.USER_KEY);
|
||||||
|
|
||||||
servers.put(session.getId(), new WebSocketData(userId, session));
|
servers.put(session.getId(), new WebSocketData(userId, session));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,7 +45,7 @@ public class WebSocketServer {
|
||||||
public void onClose(Session session) {
|
public void onClose(Session session) {
|
||||||
//客户端断开连接
|
//客户端断开连接
|
||||||
servers.remove(session.getId());
|
servers.remove(session.getId());
|
||||||
log.debug("websocket close, session id:" + session.getId());
|
log.info("websocket close, session id:" + session.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnError
|
@OnError
|
||||||
|
@ -77,10 +76,10 @@ public class WebSocketServer {
|
||||||
* @param message 消息内容
|
* @param message 消息内容
|
||||||
*/
|
*/
|
||||||
public void sendMessage(Long userId, MessageData<?> message) {
|
public void sendMessage(Long userId, MessageData<?> message) {
|
||||||
servers.values().forEach(info -> {
|
servers.values().stream()
|
||||||
if (userId.equals(info.getUserId())) {
|
.filter(index -> userId.equals(index.getUserId()))
|
||||||
sendMessage(info.getSession(), message);
|
.forEach(index -> {
|
||||||
}
|
sendMessage(index.getSession(), message);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -90,7 +89,9 @@ public class WebSocketServer {
|
||||||
* @param message 消息内容
|
* @param message 消息内容
|
||||||
*/
|
*/
|
||||||
public void sendMessageAll(MessageData<?> 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) {
|
public void sendMessage(Session session, MessageData<?> message) {
|
||||||
|
@ -100,4 +101,8 @@ public class WebSocketServer {
|
||||||
log.error("send message error," + e.getMessage(), e);
|
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
|
#MySQL
|
||||||
|
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
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://192.168.124.236:3306/share_platform?useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&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
|
|
||||||
username: root
|
username: root
|
||||||
password: Hisense2019
|
password: Hisense2019
|
||||||
#Hisense2019
|
#Hisense2019
|
||||||
|
@ -62,7 +61,7 @@ spring:
|
||||||
out-of-order: true
|
out-of-order: true
|
||||||
#上传的静态资源配置
|
#上传的静态资源配置
|
||||||
resource:
|
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}
|
pic-host: http://${resource.root_url}:${server.port}${server.servlet.context-path}
|
||||||
path: /home/yth/files/
|
path: /home/yth/files/
|
||||||
devModelFilePath: /home/yth/files/devModelFile
|
devModelFilePath: /home/yth/files/devModelFile
|
||||||
|
|
|
@ -11,7 +11,7 @@ spring:
|
||||||
initial-size: 10
|
initial-size: 10
|
||||||
max-active: 100
|
max-active: 100
|
||||||
min-idle: 10
|
min-idle: 10
|
||||||
max-wait: 100
|
max-wait: 60000
|
||||||
pool-prepared-statements: true
|
pool-prepared-statements: true
|
||||||
max-pool-prepared-statement-per-connection-size: 20
|
max-pool-prepared-statement-per-connection-size: 20
|
||||||
time-between-eviction-runs-millis: 60000
|
time-between-eviction-runs-millis: 60000
|
||||||
|
@ -37,7 +37,6 @@ spring:
|
||||||
# 生产环境默认关掉flyway
|
# 生产环境默认关掉flyway
|
||||||
flyway:
|
flyway:
|
||||||
enabled: false
|
enabled: false
|
||||||
validate-on-migrate: false
|
|
||||||
#上传的静态资源配置
|
#上传的静态资源配置
|
||||||
resource:
|
resource:
|
||||||
root_url: 15.72.183.90
|
root_url: 15.72.183.90
|
||||||
|
@ -51,8 +50,15 @@ big_date:
|
||||||
|
|
||||||
hisense:
|
hisense:
|
||||||
gateway:
|
gateway:
|
||||||
url: http://15.72.184.3:31230
|
url: http://15.72.184.7:8080
|
||||||
|
|
||||||
|
|
||||||
qdyjj:
|
qdyjj:
|
||||||
ipAndPort: 15.72.178.136:9494
|
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:
|
druid:
|
||||||
#MySQL
|
#MySQL
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
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
|
username: root
|
||||||
password: Hisense2019
|
password: Hisense2019
|
||||||
# #Oracle
|
# #Oracle
|
||||||
|
@ -52,7 +52,7 @@ spring:
|
||||||
|
|
||||||
#上传的静态资源配置
|
#上传的静态资源配置
|
||||||
resource:
|
resource:
|
||||||
root_url: 15.2.21.238
|
root_url: 192.168.124.236
|
||||||
path: /home/yth/files/
|
path: /home/yth/files/
|
||||||
devModelFilePath: /home/yth/files/devModelFile
|
devModelFilePath: /home/yth/files/devModelFile
|
||||||
# 大数据部门相关配置
|
# 大数据部门相关配置
|
||||||
|
|
|
@ -5,9 +5,9 @@ spring:
|
||||||
druid:
|
druid:
|
||||||
#MySQL
|
#MySQL
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
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
|
username: root
|
||||||
password: Hisense2019
|
password: Liwen073898!
|
||||||
initial-size: 10
|
initial-size: 10
|
||||||
max-active: 100
|
max-active: 100
|
||||||
min-idle: 10
|
min-idle: 10
|
||||||
|
@ -37,7 +37,7 @@ spring:
|
||||||
|
|
||||||
#上传的静态资源配置
|
#上传的静态资源配置
|
||||||
resource:
|
resource:
|
||||||
root_url: 15.2.21.238
|
root_url: 192.168.124.243
|
||||||
path: /home/yth/files/
|
path: /home/yth/files/
|
||||||
devModelFilePath: /home/yth/files/devModelFile
|
devModelFilePath: /home/yth/files/devModelFile
|
||||||
# 大数据部门相关配置
|
# 大数据部门相关配置
|
||||||
|
|
|
@ -63,7 +63,12 @@ spring:
|
||||||
baseline-on-migrate: true
|
baseline-on-migrate: true
|
||||||
baseline-version: 0
|
baseline-version: 0
|
||||||
validate-on-migrate: true
|
validate-on-migrate: true
|
||||||
|
jackson:
|
||||||
|
parser:
|
||||||
|
# 允许出现特殊字符和转义符
|
||||||
|
allow_unquoted_control_chars: true
|
||||||
|
#允许出现单引号
|
||||||
|
allow_single_quotes: true
|
||||||
|
|
||||||
fdfs:
|
fdfs:
|
||||||
so-timeout: 600000
|
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文件替换文件内容!!!
|
-- 表数据有更新时直接从Navicat选择转储SQL文件替换文件内容!!!
|
||||||
-- 替换前建议备份
|
-- 替换前建议备份
|
||||||
-- 注意更新时间
|
-- 注意更新时间
|
||||||
/*
|
/*
|
||||||
Date: 19/07/2022 10:55:51
|
Date: 21/07/2022 09:49:36
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SET NAMES utf8mb4;
|
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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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);
|
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);
|
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;
|
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;
|
|
@ -5,3 +5,4 @@ tsingtao-xha.localcam=http://10.134.135.9:8001/hx-weather-warning/camera/getCame
|
||||||
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.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.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">
|
<if test="processDefinitionKey != null">
|
||||||
and aht.PROC_DEF_ID_ LIKE #{processDefinitionKey}
|
and aht.PROC_DEF_ID_ LIKE #{processDefinitionKey}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="ended != null">
|
||||||
|
and ahp.END_TIME_ IS NOT NULL
|
||||||
|
</if>
|
||||||
ORDER BY
|
ORDER BY
|
||||||
ahp.START_TIME_ DESC
|
ahp.START_TIME_ DESC
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -38,6 +38,9 @@
|
||||||
<if test="deptId != null and deptId != ''">
|
<if test="deptId != null and deptId != ''">
|
||||||
and deptId = #{deptId}
|
and deptId = #{deptId}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="type != null and type != ''">
|
||||||
|
and type = #{type}
|
||||||
|
</if>
|
||||||
<if test="deptUser != null and deptUser != ''">
|
<if test="deptUser != null and deptUser != ''">
|
||||||
and dept_user like concat('%', #{deptUser}, '%')
|
and dept_user like concat('%', #{deptUser}, '%')
|
||||||
</if>
|
</if>
|
||||||
|
@ -69,17 +72,4 @@
|
||||||
ORDER BY ${orderField} ${orderType}
|
ORDER BY ${orderField} ${orderType}
|
||||||
</select>
|
</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>
|
</mapper>
|
|
@ -117,7 +117,7 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectChannelCounts" parameterType="java.lang.String" resultType="integer">
|
<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},'%')
|
WHERE b.path like concat(#{path},'%')
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
@ -145,7 +145,9 @@
|
||||||
AND tcc.node_name LIKE CONCAT(#{path},'%')
|
AND tcc.node_name LIKE CONCAT(#{path},'%')
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
|
<if test = "map.checkStatus != null and map.checkStatus != ''">
|
||||||
AND tcc.check_status IN (${map.checkStatus})
|
AND tcc.check_status IN (${map.checkStatus})
|
||||||
|
</if>
|
||||||
AND tcc.gps_x != ''
|
AND tcc.gps_x != ''
|
||||||
AND tcc.gps_y != ''
|
AND tcc.gps_y != ''
|
||||||
AND tcc.gps_x IS NOT NULL
|
AND tcc.gps_x IS NOT NULL
|
||||||
|
@ -193,9 +195,13 @@
|
||||||
AND tcc.node_name LIKE CONCAT(#{path},'%')
|
AND tcc.node_name LIKE CONCAT(#{path},'%')
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
|
<if test = "map.checkStatus != null and map.checkStatus != ''">
|
||||||
AND tcc.check_status IN (${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 != ''">
|
<if test = "map.cameraName != null and map.cameraName != ''">
|
||||||
AND tcc.channel_name LIKE CONCAT('%',#{map.cameraName},'%')
|
AND tcc.channel_name LIKE CONCAT('%',#{map.cameraName},'%')
|
||||||
</if>
|
</if>
|
||||||
|
@ -215,7 +221,11 @@
|
||||||
|
|
||||||
|
|
||||||
<select id="selectChannelNumByRegion" resultType="java.util.Map">
|
<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>
|
</select>
|
||||||
|
|
||||||
<insert id="batchSaveMtmLabel" parameterType="java.util.List">
|
<insert id="batchSaveMtmLabel" parameterType="java.util.List">
|
||||||
|
@ -227,4 +237,53 @@
|
||||||
(#{item.channel_code},#{item.label_code})
|
(#{item.channel_code},#{item.label_code})
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</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>
|
</mapper>
|
|
@ -3,7 +3,7 @@
|
||||||
<mapper namespace="io.renren.modules.monitor.mapper.CameraOrgenizationMapper">
|
<mapper namespace="io.renren.modules.monitor.mapper.CameraOrgenizationMapper">
|
||||||
<insert id="batchSaveOrgenization" parameterType="java.util.List">
|
<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
|
id,name,parent_id,sort,subCount,path,is_parent,is_root
|
||||||
) VALUES
|
) VALUES
|
||||||
<foreach collection="list" item="item" separator="," >
|
<foreach collection="list" item="item" separator="," >
|
||||||
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
|
|
||||||
<insert id="batchSaveCameraChannel" parameterType="java.util.List">
|
<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,
|
channel_code,channel_id,channel_name,gps_x,gps_y,status,
|
||||||
parent_id,region_code,region_name,node_name
|
parent_id,region_code,region_name,node_name
|
||||||
|
@ -29,4 +29,40 @@
|
||||||
)
|
)
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</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>
|
</mapper>
|
|
@ -33,6 +33,7 @@
|
||||||
<result property="enclosure" column="enclosure"/>
|
<result property="enclosure" column="enclosure"/>
|
||||||
<result property="undercarriageReason" column="undercarriage_reason"/>
|
<result property="undercarriageReason" column="undercarriage_reason"/>
|
||||||
<result property="undercarriageUserName" column="undercarriage_user_name"/>
|
<result property="undercarriageUserName" column="undercarriage_user_name"/>
|
||||||
|
<result property="undercarriageEnclosure" column="undercarriage_enclosure"/>
|
||||||
<result property="infoList" column="info_list"
|
<result property="infoList" column="info_list"
|
||||||
typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
|
typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
|
||||||
<result property="applyNumber" column="apply_number"/>
|
<result property="applyNumber" column="apply_number"/>
|
||||||
|
@ -68,6 +69,7 @@
|
||||||
<result property="enclosure" column="enclosure"/>
|
<result property="enclosure" column="enclosure"/>
|
||||||
<result property="undercarriageReason" column="undercarriage_reason"/>
|
<result property="undercarriageReason" column="undercarriage_reason"/>
|
||||||
<result property="undercarriageUserName" column="undercarriage_user_name"/>
|
<result property="undercarriageUserName" column="undercarriage_user_name"/>
|
||||||
|
<result property="undercarriageEnclosure" column="undercarriage_enclosure"/>
|
||||||
<!-- 自定义字段 -->
|
<!-- 自定义字段 -->
|
||||||
<result property="deptName" column="deptName"/>
|
<result property="deptName" column="deptName"/>
|
||||||
<result property="isCollect" column="isCollect"/>
|
<result property="isCollect" column="isCollect"/>
|
||||||
|
@ -104,12 +106,16 @@
|
||||||
IFNULL(sd.name, '暂无部门单位信息') AS "deptName",
|
IFNULL(sd.name, '暂无部门单位信息') AS "deptName",
|
||||||
IFNULL(trc2.isCollect, 'false') AS "isCollect",
|
IFNULL(trc2.isCollect, 'false') AS "isCollect",
|
||||||
(IFNULL(tdr.visits / 100, 0) + IFNULL(trs.score, 0) + IFNULL(taa.applyCount, 0)+ IFNULL(trc.collectCount, 0)) AS
|
(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
|
FROM
|
||||||
tb_data_resource tdr
|
tb_data_resource tdr
|
||||||
LEFT JOIN tb_data_attr tda ON tdr.id = tda.data_resource_id
|
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
|
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
|
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 =
|
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
|
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
|
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>
|
||||||
|
|
||||||
<!-- 按申请量和收藏量查询时排除知识库数据-->
|
<!-- 按申请量和收藏量查询时排除知识库数据-->
|
||||||
<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 != '知识库'
|
AND tdr.type != '知识库'
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
|
@ -289,7 +295,9 @@
|
||||||
IFNULL( trc.collectCount, 0 ) AS "collectCount",
|
IFNULL( trc.collectCount, 0 ) AS "collectCount",
|
||||||
sd.NAME AS "deptName",
|
sd.NAME AS "deptName",
|
||||||
IFNULL( trc2.isCollect, 'false' ) AS "isCollect",
|
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
|
FROM
|
||||||
tb_data_resource tdr
|
tb_data_resource tdr
|
||||||
LEFT JOIN ( SELECT resource_id, AVG( score ) AS "score" FROM tb_resource_score WHERE 1 = 1 AND del_flag = 0
|
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
|
= 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
|
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
|
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 (
|
LEFT JOIN (
|
||||||
SELECT
|
SELECT
|
||||||
resource_id,
|
resource_id,
|
||||||
|
@ -314,6 +325,9 @@
|
||||||
) trc2 ON tdr.id = trc2.resource_id
|
) trc2 ON tdr.id = trc2.resource_id
|
||||||
LEFT JOIN ( SELECT resource_id, COUNT( approve_status ) approve_status FROM t_ability_application WHERE 1 = 1
|
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
|
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
|
LEFT JOIN sys_dept sd ON tdr.dept_id = sd.id
|
||||||
WHERE
|
WHERE
|
||||||
1 = 1
|
1 = 1
|
||||||
|
@ -358,11 +372,15 @@
|
||||||
IFNULL(trc.collectCount, 0) AS "collectCount",
|
IFNULL(trc.collectCount, 0) AS "collectCount",
|
||||||
sd.name AS "deptName",
|
sd.name AS "deptName",
|
||||||
IFNULL(trc2.isCollect, 'false') AS "isCollect",
|
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
|
FROM
|
||||||
tb_data_resource tdr
|
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
|
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
|
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 =
|
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
|
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
|
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
|
AND tdr.del_flag = 0
|
||||||
<if test="dto.name != null and dto.name != ''">
|
<if test="dto.name != null and dto.name != ''">
|
||||||
AND MATCH (tdr.name) AGAINST ( #{dto.name} IN BOOLEAN MODE)
|
AND MATCH (tdr.name) AGAINST ( #{dto.name} IN BOOLEAN MODE)
|
||||||
<!--AND tdr.name LIKE CONCAT('%',#{dto.name},'%') -->
|
|
||||||
</if>
|
</if>
|
||||||
<if test="dto.type != null and dto.type != ''">
|
<if test="dto.type != null and dto.type != ''">
|
||||||
AND tdr.type = #{dto.type}
|
AND tdr.type = #{dto.type}
|
||||||
|
@ -534,11 +551,9 @@
|
||||||
|
|
||||||
<select id="countAllDept" resultType="java.lang.Long">
|
<select id="countAllDept" resultType="java.lang.Long">
|
||||||
SELECT
|
SELECT
|
||||||
COUNT( DISTINCT dept_id )
|
COUNT(id)
|
||||||
FROM
|
FROM
|
||||||
tb_data_resource
|
sys_dept
|
||||||
WHERE
|
|
||||||
del_flag = 0
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectGroupByDeptId" resultType="java.util.Map">
|
<select id="selectGroupByDeptId" resultType="java.util.Map">
|
||||||
|
@ -789,6 +804,7 @@
|
||||||
WHERE 1 = 1
|
WHERE 1 = 1
|
||||||
AND del_flag = 0
|
AND del_flag = 0
|
||||||
AND dept_id = #{deptId}
|
AND dept_id = #{deptId}
|
||||||
|
LIMIT 30
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectDeptCountList" resultType="java.util.Map">
|
<select id="selectDeptCountList" resultType="java.util.Map">
|
||||||
|
@ -855,6 +871,7 @@
|
||||||
AND su.id = taa.user_id
|
AND su.id = taa.user_id
|
||||||
AND taa.resource_id = tdr.id
|
AND taa.resource_id = tdr.id
|
||||||
AND su.dept_id = #{deptId}
|
AND su.dept_id = #{deptId}
|
||||||
|
LIMIT 30
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectApplyDeptCountList" resultType="java.util.Map">
|
<select id="selectApplyDeptCountList" resultType="java.util.Map">
|
||||||
|
@ -1302,9 +1319,9 @@
|
||||||
a.del_flag = 0
|
a.del_flag = 0
|
||||||
AND
|
AND
|
||||||
d.del_flag = 0
|
d.del_flag = 0
|
||||||
group by
|
GROUP BY
|
||||||
c.name,c.id
|
c.name,c.id
|
||||||
order by
|
ORDER BY
|
||||||
c.name,c.id
|
c.name,c.id
|
||||||
LIMIT ${pageNum}, ${pageSize}
|
LIMIT ${pageNum}, ${pageSize}
|
||||||
</select>
|
</select>
|
||||||
|
@ -1371,7 +1388,7 @@
|
||||||
#{deptId}
|
#{deptId}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
group by tdr.id order by count desc
|
GROUP BY tdr.id ORDER BY count desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectUsersApplyAndCount" resultMap="resourceDTO">
|
<select id="selectUsersApplyAndCount" resultMap="resourceDTO">
|
||||||
|
@ -1380,13 +1397,13 @@
|
||||||
WHERE
|
WHERE
|
||||||
1 = 1
|
1 = 1
|
||||||
AND tdr.del_flag = 0
|
AND tdr.del_flag = 0
|
||||||
<if test="null != userIds">
|
<if test="null != userIds and userIds.size > 0">
|
||||||
and taa.user_id in
|
and taa.user_id in
|
||||||
<foreach item="userId" collection="userIds" open="(" separator="," close=")">
|
<foreach item="userId" collection="userIds" open="(" separator="," close=")">
|
||||||
#{userId}
|
#{userId}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
group by tdr.id order by applyCount desc
|
GROUP BY tdr.id ORDER BY applyCount desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="trafficDeptResource" resultType="java.util.Map">
|
<select id="trafficDeptResource" resultType="java.util.Map">
|
||||||
|
@ -1436,7 +1453,8 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectDevelopDocResource" resultType="java.util.Map">
|
<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='技术文档'
|
where tdr.del_flag != 1 and tda.attr_type='技术文档'
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue