摄像头账号加密
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.module.remote.service.task.RemoteTaskService;
|
||||
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.RemoteTaskDTO;
|
||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteRobotCameraDTO;
|
||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteTaskQueryDTO;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -30,13 +26,6 @@ public class RemoteTaskController {
|
||||
@Autowired
|
||||
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")
|
||||
@Operation(summary = "获取异常车辆任务列表")
|
||||
@ -46,6 +35,13 @@ public class RemoteTaskController {
|
||||
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;
|
||||
|
||||
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.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.api.remote.dto.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface RemoteTaskService {
|
||||
|
||||
PageResult<RemoteExceptionTaskListDTO> getExceptionTask(RemoteTaskDTO remoteTaskDTO);
|
||||
|
||||
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.module.system.api.remote.RemoteExceptionTaskApi;
|
||||
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.RemoteTaskDTO;
|
||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteTaskQueryDTO;
|
||||
import cn.iocoder.yudao.module.system.api.remote.dto.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -20,15 +17,7 @@ public class RemoteTaskServiceImpl implements RemoteTaskService {
|
||||
@Resource
|
||||
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) {
|
||||
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;
|
||||
|
||||
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.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.api.remote.dto.*;
|
||||
import cn.iocoder.yudao.module.system.enums.ApiConstants;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
@ -21,15 +18,11 @@ public interface RemoteExceptionTaskApi {
|
||||
|
||||
String PREFIX = ApiConstants.PREFIX + "/remote";
|
||||
|
||||
/**
|
||||
* 远遥查看异常列表
|
||||
* @return
|
||||
*/
|
||||
@PostMapping(PREFIX + "/getExceptionTask")
|
||||
@Operation(summary = "远遥查看异常列表")
|
||||
PageResult<RemoteExceptionTaskListDTO> getExceptionTask(@RequestBody RemoteTaskDTO remoteTaskDTO);
|
||||
|
||||
@PostMapping(PREFIX + "/getExceptionTaskDetail")
|
||||
@Operation(summary = "远遥查询异常的车辆")
|
||||
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;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
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.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.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.system.api.remote.dto.*;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.robot.camera.RobotCameraAddVO;
|
||||
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 org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
@ -23,16 +27,11 @@ public class RemoteExceptionTaskApiImpl implements RemoteExceptionTaskApi{
|
||||
@Resource
|
||||
private RobotTaskDetailService taskDetailService;
|
||||
|
||||
/**
|
||||
* 远遥获取异常任务列表
|
||||
* @param taskStage
|
||||
* @param robotNo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public PageResult<RemoteExceptionTaskListDTO> getExceptionTask(RemoteTaskDTO remoteTaskDTO) {
|
||||
return taskDetailService.getRemoteExceptionTask(remoteTaskDTO);
|
||||
}
|
||||
@Resource
|
||||
private RobotCameraService cameraService;
|
||||
|
||||
@Value("${zn.camera_secret_key}")
|
||||
private String cameraSecretKey;
|
||||
|
||||
/**
|
||||
* 远遥查询异常的车辆
|
||||
@ -44,4 +43,24 @@ public class RemoteExceptionTaskApiImpl implements RemoteExceptionTaskApi{
|
||||
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
|
||||
public class RobotCameraAddVO {
|
||||
|
||||
@Schema(description = "摄像头id")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "摄像头位置(0:上, 1:左, 2:右, 3:下, 4:后)")
|
||||
@NotNull(message = "请选择摄像头位置")
|
||||
private Integer cameraPosition;
|
||||
|
@ -150,14 +150,6 @@ public interface RobotTaskDetailMapper extends BaseMapperX<RobotTaskDetailDO> {
|
||||
*/
|
||||
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);
|
||||
}
|
||||
|
||||
cameraService.deleteCameraByRobotNo(robotInformationDO.getRobotNo());
|
||||
|
||||
if (!updateReqVO.getRobotNo().equals(robotInformationDO.getRobotNo())
|
||||
|| !updateReqVO.getMacAddress().equals(robotInformationDO.getMacAddress())) {
|
||||
List<RobotTaskDO> list = taskMapper.selectDoingTaskByRobotNo(robotInformationDO.getRobotNo());
|
||||
@ -312,6 +310,9 @@ public class RobotInformationServiceImpl extends ServiceImpl<RobotInformationMap
|
||||
if (ObjectUtil.isNotEmpty(existRobotIp)) {
|
||||
throw exception(ROBOT_ROBOT_IP_EXISTS);
|
||||
}
|
||||
|
||||
cameraService.deleteCameraByRobotNo(robotInformationDO.getRobotNo());
|
||||
|
||||
if (ObjectUtil.isNotEmpty(updateReqVO.getCameraAddVOList())) {
|
||||
List<RobotCameraAddVO> cameraAddVOList = updateReqVO.getCameraAddVOList();
|
||||
cameraService.checkCameraExist(cameraAddVOList);
|
||||
|
@ -112,11 +112,6 @@ public interface RobotTaskDetailService {
|
||||
*/
|
||||
List<RobotDoingTaskDTO> getRobotDoingTaskNo();
|
||||
|
||||
/**
|
||||
* 获取远遥异常列表
|
||||
* @return
|
||||
*/
|
||||
PageResult<RemoteExceptionTaskListDTO> getRemoteExceptionTask(RemoteTaskDTO remoteTaskDTO);
|
||||
|
||||
/**
|
||||
* 远遥查询异常的车辆
|
||||
|
@ -208,15 +208,6 @@ public class RobotTaskDetailServiceImpl implements RobotTaskDetailService {
|
||||
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.mysql.robot.RobotCameraMapper;
|
||||
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.google.common.collect.Sets;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@ -41,6 +43,9 @@ public class RobotCameraServiceImpl extends ServiceImpl<RobotCameraMapper, Robot
|
||||
@Resource
|
||||
private RobotCameraMapper cameraMapper;
|
||||
|
||||
@Value("${zn.camera_secret_key}")
|
||||
private String cameraSecretKey;
|
||||
|
||||
@Override
|
||||
public Long createCamera(RobotCameraSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
@ -110,6 +115,14 @@ public class RobotCameraServiceImpl extends ServiceImpl<RobotCameraMapper, Robot
|
||||
public void createCameraList(List<RobotCameraAddVO> cameraAddVOList, String robotNo) {
|
||||
List<RobotCameraDO> cameraDOList = BeanUtils.toBean(cameraAddVOList, RobotCameraDO.class);
|
||||
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);
|
||||
}
|
||||
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:
|
||||
task-no: ZN #任务号开头
|
||||
camera_secret_key: A2C4rv7DY012c9ef #摄像头秘钥
|
||||
do_cycle: true #是否开启循环
|
||||
lane_auto_move: true #线库是否自动移库 true:线库执行自动移库 、false:线库关闭执行自动移库
|
||||
robot_position_cache_time: 10 #机器人上报点位存储时间(秒)
|
||||
|
@ -221,6 +221,7 @@ map:
|
||||
|
||||
zn:
|
||||
task-no: ZN #任务号开头
|
||||
camera_secret_key: A2C4rv7DY012c9ef #摄像头秘钥
|
||||
do_cycle: true #是否开启循环
|
||||
lane_auto_move: true #线库是否自动移库 true:线库执行自动移库 、false:线库关闭执行自动移库
|
||||
robot_position_cache_time: 10 #机器人上报点位存储时间(秒)
|
||||
|
@ -322,34 +322,6 @@
|
||||
and t2.task_status ='1'
|
||||
</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"
|
||||
resultType="cn.iocoder.yudao.module.system.api.remote.dto.RemoteExceptionTaskDetailDTO">
|
||||
|
Loading…
Reference in New Issue
Block a user