修改文字及判断类型

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分钟则返回抄表失败
if(StringUtils.isBlank(par.getResolveStatus()) && fiveMinutesAgo.getTime() > date.getTime()){
par.setResolveStatus("抄表失败");
//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("抄表失败");
}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分钟则返回抄表中
}else if(StringUtils.isBlank(par.getResolveStatus())){
par.setResolveStatus(par.getRequestStatus());

View File

@ -29,10 +29,10 @@
AND a.address like concat('%',#{params.address},'%')
</if>
<if test="params.nuId != null and params.nuId != ''">
AND a.nuId = #{params.nuId}
AND a.nu_id = #{params.nuId}
</if>
<if test="params.departId != null and params.departId != ''">
AND a.departId = #{params.departId}
AND a.depart_id = #{params.departId}
</if>
<if test="params.relayState != null and 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.json.JSONArray;
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.extension.plugins.pagination.Page;
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.service.ITqApiLogService;
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.service.IWaterMeterService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.jeecg.common.api.vo.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import java.util.*;
@ -31,6 +37,14 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
@Autowired
ITqApiLogService logService;
@Autowired
public INuIotTqElectricitySyncLogService nuIotTqElectricitySyncLogService;
@Lazy
@Autowired
private WaterMeterServiceImpl syncImpl;
@Override
public IPage<WaterMeter> findPage(Page<WaterMeter> page, WaterMeter waterMeter){
return baseMapper.findPage(page,waterMeter);
@ -91,7 +105,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setType(49);
tqApiLog.setRequestValue(entity.getWaterValue());
tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(status);
tqApiLog.setRequestStatus("清零中");
logService.insert(tqApiLog);
}else{
String errorMsg = json.getStr("error_msg");
@ -102,7 +116,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setType(49);
tqApiLog.setRequestValue(entity.getWaterValue());
tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(status);
tqApiLog.setRequestStatus("清零失败");
tqApiLog.setRequestRemark(errorMsg);
logService.insert(tqApiLog);
return Result.error(errorMsg);
@ -116,7 +130,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setType(49);
tqApiLog.setRequestValue(entity.getWaterValue());
tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(httpStatus);
tqApiLog.setRequestStatus("清零失败");
tqApiLog.setRequestRemark(errorMsg);
logService.insert(tqApiLog);
return Result.error(errorMsg);
@ -125,7 +139,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
}
/**
* 开关
* 开关
*/
@Override
public Result<String> waterControl(WaterMeter waterMeter){
@ -133,9 +147,9 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
WaterMeter entity = baseMapper.getWaterMeter(waterMeter);
if(entity == null){
if(type.equals(43)){
return Result.error("请先同步水表设备信息后再进行开");
return Result.error("请先同步水表设备信息后再进行开");
}else{
return Result.error("请先同步水表设备信息后再进行关");
return Result.error("请先同步水表设备信息后再进行关");
}
}
List<Map<String, Object>> req = new ArrayList<>();
@ -166,6 +180,11 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setType(waterMeter.getType());
tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(status);
if(type.equals(43)){
tqApiLog.setRequestStatus("开阀中");
}else{
tqApiLog.setRequestStatus("关阀中");
}
logService.insert(tqApiLog);
}else{
String errorMsg = json.getStr("error_msg");
@ -175,7 +194,11 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setAddress(waterMeter.getAddress());
tqApiLog.setType(waterMeter.getType());
tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(status);
if(type.equals(43)){
tqApiLog.setRequestStatus("开阀失败");
}else{
tqApiLog.setRequestStatus("关阀失败");
}
tqApiLog.setRequestRemark(errorMsg);
logService.insert(tqApiLog);
return Result.error(errorMsg);
@ -188,15 +211,19 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setAddress(waterMeter.getAddress());
tqApiLog.setType(waterMeter.getType());
tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(httpStatus);
if(type.equals(43)){
tqApiLog.setRequestStatus("开阀失败");
}else{
tqApiLog.setRequestStatus("关阀失败");
}
tqApiLog.setRequestRemark(errorMsg);
logService.insert(tqApiLog);
return Result.error(errorMsg);
}
if(type.equals(43)){
return Result.OK("成功");
return Result.OK("成功");
}else{
return Result.OK("成功");
return Result.OK("成功");
}
}
@ -237,7 +264,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setType(42);
tqApiLog.setRequestValue(entity.getWaterValue());
tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(status);
tqApiLog.setRequestStatus("抄表中");
logService.insert(tqApiLog);
}else{
String errorMsg = json.getStr("error_msg");
@ -248,7 +275,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setType(42);
tqApiLog.setRequestValue(entity.getWaterValue());
tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(status);
tqApiLog.setRequestStatus("抄表失败");
tqApiLog.setRequestRemark(errorMsg);
logService.insert(tqApiLog);
return Result.error(errorMsg);
@ -262,7 +289,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setType(42);
tqApiLog.setRequestValue(entity.getWaterValue());
tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus(httpStatus);
tqApiLog.setRequestStatus("抄表失败");
tqApiLog.setRequestRemark(errorMsg);
logService.insert(tqApiLog);
return Result.error(errorMsg);
@ -292,7 +319,11 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setOprId(oprId);
tqApiLog.setResolveValue("0");
tqApiLog.setResolveTime(resolveTime);
tqApiLog.setResolveStatus(status);
if(status.equals("SUCCESS")){
tqApiLog.setResolveStatus("清零成功");
}else{
tqApiLog.setResolveStatus("清零失败");
}
tqApiLog.setResolveRemark(data);
TqApiLog logEntity = logService.getApiLog(tqApiLog);
if(logEntity!=null) {
@ -318,7 +349,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
}
/**
* 开关回调通知
* 开关回调通知
*/
@Override
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.setOprId(oprId);
tqApiLog.setResolveTime(resolveTime);
tqApiLog.setResolveStatus(status);
TqApiLog logEntity = logService.getApiLog(tqApiLog);
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());
logService.update(tqApiLog);
}
@ -400,7 +442,11 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setResolveValue(resolveValue);
}
tqApiLog.setResolveTime(resolveTime);
tqApiLog.setResolveStatus(status);
if(status.equals("SUCCESS")){
tqApiLog.setResolveStatus("抄表成功");
}else{
tqApiLog.setResolveStatus("抄表失败");
}
tqApiLog.setResolveRemark(dsp);
TqApiLog logEntity = logService.getApiLog(tqApiLog);
if(logEntity!=null){
@ -424,7 +470,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
TqApiLog tqApiLog = new TqApiLog();
tqApiLog.setOprId(oprId);
tqApiLog.setResolveTime(resolveTime);
tqApiLog.setResolveStatus(status);
tqApiLog.setResolveStatus("抄表失败");
TqApiLog logEntity = logService.getApiLog(tqApiLog);
if(logEntity!=null){
tqApiLog.setId(logEntity.getId());
@ -438,4 +484,33 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
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;
import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
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.stereotype.Service;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@ -227,29 +230,53 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
Integer limit = dataObj.getInt("rows");
Integer page = dataObj.getInt("page");
JSONArray dataArr = dataObj.getJSONArray("dataList");
for(int i=0;i<dataArr.size();i++){
if(dataArr.size()>0){
for(int i=0;i<dataArr.size();i++){
HumidDevice dh = new HumidDevice();
JSONObject json = (JSONObject)dataArr.get(i);
String sn = json.getStr("sn");
String status = json.getStr("status");
String electricity = json.getStr("electricity");
String temperature = json.getStr("temperature");
String humidity = json.getStr("humidity");
String reportingTime = json.getStr("date");
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.setTemperature(temperature);
dh.setHumidity(humidity);
dh.setReportingTime(reportingTime);
baseMapper.updateValue(dh);
dh.setOptType("read");
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(sysUser!=null){
dh.setOptBy(sysUser.getUsername());
}
baseMapper.insertLog(dh);
}
}else{
errorMsg += humidDevice.getSn()+"温湿度设备丢失,请联系管理员";
HumidDevice dh = new HumidDevice();
JSONObject json = (JSONObject)dataArr.get(i);
String sn = json.getStr("sn");
String status = json.getStr("status");
String electricity = json.getStr("electricity");
String temperature = json.getStr("temperature");
String humidity = json.getStr("humidity");
String reportingTime = json.getStr("date");
dh.setSn(sn);
dh.setStatus(status);
dh.setElectricity(electricity);
dh.setTemperature(temperature);
dh.setHumidity(humidity);
dh.setReportingTime(reportingTime);
baseMapper.updateValue(dh);
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){
Map<String, Object> params = getParmas(page+1,limit,humidDevice);
@ -340,7 +367,8 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
if(deviceParameters!=null){
return Result.OK(deviceParameters);
}else{
return Result.error("获取设备配置参数错误");
return Result.error("温湿度设备丢失获取配置错误,请联系管理员");
// return Result.error("获取设备配置参数错误");
}
}
@ -357,44 +385,48 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
if(responseCode.equals(0)){
JSONObject dataObj = jsonObject.getJSONObject("data");
JSONArray dataArr = dataObj.getJSONArray("dataList");
for(int i=0;i<dataArr.size();i++){
JSONObject json = (JSONObject)dataArr.get(i);
String sn = json.getStr("sn");
String deviceName = json.getStr("deviceName");
String deviceTypes = json.getStr("deviceTypes");
String reportingInterval = json.getStr("reportingInterval");
String recordInterval = json.getStr("recordInterval");
String historyReportTime = json.getStr("historyReportTime");
String historyInterval = json.getStr("historyInterval");
String temperatureHigh = json.getStr("temperatureHigh");
String temperatureLow = json.getStr("temperatureLow");
String temperatureBuffer = json.getStr("temperatureBuffer");
String humidityHigh = json.getStr("humidityHigh");
String humidityLow = json.getStr("humidityLow");
String humidityBuffer = json.getStr("humidityBuffer");
String timeCode = json.getStr("timeCode");
String isOutages = json.getStr("isOutages");
String isLowBattery = json.getStr("isLowBattery");
String isOnline = json.getStr("isOnline");
if(dataArr.size()>0){
for(int i=0;i<dataArr.size();i++){
JSONObject json = (JSONObject)dataArr.get(i);
String sn = json.getStr("sn");
String deviceName = json.getStr("deviceName");
String deviceTypes = json.getStr("deviceTypes");
String reportingInterval = json.getStr("reportingInterval");
String recordInterval = json.getStr("recordInterval");
String historyReportTime = json.getStr("historyReportTime");
String historyInterval = json.getStr("historyInterval");
String temperatureHigh = json.getStr("temperatureHigh");
String temperatureLow = json.getStr("temperatureLow");
String temperatureBuffer = json.getStr("temperatureBuffer");
String humidityHigh = json.getStr("humidityHigh");
String humidityLow = json.getStr("humidityLow");
String humidityBuffer = json.getStr("humidityBuffer");
String timeCode = json.getStr("timeCode");
String isOutages = json.getStr("isOutages");
String isLowBattery = json.getStr("isLowBattery");
String isOnline = json.getStr("isOnline");
dh.setSn(sn);
dh.setDeviceName(deviceName);
dh.setDeviceTypes(deviceTypes);
dh.setReportingInterval(reportingInterval);
dh.setRecordInterval(recordInterval);
dh.setHistoryReportTime(historyReportTime);
dh.setHistoryInterval(historyInterval);
dh.setTemperatureHigh(temperatureHigh);
dh.setTemperatureLow(temperatureLow);
dh.setTemperatureBuffer(temperatureBuffer);
dh.setHumidityHigh(humidityHigh);
dh.setHumidityLow(humidityLow);
dh.setHumidityBuffer(humidityBuffer);
dh.setTimeCode(timeCode);
dh.setIzOutages(isOutages);
dh.setIzLowBattery(isLowBattery);
dh.setIzOnline(isOnline);
break;
dh.setSn(sn);
dh.setDeviceName(deviceName);
dh.setDeviceTypes(deviceTypes);
dh.setReportingInterval(reportingInterval);
dh.setRecordInterval(recordInterval);
dh.setHistoryReportTime(historyReportTime);
dh.setHistoryInterval(historyInterval);
dh.setTemperatureHigh(temperatureHigh);
dh.setTemperatureLow(temperatureLow);
dh.setTemperatureBuffer(temperatureBuffer);
dh.setHumidityHigh(humidityHigh);
dh.setHumidityLow(humidityLow);
dh.setHumidityBuffer(humidityBuffer);
dh.setTimeCode(timeCode);
dh.setIzOutages(isOutages);
dh.setIzLowBattery(isLowBattery);
dh.setIzOnline(isOnline);
break;
}
}else{
return null;
}
}else{
return null;