|
|
|
@@ -36,7 +36,7 @@ public class KwBoxV1Controller extends BaseController { |
|
|
|
private KwBoxCmdHistoryService kwBoxCmdHistoryService; |
|
|
|
|
|
|
|
|
|
|
|
private void saveCmd(String tenantId, String cmd, String imei, String ccid, Date deviceTime, Map<String,String> paramMap) |
|
|
|
private void saveCmd(String tenantId, String cmd, String imei, String ccid, Date deviceTime, Map<String,Object> paramMap) |
|
|
|
{ |
|
|
|
KwBoxCmdHistory kwBoxCmdHistory = new KwBoxCmdHistory(); |
|
|
|
kwBoxCmdHistory.setCmd(cmd); |
|
|
|
@@ -51,14 +51,14 @@ public class KwBoxV1Controller extends BaseController { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
private ResultData cmdRegist(String imei, String ccid, Date deviceTime, Map<String,String> paramMap) |
|
|
|
private ResultData cmdRegist(String imei, String ccid, Date deviceTime, Map<String,Object> paramMap) |
|
|
|
{ |
|
|
|
|
|
|
|
String fwv = paramMap.get("FWV"); |
|
|
|
String fwv = (String)paramMap.get("FWV"); |
|
|
|
if (StringUtil.isNullOrEmpty(fwv)) |
|
|
|
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); |
|
|
|
|
|
|
|
String hwv = paramMap.get("HWV"); |
|
|
|
String hwv = (String)paramMap.get("HWV"); |
|
|
|
if (StringUtil.isNullOrEmpty(hwv)) |
|
|
|
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); |
|
|
|
|
|
|
|
@@ -86,12 +86,13 @@ public class KwBoxV1Controller extends BaseController { |
|
|
|
if (kwBox.getConfig() != null) |
|
|
|
data.put("config",kwBox.getConfig() ); |
|
|
|
List<String> meters = kwBoxService.findMeters(kwBox); |
|
|
|
data.put("meters",meters); |
|
|
|
if (!meters.isEmpty()) |
|
|
|
data.put("meters",meters); |
|
|
|
return new ResultData(data); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
private ResultData cmdLogin(String imei, String ccid, Date deviceTime, Map<String,String> paramMap) |
|
|
|
private ResultData cmdLogin(String imei, String ccid, Date deviceTime, Map<String,Object> paramMap) |
|
|
|
{ |
|
|
|
KwBox kwBox = kwBoxService.findByImei(imei); |
|
|
|
|
|
|
|
@@ -110,13 +111,14 @@ public class KwBoxV1Controller extends BaseController { |
|
|
|
record.setLastOnlineTime(new Date()); |
|
|
|
kwBoxService.saveOrUpdate(record); |
|
|
|
Map<String,Object> data = new HashMap<>(); |
|
|
|
data.put("config",kwBox.getConfig()); |
|
|
|
if (kwBox.getConfig() != null) |
|
|
|
data.put("config",kwBox.getConfig() ); |
|
|
|
return new ResultData(data); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private ResultData cmdHb(String imei, String ccid, Date deviceTime, Map<String,String> paramMap) |
|
|
|
private ResultData cmdHb(String imei, String ccid, Date deviceTime, Map<String,Object> paramMap) |
|
|
|
{ |
|
|
|
KwBox kwBox = kwBoxService.findByImei(imei); |
|
|
|
if (kwBox == null) |
|
|
|
@@ -134,36 +136,31 @@ public class KwBoxV1Controller extends BaseController { |
|
|
|
kwBoxService.saveOrUpdate(record); |
|
|
|
Map<String,Object> resData = new HashMap<>(); |
|
|
|
|
|
|
|
List<Map<String,String>> metersData = (List<Map<String,String>>)paramMap.get("meters"); |
|
|
|
|
|
|
|
List<String> meters = kwBoxService.findMeters(kwBox); |
|
|
|
String metersDataStr = paramMap.get("meters"); |
|
|
|
JSONArray ja = JSONObject.parseArray(metersDataStr); |
|
|
|
|
|
|
|
boolean updateMeters = false; |
|
|
|
boolean updateConfig = false; |
|
|
|
|
|
|
|
if (ja.size() > 0) { |
|
|
|
List<HashMap> metersData = ja.toJavaList(HashMap.class); |
|
|
|
if (!metersData.isEmpty()) { |
|
|
|
metersData.stream().forEach(m->{ |
|
|
|
String addr = (String)m.get("addr"); |
|
|
|
String data = (String)m.get("data"); |
|
|
|
String addr = m.get("addr"); |
|
|
|
String data = m.get("data"); |
|
|
|
kwBoxService.saveMeterData(kwBox, deviceTime, addr, data); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
if (metersData.size() != meters.size()) { |
|
|
|
updateMeters = true; |
|
|
|
} else { |
|
|
|
if (!meters.containsAll(metersData.stream().map(m->m.get("addr")).collect(Collectors.toList()))) |
|
|
|
updateMeters = true; |
|
|
|
} |
|
|
|
List<String> meters = kwBoxService.findMeters(kwBox); |
|
|
|
|
|
|
|
} else { |
|
|
|
boolean updateMeters = false; |
|
|
|
boolean updateConfig = false; |
|
|
|
|
|
|
|
if (metersData.size() != meters.size()) |
|
|
|
{ |
|
|
|
updateMeters = true; |
|
|
|
} else { |
|
|
|
if (!meters.containsAll(metersData.stream().map(m->m.get("addr")).collect(Collectors.toList()))) |
|
|
|
updateMeters = true; |
|
|
|
} |
|
|
|
|
|
|
|
if (updateMeters) { |
|
|
|
if (meters.size() > 0) |
|
|
|
resData.put("meters", meters); |
|
|
|
resData.put("meters", meters); |
|
|
|
} |
|
|
|
if (updateConfig) { |
|
|
|
resData.put("config", kwBox.getConfig()); |
|
|
|
@@ -178,21 +175,21 @@ public class KwBoxV1Controller extends BaseController { |
|
|
|
|
|
|
|
@ApiOperation("开物盒子V1") |
|
|
|
@PostMapping("command") |
|
|
|
public Result command(@RequestBody Map<String,String> paramMap) { |
|
|
|
public Result command(@RequestBody Map<String,Object> paramMap) { |
|
|
|
|
|
|
|
String cmd = paramMap.get("CMD"); |
|
|
|
String cmd = (String)paramMap.get("CMD"); |
|
|
|
if (StringUtil.isNullOrEmpty(cmd)) |
|
|
|
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); |
|
|
|
|
|
|
|
String imei = paramMap.get("IMEI"); |
|
|
|
String imei = (String)paramMap.get("IMEI"); |
|
|
|
if (StringUtil.isNullOrEmpty(imei)) |
|
|
|
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); |
|
|
|
|
|
|
|
String ccid = paramMap.get("CCID"); |
|
|
|
String ccid = (String)paramMap.get("CCID"); |
|
|
|
if (StringUtil.isNullOrEmpty(ccid)) |
|
|
|
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); |
|
|
|
|
|
|
|
String time = paramMap.get("TIME"); |
|
|
|
String time = (String)paramMap.get("TIME"); |
|
|
|
if (StringUtil.isNullOrEmpty(time)) |
|
|
|
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); |
|
|
|
|
|
|
|
|