opt: 优化流量限制功能

This commit is contained in:
yanps
2024-02-04 14:12:51 +08:00
parent bd2b3057ba
commit 74ca7e58ef
9 changed files with 129 additions and 24 deletions

View File

@@ -181,24 +181,24 @@ public class XgAgvCarDeviceDriver extends AbstractDeviceDriver implements Device
getAgvStatus();
JSONObject jo = new JSONObject();
String isError;
if(is_error){
if (is_error) {
isError = "报错";
}else{
} else {
isError = "正常";
}
if(CommonFinalParam.ONE.equals(upload_scene_status)){
if (CommonFinalParam.ONE.equals(upload_scene_status)) {
upload_scene_status = "正在更新场景";
}else if(CommonFinalParam.TWO.equals(upload_scene_status)){
} else if (CommonFinalParam.TWO.equals(upload_scene_status)) {
upload_scene_status = "正在执行运单";
}else if(CommonFinalParam.DELETE.equals(upload_scene_status)){
} else if (CommonFinalParam.DELETE.equals(upload_scene_status)) {
upload_scene_status = "可推送";
}
jo.put("is_error",isError);
jo.put("upload_scene_status",upload_scene_status);
jo.put("procBusiness",procBusiness);
jo.put("current_order",current_order);
jo.put("connection_status",connection_status);
jo.put("dispatchable",dispatchable);
jo.put("is_error", isError);
jo.put("upload_scene_status", upload_scene_status);
jo.put("procBusiness", procBusiness);
jo.put("current_order", current_order);
jo.put("connection_status", connection_status);
jo.put("dispatchable", dispatchable);
return jo;
}
@@ -209,13 +209,12 @@ public class XgAgvCarDeviceDriver extends AbstractDeviceDriver implements Device
}
/**
* 获取机器人信息
*/
private void getAgvStatus() {
HttpResponse robotInfo = xianGongAgvService.getRobotInfo(this.getDevice().getDevice_name());
if(robotInfo.getStatus() == 200){
if (robotInfo.getStatus() == 200) {
JSONObject jsonObject = JSONObject.parseObject(robotInfo.body());
String report = jsonObject.getString("report");
//core出错标识
@@ -223,8 +222,8 @@ public class XgAgvCarDeviceDriver extends AbstractDeviceDriver implements Device
//是否推送场景的状态 0=可推送 1=正在更新场景 2=正在执行运单
upload_scene_status = jsonObject.getString("upload_scene_status");
JSONArray objects = JSONObject.parseArray(report);
for (int i = 0; i < objects.size(); i++) {
JSONObject json = (JSONObject)objects.get(i);
for (Object object : objects) {
JSONObject json = (JSONObject) object;
//是否正在执行用户下发的运单
procBusiness = json.getBooleanValue("procBusiness");
//机器人当前运单
@@ -234,7 +233,7 @@ public class XgAgvCarDeviceDriver extends AbstractDeviceDriver implements Device
//机器人可接单状态 true=可接单 false=不可接单
dispatchable = json.getString("dispatchable");
}
}else{
} else {
log.info("请求{}机器人状态失败", this.getDevice().getDevice_name());
}
}

View File

@@ -55,6 +55,12 @@ public class LimitRegionalController {
return new ResponseEntity<>( HttpStatus.OK);
}
@GetMapping("selectByRegion")
@Log("查询区域")
public ResponseEntity<Object> selectByRegion() {
return new ResponseEntity<>(limitRegionalService.selectByRegion(), HttpStatus.OK);
}
@GetMapping("updateActive")
@Log("修改流量限制状态")
public ResponseEntity<Object> updateStatusById(@RequestParam Map whereJson) {

View File

@@ -9,6 +9,7 @@ import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.TreeSet;
@Service
public interface LimitRegionalService extends CommonService<LimitRegional> {
@@ -61,4 +62,10 @@ public interface LimitRegionalService extends CommonService<LimitRegional> {
* @param nextRegion
*/
LimitRegionalDto selectByReging(String startdevice, String nextRegion);
/**
* 查询区域
* @return
*/
TreeSet<Integer> selectByRegion();
}

View File

@@ -18,6 +18,7 @@ import org.nl.acs.limit_regional.domain.LimitRegional;
import org.nl.acs.limit_regional.server.LimitRegionalService;
import org.nl.acs.limit_regional.server.dto.LimitRegionalDto;
import org.nl.acs.limit_regional.server.mapper.LimitRegionalMapper;
import org.nl.acs.opc.DeviceAppService;
import org.nl.acs.utils.ConvertUtil;
import org.nl.acs.utils.PageUtil;
import org.nl.common.utils.SecurityUtils;
@@ -30,6 +31,8 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.PostConstruct;
import java.util.*;
import static sun.audio.AudioDevice.device;
@Service
@AllArgsConstructor
@Slf4j
@@ -39,6 +42,9 @@ public class LimitRegionalServiceImpl extends CommonServiceImpl<LimitRegionalMap
@Autowired
private LimitRegionalMapper limitRegionalMapper;
@Autowired
private DeviceAppService deviceAppService;
private List<LimitRegional> dataList;
@@ -75,6 +81,8 @@ public class LimitRegionalServiceImpl extends CommonServiceImpl<LimitRegionalMap
@Override
public List<LimitRegional> add(JSONObject json) {
TreeSet<Integer> integers = deviceAppService.selectRegion();
integers.remove(0);
LimitRegional limitRegional = new LimitRegional();
limitRegional.setId(RandomUtil.randomString(8));
limitRegional.setStart_regional(json.getString("start_regional"));
@@ -144,4 +152,11 @@ public class LimitRegionalServiceImpl extends CommonServiceImpl<LimitRegionalMap
}
return null;
}
@Override
public TreeSet<Integer> selectByRegion() {
TreeSet<Integer> integers = deviceAppService.selectRegion();
integers.remove(0);
return integers;
}
}

View File

@@ -7,6 +7,7 @@ import org.nl.acs.device_driver.LinewayDeviceDriver;
import java.util.List;
import java.util.Map;
import java.util.TreeSet;
/**
* @author 20220102CG\noblelift
@@ -123,4 +124,8 @@ public interface DeviceAppService {
*/
void addDevice(String deviceCode);
/**
* 查找设备区域
*/
TreeSet<Integer> selectRegion();
}

View File

@@ -400,4 +400,13 @@ public class DeviceAppServiceImpl implements DeviceAppService, ApplicationAutoIn
}
}
@Override
public TreeSet<Integer> selectRegion() {
TreeSet<Integer> set = new TreeSet<>();
for (Device device : devices) {
set.add(Integer.parseInt(StrUtil.isEmpty(device.getRegion()) ? "0" : device.getRegion()));
}
return set;
}
}

