|
@@ -40,6 +40,9 @@ public class MobileApiController {
|
|
|
@Autowired
|
|
|
private RechargeService rechargeService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ElectricClientInfoService electricClientInfoService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private DataDictionaryService dataDictionaryService;
|
|
|
|
|
@@ -104,6 +107,47 @@ public class MobileApiController {
|
|
|
return msgResult;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ @ApiOperation(value="打开或关闭电源")
|
|
|
+ @PostMapping("powerSwitch")
|
|
|
+ public MessageResult<MeterReceivePacket> powerSwitch(String roomId, int cmd) {
|
|
|
+ MessageResult<MeterReceivePacket> msgResult = new MessageResult<>();
|
|
|
+
|
|
|
+ try {
|
|
|
+ MeterReceivePacket mrp = null;
|
|
|
+
|
|
|
+ if(cmd==1) {
|
|
|
+ mrp = rechargeService.sendCommand(roomId, MeterSendPacket.ON,5, TimeUnit.SECONDS);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ mrp = rechargeService.sendCommand(roomId, MeterSendPacket.OFF,5,TimeUnit.SECONDS);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(mrp!=null && mrp.isValidateResult()){
|
|
|
+ ElectricClientInfo clientInfo = electricClientInfoService.findOneByRoomId(roomId);
|
|
|
+
|
|
|
+ clientInfo.setActive(mrp.getState()!=1);
|
|
|
+
|
|
|
+ electricClientInfoService.update(clientInfo);
|
|
|
+
|
|
|
+ msgResult.setResult(true);
|
|
|
+ msgResult.setData(mrp);
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ msgResult.setResult(false);
|
|
|
+ msgResult.setMessage("命令超时!");
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error(e.getMessage(),e);
|
|
|
+
|
|
|
+ msgResult.setMessage(e.getMessage());
|
|
|
+ msgResult.setResult(false);
|
|
|
+ }
|
|
|
+
|
|
|
+ return msgResult;
|
|
|
+ }
|
|
|
+
|
|
|
@GetMapping(value="queryRoomDetail")
|
|
|
public MessageResult<Map> queryRoomDetail(String roomId) {
|
|
|
MessageResult<Map> msgResult = new MessageResult<>();
|