From 52eb3f0befcb397d2fdd645c8d7471d6ee477f87 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期一, 09 五月 2022 16:36:38 +0800
Subject: [PATCH] 权限
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeMissionService.java | 166 +++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 124 insertions(+), 42 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeMissionService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeMissionService.java
index a2f0616..89a7f60 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeMissionService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/IpVolumeMissionService.java
@@ -1,12 +1,13 @@
package com.sandu.ximon.admin.service;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
-import com.sandu.ximon.admin.config.MinIoConstant;
+import com.sandu.ximon.admin.minio.entity.MinIoConstant;
import com.sandu.ximon.admin.param.IpVolumeMissionParam;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.admin.utils.TaskAPIUtils;
@@ -25,7 +26,6 @@
import java.math.BigInteger;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashSet;
import java.util.List;
@@ -39,6 +39,7 @@
public class IpVolumeMissionService extends BaseServiceImpl<IpVolumeMissionMapper, IpVolumeMission> {
private final IpVolumeMissionMapper ipVolumeMissionMapper;
private final ClientService clientService;
+ private final IpVolumeService ipVolumeService;
private final IpVolumeFileService ipVolumeFileService;
private final BroadcastV2TaskFileService broadcastV2TaskFileService;
private final BroadcastV2TaskTerminalService broadcastV2TaskTerminalService;
@@ -92,18 +93,27 @@
taskFileEntity.setFileId(fileId);
IpVolumeFile fileEntity = ipVolumeFileService.getById(fileId);
- if(fileEntity==null){
- throw new BusinessException("fileId涓�"+fileId+"鐨勬枃浠朵笉瀛樺湪");
+ if (fileEntity == null) {
+ throw new BusinessException("fileId涓�" + fileId + "鐨勬枃浠朵笉瀛樺湪");
}
-// String absolutePath = MinIoConstant.getAbsolutePath(
-// MinIoConstant.BROADCAST_FILE.getBucketName() + fileEntity.getUserId(),
-// fileEntity.getFileName()
-// );
-
+ if (fileEntity.getUserId() == null && fileEntity.getClientId() != null) {
+ fileEntity.setUserId(fileEntity.getClientId());
+ }
+ String absolutePath;
+ absolutePath = MinIoConstant.getAbsolutePath(
+ MinIoConstant.BROADCAST_FILE.getBucketName() + fileEntity.getUserId(),
+ fileEntity.getFileName()
+ );
+ if (fileEntity.getUserId() == null && fileEntity.getClientId() == null) {
+ absolutePath = MinIoConstant.getAbsolutePath(
+ MinIoConstant.ADMIN_BROADCAST_FILE.getBucketName(),
+ fileEntity.getFileName()
+ );
+ }
taskMediaFileVO.setI(i);
i++;
taskMediaFileVO.setT(0);
- taskMediaFileVO.setN(fileEntity.getFileUrl());
+ taskMediaFileVO.setN(absolutePath);
taskMediaFileVO.setS(BigInteger.valueOf(fileEntity.getOriginSize()));
taskMediaFileVOS.add(taskMediaFileVO);
@@ -141,9 +151,8 @@
mission.setOffDate(missionparam.getOffDate());
mission.setWeek(Integer.parseInt(missionparam.getWeek(), 2));//鏃堕棿鐢变簩杩涘埗瀛楃涓茶浆鎹负鍗佽繘鍒�
mission.setMissionVolume(missionparam.getMissionVolume());
- //mission.setMissionFileUrl(missionparam.getFiles().toString());
mission.setNumberInPlay(missionparam.getTerminals().length);
- /*TaskTerminalVO[] terminals = missionparam.getTerminals();*/
+
System.out.println(save(mission));
System.out.println("----------------------------------------------------------");
@@ -160,18 +169,11 @@
mission.setMissionVolume(missionparam.getMissionVolume());
mission.setMissionFileUrl(missionparam.getFiles().toString());
mission.setNumberInPlay(missionparam.getTerminals().length);
- /* System.out.println(updateById(mission));
- System.out.println("----------------------------------------------------------");*/
}
broadcastV2TaskFileService.deleteByTaskId(taskId);
broadcastV2TaskTerminalService.deleteByTaskId(taskId);
-// broadcastV2TaskTerminalService.deleteByTaskId(taskId);
-// broadcastV2TaskTerminalService.removeById(taskId);
broadcastV2TaskTerminalService.saveTaskTerminal(taskTerminalEntityList);
broadcastV2TaskFileService.saveBatch(taskFileEntityList);
-// broadcastV2TaskTerminalService.saveBatch(taskTerminalEntityList);
-// broadcastV2TaskTerminalService.insertTaskTerminal(taskTerminalEntityList);
-
return true;
} else {
return false;
@@ -222,10 +224,17 @@
taskFileEntity.setFileId(fileId);
IpVolumeFile fileEntity = ipVolumeFileService.getById(fileId);
- String absolutePath = MinIoConstant.getAbsolutePath(
+ String absolutePath;
+ absolutePath = MinIoConstant.getAbsolutePath(
MinIoConstant.BROADCAST_FILE.getBucketName() + fileEntity.getUserId(),
fileEntity.getFileName()
);
+ if (fileEntity.getUserId() == null && fileEntity.getClientId() == null) {
+ absolutePath = MinIoConstant.getAbsolutePath(
+ MinIoConstant.ADMIN_BROADCAST_FILE.getBucketName(),
+ fileEntity.getFileName()
+ );
+ }
taskMediaFileVO.setI(i);
i++;
@@ -240,7 +249,6 @@
missionparam.setFiles(taskMediaFileVOS.toArray(new TaskMediaFileVO[taskMediaFileVOS.size()]));
missionparam.setTerminals(taskTerminalVOList.toArray(new TaskTerminalVO[taskTerminalVOList.size()]));
- System.out.println("---------------------------");
// 鍚慖P闊虫煴鏈嶅姟鍣ㄦ洿鏂颁换鍔�
Integer result = TaskAPIUtils.updateTask(taskId, missionparam);
@@ -325,25 +333,22 @@
public List<IpVolumeMissionBo> missionList(BaseConditionVO baseConditionVO, String keyword) {
- // PageHelper.startPage(baseConditionVO.getPageNo(),baseConditionVO.getPageSize());
- boolean r = clientService.findClientId(); //ture浠h〃鏈変笂绾у鎴� 鏌ヨ閫氳繃userID
+ PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
List<IpVolumeMissionBo> ipVolumeMissionBos = new ArrayList<>();
- LambdaQueryWrapper<IpVolumeMission> eq = new LambdaQueryWrapper<>();
+ LambdaQueryWrapper<IpVolumeMission> eq = Wrappers.lambdaQuery(IpVolumeMission.class);
PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
- if (r) {
- eq = Wrappers.lambdaQuery(IpVolumeMission.class).eq(IpVolumeMission::getUserId, SecurityUtils.getUserId());
- } else {
- eq = Wrappers.lambdaQuery(IpVolumeMission.class).eq(IpVolumeMission::getClientId, SecurityUtils.getUserId());
+ //涓嶆槸瓒呯
+ if (SecurityUtils.getClientId() != null) {
+ eq = eq.eq(IpVolumeMission::getUserId, SecurityUtils.getUserId()).or(w -> {
+ w.eq(IpVolumeMission::getClientId, SecurityUtils.getUserId());
+ });
}
- if (!keyword.isEmpty()) {
+ if (keyword != null && !keyword.isEmpty()) {
eq.like(IpVolumeMission::getMissionName, keyword);
}
List<IpVolumeMission> list = list(eq);
-
-
- // ipVolumeMissionBos = ipVolumeMissionMapper.listAllByClientId();
for (IpVolumeMission mission : list) {
List<String> fileName = broadcastV2TaskFileService.findByTaskid(mission.getTaskId());
@@ -351,19 +356,12 @@
BeanUtils.copyProperties(mission, bo);
bo.setFileNames(fileName);
ipVolumeMissionBos.add(bo);
-
}
-// for (IpVolumeMissionBo missionBo: ipVolumeMissionBos) {
-// missionBo.setFileNames(broadcastV2TaskFileService.findByTaskid(missionBo.getTaskId()));
-//
-// }
-
return ipVolumeMissionBos;
- //return new ArrayList<>();
}
- public IpVolumeMission getByTaskId(Integer taskId) {
+ public TaskVO getByTaskId(Integer taskId) {
TaskVO task = TaskAPIUtils.getTask(taskId);
if (task == null) {
throw new BusinessException("鏈嶅姟鍣ㄦ湭鎵惧埌璇ヤ换鍔�");
@@ -373,17 +371,101 @@
if (byId == null) {
throw new BusinessException("鏈湴鏈壘鍒拌浠诲姟");
}
+ if (SecurityUtils.getClientId() != null) {
+ if (clientService.findClientId()) {
+ if (byId.getUserId().equals(SecurityUtils.getUserId())) {
+ throw new BusinessException("浠诲姟褰掑睘閿欒");
+ }
- byId.setWeeks("0" + Integer.toBinaryString(byId.getWeek()));
+ } else {
+ if (byId.getClientId().equals(SecurityUtils.getUserId())) {
+ throw new BusinessException("浠诲姟褰掑睘閿欒");
+ }
+ }
- return byId;
+
+ }
+ task.setWeeks("0" + Integer.toBinaryString(task.getWeek()));
+// byId.setWeeks("0" + Integer.toBinaryString(byId.getWeek()));
+
+ List<BroadcastV2TaskFile> taskFiles = broadcastV2TaskFileService.list(Wrappers.lambdaQuery(BroadcastV2TaskFile.class)
+ .eq(BroadcastV2TaskFile::getTaskId, taskId));
+ List<BroadcastV2TaskTerminal> taskTerminals = broadcastV2TaskTerminalService.list(Wrappers.lambdaQuery(BroadcastV2TaskTerminal.class)
+ .eq(BroadcastV2TaskTerminal::getTaskId, taskId));
+
+
+ if (!taskFiles.isEmpty()) {
+ taskFiles.forEach(
+ fileId -> {
+// IpVolumeFile volumeFile = ipVolumeFileService.getById(fileId.getFileId());
+// if(volumeFile==null){
+// throw new BusinessException("浠诲姟鏂囦欢涓嶅瓨鍦�");
+// }
+ task.getFileIds().add(fileId.getFileId());
+// byId.getFileIds().add(fileId.getFileId());
+ }
+ );
+
+ }
+ if (!taskTerminals.isEmpty()) {
+ taskTerminals.forEach(
+ terminalId -> {
+// BroadcastTerminalV2Entity v2Entity = ipVolumeService.getById(terminalId.getTerminalId());
+// if(v2Entity==null){
+// throw new BusinessException("璇ヤ换鍔℃殏鏃犺澶囦娇鐢�");
+// }
+ task.getTerminalIds().add(terminalId.getTerminalId());
+// byId.getTerminalIds().add(terminalId.getTerminalId());
+ }
+ );
+ }
+
+
+ System.out.println(JSON.toJSONString(task));
+ System.out.println(task);
+ return task;
}
+ /**
+ * 鎺ㄩ��
+ *
+ * @param taskId
+ * @return
+ */
public boolean playTask(Integer taskId) {
return TaskAPIUtils.playTask(taskId);
}
+ /**
+ * 鍋滄
+ *
+ * @param taskId
+ * @return
+ */
+ public boolean stopTask(Integer taskId) {
+ return TaskAPIUtils.stopTask(taskId);
+ }
+
+ /**
+ * 鏆傚仠
+ *
+ * @param taskId
+ * @return
+ */
+ public boolean pauseTask(Integer taskId) {
+ return TaskAPIUtils.pauseTask(taskId);
+ }
+
+ /**
+ * 缁х画
+ *
+ * @param taskId
+ * @return
+ */
+ public boolean continueTask(Integer taskId) {
+ return TaskAPIUtils.continueTask(taskId);
+ }
}
--
Gitblit v1.9.3