View File

@@ -8,6 +8,9 @@ import org.nl.acs.instruction.domain.InstructionMybatis;
import org.nl.acs.instruction.service.InstructionService;
import org.nl.acs.task.domain.Task;
import org.nl.acs.task.service.TaskService;
import org.nl.system.service.logging.ISysLogService;
import org.nl.system.service.logging.dao.SysLog;
import org.nl.system.service.param.ISysParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -29,19 +32,31 @@ public class DeleteDeviceErrorLog {
@Autowired
private InstructionService instructionService;
@Autowired
private ISysLogService sysLogService;
@Autowired
private ISysParamService paramService;
public void run(){
log.info("开始删除设备报警记录");
int days = Integer.parseInt(paramService.findByCode("logs_day").getValue());
log.info("开始自动清理日志");
errorLogServer.remove(Wrappers.lambdaQuery(AcsDeviceErrorLog.class)
.lt(AcsDeviceErrorLog::getError_time, LocalDateTime.now().minusDays(15)));
.lt(AcsDeviceErrorLog::getError_time, LocalDateTime.now().minusDays(days)));
log.info("已将设备报警记录中超过十五天的删除成功");
taskService.remove(Wrappers.lambdaQuery(Task.class)
.lt(Task::getCreate_time, LocalDateTime.now().minusDays(30)));
.lt(Task::getCreate_time, LocalDateTime.now().minusDays(days)));
log.info("已将任务记录中超过三十天的删除成功");
instructionService.remove(Wrappers.lambdaQuery(InstructionMybatis.class)
.lt(InstructionMybatis::getCreate_time, LocalDateTime.now().minusDays(30)));
.lt(InstructionMybatis::getCreate_time, LocalDateTime.now().minusDays(days)));
log.info("已将指令记录中超过三十天的删除成功");
sysLogService.remove(Wrappers.lambdaQuery(SysLog.class)
.lt(SysLog::getCreate_time, LocalDateTime.now().minusDays(days)));
log.info("已将日志记录中超过三十天的删除成功");
}
}