物联设备BUG处理
This commit is contained in:
parent
19073460b1
commit
4523d38c0e
|
|
@ -23,6 +23,7 @@ public class DeviceBindLog implements Serializable {
|
||||||
private String nuId;
|
private String nuId;
|
||||||
private String nuName;
|
private String nuName;
|
||||||
private String dimension;
|
private String dimension;
|
||||||
|
private String deviceName;
|
||||||
@Dict(dicCode = "tplink_device_type")
|
@Dict(dicCode = "tplink_device_type")
|
||||||
private String deviceType;
|
private String deviceType;
|
||||||
private String deviceModel;
|
private String deviceModel;
|
||||||
|
|
|
||||||
|
|
@ -49,4 +49,6 @@ public interface DeviceManagerMapper extends BaseMapper<DeviceManager> {
|
||||||
IPage<DeviceIntegration> findHumidPage(Page<DeviceIntegration> page, @Param("params") DeviceIntegration deviceIntegration);
|
IPage<DeviceIntegration> findHumidPage(Page<DeviceIntegration> page, @Param("params") DeviceIntegration deviceIntegration);
|
||||||
IPage<DeviceBindLog> findBingLogPage(Page<DeviceBindLog> page, @Param("params") DeviceBindLog deviceBindLog);
|
IPage<DeviceBindLog> findBingLogPage(Page<DeviceBindLog> page, @Param("params") DeviceBindLog deviceBindLog);
|
||||||
void addBindPreview(DeviceBindLog deviceBindLog);
|
void addBindPreview(DeviceBindLog deviceBindLog);
|
||||||
|
void addDeviceReleaseLog(String orgCode,String nuId);
|
||||||
|
void releaseNu(String orgCode,String nuId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -512,6 +512,7 @@
|
||||||
nu_id,
|
nu_id,
|
||||||
nu_name,
|
nu_name,
|
||||||
dimension,
|
dimension,
|
||||||
|
device_name,
|
||||||
device_type,
|
device_type,
|
||||||
device_model,
|
device_model,
|
||||||
sn,
|
sn,
|
||||||
|
|
@ -520,6 +521,15 @@
|
||||||
opt_type
|
opt_type
|
||||||
from nu_iot_device_bind_log
|
from nu_iot_device_bind_log
|
||||||
where org_code = #{params.orgCode}
|
where org_code = #{params.orgCode}
|
||||||
|
<if test="params.dimension != null and params.dimension != ''">
|
||||||
|
AND dimension = #{params.dimension}
|
||||||
|
</if>
|
||||||
|
<if test="params.deviceType != null and params.deviceType != ''">
|
||||||
|
AND device_type = #{params.deviceType}
|
||||||
|
</if>
|
||||||
|
<if test="params.deviceName != null and params.deviceName != ''">
|
||||||
|
AND device_name LIKE concat('%',#{params.deviceName},'%')
|
||||||
|
</if>
|
||||||
order by org_code asc ,factory asc ,device_type asc ,device_model asc ,sn asc,opt_date desc
|
order by org_code asc ,factory asc ,device_type asc ,device_model asc ,sn asc,opt_date desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
@ -529,6 +539,7 @@
|
||||||
nu_id,
|
nu_id,
|
||||||
nu_name,
|
nu_name,
|
||||||
dimension,
|
dimension,
|
||||||
|
device_name,
|
||||||
device_type,
|
device_type,
|
||||||
device_model,
|
device_model,
|
||||||
sn,
|
sn,
|
||||||
|
|
@ -541,6 +552,7 @@
|
||||||
#{nuId},
|
#{nuId},
|
||||||
#{nuName},
|
#{nuName},
|
||||||
#{dimension},
|
#{dimension},
|
||||||
|
#{deviceName},
|
||||||
#{deviceType},
|
#{deviceType},
|
||||||
#{deviceModel},
|
#{deviceModel},
|
||||||
#{sn},
|
#{sn},
|
||||||
|
|
@ -551,4 +563,41 @@
|
||||||
)
|
)
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<insert id="addDeviceReleaseLog">
|
||||||
|
insert into nu_iot_device_bind_log(
|
||||||
|
org_code,
|
||||||
|
sn,
|
||||||
|
dimension,
|
||||||
|
device_name,
|
||||||
|
device_type,
|
||||||
|
device_model,
|
||||||
|
factory,
|
||||||
|
opt_date,
|
||||||
|
opt_type,
|
||||||
|
remarks
|
||||||
|
)
|
||||||
|
select
|
||||||
|
#{orgCode},
|
||||||
|
sn,
|
||||||
|
dimension,
|
||||||
|
device_name,
|
||||||
|
device_type,
|
||||||
|
device_model,
|
||||||
|
factory,
|
||||||
|
now(),
|
||||||
|
'释放',
|
||||||
|
'区域停用'
|
||||||
|
from nu_iot_device_preview a
|
||||||
|
where a.org_code = #{orgCode}
|
||||||
|
and a.nu_id = #{nuId}
|
||||||
|
and ifnull(a.device_status,'') != '损坏'
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<update id="releaseNu">
|
||||||
|
update nu_iot_device_preview
|
||||||
|
set nu_id = null
|
||||||
|
where org_code = #{orgCode}
|
||||||
|
and nu_id = #{nuId}
|
||||||
|
</update>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -45,4 +45,6 @@ public interface IDeviceManagerService extends IService<DeviceManager> {
|
||||||
Result<String> pullHumid(DeviceIntegration deviceIntegration);
|
Result<String> pullHumid(DeviceIntegration deviceIntegration);
|
||||||
IPage<DeviceBindLog> findBingLogPage(Page<DeviceBindLog> page, DeviceBindLog deviceBindLog);
|
IPage<DeviceBindLog> findBingLogPage(Page<DeviceBindLog> page, DeviceBindLog deviceBindLog);
|
||||||
void addBindPreview(DeviceBindLog deviceBindLog);
|
void addBindPreview(DeviceBindLog deviceBindLog);
|
||||||
|
void releaseNu(String orgCode,String nuId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -307,6 +307,7 @@ public class DeviceManagerServiceImpl extends ServiceImpl<DeviceManagerMapper, D
|
||||||
tqDeviceInfo.setCid(deviceIntegration.getSn());
|
tqDeviceInfo.setCid(deviceIntegration.getSn());
|
||||||
String errorMsg = tqDeviceInfoService.addCollector(tqDeviceInfo);
|
String errorMsg = tqDeviceInfoService.addCollector(tqDeviceInfo);
|
||||||
if(!errorMsg.equals("")){
|
if(!errorMsg.equals("")){
|
||||||
|
tqDeviceInfoService.deleteCollector(tqDeviceInfo);
|
||||||
return Result.error(errorMsg);
|
return Result.error(errorMsg);
|
||||||
}
|
}
|
||||||
WaterMeter waterMeter = new WaterMeter();
|
WaterMeter waterMeter = new WaterMeter();
|
||||||
|
|
@ -314,14 +315,26 @@ public class DeviceManagerServiceImpl extends ServiceImpl<DeviceManagerMapper, D
|
||||||
waterMeter.setAddress(deviceIntegration.getSn());
|
waterMeter.setAddress(deviceIntegration.getSn());
|
||||||
errorMsg = waterMeterService.addWater(waterMeter);
|
errorMsg = waterMeterService.addWater(waterMeter);
|
||||||
if(!errorMsg.equals("")){
|
if(!errorMsg.equals("")){
|
||||||
|
waterMeterService.deleteWater(waterMeter);
|
||||||
return Result.error(errorMsg);
|
return Result.error(errorMsg);
|
||||||
}
|
}
|
||||||
|
//先抄表,并设置opr_id,在抄表时判断opr_id是否是集成,并且如果是离线时显示集成失败,并删除采集器和表,
|
||||||
|
// 1、判断抄表同步返回状态
|
||||||
|
// 2、或在异步中判断opr_id进行推送
|
||||||
|
// waterMeter.setOprId("集成");
|
||||||
|
Result<String> res = waterMeterService.waterRead(waterMeter);
|
||||||
|
if(!res.isSuccess()){
|
||||||
|
tqDeviceInfoService.deleteCollector(tqDeviceInfo);
|
||||||
|
waterMeterService.deleteWater(waterMeter);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
tqDeviceInfoService.getAllMeter(true);
|
tqDeviceInfoService.getAllMeter(true);
|
||||||
tqDeviceInfoService.getAllCollector(true);
|
tqDeviceInfoService.getAllCollector(true);
|
||||||
syncBizService.syncDevice(deviceIntegration.getOrgCode(),deviceIntegration.getSn());
|
syncBizService.syncDevice(deviceIntegration.getOrgCode(),deviceIntegration.getSn());
|
||||||
deviceIntegration.setDeviceStatus("正常");
|
deviceIntegration.setDeviceStatus("正常");
|
||||||
baseMapper.editPreviewStatusBySn(deviceIntegration);
|
baseMapper.editPreviewStatusBySn(deviceIntegration);
|
||||||
return Result.OK("拉取水表成功!");
|
return Result.OK("拉取水表成功!");
|
||||||
|
// return Result.OK("需等待一分钟之后刷新!");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -381,6 +394,12 @@ public class DeviceManagerServiceImpl extends ServiceImpl<DeviceManagerMapper, D
|
||||||
return logId;
|
return logId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void releaseNu(String orgCode,String nuId){
|
||||||
|
baseMapper.addDeviceReleaseLog(orgCode,nuId);// 记录设备释放日志
|
||||||
|
baseMapper.releaseNu(orgCode,nuId);// 更新湿度计
|
||||||
|
}
|
||||||
|
|
||||||
public String formatMacAddress(String mac) {
|
public String formatMacAddress(String mac) {
|
||||||
if (mac == null || mac.length() != 12) {
|
if (mac == null || mac.length() != 12) {
|
||||||
throw new IllegalArgumentException("MAC地址必须为12位十六进制字符");
|
throw new IllegalArgumentException("MAC地址必须为12位十六进制字符");
|
||||||
|
|
|
||||||
|
|
@ -308,7 +308,7 @@ public class CameraInfoServiceImpl extends ServiceImpl<CameraInfoMapper, CameraI
|
||||||
JSONObject jsonObject = new JSONObject(jsonResponse);
|
JSONObject jsonObject = new JSONObject(jsonResponse);
|
||||||
String errorCode = jsonObject.getStr("error_code");
|
String errorCode = jsonObject.getStr("error_code");
|
||||||
if(errorCode.equals("0")){
|
if(errorCode.equals("0")){
|
||||||
syncProjectIpc(jsonResponse);
|
errMsg = syncProjectIpc(jsonResponse);
|
||||||
}else{
|
}else{
|
||||||
try{
|
try{
|
||||||
ErrorCode errVo = errorCodeService.getByCode(errorCode);
|
ErrorCode errVo = errorCodeService.getByCode(errorCode);
|
||||||
|
|
@ -432,7 +432,8 @@ public class CameraInfoServiceImpl extends ServiceImpl<CameraInfoMapper, CameraI
|
||||||
* @param jsonResponse
|
* @param jsonResponse
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private void syncProjectIpc(String jsonResponse){
|
private String syncProjectIpc(String jsonResponse){
|
||||||
|
String errMsg = "";
|
||||||
JSONObject jsonObject = new JSONObject(jsonResponse);
|
JSONObject jsonObject = new JSONObject(jsonResponse);
|
||||||
if(jsonObject.getInt("error_code").equals(0)){
|
if(jsonObject.getInt("error_code").equals(0)){
|
||||||
JSONObject result = (JSONObject)jsonObject.get("result");
|
JSONObject result = (JSONObject)jsonObject.get("result");
|
||||||
|
|
@ -478,8 +479,11 @@ public class CameraInfoServiceImpl extends ServiceImpl<CameraInfoMapper, CameraI
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
errMsg = "拉取设备为空,请检查参数!";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return errMsg;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import com.nu.modules.tq.common.entity.TqDeviceInfo;
|
||||||
public interface ITqDeviceInfoService extends IService<TqDeviceInfo> {
|
public interface ITqDeviceInfoService extends IService<TqDeviceInfo> {
|
||||||
TqDeviceInfo getByCid(String cid);
|
TqDeviceInfo getByCid(String cid);
|
||||||
String addCollector(TqDeviceInfo tqDeviceInfo);
|
String addCollector(TqDeviceInfo tqDeviceInfo);
|
||||||
|
String deleteCollector(TqDeviceInfo tqDeviceInfo);
|
||||||
void getAllMeter(boolean isJob);
|
void getAllMeter(boolean isJob);
|
||||||
void getAllCollector(boolean isJob);
|
void getAllCollector(boolean isJob);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -118,6 +118,71 @@ public class TqDeviceInfoServiceImpl extends ServiceImpl<TqDeviceInfoMapper, TqD
|
||||||
return errorMsg;
|
return errorMsg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 注销采集器
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String deleteCollector(TqDeviceInfo tqDeviceInfo){
|
||||||
|
String errorMsg = "";
|
||||||
|
List<Map<String, Object>> req = new ArrayList<>();
|
||||||
|
Map<String, Object> item = new HashMap<>();
|
||||||
|
item.put("cid", tqDeviceInfo.getCid());
|
||||||
|
req.add(item);
|
||||||
|
String responseStr = tqApi.deleteCollector(req);
|
||||||
|
JSONObject jsonObject = new JSONObject(responseStr);
|
||||||
|
String httpStatus = jsonObject.getStr("status");
|
||||||
|
if(httpStatus.equals("SUCCESS")){
|
||||||
|
String response_content = jsonObject.getStr("response_content");
|
||||||
|
JSONArray jsonArray = new JSONArray(response_content);
|
||||||
|
for(int i=0;i<jsonArray.size();i++){
|
||||||
|
JSONObject json = (JSONObject)jsonArray.get(i);
|
||||||
|
String status = json.getStr("status");//状态
|
||||||
|
String cid = json.getStr("cid");//CID
|
||||||
|
if(status.equals("SUCCESS")){
|
||||||
|
TqApiLog tqApiLog = new TqApiLog();
|
||||||
|
tqApiLog.setOprId(cid);
|
||||||
|
tqApiLog.setCid(cid);
|
||||||
|
tqApiLog.setRequestTime(DateUtil.now());
|
||||||
|
tqApiLog.setRequestStatus("删除采集器成功");
|
||||||
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
if (sysUser != null) {
|
||||||
|
tqApiLog.setOptBy(sysUser.getRealname());
|
||||||
|
}
|
||||||
|
logService.insert(tqApiLog);
|
||||||
|
baseMapper.deleteByCid(cid);
|
||||||
|
}else{
|
||||||
|
errorMsg += json.getStr("error_msg");
|
||||||
|
TqApiLog tqApiLog = new TqApiLog();
|
||||||
|
tqApiLog.setOprId(cid);
|
||||||
|
tqApiLog.setCid(cid);
|
||||||
|
tqApiLog.setRequestTime(DateUtil.now());
|
||||||
|
tqApiLog.setRequestStatus("删除采集器失败");
|
||||||
|
tqApiLog.setRequestRemark(errorMsg);
|
||||||
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
if (sysUser != null) {
|
||||||
|
tqApiLog.setOptBy(sysUser.getRealname());
|
||||||
|
}
|
||||||
|
logService.insert(tqApiLog);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
errorMsg = jsonObject.getStr("error_msg");
|
||||||
|
TqApiLog tqApiLog = new TqApiLog();
|
||||||
|
tqApiLog.setOprId(tqDeviceInfo.getCid());
|
||||||
|
tqApiLog.setCid(tqDeviceInfo.getCid());
|
||||||
|
tqApiLog.setRequestTime(DateUtil.now());
|
||||||
|
tqApiLog.setRequestStatus("删除采集器失败");
|
||||||
|
tqApiLog.setRequestRemark(errorMsg);
|
||||||
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
if (sysUser != null) {
|
||||||
|
tqApiLog.setOptBy(sysUser.getRealname());
|
||||||
|
}
|
||||||
|
logService.insert(tqApiLog);
|
||||||
|
}
|
||||||
|
return errorMsg;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取设备信息
|
* 获取设备信息
|
||||||
* @return
|
* @return
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,9 @@ public enum TqApiEnum {
|
||||||
METER_INFO("/Api/Meter","查询设备列表和当前状态"),
|
METER_INFO("/Api/Meter","查询设备列表和当前状态"),
|
||||||
COLLECTOR_INFO("/Api/Collector","查询采集器列表和当前状态"),
|
COLLECTOR_INFO("/Api/Collector","查询采集器列表和当前状态"),
|
||||||
ADD_COLLECTOR("/Api_v2/collector/add","注册采集器"),
|
ADD_COLLECTOR("/Api_v2/collector/add","注册采集器"),
|
||||||
ADD_WATER_METER("/Api_v2/water_meter/add","水表添加"),
|
ADD_WATER_METER("/Api_v2/water_meter/add","添加水表"),
|
||||||
|
DELETE_WATER_METER("/Api_v2/water_meter/delete","删除水表"),
|
||||||
|
DELETE_COLLECTOR("/Api_v2/collector/delete","注销采集器"),
|
||||||
ELE_RESET("/Api_v2/ele_security/reset","电表清零"),
|
ELE_RESET("/Api_v2/ele_security/reset","电表清零"),
|
||||||
WATER_RESET("/Api_v2/water_security/reset","水表清零"),
|
WATER_RESET("/Api_v2/water_security/reset","水表清零"),
|
||||||
ELE_CONTROL("/Api_v2/ele_control","电表开关闸"),
|
ELE_CONTROL("/Api_v2/ele_control","电表开关闸"),
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,32 @@ public class TqApi {
|
||||||
return responseStr;
|
return responseStr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除电表
|
||||||
|
*/
|
||||||
|
public String deleteWaterMeters(List<Map<String, Object>> req){
|
||||||
|
this.initTqConfig();
|
||||||
|
String request_content = JSON.toJSONString(req);
|
||||||
|
log.info("deleteWaterMeters:request:{}",request_content);
|
||||||
|
String url = tqConfig.getRequestUrl()+TqApiEnum.DELETE_WATER_METER.getValue();
|
||||||
|
String responseStr = requestAsync(url,request_content,"");
|
||||||
|
log.info("deleteWaterMeters:response:{}",responseStr);
|
||||||
|
return responseStr;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除采集器
|
||||||
|
*/
|
||||||
|
public String deleteCollector(List<Map<String, Object>> req){
|
||||||
|
this.initTqConfig();
|
||||||
|
String request_content = JSON.toJSONString(req);
|
||||||
|
log.info("deleteCollector:request:{}",request_content);
|
||||||
|
String url = tqConfig.getRequestUrl()+TqApiEnum.DELETE_COLLECTOR.getValue();
|
||||||
|
String responseStr = requestAsync(url,request_content,"");
|
||||||
|
log.info("deleteCollector:response:{}",responseStr);
|
||||||
|
return responseStr;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 电表清零
|
* 电表清零
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -119,5 +119,7 @@ public class WaterMeter implements Serializable {
|
||||||
private String createTime;//时间
|
private String createTime;//时间
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private List<WaterMeter> seedList;//子列表
|
private List<WaterMeter> seedList;//子列表
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String oprId;//抄表传递参数
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -18,6 +18,7 @@ public interface WaterMeterMapper extends BaseMapper<WaterMeter> {
|
||||||
int insertWater(WaterMeter waterMeter);
|
int insertWater(WaterMeter waterMeter);
|
||||||
|
|
||||||
int updateWater(WaterMeter waterMeter);
|
int updateWater(WaterMeter waterMeter);
|
||||||
|
int deleteWater(WaterMeter waterMeter);
|
||||||
|
|
||||||
void updateDepartById(WaterMeter waterInfo);
|
void updateDepartById(WaterMeter waterInfo);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,10 @@
|
||||||
</where>
|
</where>
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<delete id="deleteWater" parameterType="com.nu.modules.tq.water.entity.WaterMeter">
|
||||||
|
delete from nu_iot_tq_water_meter where cid = #{cid} and address = #{address}
|
||||||
|
</delete>
|
||||||
|
|
||||||
<update id="updateValue" parameterType="com.nu.modules.tq.water.entity.WaterMeter">
|
<update id="updateValue" parameterType="com.nu.modules.tq.water.entity.WaterMeter">
|
||||||
update nu_iot_tq_water_meter
|
update nu_iot_tq_water_meter
|
||||||
set
|
set
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ public interface IWaterMeterService extends IService<WaterMeter> {
|
||||||
void updateValue(WaterMeter waterMeter);
|
void updateValue(WaterMeter waterMeter);
|
||||||
void updateRelayState(WaterMeter waterMeter);
|
void updateRelayState(WaterMeter waterMeter);
|
||||||
String addWater(WaterMeter waterMeter);
|
String addWater(WaterMeter waterMeter);
|
||||||
|
String deleteWater(WaterMeter waterMeter);
|
||||||
Result<String> waterReset(WaterMeter waterMeter);
|
Result<String> waterReset(WaterMeter waterMeter);
|
||||||
Result<String> waterControl(WaterMeter waterMeter);
|
Result<String> waterControl(WaterMeter waterMeter);
|
||||||
Result<String> waterRead(WaterMeter waterMeter);
|
Result<String> waterRead(WaterMeter waterMeter);
|
||||||
|
|
|
||||||
|
|
@ -160,6 +160,78 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
|
||||||
return errorMsg;
|
return errorMsg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除水表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String deleteWater(WaterMeter waterMeter){
|
||||||
|
String errorMsg = "";
|
||||||
|
List<Map<String, Object>> req = new ArrayList<>();
|
||||||
|
Map<String, Object> item = new HashMap<>();
|
||||||
|
item.put("cid", waterMeter.getCid());
|
||||||
|
item.put("address", waterMeter.getAddress());
|
||||||
|
// item.put("model", "NS-无线无预付费水表");//没有指定,默认为系统后台配置的默认水表类型
|
||||||
|
req.add(item);
|
||||||
|
String responseStr = tqApi.deleteWaterMeters(req);
|
||||||
|
JSONObject jsonObject = new JSONObject(responseStr);
|
||||||
|
String httpStatus = jsonObject.getStr("status");
|
||||||
|
if(httpStatus.equals("SUCCESS")){
|
||||||
|
String response_content = jsonObject.getStr("response_content");
|
||||||
|
JSONArray jsonArray = new JSONArray(response_content);
|
||||||
|
for(int i=0;i<jsonArray.size();i++){
|
||||||
|
JSONObject json = (JSONObject)jsonArray.get(i);
|
||||||
|
String status = json.getStr("status");//状态
|
||||||
|
String cid = json.getStr("cid");//CID
|
||||||
|
String address = json.getStr("address");//address
|
||||||
|
if(status.equals("SUCCESS")){
|
||||||
|
TqApiLog tqApiLog = new TqApiLog();
|
||||||
|
tqApiLog.setOprId(cid);
|
||||||
|
tqApiLog.setCid(cid);
|
||||||
|
tqApiLog.setAddress(address);
|
||||||
|
tqApiLog.setRequestTime(DateUtil.now());
|
||||||
|
tqApiLog.setRequestStatus("删除水表成功");
|
||||||
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
if (sysUser != null) {
|
||||||
|
tqApiLog.setOptBy(sysUser.getRealname());
|
||||||
|
}
|
||||||
|
logService.insert(tqApiLog);
|
||||||
|
WaterMeter entity = new WaterMeter();
|
||||||
|
entity.setCid(cid);
|
||||||
|
entity.setAddress(address);
|
||||||
|
baseMapper.deleteWater(entity);
|
||||||
|
}else{
|
||||||
|
errorMsg += json.getStr("error_msg");
|
||||||
|
TqApiLog tqApiLog = new TqApiLog();
|
||||||
|
tqApiLog.setOprId(cid);
|
||||||
|
tqApiLog.setCid(cid);
|
||||||
|
tqApiLog.setAddress(address);
|
||||||
|
tqApiLog.setRequestTime(DateUtil.now());
|
||||||
|
tqApiLog.setRequestStatus("删除水表失败");
|
||||||
|
tqApiLog.setRequestRemark(errorMsg);
|
||||||
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
if (sysUser != null) {
|
||||||
|
tqApiLog.setOptBy(sysUser.getRealname());
|
||||||
|
}
|
||||||
|
logService.insert(tqApiLog);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
errorMsg = jsonObject.getStr("error_msg");
|
||||||
|
TqApiLog tqApiLog = new TqApiLog();
|
||||||
|
tqApiLog.setCid(waterMeter.getCid());
|
||||||
|
tqApiLog.setAddress(waterMeter.getAddress());
|
||||||
|
tqApiLog.setRequestTime(DateUtil.now());
|
||||||
|
tqApiLog.setRequestStatus("删除水表失败");
|
||||||
|
tqApiLog.setRequestRemark(errorMsg);
|
||||||
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
if (sysUser != null) {
|
||||||
|
tqApiLog.setOptBy(sysUser.getRealname());
|
||||||
|
}
|
||||||
|
logService.insert(tqApiLog);
|
||||||
|
}
|
||||||
|
return errorMsg;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 清零
|
* 清零
|
||||||
*/
|
*/
|
||||||
|
|
@ -365,9 +437,13 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
|
||||||
if(entity == null){
|
if(entity == null){
|
||||||
return Result.error("请先同步水表设备信息后再进行抄表");
|
return Result.error("请先同步水表设备信息后再进行抄表");
|
||||||
}
|
}
|
||||||
|
String oprId = waterMeter.getOprId();
|
||||||
|
if(oprId==null||oprId.equals("")){
|
||||||
|
oprId = HttpTool.generateOperateId();
|
||||||
|
}
|
||||||
List<Map<String, Object>> req = new ArrayList<>();
|
List<Map<String, Object>> req = new ArrayList<>();
|
||||||
Map<String, Object> item = new HashMap<>();
|
Map<String, Object> item = new HashMap<>();
|
||||||
item.put("opr_id", HttpTool.generateOperateId());
|
item.put("opr_id", oprId);
|
||||||
item.put("time_out", 0);
|
item.put("time_out", 0);
|
||||||
item.put("must_online", true);
|
item.put("must_online", true);
|
||||||
item.put("retry_times", 1);
|
item.put("retry_times", 1);
|
||||||
|
|
@ -384,10 +460,10 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
|
||||||
for(int i=0;i<jsonArray.size();i++){
|
for(int i=0;i<jsonArray.size();i++){
|
||||||
JSONObject json = (JSONObject)jsonArray.get(i);
|
JSONObject json = (JSONObject)jsonArray.get(i);
|
||||||
String status = json.getStr("status");//状态
|
String status = json.getStr("status");//状态
|
||||||
String oprId = json.getStr("opr_id");//操作ID
|
String resOprId = json.getStr("opr_id");//操作ID
|
||||||
if(status.equals("SUCCESS")){
|
if(status.equals("SUCCESS")){
|
||||||
TqApiLog tqApiLog = new TqApiLog();
|
TqApiLog tqApiLog = new TqApiLog();
|
||||||
tqApiLog.setOprId(oprId);
|
tqApiLog.setOprId(resOprId);
|
||||||
tqApiLog.setCid(waterMeter.getCid());
|
tqApiLog.setCid(waterMeter.getCid());
|
||||||
tqApiLog.setAddress(waterMeter.getAddress());
|
tqApiLog.setAddress(waterMeter.getAddress());
|
||||||
tqApiLog.setType(42);
|
tqApiLog.setType(42);
|
||||||
|
|
@ -402,7 +478,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
|
||||||
}else{
|
}else{
|
||||||
String errorMsg = json.getStr("error_msg");
|
String errorMsg = json.getStr("error_msg");
|
||||||
TqApiLog tqApiLog = new TqApiLog();
|
TqApiLog tqApiLog = new TqApiLog();
|
||||||
tqApiLog.setOprId(oprId);
|
tqApiLog.setOprId(resOprId);
|
||||||
tqApiLog.setCid(waterMeter.getCid());
|
tqApiLog.setCid(waterMeter.getCid());
|
||||||
tqApiLog.setAddress(waterMeter.getAddress());
|
tqApiLog.setAddress(waterMeter.getAddress());
|
||||||
tqApiLog.setType(42);
|
tqApiLog.setType(42);
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ public interface HumidDeviceMapper extends BaseMapper<HumidDevice> {
|
||||||
int insertDevice(HumidDevice humidDevice);
|
int insertDevice(HumidDevice humidDevice);
|
||||||
int updateDevice(HumidDevice humidDevice);
|
int updateDevice(HumidDevice humidDevice);
|
||||||
int delFlagDevice(HumidDevice humidDevice);
|
int delFlagDevice(HumidDevice humidDevice);
|
||||||
|
int delDevice(HumidDevice humidDevice);
|
||||||
int updateValue(HumidDevice humidDevice);
|
int updateValue(HumidDevice humidDevice);
|
||||||
int insertLog(HumidDevice humidDevice);
|
int insertLog(HumidDevice humidDevice);
|
||||||
IPage<HumidDevice> findLogPage(Page<HumidDevice> page, @Param("params") HumidDevice humidDevice);
|
IPage<HumidDevice> findLogPage(Page<HumidDevice> page, @Param("params") HumidDevice humidDevice);
|
||||||
|
|
|
||||||
|
|
@ -164,6 +164,10 @@
|
||||||
update nu_iot_yiweilian_humid_device set del_flag = #{delFlag} where sn = #{sn}
|
update nu_iot_yiweilian_humid_device set del_flag = #{delFlag} where sn = #{sn}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<delete id="delDevice" parameterType="com.nu.modules.yiweilian.humid.entity.HumidDevice">
|
||||||
|
delete from nu_iot_yiweilian_humid_device where sn = #{sn}
|
||||||
|
</delete>
|
||||||
|
|
||||||
<update id="updateValue" parameterType="com.nu.modules.yiweilian.humid.entity.HumidDevice">
|
<update id="updateValue" parameterType="com.nu.modules.yiweilian.humid.entity.HumidDevice">
|
||||||
update nu_iot_yiweilian_humid_device
|
update nu_iot_yiweilian_humid_device
|
||||||
set
|
set
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
|
||||||
}
|
}
|
||||||
String error2 = updateDeviceRealTime(humidDevice);
|
String error2 = updateDeviceRealTime(humidDevice);
|
||||||
if (!error2.equals("")) {
|
if (!error2.equals("")) {
|
||||||
String result = "设备添加成功,但是获取实时数据错误:" + error2;
|
String result = "设备添加失败:" + error2;
|
||||||
return Result.error(result);
|
return Result.error(result);
|
||||||
}
|
}
|
||||||
return Result.OK("添加成功");
|
return Result.OK("添加成功");
|
||||||
|
|
@ -263,14 +263,23 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
|
||||||
String humidity = json.getStr("humidity");
|
String humidity = json.getStr("humidity");
|
||||||
String reportingTime = json.getStr("date");
|
String reportingTime = json.getStr("date");
|
||||||
dh.setStatus(status);
|
dh.setStatus(status);
|
||||||
|
dh.setSn(sn);
|
||||||
Date reportingDate = DateUtil.parse(reportingTime, "yyyy-MM-dd HH:mm:ss");
|
Date reportingDate = DateUtil.parse(reportingTime, "yyyy-MM-dd HH:mm:ss");
|
||||||
Calendar ca = Calendar.getInstance();
|
Calendar ca = Calendar.getInstance();
|
||||||
ca.add(Calendar.MINUTE, -5);
|
ca.add(Calendar.MINUTE, -5);
|
||||||
Date currentDate = ca.getTime();
|
Date currentDate = ca.getTime();
|
||||||
if (reportingDate.getTime() <= currentDate.getTime()) {
|
if(status.equals("2")){
|
||||||
dh.setStatus("1");
|
baseMapper.delDevice(dh);
|
||||||
|
Map<String, Object> params = new HashMap<>();
|
||||||
|
params.put("sn", sn);
|
||||||
|
yiweilianApi.deleteDevice(params);
|
||||||
|
return "设备不存在!";
|
||||||
|
}
|
||||||
|
if(status.equals("0")){
|
||||||
|
if (reportingDate.getTime() <= currentDate.getTime()) {
|
||||||
|
dh.setStatus("1");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
dh.setSn(sn);
|
|
||||||
dh.setElectricity(electricity);
|
dh.setElectricity(electricity);
|
||||||
dh.setTemperature(temperature);
|
dh.setTemperature(temperature);
|
||||||
dh.setHumidity(humidity);
|
dh.setHumidity(humidity);
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import com.nu.dto.IotNuBaseInfoMQDto;
|
||||||
import com.nu.dto.StatusListMQDto;
|
import com.nu.dto.StatusListMQDto;
|
||||||
import com.nu.dto.StatusMQDto;
|
import com.nu.dto.StatusMQDto;
|
||||||
import com.nu.modules.device.manager.entity.DeviceBindLog;
|
import com.nu.modules.device.manager.entity.DeviceBindLog;
|
||||||
|
import com.nu.modules.device.manager.entity.DeviceManager;
|
||||||
import com.nu.modules.device.manager.entity.DevicePreview;
|
import com.nu.modules.device.manager.entity.DevicePreview;
|
||||||
import com.nu.modules.device.manager.service.IDeviceManagerService;
|
import com.nu.modules.device.manager.service.IDeviceManagerService;
|
||||||
import com.nu.modules.dingshuo.electricity.entity.DsElectricityMeter;
|
import com.nu.modules.dingshuo.electricity.entity.DsElectricityMeter;
|
||||||
|
|
@ -158,11 +159,12 @@ public class IotDeviceMQListener {
|
||||||
public void releaseNuDevices(IotNuBaseInfoMQDto dto) {
|
public void releaseNuDevices(IotNuBaseInfoMQDto dto) {
|
||||||
String orgCode = dto.getOrgCode();
|
String orgCode = dto.getOrgCode();
|
||||||
String nuId = dto.getNuId();
|
String nuId = dto.getNuId();
|
||||||
IotDeviceInfo idi = new IotDeviceInfo();
|
// IotDeviceInfo idi = new IotDeviceInfo();
|
||||||
idi.setNuId(nuId);
|
// idi.setNuId(nuId);
|
||||||
idi.setOrgCode(orgCode);
|
// idi.setOrgCode(orgCode);
|
||||||
idi.setRemarks("业务平台区域停用");
|
// idi.setRemarks("业务平台区域停用");
|
||||||
iotDeviceInfoService.releaseNu(idi);
|
// iotDeviceInfoService.releaseNu(idi);
|
||||||
|
deviceManagerService.releaseNu(orgCode,nuId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@RabbitListener(
|
@RabbitListener(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue