|
|
@@ -7,18 +7,20 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.xunmei.common.core.constant.Constants;
|
|
|
import com.xunmei.common.core.domain.work.domain.IotDayWork;
|
|
|
import com.xunmei.common.core.domain.work.domain.IotDayWorkOperation;
|
|
|
-import com.xunmei.common.security.utils.SecurityUtils;
|
|
|
+import com.xunmei.common.core.domain.work.dto.ControlDeviceDto;
|
|
|
import com.xunmei.common.core.domain.work.dto.WorkDayDto;
|
|
|
-import com.xunmei.iot.enums.work.GroupTypeEnum;
|
|
|
-import com.xunmei.iot.enums.work.RedirectTypeEnum;
|
|
|
-import com.xunmei.iot.enums.work.WorkTypeEnum;
|
|
|
+import com.xunmei.common.core.domain.work.vo.WorkFieldDataVo;
|
|
|
+import com.xunmei.common.core.domain.work.vo.WorkVo;
|
|
|
+import com.xunmei.common.security.utils.SecurityUtils;
|
|
|
+import com.xunmei.common.core.enums.work.GroupTypeEnum;
|
|
|
+import com.xunmei.common.core.enums.work.RedirectTypeEnum;
|
|
|
+import com.xunmei.common.core.enums.work.WorkTypeEnum;
|
|
|
import com.xunmei.iot.factory.WorkStrategyFactory;
|
|
|
import com.xunmei.iot.interfaces.WorkFieldStrategy;
|
|
|
import com.xunmei.iot.mapper.IotDayWorkMapper;
|
|
|
import com.xunmei.iot.service.IotDayWorkOperationService;
|
|
|
import com.xunmei.iot.service.IotDayWorkService;
|
|
|
-import com.xunmei.common.core.domain.work.vo.WorkFieldDataVo;
|
|
|
-import com.xunmei.common.core.domain.work.vo.WorkVo;
|
|
|
+import com.xunmei.system.api.RemoteHostService;
|
|
|
import com.xunmei.system.api.domain.SysUser;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -43,7 +45,8 @@ public class IotDayWorkServiceImpl extends ServiceImpl<IotDayWorkMapper, IotDayW
|
|
|
private WorkStrategyFactory workStrategyFactory;
|
|
|
@Resource
|
|
|
IotDayWorkOperationService operationService;
|
|
|
-
|
|
|
+ @Resource
|
|
|
+ RemoteHostService hostService;
|
|
|
|
|
|
@Override
|
|
|
public WorkVo getRealWorkData(WorkDayDto workDayDto) {
|
|
|
@@ -119,11 +122,38 @@ public class IotDayWorkServiceImpl extends ServiceImpl<IotDayWorkMapper, IotDayW
|
|
|
public void startWork(WorkDayDto workDayDto) {
|
|
|
|
|
|
//直接通知主机开始执行命令,平台不做任何逻辑处理;
|
|
|
+ final SysUser sysUser = SecurityUtils.getLoginUser().getSysUser();
|
|
|
+ workDayDto.setOrgId(sysUser.getOrgId());
|
|
|
+ hostService.startWork(workDayDto);
|
|
|
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
+ @Override
|
|
|
+ public void changeDevice(ControlDeviceDto controlDeviceDto) {
|
|
|
+ //直接通知主机开始执行命令,平台不做任何逻辑处理;
|
|
|
+ final SysUser sysUser = SecurityUtils.getLoginUser().getSysUser();
|
|
|
+ controlDeviceDto.setOrgId(sysUser.getOrgId());
|
|
|
+ hostService.changeDevice(controlDeviceDto);
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ /**
|
|
|
+ * 判断设备是否处于操作中
|
|
|
+ *
|
|
|
+ * @param controlDeviceDto
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private boolean validateOperation(ControlDeviceDto controlDeviceDto) {
|
|
|
+ QueryWrapper<IotDayWorkOperation> qw = new QueryWrapper<>();
|
|
|
+ qw.lambda().eq(IotDayWorkOperation::getOperationType, controlDeviceDto.getRedirectType())
|
|
|
+ .eq(IotDayWorkOperation::getOperationStatus, 0);
|
|
|
+ if (RedirectTypeEnum.DEFENSE_REDIRECT_TYPE.getNum() == controlDeviceDto.getRedirectType()) {
|
|
|
+ //如果是布撤防
|
|
|
+ qw.lambda().eq(IotDayWorkOperation::getDeviceId, controlDeviceDto.getDeviceId())
|
|
|
+ .eq(IotDayWorkOperation::getDeviceName, controlDeviceDto.getDeviceName())
|
|
|
+ .eq(IotDayWorkOperation::getProductName, controlDeviceDto.getProductName());
|
|
|
+ }
|
|
|
+ long count = operationService.count(qw);
|
|
|
+ return count == 0;
|
|
|
+ }
|
|
|
}
|