修改文字及判断类型

This commit is contained in:
yangjun 2025-06-27 10:27:49 +08:00
parent b126d1d2cd
commit d4b9c5920e
4 changed files with 200 additions and 75 deletions

View File

@ -84,7 +84,25 @@ public class NuIotTqApiRequestLogController extends JeecgController<NuIotTqApiRe
} }
//如果返回状态为空并且超过了5分钟则返回抄表失败 //如果返回状态为空并且超过了5分钟则返回抄表失败
if(StringUtils.isBlank(par.getResolveStatus()) && fiveMinutesAgo.getTime() > date.getTime()){ if(StringUtils.isBlank(par.getResolveStatus()) && fiveMinutesAgo.getTime() > date.getTime()){
//9清零 3抄表 10电表拉闸 11电表合闸 49水表清零 42水表抄表 43水表开闸 53水表关闸
if(StringUtils.equals("9",par.getType())){
par.setResolveStatus("清零失败");
}else if (StringUtils.equals("3",par.getType())){
par.setResolveStatus("抄表失败"); par.setResolveStatus("抄表失败");
}else if(StringUtils.equals("10",par.getType())){
par.setResolveStatus("拉闸失败");
}else if (StringUtils.equals("11",par.getType())){
par.setResolveStatus("合闸失败");
}else if(StringUtils.equals("49",par.getType())){
par.setResolveStatus("清零失败");
}else if (StringUtils.equals("42",par.getType())){
par.setResolveStatus("抄表失败");
}else if (StringUtils.equals("43",par.getType())){
par.setResolveStatus("开阀失败");
}else if (StringUtils.equals("53",par.getType())){
par.setResolveStatus("关阀失败");
}
//判断返回状态为空并且没有超过了5分钟则返回抄表中 //判断返回状态为空并且没有超过了5分钟则返回抄表中
}else if(StringUtils.isBlank(par.getResolveStatus())){ }else if(StringUtils.isBlank(par.getResolveStatus())){
par.setResolveStatus(par.getRequestStatus()); par.setResolveStatus(par.getRequestStatus());

View File

@ -29,10 +29,10 @@
AND a.address like concat('%',#{params.address},'%') AND a.address like concat('%',#{params.address},'%')
</if> </if>
<if test="params.nuId != null and params.nuId != ''"> <if test="params.nuId != null and params.nuId != ''">
AND a.nuId = #{params.nuId} AND a.nu_id = #{params.nuId}
</if> </if>
<if test="params.departId != null and params.departId != ''"> <if test="params.departId != null and params.departId != ''">
AND a.departId = #{params.departId} AND a.depart_id = #{params.departId}
</if> </if>
<if test="params.relayState != null and params.relayState != ''"> <if test="params.relayState != null and params.relayState != ''">
AND a.relay_state = #{params.relayState} AND a.relay_state = #{params.relayState}

View File

@ -3,9 +3,13 @@ package com.nu.modules.tq.water.service.impl;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONArray; import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nu.modules.tq.syncLog.entity.NuIotTqElectricitySyncLog;
import com.nu.modules.tq.syncLog.service.INuIotTqElectricitySyncLogService;
import com.nu.modules.tq.common.entity.TqApiLog; import com.nu.modules.tq.common.entity.TqApiLog;
import com.nu.modules.tq.common.service.ITqApiLogService; import com.nu.modules.tq.common.service.ITqApiLogService;
import com.nu.modules.tq.utils.HttpTool; import com.nu.modules.tq.utils.HttpTool;
@ -15,8 +19,10 @@ import com.nu.modules.tq.water.entity.WaterMeter;
import com.nu.modules.tq.water.mapper.WaterMeterMapper; import com.nu.modules.tq.water.mapper.WaterMeterMapper;
import com.nu.modules.tq.water.service.IWaterMeterService; import com.nu.modules.tq.water.service.IWaterMeterService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.*; import java.util.*;
@ -31,6 +37,14 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
@Autowired @Autowired
ITqApiLogService logService; ITqApiLogService logService;
@Autowired
public INuIotTqElectricitySyncLogService nuIotTqElectricitySyncLogService;
@Lazy
@Autowired
private WaterMeterServiceImpl syncImpl;
@Override @Override
public IPage<WaterMeter> findPage(Page<WaterMeter> page, WaterMeter waterMeter){ public IPage<WaterMeter> findPage(Page<WaterMeter> page, WaterMeter waterMeter){
return baseMapper.findPage(page,waterMeter); return baseMapper.findPage(page,waterMeter);
@ -91,7 +105,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setType(49); tqApiLog.setType(49);
tqApiLog.setRequestValue(entity.getWaterValue()); tqApiLog.setRequestValue(entity.getWaterValue());
tqApiLog.setRequestTime(DateUtil.now()); tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(status); tqApiLog.setRequestStatus("清零中");
logService.insert(tqApiLog); logService.insert(tqApiLog);
}else{ }else{
String errorMsg = json.getStr("error_msg"); String errorMsg = json.getStr("error_msg");
@ -102,7 +116,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setType(49); tqApiLog.setType(49);
tqApiLog.setRequestValue(entity.getWaterValue()); tqApiLog.setRequestValue(entity.getWaterValue());
tqApiLog.setRequestTime(DateUtil.now()); tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(status); tqApiLog.setRequestStatus("清零失败");
tqApiLog.setRequestRemark(errorMsg); tqApiLog.setRequestRemark(errorMsg);
logService.insert(tqApiLog); logService.insert(tqApiLog);
return Result.error(errorMsg); return Result.error(errorMsg);
@ -116,7 +130,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setType(49); tqApiLog.setType(49);
tqApiLog.setRequestValue(entity.getWaterValue()); tqApiLog.setRequestValue(entity.getWaterValue());
tqApiLog.setRequestTime(DateUtil.now()); tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(httpStatus); tqApiLog.setRequestStatus("清零失败");
tqApiLog.setRequestRemark(errorMsg); tqApiLog.setRequestRemark(errorMsg);
logService.insert(tqApiLog); logService.insert(tqApiLog);
return Result.error(errorMsg); return Result.error(errorMsg);
@ -125,7 +139,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
} }
/** /**
* 开关 * 开关
*/ */
@Override @Override
public Result<String> waterControl(WaterMeter waterMeter){ public Result<String> waterControl(WaterMeter waterMeter){
@ -133,9 +147,9 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
WaterMeter entity = baseMapper.getWaterMeter(waterMeter); WaterMeter entity = baseMapper.getWaterMeter(waterMeter);
if(entity == null){ if(entity == null){
if(type.equals(43)){ if(type.equals(43)){
return Result.error("请先同步水表设备信息后再进行开"); return Result.error("请先同步水表设备信息后再进行开");
}else{ }else{
return Result.error("请先同步水表设备信息后再进行关"); return Result.error("请先同步水表设备信息后再进行关");
} }
} }
List<Map<String, Object>> req = new ArrayList<>(); List<Map<String, Object>> req = new ArrayList<>();
@ -166,6 +180,11 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setType(waterMeter.getType()); tqApiLog.setType(waterMeter.getType());
tqApiLog.setRequestTime(DateUtil.now()); tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(status); tqApiLog.setRequestStatus(status);
if(type.equals(43)){
tqApiLog.setRequestStatus("开阀中");
}else{
tqApiLog.setRequestStatus("关阀中");
}
logService.insert(tqApiLog); logService.insert(tqApiLog);
}else{ }else{
String errorMsg = json.getStr("error_msg"); String errorMsg = json.getStr("error_msg");
@ -175,7 +194,11 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setAddress(waterMeter.getAddress()); tqApiLog.setAddress(waterMeter.getAddress());
tqApiLog.setType(waterMeter.getType()); tqApiLog.setType(waterMeter.getType());
tqApiLog.setRequestTime(DateUtil.now()); tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(status); if(type.equals(43)){
tqApiLog.setRequestStatus("开阀失败");
}else{
tqApiLog.setRequestStatus("关阀失败");
}
tqApiLog.setRequestRemark(errorMsg); tqApiLog.setRequestRemark(errorMsg);
logService.insert(tqApiLog); logService.insert(tqApiLog);
return Result.error(errorMsg); return Result.error(errorMsg);
@ -188,15 +211,19 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setAddress(waterMeter.getAddress()); tqApiLog.setAddress(waterMeter.getAddress());
tqApiLog.setType(waterMeter.getType()); tqApiLog.setType(waterMeter.getType());
tqApiLog.setRequestTime(DateUtil.now()); tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(httpStatus); if(type.equals(43)){
tqApiLog.setRequestStatus("开阀失败");
}else{
tqApiLog.setRequestStatus("关阀失败");
}
tqApiLog.setRequestRemark(errorMsg); tqApiLog.setRequestRemark(errorMsg);
logService.insert(tqApiLog); logService.insert(tqApiLog);
return Result.error(errorMsg); return Result.error(errorMsg);
} }
if(type.equals(43)){ if(type.equals(43)){
return Result.OK("成功"); return Result.OK("成功");
}else{ }else{
return Result.OK("成功"); return Result.OK("成功");
} }
} }
@ -237,7 +264,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setType(42); tqApiLog.setType(42);
tqApiLog.setRequestValue(entity.getWaterValue()); tqApiLog.setRequestValue(entity.getWaterValue());
tqApiLog.setRequestTime(DateUtil.now()); tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(status); tqApiLog.setRequestStatus("抄表中");
logService.insert(tqApiLog); logService.insert(tqApiLog);
}else{ }else{
String errorMsg = json.getStr("error_msg"); String errorMsg = json.getStr("error_msg");
@ -248,7 +275,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setType(42); tqApiLog.setType(42);
tqApiLog.setRequestValue(entity.getWaterValue()); tqApiLog.setRequestValue(entity.getWaterValue());
tqApiLog.setRequestTime(DateUtil.now()); tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(status); tqApiLog.setRequestStatus("抄表失败");
tqApiLog.setRequestRemark(errorMsg); tqApiLog.setRequestRemark(errorMsg);
logService.insert(tqApiLog); logService.insert(tqApiLog);
return Result.error(errorMsg); return Result.error(errorMsg);
@ -262,7 +289,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setType(42); tqApiLog.setType(42);
tqApiLog.setRequestValue(entity.getWaterValue()); tqApiLog.setRequestValue(entity.getWaterValue());
tqApiLog.setRequestTime(DateUtil.now()); tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(httpStatus); tqApiLog.setRequestStatus("抄表失败");
tqApiLog.setRequestRemark(errorMsg); tqApiLog.setRequestRemark(errorMsg);
logService.insert(tqApiLog); logService.insert(tqApiLog);
return Result.error(errorMsg); return Result.error(errorMsg);
@ -292,7 +319,11 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setOprId(oprId); tqApiLog.setOprId(oprId);
tqApiLog.setResolveValue("0"); tqApiLog.setResolveValue("0");
tqApiLog.setResolveTime(resolveTime); tqApiLog.setResolveTime(resolveTime);
tqApiLog.setResolveStatus(status); if(status.equals("SUCCESS")){
tqApiLog.setResolveStatus("清零成功");
}else{
tqApiLog.setResolveStatus("清零失败");
}
tqApiLog.setResolveRemark(data); tqApiLog.setResolveRemark(data);
TqApiLog logEntity = logService.getApiLog(tqApiLog); TqApiLog logEntity = logService.getApiLog(tqApiLog);
if(logEntity!=null) { if(logEntity!=null) {
@ -318,7 +349,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
} }
/** /**
* 开关回调通知 * 开关回调通知
*/ */
@Override @Override
public String waterControlNotify(String response_content, String timestamp, String sign){ public String waterControlNotify(String response_content, String timestamp, String sign){
@ -337,9 +368,20 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
TqApiLog tqApiLog = new TqApiLog(); TqApiLog tqApiLog = new TqApiLog();
tqApiLog.setOprId(oprId); tqApiLog.setOprId(oprId);
tqApiLog.setResolveTime(resolveTime); tqApiLog.setResolveTime(resolveTime);
tqApiLog.setResolveStatus(status);
TqApiLog logEntity = logService.getApiLog(tqApiLog); TqApiLog logEntity = logService.getApiLog(tqApiLog);
if(logEntity!=null) { if(logEntity!=null) {
Integer type = logEntity.getType();
String typeStr = "";
if(type.equals(43)){
typeStr = "开阀";
}else {
typeStr = "关阀";
}
if(status.equals("SUCCESS")){
tqApiLog.setResolveStatus(typeStr+"成功");
}else{
tqApiLog.setResolveStatus(typeStr+"失败");
}
tqApiLog.setId(logEntity.getId()); tqApiLog.setId(logEntity.getId());
logService.update(tqApiLog); logService.update(tqApiLog);
} }
@ -400,7 +442,11 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setResolveValue(resolveValue); tqApiLog.setResolveValue(resolveValue);
} }
tqApiLog.setResolveTime(resolveTime); tqApiLog.setResolveTime(resolveTime);
tqApiLog.setResolveStatus(status); if(status.equals("SUCCESS")){
tqApiLog.setResolveStatus("抄表成功");
}else{
tqApiLog.setResolveStatus("抄表失败");
}
tqApiLog.setResolveRemark(dsp); tqApiLog.setResolveRemark(dsp);
TqApiLog logEntity = logService.getApiLog(tqApiLog); TqApiLog logEntity = logService.getApiLog(tqApiLog);
if(logEntity!=null){ if(logEntity!=null){
@ -424,7 +470,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
TqApiLog tqApiLog = new TqApiLog(); TqApiLog tqApiLog = new TqApiLog();
tqApiLog.setOprId(oprId); tqApiLog.setOprId(oprId);
tqApiLog.setResolveTime(resolveTime); tqApiLog.setResolveTime(resolveTime);
tqApiLog.setResolveStatus(status); tqApiLog.setResolveStatus("抄表失败");
TqApiLog logEntity = logService.getApiLog(tqApiLog); TqApiLog logEntity = logService.getApiLog(tqApiLog);
if(logEntity!=null){ if(logEntity!=null){
tqApiLog.setId(logEntity.getId()); tqApiLog.setId(logEntity.getId());
@ -438,4 +484,33 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
return "SUCCESS"; return "SUCCESS";
} }
//业务系统删除命令
@DS("#dataSourceCode")
public boolean syncElectricityDel(String dataSourceCode,WaterMeter waterMeter) {
try {
baseMapper.deleteById(waterMeter.getId());
} catch (Exception e) {
throw new RuntimeException(e);
}
return true;
}
//业务系统保存或者修改命令
@DS("#dataSourceCode")
public boolean syncElectricitySaveOrUpdate(String dataSourceCode,WaterMeter waterMeter) {
try {
QueryWrapper<WaterMeter> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("cid",waterMeter.getCid());
WaterMeter oldParam = baseMapper.selectOne(queryWrapper);//查询数据库中该表号数据原始数据
if(oldParam == null){
baseMapper.insert(waterMeter);
}else{
baseMapper.updateById(waterMeter);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
return true;
}
} }

View File

@ -1,5 +1,6 @@
package com.nu.modules.yiweilian.humid.service.impl; package com.nu.modules.yiweilian.humid.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONArray; import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.annotation.DS;
@ -22,6 +23,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -227,6 +230,7 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
Integer limit = dataObj.getInt("rows"); Integer limit = dataObj.getInt("rows");
Integer page = dataObj.getInt("page"); Integer page = dataObj.getInt("page");
JSONArray dataArr = dataObj.getJSONArray("dataList"); JSONArray dataArr = dataObj.getJSONArray("dataList");
if(dataArr.size()>0){
for(int i=0;i<dataArr.size();i++){ for(int i=0;i<dataArr.size();i++){
HumidDevice dh = new HumidDevice(); HumidDevice dh = new HumidDevice();
JSONObject json = (JSONObject)dataArr.get(i); JSONObject json = (JSONObject)dataArr.get(i);
@ -236,9 +240,15 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
String temperature = json.getStr("temperature"); String temperature = json.getStr("temperature");
String humidity = json.getStr("humidity"); String humidity = json.getStr("humidity");
String reportingTime = json.getStr("date"); String reportingTime = json.getStr("date");
dh.setSn(sn);
dh.setStatus(status); dh.setStatus(status);
Date reportingDate = DateUtil.parse(reportingTime,"yyyy-MM-dd HH:mm:ss");
Calendar ca = Calendar.getInstance();
ca.add(Calendar.MINUTE,-5);
Date currentDate = ca.getTime();
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);
@ -251,6 +261,23 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
} }
baseMapper.insertLog(dh); baseMapper.insertLog(dh);
} }
}else{
errorMsg += humidDevice.getSn()+"温湿度设备丢失,请联系管理员";
HumidDevice dh = new HumidDevice();
dh.setSn(humidDevice.getSn());
dh.setStatus("1");
dh.setElectricity("0");
dh.setTemperature("0");
dh.setHumidity("0");
dh.setReportingTime(DateUtil.now());
dh.setOptType("read");
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(sysUser!=null){
dh.setOptBy(sysUser.getUsername());
}
baseMapper.insertLog(dh);
baseMapper.updateValue(dh);
}
if((page+1)*limit<count){ if((page+1)*limit<count){
Map<String, Object> params = getParmas(page+1,limit,humidDevice); Map<String, Object> params = getParmas(page+1,limit,humidDevice);
errorMsg += updateDeviceRealTimeData(params,humidDevice); errorMsg += updateDeviceRealTimeData(params,humidDevice);
@ -340,7 +367,8 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
if(deviceParameters!=null){ if(deviceParameters!=null){
return Result.OK(deviceParameters); return Result.OK(deviceParameters);
}else{ }else{
return Result.error("获取设备配置参数错误"); return Result.error("温湿度设备丢失获取配置错误,请联系管理员");
// return Result.error("获取设备配置参数错误");
} }
} }
@ -357,6 +385,7 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
if(responseCode.equals(0)){ if(responseCode.equals(0)){
JSONObject dataObj = jsonObject.getJSONObject("data"); JSONObject dataObj = jsonObject.getJSONObject("data");
JSONArray dataArr = dataObj.getJSONArray("dataList"); JSONArray dataArr = dataObj.getJSONArray("dataList");
if(dataArr.size()>0){
for(int i=0;i<dataArr.size();i++){ for(int i=0;i<dataArr.size();i++){
JSONObject json = (JSONObject)dataArr.get(i); JSONObject json = (JSONObject)dataArr.get(i);
String sn = json.getStr("sn"); String sn = json.getStr("sn");
@ -399,6 +428,9 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
}else{ }else{
return null; return null;
} }
}else{
return null;
}
return dh; return dh;
} }