摄像头账号加密
This commit is contained in:
parent
8e04dca496
commit
863dfa7ec9
@ -4,18 +4,14 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.module.remote.service.task.RemoteTaskService;
|
import cn.iocoder.yudao.module.remote.service.task.RemoteTaskService;
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteExceptionTaskDetailDTO;
|
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteExceptionTaskDetailDTO;
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteExceptionTaskListDTO;
|
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteRobotCameraDTO;
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteTaskDTO;
|
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteTaskQueryDTO;
|
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteTaskQueryDTO;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -30,13 +26,6 @@ public class RemoteTaskController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private RemoteTaskService remoteTaskService;
|
private RemoteTaskService remoteTaskService;
|
||||||
|
|
||||||
/*@PostMapping("/getExceptionTask")
|
|
||||||
@Operation(summary = "获取异常任务列表")
|
|
||||||
@PreAuthorize("@ss.hasPermission('remote:task:getExceptionTask')")
|
|
||||||
public CommonResult<PageResult<RemoteExceptionTaskListDTO>> getExceptionTask(@RequestBody RemoteTaskDTO remoteTaskDTO) {
|
|
||||||
PageResult<RemoteExceptionTaskListDTO> list = remoteTaskService.getExceptionTask(remoteTaskDTO);
|
|
||||||
return success(list);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
@PostMapping("/getExceptionTaskDetail")
|
@PostMapping("/getExceptionTaskDetail")
|
||||||
@Operation(summary = "获取异常车辆任务列表")
|
@Operation(summary = "获取异常车辆任务列表")
|
||||||
@ -46,6 +35,13 @@ public class RemoteTaskController {
|
|||||||
return success(list);
|
return success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/getCarmeraByRobotNo")
|
||||||
|
@Operation(summary = "查看环境--获取摄像头IP和账号")
|
||||||
|
@PreAuthorize("@ss.hasPermission('remote:task:getExceptionTaskDetail')")
|
||||||
|
public CommonResult<List<RemoteRobotCameraDTO>> getCarmeraByRobotNo(@RequestParam("robotNo") String robotNo) {
|
||||||
|
List<RemoteRobotCameraDTO> list = remoteTaskService.getCarmeraByRobotNo(robotNo);
|
||||||
|
return success(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,16 +1,13 @@
|
|||||||
package cn.iocoder.yudao.module.remote.service.task;
|
package cn.iocoder.yudao.module.remote.service.task;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteExceptionTaskDetailDTO;
|
import cn.iocoder.yudao.module.system.api.remote.dto.*;
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteExceptionTaskListDTO;
|
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteTaskDTO;
|
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteTaskQueryDTO;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface RemoteTaskService {
|
public interface RemoteTaskService {
|
||||||
|
|
||||||
PageResult<RemoteExceptionTaskListDTO> getExceptionTask(RemoteTaskDTO remoteTaskDTO);
|
|
||||||
|
|
||||||
PageResult<RemoteExceptionTaskDetailDTO> getExceptionTaskDetail(RemoteTaskQueryDTO remoteTaskQuery);
|
PageResult<RemoteExceptionTaskDetailDTO> getExceptionTaskDetail(RemoteTaskQueryDTO remoteTaskQuery);
|
||||||
|
|
||||||
|
List<RemoteRobotCameraDTO> getCarmeraByRobotNo(String robotNo);
|
||||||
}
|
}
|
||||||
|
@ -2,10 +2,7 @@ package cn.iocoder.yudao.module.remote.service.task;
|
|||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.module.system.api.remote.RemoteExceptionTaskApi;
|
import cn.iocoder.yudao.module.system.api.remote.RemoteExceptionTaskApi;
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteExceptionTaskDetailDTO;
|
import cn.iocoder.yudao.module.system.api.remote.dto.*;
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteExceptionTaskListDTO;
|
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteTaskDTO;
|
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteTaskQueryDTO;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@ -20,15 +17,7 @@ public class RemoteTaskServiceImpl implements RemoteTaskService {
|
|||||||
@Resource
|
@Resource
|
||||||
private RemoteExceptionTaskApi remoteExceptionTaskApi;
|
private RemoteExceptionTaskApi remoteExceptionTaskApi;
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取异常任务列表
|
|
||||||
* @param remoteTaskDTO
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public PageResult<RemoteExceptionTaskListDTO> getExceptionTask(RemoteTaskDTO remoteTaskDTO) {
|
|
||||||
return remoteExceptionTaskApi.getExceptionTask(remoteTaskDTO);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 远遥查询异常的车辆
|
* 远遥查询异常的车辆
|
||||||
@ -39,4 +28,14 @@ public class RemoteTaskServiceImpl implements RemoteTaskService {
|
|||||||
public PageResult<RemoteExceptionTaskDetailDTO> getExceptionTaskDetail(RemoteTaskQueryDTO remoteTaskQuery) {
|
public PageResult<RemoteExceptionTaskDetailDTO> getExceptionTaskDetail(RemoteTaskQueryDTO remoteTaskQuery) {
|
||||||
return remoteExceptionTaskApi.getExceptionTaskDetail(remoteTaskQuery);
|
return remoteExceptionTaskApi.getExceptionTaskDetail(remoteTaskQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查摄像头信息
|
||||||
|
* @param robotNo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<RemoteRobotCameraDTO> getCarmeraByRobotNo(String robotNo) {
|
||||||
|
return remoteExceptionTaskApi.getCarmeraByRobotNo(robotNo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
package cn.iocoder.yudao.module.system.api.remote;
|
package cn.iocoder.yudao.module.system.api.remote;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteExceptionTaskDetailDTO;
|
import cn.iocoder.yudao.module.system.api.remote.dto.*;
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteExceptionTaskListDTO;
|
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteTaskDTO;
|
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteTaskQueryDTO;
|
|
||||||
import cn.iocoder.yudao.module.system.enums.ApiConstants;
|
import cn.iocoder.yudao.module.system.enums.ApiConstants;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
@ -21,15 +18,11 @@ public interface RemoteExceptionTaskApi {
|
|||||||
|
|
||||||
String PREFIX = ApiConstants.PREFIX + "/remote";
|
String PREFIX = ApiConstants.PREFIX + "/remote";
|
||||||
|
|
||||||
/**
|
|
||||||
* 远遥查看异常列表
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@PostMapping(PREFIX + "/getExceptionTask")
|
|
||||||
@Operation(summary = "远遥查看异常列表")
|
|
||||||
PageResult<RemoteExceptionTaskListDTO> getExceptionTask(@RequestBody RemoteTaskDTO remoteTaskDTO);
|
|
||||||
|
|
||||||
@PostMapping(PREFIX + "/getExceptionTaskDetail")
|
@PostMapping(PREFIX + "/getExceptionTaskDetail")
|
||||||
@Operation(summary = "远遥查询异常的车辆")
|
@Operation(summary = "远遥查询异常的车辆")
|
||||||
PageResult<RemoteExceptionTaskDetailDTO> getExceptionTaskDetail(@RequestBody RemoteTaskQueryDTO remoteTaskQuery);
|
PageResult<RemoteExceptionTaskDetailDTO> getExceptionTaskDetail(@RequestBody RemoteTaskQueryDTO remoteTaskQuery);
|
||||||
|
|
||||||
|
@PostMapping(PREFIX + "/getCarmeraByRobotNo")
|
||||||
|
@Operation(summary = "查摄像头信息")
|
||||||
|
List<RemoteRobotCameraDTO> getCarmeraByRobotNo(@RequestParam("robotNo") String robotNo);
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
package cn.iocoder.yudao.module.system.api.remote.dto;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class RemoteRobotCameraDTO {
|
||||||
|
@Schema(description = "摄像头位置(0:上, 1:左, 2:右, 3:下, 4:后)")
|
||||||
|
private Integer cameraPosition;
|
||||||
|
|
||||||
|
@Schema(description = "摄像头IP--长度20")
|
||||||
|
private String cameraIp;
|
||||||
|
|
||||||
|
@Schema(description = "摄像头端口--长度10")
|
||||||
|
private String cameraPort;
|
||||||
|
|
||||||
|
@Schema(description = "摄像头账号--长度30", example = "24863")
|
||||||
|
private String cameraAccount;
|
||||||
|
|
||||||
|
@Schema(description = "摄像头密码--长度40")
|
||||||
|
private String cameraPassword;
|
||||||
|
}
|
@ -1,16 +1,20 @@
|
|||||||
package cn.iocoder.yudao.module.system.api.remote;
|
package cn.iocoder.yudao.module.system.api.remote;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteExceptionTaskDetailDTO;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteExceptionTaskListDTO;
|
import cn.iocoder.yudao.module.system.api.remote.dto.*;
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteTaskDTO;
|
import cn.iocoder.yudao.module.system.controller.admin.robot.camera.RobotCameraAddVO;
|
||||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteTaskQueryDTO;
|
|
||||||
import cn.iocoder.yudao.module.system.service.robot.RobotTaskDetailService;
|
import cn.iocoder.yudao.module.system.service.robot.RobotTaskDetailService;
|
||||||
|
import cn.iocoder.yudao.module.system.service.robot.camera.RobotCameraService;
|
||||||
|
import cn.iocoder.yudao.module.system.util.aes.AESEncryptionUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -23,16 +27,11 @@ public class RemoteExceptionTaskApiImpl implements RemoteExceptionTaskApi{
|
|||||||
@Resource
|
@Resource
|
||||||
private RobotTaskDetailService taskDetailService;
|
private RobotTaskDetailService taskDetailService;
|
||||||
|
|
||||||
/**
|
@Resource
|
||||||
* 远遥获取异常任务列表
|
private RobotCameraService cameraService;
|
||||||
* @param taskStage
|
|
||||||
* @param robotNo
|
@Value("${zn.camera_secret_key}")
|
||||||
* @return
|
private String cameraSecretKey;
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public PageResult<RemoteExceptionTaskListDTO> getExceptionTask(RemoteTaskDTO remoteTaskDTO) {
|
|
||||||
return taskDetailService.getRemoteExceptionTask(remoteTaskDTO);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 远遥查询异常的车辆
|
* 远遥查询异常的车辆
|
||||||
@ -44,4 +43,24 @@ public class RemoteExceptionTaskApiImpl implements RemoteExceptionTaskApi{
|
|||||||
return taskDetailService.getExceptionTaskDetail(remoteTaskQuery);
|
return taskDetailService.getExceptionTaskDetail(remoteTaskQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RemoteRobotCameraDTO> getCarmeraByRobotNo(String robotNo) {
|
||||||
|
List<RobotCameraAddVO> cameraByRobotNo = cameraService.getCameraByRobotNo(robotNo);
|
||||||
|
if (ObjectUtil.isEmpty(cameraByRobotNo)) {
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
List<RemoteRobotCameraDTO> list = BeanUtils.toBean(cameraByRobotNo, RemoteRobotCameraDTO.class);
|
||||||
|
|
||||||
|
for (RemoteRobotCameraDTO robotCameraDO : list) {
|
||||||
|
try {
|
||||||
|
robotCameraDO.setCameraAccount(AESEncryptionUtil.decrypt(robotCameraDO.getCameraAccount(),cameraSecretKey));
|
||||||
|
robotCameraDO.setCameraPassword(AESEncryptionUtil.decrypt(robotCameraDO.getCameraPassword(),cameraSecretKey));
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,9 @@ import javax.validation.constraints.Size;
|
|||||||
@Data
|
@Data
|
||||||
public class RobotCameraAddVO {
|
public class RobotCameraAddVO {
|
||||||
|
|
||||||
|
@Schema(description = "摄像头id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
@Schema(description = "摄像头位置(0:上, 1:左, 2:右, 3:下, 4:后)")
|
@Schema(description = "摄像头位置(0:上, 1:左, 2:右, 3:下, 4:后)")
|
||||||
@NotNull(message = "请选择摄像头位置")
|
@NotNull(message = "请选择摄像头位置")
|
||||||
private Integer cameraPosition;
|
private Integer cameraPosition;
|
||||||
|
@ -150,14 +150,6 @@ public interface RobotTaskDetailMapper extends BaseMapperX<RobotTaskDetailDO> {
|
|||||||
*/
|
*/
|
||||||
List<RobotDoingTaskDTO> getRobotDoingTaskNo();
|
List<RobotDoingTaskDTO> getRobotDoingTaskNo();
|
||||||
|
|
||||||
/**
|
|
||||||
* 远遥查询异常任务列表
|
|
||||||
* @param mpPage
|
|
||||||
* @param pageReqVO
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
IPage<RemoteExceptionTaskListDTO> selectRemoteExceptionTask(@Param("mpPage") IPage mpPage,
|
|
||||||
@Param("pageReqVO") RemoteTaskDTO pageReqVO);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 远遥查询异常任务列表
|
* 远遥查询异常任务列表
|
||||||
|
@ -275,8 +275,6 @@ public class RobotInformationServiceImpl extends ServiceImpl<RobotInformationMap
|
|||||||
throw exception(ROBOT_DOING_REMOTE);
|
throw exception(ROBOT_DOING_REMOTE);
|
||||||
}
|
}
|
||||||
|
|
||||||
cameraService.deleteCameraByRobotNo(robotInformationDO.getRobotNo());
|
|
||||||
|
|
||||||
if (!updateReqVO.getRobotNo().equals(robotInformationDO.getRobotNo())
|
if (!updateReqVO.getRobotNo().equals(robotInformationDO.getRobotNo())
|
||||||
|| !updateReqVO.getMacAddress().equals(robotInformationDO.getMacAddress())) {
|
|| !updateReqVO.getMacAddress().equals(robotInformationDO.getMacAddress())) {
|
||||||
List<RobotTaskDO> list = taskMapper.selectDoingTaskByRobotNo(robotInformationDO.getRobotNo());
|
List<RobotTaskDO> list = taskMapper.selectDoingTaskByRobotNo(robotInformationDO.getRobotNo());
|
||||||
@ -312,6 +310,9 @@ public class RobotInformationServiceImpl extends ServiceImpl<RobotInformationMap
|
|||||||
if (ObjectUtil.isNotEmpty(existRobotIp)) {
|
if (ObjectUtil.isNotEmpty(existRobotIp)) {
|
||||||
throw exception(ROBOT_ROBOT_IP_EXISTS);
|
throw exception(ROBOT_ROBOT_IP_EXISTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cameraService.deleteCameraByRobotNo(robotInformationDO.getRobotNo());
|
||||||
|
|
||||||
if (ObjectUtil.isNotEmpty(updateReqVO.getCameraAddVOList())) {
|
if (ObjectUtil.isNotEmpty(updateReqVO.getCameraAddVOList())) {
|
||||||
List<RobotCameraAddVO> cameraAddVOList = updateReqVO.getCameraAddVOList();
|
List<RobotCameraAddVO> cameraAddVOList = updateReqVO.getCameraAddVOList();
|
||||||
cameraService.checkCameraExist(cameraAddVOList);
|
cameraService.checkCameraExist(cameraAddVOList);
|
||||||
|
@ -112,11 +112,6 @@ public interface RobotTaskDetailService {
|
|||||||
*/
|
*/
|
||||||
List<RobotDoingTaskDTO> getRobotDoingTaskNo();
|
List<RobotDoingTaskDTO> getRobotDoingTaskNo();
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取远遥异常列表
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
PageResult<RemoteExceptionTaskListDTO> getRemoteExceptionTask(RemoteTaskDTO remoteTaskDTO);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 远遥查询异常的车辆
|
* 远遥查询异常的车辆
|
||||||
|
@ -208,15 +208,6 @@ public class RobotTaskDetailServiceImpl implements RobotTaskDetailService {
|
|||||||
return taskDetailMapper.getRobotDoingTaskNo();
|
return taskDetailMapper.getRobotDoingTaskNo();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public PageResult<RemoteExceptionTaskListDTO> getRemoteExceptionTask(RemoteTaskDTO pageReqVO) {
|
|
||||||
IPage mpPage = MyBatisUtils.buildPage(pageReqVO);
|
|
||||||
IPage<RemoteExceptionTaskListDTO> page = taskDetailMapper.selectRemoteExceptionTask(mpPage, pageReqVO);
|
|
||||||
PageResult<RemoteExceptionTaskListDTO> dataPage = new PageResult<>();
|
|
||||||
dataPage.setTotal(page.getTotal());
|
|
||||||
dataPage.setList(page.getRecords());
|
|
||||||
return dataPage;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 远遥查询异常的车辆
|
* 远遥查询异常的车辆
|
||||||
|
@ -9,9 +9,11 @@ import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotCameraDO;
|
|||||||
import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotInformationDO;
|
import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotInformationDO;
|
||||||
import cn.iocoder.yudao.module.system.dal.mysql.robot.RobotCameraMapper;
|
import cn.iocoder.yudao.module.system.dal.mysql.robot.RobotCameraMapper;
|
||||||
import cn.iocoder.yudao.module.system.enums.robot.RobotStatusEnum;
|
import cn.iocoder.yudao.module.system.enums.robot.RobotStatusEnum;
|
||||||
|
import cn.iocoder.yudao.module.system.util.aes.AESEncryptionUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
@ -41,6 +43,9 @@ public class RobotCameraServiceImpl extends ServiceImpl<RobotCameraMapper, Robot
|
|||||||
@Resource
|
@Resource
|
||||||
private RobotCameraMapper cameraMapper;
|
private RobotCameraMapper cameraMapper;
|
||||||
|
|
||||||
|
@Value("${zn.camera_secret_key}")
|
||||||
|
private String cameraSecretKey;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Long createCamera(RobotCameraSaveReqVO createReqVO) {
|
public Long createCamera(RobotCameraSaveReqVO createReqVO) {
|
||||||
// 插入
|
// 插入
|
||||||
@ -110,6 +115,14 @@ public class RobotCameraServiceImpl extends ServiceImpl<RobotCameraMapper, Robot
|
|||||||
public void createCameraList(List<RobotCameraAddVO> cameraAddVOList, String robotNo) {
|
public void createCameraList(List<RobotCameraAddVO> cameraAddVOList, String robotNo) {
|
||||||
List<RobotCameraDO> cameraDOList = BeanUtils.toBean(cameraAddVOList, RobotCameraDO.class);
|
List<RobotCameraDO> cameraDOList = BeanUtils.toBean(cameraAddVOList, RobotCameraDO.class);
|
||||||
for (RobotCameraDO robotCameraDO : cameraDOList) {
|
for (RobotCameraDO robotCameraDO : cameraDOList) {
|
||||||
|
try {
|
||||||
|
if (ObjectUtil.isEmpty(robotCameraDO.getId())) {
|
||||||
|
robotCameraDO.setCameraAccount(AESEncryptionUtil.encrypt(robotCameraDO.getCameraAccount(),cameraSecretKey));
|
||||||
|
robotCameraDO.setCameraPassword(AESEncryptionUtil.encrypt(robotCameraDO.getCameraPassword(),cameraSecretKey));
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
robotCameraDO.setRobotNo(robotNo);
|
robotCameraDO.setRobotNo(robotNo);
|
||||||
}
|
}
|
||||||
cameraMapper.insert(cameraDOList);
|
cameraMapper.insert(cameraDOList);
|
||||||
|
@ -0,0 +1,37 @@
|
|||||||
|
package cn.iocoder.yudao.module.system.util.aes;
|
||||||
|
|
||||||
|
import javax.crypto.Cipher;
|
||||||
|
import javax.crypto.spec.SecretKeySpec;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.util.Base64;
|
||||||
|
|
||||||
|
public class AESEncryptionUtil {
|
||||||
|
private static final String AES_ALGORITHM = "AES";
|
||||||
|
|
||||||
|
public static String encrypt(String plaintext, String key) throws Exception {
|
||||||
|
SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), AES_ALGORITHM);
|
||||||
|
Cipher cipher = Cipher.getInstance(AES_ALGORITHM);
|
||||||
|
cipher.init(Cipher.ENCRYPT_MODE, secretKey);
|
||||||
|
byte[] encryptedBytes = cipher.doFinal(plaintext.getBytes(StandardCharsets.UTF_8));
|
||||||
|
return Base64.getEncoder().encodeToString(encryptedBytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String decrypt(String ciphertext, String key) throws Exception {
|
||||||
|
SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), AES_ALGORITHM);
|
||||||
|
Cipher cipher = Cipher.getInstance(AES_ALGORITHM);
|
||||||
|
cipher.init(Cipher.DECRYPT_MODE, secretKey);
|
||||||
|
byte[] decryptedBytes = cipher.doFinal(Base64.getDecoder().decode(ciphertext));
|
||||||
|
return new String(decryptedBytes, StandardCharsets.UTF_8);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) throws Exception {
|
||||||
|
String plaintext = "Hello, World!2333333333";
|
||||||
|
String key = "1234567890abcdef";
|
||||||
|
|
||||||
|
String encryptedText = encrypt(plaintext, key);
|
||||||
|
System.out.println("Encrypted Text: " + encryptedText);
|
||||||
|
|
||||||
|
String decryptedText = decrypt(encryptedText, key);
|
||||||
|
System.out.println("Decrypted Text: " + decryptedText);
|
||||||
|
}
|
||||||
|
}
|
@ -186,6 +186,7 @@ justauth:
|
|||||||
|
|
||||||
zn:
|
zn:
|
||||||
task-no: ZN #任务号开头
|
task-no: ZN #任务号开头
|
||||||
|
camera_secret_key: A2C4rv7DY012c9ef #摄像头秘钥
|
||||||
do_cycle: true #是否开启循环
|
do_cycle: true #是否开启循环
|
||||||
lane_auto_move: true #线库是否自动移库 true:线库执行自动移库 、false:线库关闭执行自动移库
|
lane_auto_move: true #线库是否自动移库 true:线库执行自动移库 、false:线库关闭执行自动移库
|
||||||
robot_position_cache_time: 10 #机器人上报点位存储时间(秒)
|
robot_position_cache_time: 10 #机器人上报点位存储时间(秒)
|
||||||
|
@ -221,6 +221,7 @@ map:
|
|||||||
|
|
||||||
zn:
|
zn:
|
||||||
task-no: ZN #任务号开头
|
task-no: ZN #任务号开头
|
||||||
|
camera_secret_key: A2C4rv7DY012c9ef #摄像头秘钥
|
||||||
do_cycle: true #是否开启循环
|
do_cycle: true #是否开启循环
|
||||||
lane_auto_move: true #线库是否自动移库 true:线库执行自动移库 、false:线库关闭执行自动移库
|
lane_auto_move: true #线库是否自动移库 true:线库执行自动移库 、false:线库关闭执行自动移库
|
||||||
robot_position_cache_time: 10 #机器人上报点位存储时间(秒)
|
robot_position_cache_time: 10 #机器人上报点位存储时间(秒)
|
||||||
|
@ -322,34 +322,6 @@
|
|||||||
and t2.task_status ='1'
|
and t2.task_status ='1'
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectRemoteExceptionTask"
|
|
||||||
resultType="cn.iocoder.yudao.module.system.api.remote.dto.RemoteExceptionTaskListDTO">
|
|
||||||
select
|
|
||||||
t2.id,
|
|
||||||
t2.robot_no as robotNo,
|
|
||||||
t1.task_no as taskNo,
|
|
||||||
t2.from_location_no as fromLocationNo,
|
|
||||||
t2.to_location_no as toLocationNo,
|
|
||||||
t2.task_stage as taskStage
|
|
||||||
from
|
|
||||||
robot_task t1 inner join robot_task_detail t2
|
|
||||||
on t1.id = t2.robot_task_id
|
|
||||||
<where>
|
|
||||||
t1.deleted = '0'
|
|
||||||
and t2.deleted = '0'
|
|
||||||
and t2.occur_error = '1'
|
|
||||||
and t2.task_type in ('1','6')
|
|
||||||
and t2.task_status = '1'
|
|
||||||
and t1.task_status = '1'
|
|
||||||
<if test="pageReqVO.robotNo != null and pageReqVO.robotNo != ''">
|
|
||||||
and t2.robot_no = #{pageReqVO.robotNo}
|
|
||||||
</if>
|
|
||||||
<if test="pageReqVO.taskStage != null">
|
|
||||||
and t2.task_stage = #{pageReqVO.taskStage}
|
|
||||||
</if>
|
|
||||||
</where>
|
|
||||||
order by t1.create_time desc
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="getExceptionTaskDetail"
|
<select id="getExceptionTaskDetail"
|
||||||
resultType="cn.iocoder.yudao.module.system.api.remote.dto.RemoteExceptionTaskDetailDTO">
|
resultType="cn.iocoder.yudao.module.system.api.remote.dto.RemoteExceptionTaskDetailDTO">
|
||||||
|
Loading…
Reference in New Issue
Block a user