From 94e95eae6c599c3965193171a729cc8f481204e6 Mon Sep 17 00:00:00 2001 From: liuguijing <123456> Date: Wed, 24 May 2023 15:33:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E4=B8=8B?= =?UTF-8?q?=E5=8F=91=E8=BF=94=E5=9B=9E=E4=BD=93=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TerminalScheduleRuleController.java | 4 +-- .../model/GetScheduleRequestIdListModel.java | 34 +++++++++++++++++++ .../xymanager_dao/dao/RequestResultsDao.java | 2 +- .../resources/mappers/RequestResultsDao.xml | 1 + .../impl/TerminalScheduleRuleServiceImpl.java | 23 ++++++++----- .../service/TerminalScheduleRuleService.java | 2 +- 6 files changed, 54 insertions(+), 12 deletions(-) create mode 100644 xymanager_common/src/main/java/com/shxy/xymanager_common/model/GetScheduleRequestIdListModel.java diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalScheduleRuleController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalScheduleRuleController.java index 5221da2..a0c4b34 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalScheduleRuleController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalScheduleRuleController.java @@ -97,8 +97,8 @@ public class TerminalScheduleRuleController extends BaseController { @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) @RequestMapping("/relateSchelduleRule") @Log(title = "关联任务规则", type = "修改") - public ResponseReult relateSchelduleRule(@RequestBody @Validated RelateTerminalListRuleIdVo vo) { - ServiceBody serviceBody = terminalScheduleRuleService.relateSchelduleRule(vo); + public ResponseReult relateSchelduleRule(@RequestBody @Validated RelateTerminalListRuleIdVo vo) { + ServiceBody serviceBody = terminalScheduleRuleService.relateSchelduleRule(vo); if (serviceBody.getCode() == ServiceStatus.SUCCESS) { return ResponseReult.success(serviceBody.getData()); } else { diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/GetScheduleRequestIdListModel.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/GetScheduleRequestIdListModel.java new file mode 100644 index 0000000..ebc53e4 --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/GetScheduleRequestIdListModel.java @@ -0,0 +1,34 @@ +package com.shxy.xymanager_common.model; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 装置下发request列表 + */ +@Data +@ApiModel(value = "装置下发request列表", description = "触发查询信息列表") +public class GetScheduleRequestIdListModel implements Serializable { + + @ApiModelProperty(value = "request返回", example = "123456") + private List list; + + @Data + public static class RequestBean { + + @ApiModelProperty(value = "装置编号", example = "123456") + private Integer termid; + + @ApiModelProperty(value = "通道编号", example = "AAAA") + private Integer channelid; + + @ApiModelProperty(value = "请求编号", example = "AAAA") + private Integer requestid; + + } + +} diff --git a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/RequestResultsDao.java b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/RequestResultsDao.java index 8ce57aa..61178f1 100644 --- a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/RequestResultsDao.java +++ b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/RequestResultsDao.java @@ -13,7 +13,7 @@ public interface RequestResultsDao { List selectByRequestIdList(@Param("list") List id); - List selectByTypeAndStatus(@Param("requesttype") Integer requesttype, @Param("clientid") Integer clientid, @Param("schedulestatus") Integer status); + List selectByTypeAndStatus(@Param("requesttype") Integer requesttype, @Param("clientid") Integer clientid, @Param("result") Integer result, @Param("schedulestatus") Integer status); int updateByPrimaryKeySelective(RequestResults record); diff --git a/xymanager_dao/src/main/resources/mappers/RequestResultsDao.xml b/xymanager_dao/src/main/resources/mappers/RequestResultsDao.xml index 99ade9c..903ec16 100644 --- a/xymanager_dao/src/main/resources/mappers/RequestResultsDao.xml +++ b/xymanager_dao/src/main/resources/mappers/RequestResultsDao.xml @@ -38,6 +38,7 @@ from request_results where request_type = #{requesttype} and client_id = #{clientid} + and result = #{result} and request_schedule_status = #{schedulestatus} diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalScheduleRuleServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalScheduleRuleServiceImpl.java index 8f0c4b2..4ae81ac 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalScheduleRuleServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalScheduleRuleServiceImpl.java @@ -227,8 +227,8 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ */ @Override @Transactional - public ServiceBody relateSchelduleRule(RelateTerminalListRuleIdVo vo) { - GetListModel model = new GetListModel(); + public ServiceBody relateSchelduleRule(RelateTerminalListRuleIdVo vo) { + GetScheduleRequestIdListModel model = new GetScheduleRequestIdListModel(); List list = terminalSchedulesTempDao.selectByTermAndChannel(vo.getList(), CommonStatus.DELETE.value()); if (CollectionUtil.isNotEmpty(list)) { @@ -272,7 +272,7 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ timestr.append(string); } - ArrayList requestIdList = new ArrayList<>(); + ArrayList requestIdList = new ArrayList<>(); for (int x = 0; x < terminalsList.size(); x++) { ChannelAndTermDto channelAndTermDto = terminalsList.get(x); String cmd = Constants.CMD + "schedule --flag=1 --cmdid=" + channelAndTermDto.getCmdid() + "\t" + "--channel=" + channelAndTermDto.getChannelid() + "\t" + @@ -280,7 +280,13 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ // ProcessExecUtils.exec(cmd); int requestId = Integer.parseInt(Constants.REQUEST_ID.toString()); Constants.REQUEST_ID.addAndGet(1); - requestIdList.add(requestId); + + GetScheduleRequestIdListModel.RequestBean requestBean = new GetScheduleRequestIdListModel.RequestBean(); + requestBean.setTermid(channelAndTermDto.getTermid()); + requestBean.setChannelid(channelAndTermDto.getChannelid()); + requestBean.setRequestid(requestId); + requestIdList.add(requestBean); + Date date = new Date(); TerminalSchedulesTemp temp = new TerminalSchedulesTemp(); temp.setTermId(channelAndTermDto.getTermid()); @@ -372,10 +378,7 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ * 当定时任务或者用户主动查询下发状态时 * */ List requestidlist = new ArrayList<>(); - List resultsList = requestResultsDao.selectByTypeAndStatus(scheduletype, clientid, null); - for (RequestResults item : resultsList) { - requestidlist.add(item.getRequestId()); - } + List resultsList = requestResultsDao.selectByTypeAndStatus(scheduletype, clientid,255, null); /* * 如果下发成功 * 1,将临时表中的数据状态改成1下发成功状态 @@ -385,6 +388,10 @@ public class TerminalScheduleRuleServiceImpl implements TerminalScheduleRuleServ if (CollectionUtil.isEmpty(resultsList)) { return Asserts.success("尚未查询到下发数据"); } + + for (RequestResults item : resultsList) { + requestidlist.add(item.getRequestId()); + } terminalSchedulesTempDao.updateStatusByRequestIdList(requestidlist, CommonStatus.EFFECTIVE.value(), new Date()); List terminalSchedulesTemps = terminalSchedulesTempDao.selectByRequestId(requestidlist, CommonStatus.EFFECTIVE.value()); diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TerminalScheduleRuleService.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TerminalScheduleRuleService.java index f8ea623..55806e3 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TerminalScheduleRuleService.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TerminalScheduleRuleService.java @@ -54,7 +54,7 @@ public interface TerminalScheduleRuleService { * @param vo * @return */ - ServiceBody relateSchelduleRule(RelateTerminalListRuleIdVo vo); + ServiceBody relateSchelduleRule(RelateTerminalListRuleIdVo vo); /** * 查询规则下发状态