Commit ffc12cc6 authored by duanruiming's avatar duanruiming

[udpate] feign调用增加代理服务

parent f99357b9
...@@ -4,14 +4,12 @@ import io.swagger.annotations.Api; ...@@ -4,14 +4,12 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import net.wanji.feign.pojo.result.JsonViewObject; import net.wanji.feign.pojo.result.JsonViewObject;
import net.wanji.feign.pojo.vo.*; import net.wanji.feign.pojo.vo.*;
import net.wanji.feign.service.UtcFeignClients; import net.wanji.web.service.FeignProxyService;
import net.wanji.web.mapper.ControlHistMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.Objects;
/** /**
* @author duanruiming * @author duanruiming
...@@ -24,121 +22,61 @@ import java.util.Objects; ...@@ -24,121 +22,61 @@ import java.util.Objects;
public class SignalCommandController { public class SignalCommandController {
@Autowired @Autowired
private UtcFeignClients utcFeignClients; private FeignProxyService feignProxyService;
@Autowired
private ControlHistMapper controlHistMapper;
@ApiOperation(value = "信号机方案下发-基础方案下发", notes = "信号机方案下发-基础方案下发") @ApiOperation(value = "信号机方案下发-基础方案下发", notes = "信号机方案下发-基础方案下发")
@PostMapping("/schemeSend") @PostMapping("/schemeSend")
public JsonViewObject schemeSend(@RequestBody @Validated SchemeSendVO schemeSendVO) { public JsonViewObject schemeSend(@RequestBody @Validated SchemeSendVO schemeSendVO) {
JsonViewObject jsonViewObject = utcFeignClients.schemeSend(schemeSendVO); return feignProxyService.schemeSend(schemeSendVO);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("信号机方案下发-基础方案下发UTC服务调用异常");
}
return jsonViewObject.success();
} }
@ApiOperation(value = "计划下发-计划信息、时段信息", notes = "计划下发-计划信息、时段信息") @ApiOperation(value = "计划下发-计划信息、时段信息", notes = "计划下发-计划信息、时段信息")
@PostMapping("/planSend") @PostMapping("/planSend")
public JsonViewObject planSend(@RequestBody @Validated PlanSendVO planSendVO) { public JsonViewObject planSend(@RequestBody @Validated PlanSendVO planSendVO) {
JsonViewObject jsonViewObject = utcFeignClients.planSend(planSendVO); return feignProxyService.planSend(planSendVO);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("计划下发-计划信息、时段信息UTC服务调用异常");
}
return jsonViewObject;
} }
@ApiOperation(value = "时间表下发-时间表信息", notes = "时间表下发-时间表信息") @ApiOperation(value = "时间表下发-时间表信息", notes = "时间表下发-时间表信息")
@PostMapping("/scheduleSend") @PostMapping("/scheduleSend")
public JsonViewObject scheduleSend(@RequestBody @Validated ScheduleSendVO scheduleSendVO) { public JsonViewObject scheduleSend(@RequestBody @Validated ScheduleSendVO scheduleSendVO) {
JsonViewObject jsonViewObject = utcFeignClients.scheduleSend(scheduleSendVO); return feignProxyService.scheduleSend(scheduleSendVO);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("时间表下发-时间表信息UTC服务调用异常");
}
return jsonViewObject;
} }
@ApiOperation(value = "相位配时下发-(下发相位参数)", notes = "相位配时下发-(下发相位参数)") @ApiOperation(value = "相位配时下发-(下发相位参数)", notes = "相位配时下发-(下发相位参数)")
@PostMapping("/phaseTimingSend") @PostMapping("/phaseTimingSend")
public JsonViewObject phaseTimingSend(@RequestBody @Validated PhaseTimingSendVO phaseTimingSendVO) { public JsonViewObject phaseTimingSend(@RequestBody @Validated PhaseTimingSendVO phaseTimingSendVO) {
JsonViewObject jsonViewObject = utcFeignClients.phaseTimingSend(phaseTimingSendVO); return feignProxyService.phaseTimingSend(phaseTimingSendVO);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("相位配时下发-(下发相位参数)UTC服务调用异常");
}
return jsonViewObject;
} }
@ApiOperation(value = "灯态控制-路口全红/黄闪/关灯控制/恢复", notes = "灯态控制-路口全红/黄闪/关灯控制/恢复") @ApiOperation(value = "灯态控制-路口全红/黄闪/关灯控制/恢复", notes = "灯态控制-路口全红/黄闪/关灯控制/恢复")
@PostMapping("/lampStateControl") @PostMapping("/lampStateControl")
public JsonViewObject allRedControl(@RequestBody @Validated ControlCommandVO commandVO) { public JsonViewObject allRedControl(@RequestBody @Validated ControlCommandVO commandVO) {
Integer controlType = commandVO.getControlType(); return feignProxyService.allRedControl(commandVO);
if (true) {
return JsonViewObject.newInstance().success();
}
JsonViewObject jsonViewObject = JsonViewObject.newInstance();
if (1 == controlType) {
jsonViewObject = utcFeignClients.allRedControl(commandVO);
}
if (2 == controlType) {
jsonViewObject = utcFeignClients.yellowLightControl(commandVO);
}
if (3 == controlType) {
jsonViewObject = utcFeignClients.closeLightControl(commandVO);
}
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("灯态控制UTC服务调用异常");
}
controlHistMapper.insertOne(commandVO.getCrossCode(), controlType + 1, "admin");
return jsonViewObject;
} }
@ApiOperation(value = "步进控制-步进控制/恢复", notes = "步进控制-步进控制/恢复") @ApiOperation(value = "步进控制-步进控制/恢复", notes = "步进控制-步进控制/恢复")
@PostMapping("/stepControl") @PostMapping("/stepControl")
public JsonViewObject stepControl(@RequestBody @Validated StepControlVO stepControlVO) { public JsonViewObject stepControl(@RequestBody @Validated StepControlVO stepControlVO) {
if (true) { return feignProxyService.stepControl(stepControlVO);
return JsonViewObject.newInstance().success();
}
JsonViewObject jsonViewObject = utcFeignClients.stepControl(stepControlVO.getCode(), stepControlVO.getCommand(), stepControlVO.getStepNum());
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("步进控制-步进控制/恢复UTC服务调用异常");
}
controlHistMapper.insertOne(stepControlVO.getCode(), 7, "admin");
return jsonViewObject;
} }
@ApiOperation(value = "恢复时间表-恢复路口时间表执行", notes = "恢复时间表-恢复路口时间表执行") @ApiOperation(value = "恢复时间表-恢复路口时间表执行", notes = "恢复时间表-恢复路口时间表执行")
@PostMapping("/recoverSchedule") @PostMapping("/recoverSchedule")
public JsonViewObject recoverSchedule(@RequestParam String code) throws Exception { public JsonViewObject recoverSchedule(@RequestParam String code) throws Exception {
JsonViewObject jsonViewObject = JsonViewObject.newInstance(); return feignProxyService.recoverSchedule(code);
jsonViewObject = utcFeignClients.recoverSchedule(code);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("恢复时间表-恢复路口时间表执行UTC服务调用异常");
}
controlHistMapper.insertOne(code, 1,"admin");
return jsonViewObject;
} }
@ApiOperation(value = "锁定控制-相位锁定/解锁", notes = "锁定控制-相位锁定/解锁") @ApiOperation(value = "锁定控制-相位锁定/解锁", notes = "锁定控制-相位锁定/解锁")
@PostMapping(value = "/lockControl") @PostMapping(value = "/lockControl")
public JsonViewObject lockControl(@RequestBody @Validated LockControlVO lockControlVO) { public JsonViewObject lockControl(@RequestBody @Validated LockControlVO lockControlVO) {
JsonViewObject jsonViewObject = utcFeignClients.lockControl(lockControlVO); return feignProxyService.lockControl(lockControlVO);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("锁定控制-相位锁定/解锁UTC服务调用异常");
}
controlHistMapper.insertOne(lockControlVO.getCrossCode(), 4, "admin");
return jsonViewObject;
} }
@ApiOperation(value = "相位差下发", notes = "相位差下发") @ApiOperation(value = "相位差下发", notes = "相位差下发")
@PostMapping("/phaseDiffSend") @PostMapping("/phaseDiffSend")
public JsonViewObject phaseDiffSend(HttpServletRequest httpServletRequest) { public JsonViewObject phaseDiffSend(HttpServletRequest httpServletRequest) {
JsonViewObject jsonViewObject = utcFeignClients.phaseDiffSend(); return feignProxyService.phaseDiffSend(httpServletRequest);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("相位差下发UTC服务调用异常");
}
return jsonViewObject;
} }
} }
package net.wanji.web.service;
import net.wanji.feign.pojo.result.JsonViewObject;
import net.wanji.feign.pojo.vo.*;
import javax.servlet.http.HttpServletRequest;
/**
* @author duanruiming
* @date 2023/02/09 10:39
*/
public interface FeignProxyService {
/**
* 信号机方案下发-基础方案下发
*
* @param schemeSendVO
* @return
*/
JsonViewObject schemeSend(SchemeSendVO schemeSendVO);
/**
* 计划下发-计划信息、时段信息下发
*
* @param planSendVO
* @return
*/
JsonViewObject planSend(PlanSendVO planSendVO);
/**
* 时间表下发-时间表信息下发
*
* @param scheduleSendVO
* @return
*/
JsonViewObject scheduleSend(ScheduleSendVO scheduleSendVO);
/**
* 相位配时下发-相位参数下发
*
* @param phaseTimingSendVO
* @return
*/
JsonViewObject phaseTimingSend(PhaseTimingSendVO phaseTimingSendVO);
/**
* 灯态控制-路口全红/黄闪/关灯控制/恢复下发
*
* @param commandVO
* @return
*/
JsonViewObject allRedControl(ControlCommandVO commandVO);
/**
* 步进控制-步进控制/恢复下发
*
* @param stepControlVO
* @return
*/
JsonViewObject stepControl(StepControlVO stepControlVO);
/**
* 恢复时间表-恢复路口时间表下发
*
* @param code
* @return
* @throws Exception
*/
JsonViewObject recoverSchedule(String code) throws Exception;
/**
* 锁定控制-相位锁定/解锁下发
*
* @param lockControlVO
* @return
*/
JsonViewObject lockControl(LockControlVO lockControlVO);
/**
* 相位差下发
*
* @param httpServletRequest
* @return
*/
JsonViewObject phaseDiffSend(HttpServletRequest httpServletRequest);
}
package net.wanji.web.service.impl;
import lombok.extern.slf4j.Slf4j;
import net.wanji.feign.pojo.result.JsonViewObject;
import net.wanji.feign.pojo.vo.*;
import net.wanji.feign.service.UtcFeignClients;
import net.wanji.web.mapper.ControlHistMapper;
import net.wanji.web.service.FeignProxyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.Objects;
/**
* @author duanruiming
* @date 2023/02/09 10:44
*/
@Service
@Slf4j
@SuppressWarnings("all")
public class FeignProxyServiceImpl implements FeignProxyService {
@Autowired
private UtcFeignClients utcFeignClients;
@Autowired
private ControlHistMapper controlHistMapper;
@Override
public JsonViewObject schemeSend(SchemeSendVO schemeSendVO) {
JsonViewObject jsonViewObject = utcFeignClients.schemeSend(schemeSendVO);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("信号机方案下发-基础方案下发UTC服务调用异常");
}
return jsonViewObject.success("信号机方案下发成功");
}
@Override
public JsonViewObject planSend(PlanSendVO planSendVO) {
JsonViewObject jsonViewObject = utcFeignClients.planSend(planSendVO);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("计划下发-计划信息、时段信息UTC服务调用异常");
}
return jsonViewObject.success("计划下发-计划信息、时段信息下发成功");
}
@Override
public JsonViewObject scheduleSend(ScheduleSendVO scheduleSendVO) {
JsonViewObject jsonViewObject = utcFeignClients.scheduleSend(scheduleSendVO);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("时间表下发-时间表信息UTC服务调用异常");
}
return jsonViewObject.success("时间表下发-时间表信息下发成功");
}
@Override
public JsonViewObject phaseTimingSend(PhaseTimingSendVO phaseTimingSendVO) {
JsonViewObject jsonViewObject = utcFeignClients.phaseTimingSend(phaseTimingSendVO);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("相位配时下发-(下发相位参数)UTC服务调用异常");
}
return jsonViewObject.success("相位配时下发-相位参数下发成功");
}
@Override
public JsonViewObject allRedControl(ControlCommandVO commandVO) {
Integer controlType = commandVO.getControlType();
if (true) {
return JsonViewObject.newInstance().success();
}
JsonViewObject jsonViewObject = JsonViewObject.newInstance();
if (1 == controlType) {
jsonViewObject = utcFeignClients.allRedControl(commandVO);
}
if (2 == controlType) {
jsonViewObject = utcFeignClients.yellowLightControl(commandVO);
}
if (3 == controlType) {
jsonViewObject = utcFeignClients.closeLightControl(commandVO);
}
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("灯态控制UTC服务调用异常");
}
insertControlHist(commandVO.getCrossCode(), controlType + 1, "admin");
return jsonViewObject.success("特殊灯态控制下发成功");
}
@Override
public JsonViewObject stepControl(StepControlVO stepControlVO) {
if (true) {
return JsonViewObject.newInstance().success();
}
JsonViewObject jsonViewObject = utcFeignClients.stepControl(stepControlVO.getCode(), stepControlVO.getCommand(), stepControlVO.getStepNum());
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("步进控制-步进控制/恢复UTC服务调用异常");
}
insertControlHist(stepControlVO.getCode(), 7, "admin");
return jsonViewObject.success("步进控制下发成功");
}
@Override
public JsonViewObject recoverSchedule(String code) throws Exception {
JsonViewObject jsonViewObject = JsonViewObject.newInstance();
jsonViewObject = utcFeignClients.recoverSchedule(code);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("恢复时间表-恢复路口时间表执行UTC服务调用异常");
}
insertControlHist(code, 1, "admin");
return jsonViewObject.success("恢复时间表-恢复路口时间表下发成功");
}
@Override
public JsonViewObject lockControl(LockControlVO lockControlVO) {
JsonViewObject jsonViewObject = utcFeignClients.lockControl(lockControlVO);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("锁定控制-相位锁定/解锁UTC服务调用异常");
}
insertControlHist(lockControlVO.getCrossCode(), 4, "admin");
return jsonViewObject.success("锁定控制-相位锁定/解锁下发成功");
}
@Override
public JsonViewObject phaseDiffSend(HttpServletRequest httpServletRequest) {
JsonViewObject jsonViewObject = utcFeignClients.phaseDiffSend();
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
return jsonViewObject.fail("相位差下发UTC服务调用异常");
}
return jsonViewObject.success("相位差下发成功");
}
/**
* 特殊控制插入本地控制历史表
*
* @param crossCode
* @param type
* @param userName
*/
private void insertControlHist(String crossCode, Integer type, String userName) {
controlHistMapper.insertOne(crossCode, type, userName);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment