3、提供pad端接口:智能水表-开阀/关阀功能接口

4、提供pad端接口:智能水表-清零功能接口
5、提供pad端接口:智能水表-日志功能接口(抄表日志、清零日志、开阀日志、关阀日志)
6、提供pad端接口:智能水表-设备报修功能接口
7、提供pad端接口:智能电表-设备信息查询接口
8、提供pad端接口:智能电表-抄表功能接口
9、提供pad端接口:智能电表-开阀/关阀功能接口
10、提供pad端接口:智能电表-清零功能接口
11、提供pad端接口:智能电表-日志功能接口(抄表日志、清零日志、电表拉闸日志、电表合闸日志)
12、提供pad端接口:智能电表-设备报修功能接口
This commit is contained in:
1378012178@qq.com 2025-10-23 17:23:18 +08:00
parent 45830f8f16
commit 91b6b1d00f
14 changed files with 824 additions and 261 deletions

View File

@ -0,0 +1,42 @@
package com.nu.modules.pad.iot.apiRequestLog.api;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nu.entity.ApiRequestLogEntity;
import com.nu.modules.apirequestlog.api.IIotApiRequestLog;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.api.vo.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
@RestController
@RequestMapping("/api/iot/requestLog")
public class IotApiRequestLogApi {
@Autowired
private IIotApiRequestLog iIotApiRequestLog;
/**
* 分页列表查询
*
* @param nuIotTqApiRequestLogEntity
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "api请求日志-分页列表查询")
@ApiOperation(value = "api请求日志-分页列表查询", notes = "api请求日志-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<ApiRequestLogEntity>> queryPageList(ApiRequestLogEntity nuIotTqApiRequestLogEntity,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
return Result.ok(iIotApiRequestLog.getApiRequestLogIPage(nuIotTqApiRequestLogEntity, pageNo, pageSize, req));
}
}

View File

@ -0,0 +1,77 @@
package com.nu.modules.pad.iot.electricityMeter.api;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nu.entity.ElectricityMeterEntity;
import com.nu.modules.electricitymeter.api.IElectricityMeterApi;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@RestController
@RequestMapping("/api/iot/electricityMeter")
public class ElectricityMeterApi {
@Autowired
private IElectricityMeterApi electricityMeterApi;
/**
* 抄表
*
* @param electricityMeterEntity
* @return
*/
@GetMapping(value = "/eleRead")
public Result<String> eleRead(ElectricityMeterEntity electricityMeterEntity) {
return electricityMeterApi.eleRead(electricityMeterEntity);
}
/**
* 拉闸合闸
*
* @param electricityMeterEntity
* @return
*/
@GetMapping(value = "/eleControl")
public Result<String> eleControl(ElectricityMeterEntity electricityMeterEntity) {
return electricityMeterApi.eleControl(electricityMeterEntity);
}
/**
* 分页列表查询
*
* @param electricityMeterEntity
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@GetMapping(value = "/list")
public Result<IPage<ElectricityMeterEntity>> queryPageList(ElectricityMeterEntity electricityMeterEntity,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
return Result.OK(electricityMeterApi.list(electricityMeterEntity, pageNo, pageSize, req));
}
/**
* 获取设备信息
* @param electricityMeterEntity
* @return
*/
@GetMapping(value = "/eleReset")
public Result<String> eleReset(ElectricityMeterEntity electricityMeterEntity) {
return electricityMeterApi.eleReset(electricityMeterEntity);
}
@AutoLog(value = "设备报修")
@ApiOperation(value="设备报修", notes="设备报修")
@RequestMapping(value = "/baoxiu", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> baoxiu(@RequestBody ElectricityMeterEntity electricityMeterEntity) {
electricityMeterApi.baoxiu(electricityMeterEntity);
return Result.OK("操作成功!");
}
}

View File

@ -0,0 +1,77 @@
package com.nu.modules.pad.iot.water.api;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nu.entity.WaterMeterEntity;
import com.nu.modules.water.api.IWaterApi;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@RestController
@RequestMapping("/api/iot/water")
public class WaterApi {
@Autowired
private IWaterApi waterApi;
/**
* 分页列表查询
*
* @param waterMeterEntity
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@GetMapping(value = "/list")
public Result<IPage<WaterMeterEntity>> queryPageList(WaterMeterEntity waterMeterEntity,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
return Result.ok(waterApi.list(waterMeterEntity, pageNo, pageSize, req));
}
/**
* 清零
* @param waterMeterEntity
* @return
*/
@GetMapping(value = "/waterReset")
public Result<String> waterReset(WaterMeterEntity waterMeterEntity) {
return waterApi.waterReset(waterMeterEntity);
}
/**
* 开闸关闸
* @param waterMeterEntity
* @return
*/
@GetMapping(value = "/waterControl")
public Result<String> waterControl(WaterMeterEntity waterMeterEntity) {
return waterApi.waterControl(waterMeterEntity);
}
/**
* 抄表
* @param waterMeterEntity
* @return
*/
@GetMapping(value = "/waterRead")
public Result<String> waterRead(WaterMeterEntity waterMeterEntity) {
return waterApi.waterRead(waterMeterEntity);
}
@AutoLog(value = "设备报修")
@ApiOperation(value="设备报修", notes="设备报修")
@RequestMapping(value = "/baoxiu", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> baoxiu(@RequestBody WaterMeterEntity waterMeterEntity) {
waterApi.baoxiu(waterMeterEntity);
return Result.OK("操作成功!");
}
}

View File

@ -0,0 +1,72 @@
package com.nu.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class ApiRequestLogEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
private Integer id;
/**
* 操作ID
*/
private String oprId;
/**
* 采集器号
*/
private String cid;
/**
* 表号
*/
private String address;
/**
* 类型
*/
private String type;
/**
* 请求时的值
*/
private String requestValue;
/**
* 请求时间
*/
private String requestTime;
/**
* 请求状态
*/
private String requestStatus;
/**
* 请求描述
*/
private String requestRemark;
/**
* 反馈值
*/
private String resolveValue;
/**
* 反馈时间
*/
private String resolveTime;
/**
* 反馈状态
*/
private String resolveStatus;
/**
* 反馈描述
*/
private String resolveRemark;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
}

View File

@ -0,0 +1,34 @@
package com.nu.entity;
import lombok.Data;
import java.io.Serializable;
@Data
public class ElectricityMeterEntity implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String cid;
private String address;
private Integer type;//9清零 3抄表 10电表拉闸 11电表合闸
private String eleValue; //电表-电量值
private String relayState; //电表-阀门状态 1 表示合闸/开阀 0 表示拉闸/关阀其他表示未知状态或异常
private String online; //采集器-在线状态 true 在线 false 离线
private String csq; //采集器-信号值 1-31 20以上算信号稳定
private String disconnectTime; //采集器-上次掉线时间 online = false
private String connectTime; //采集器-上次上线时间 online = true
private String readTime; //电表-上次查表时间
private String remark;
private String nuId;//护理单元ID
private String nuName;//护理单元
private String departId;//机构ID
private String departName;//机构名称
private String departServerUrl;//机构服务地址
private String oldServerUrl;//原机构服务地址
private String syncType;//是否同步 0 未同步 1已同步
private String oldDepartId;//原机构id
private String oldDepartName;//原机构名称
private String maintainStatus;//维修状态
}

View File

@ -0,0 +1,40 @@
package com.nu.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
@Data
public class WaterMeterEntity implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String cid;
private String address;
private Integer type;//49清零 42抄表 43水表开闸 53水表关闸
private String waterValue; //电表-电量值
private String relayState; //水表-阀门状态 1 开阀 0 表示关阀其他表示未知状态或异常
private String batteryState; //水表电池状态 0 正常 1 电池低电压,其他 电池低电压
private String online; //采集器-在线状态 true 在线 false 离线
private String csq; //采集器-信号值 1-31 20以上算信号稳定
private String disconnectTime; //采集器-上次掉线时间 online = false
private String connectTime; //采集器-上次上线时间 online = true
private String readTime; //电表-上次查表时间
private String remark;
private String nuId;//护理单元ID
private String nuName;//护理单元
private String departId;//机构ID
private String departName;//机构名称
private String departServerUrl;//机构服务地址
private String maintainStatus;//维修状态
}

View File

@ -0,0 +1,10 @@
package com.nu.modules.apirequestlog.api;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nu.entity.ApiRequestLogEntity;
import javax.servlet.http.HttpServletRequest;
public interface IIotApiRequestLog {
IPage<ApiRequestLogEntity> getApiRequestLogIPage(ApiRequestLogEntity nuIotTqApiRequestLogEntity, Integer pageNo, Integer pageSize, HttpServletRequest req);
}

View File

@ -0,0 +1,20 @@
package com.nu.modules.electricitymeter.api;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nu.entity.ElectricityMeterEntity;
import org.jeecg.common.api.vo.Result;
import javax.servlet.http.HttpServletRequest;
public interface IElectricityMeterApi {
Result<String> eleRead(ElectricityMeterEntity electricityMeter);
Result<String> eleControl(ElectricityMeterEntity electricityMeter);
IPage<ElectricityMeterEntity> list(ElectricityMeterEntity electricityMeterEntity, Integer pageNo, Integer pageSize, HttpServletRequest req);
Result<String> eleReset(ElectricityMeterEntity electricityMeterEntity);
void baoxiu(ElectricityMeterEntity electricityMeterEntity);
}

View File

@ -0,0 +1,16 @@
package com.nu.modules.water.api;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nu.entity.WaterMeterEntity;
import org.jeecg.common.api.vo.Result;
import javax.servlet.http.HttpServletRequest;
public interface IWaterApi {
IPage<WaterMeterEntity> list(WaterMeterEntity waterMeterEntity, Integer pageNo, Integer pageSize, HttpServletRequest req);
Result<String> waterReset(WaterMeterEntity waterMeterEntity);
Result<String> waterControl(WaterMeterEntity waterMeterEntity);
Result<String> waterRead(WaterMeterEntity waterMeterEntity);
void baoxiu(WaterMeterEntity waterMeterEntity);
}

View File

@ -19,6 +19,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.base.controller.JeecgController;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
@ -57,58 +58,7 @@ public class ApiRequestLogController extends JeecgController<ApiRequestLog, IApi
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) { HttpServletRequest req) {
// 自定义查询规则 IPage<ApiRequestLog> pageList = nuIotTqApiRequestLogService.getApiRequestLogIPage(nuIotTqApiRequestLog, pageNo, pageSize, req);
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
// 自定义多选的查询规则为LIKE_WITH_OR
customeRuleMap.put("type", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("requestStatus", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("resolveStatus", QueryRuleEnum.LIKE_WITH_OR);
QueryWrapper<ApiRequestLog> queryWrapper = QueryGenerator.initQueryWrapper(nuIotTqApiRequestLog, req.getParameterMap(),customeRuleMap);
Page<ApiRequestLog> page = new Page<ApiRequestLog>(pageNo, pageSize);
IPage<ApiRequestLog> pageList = nuIotTqApiRequestLogService.page(page, queryWrapper);
// 获取当前时间
Calendar calendar = Calendar.getInstance();
// 减去5分钟
calendar.add(Calendar.MINUTE, -5);
// 转换为Date对象
Date fiveMinutesAgo = calendar.getTime();
for(ApiRequestLog par:pageList.getRecords()){
String dateStr = par.getRequestTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
date = sdf.parse(dateStr);
System.out.println("Date: " + date); // 输出Date: Tue Aug 15 14:30:00 CST 2023
} catch (ParseException e) {
e.printStackTrace();
}
//如果返回状态为空并且超过了5分钟则返回抄表失败
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("抄表失败");
}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());
}
//返回状态有值则保持原样输出返回状态值
}
return Result.OK(pageList); return Result.OK(pageList);
} }

View File

@ -1,8 +1,11 @@
package com.nu.modules.tq.apiRequestLog.service; package com.nu.modules.tq.apiRequestLog.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nu.modules.tq.apiRequestLog.entity.ApiRequestLog; import com.nu.modules.tq.apiRequestLog.entity.ApiRequestLog;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import javax.servlet.http.HttpServletRequest;
/** /**
* @Description: api请求日志 * @Description: api请求日志
* @Author: jeecg-boot * @Author: jeecg-boot
@ -11,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface IApiRequestLogService extends IService<ApiRequestLog> { public interface IApiRequestLogService extends IService<ApiRequestLog> {
IPage<ApiRequestLog> getApiRequestLogIPage(ApiRequestLog nuIotTqApiRequestLog, Integer pageNo, Integer pageSize, HttpServletRequest req);
} }

View File

@ -1,11 +1,27 @@
package com.nu.modules.tq.apiRequestLog.service.impl; package com.nu.modules.tq.apiRequestLog.service.impl;
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.entity.ApiRequestLogEntity;
import com.nu.modules.apirequestlog.api.IIotApiRequestLog;
import com.nu.modules.tq.apiRequestLog.entity.ApiRequestLog; import com.nu.modules.tq.apiRequestLog.entity.ApiRequestLog;
import com.nu.modules.tq.apiRequestLog.mapper.ApiRequestLogMapper; import com.nu.modules.tq.apiRequestLog.mapper.ApiRequestLogMapper;
import com.nu.modules.tq.apiRequestLog.service.IApiRequestLogService; import com.nu.modules.tq.apiRequestLog.service.IApiRequestLogService;
import org.apache.commons.lang.StringUtils;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.query.QueryRuleEnum;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/** /**
* @Description: api请求日志 * @Description: api请求日志
@ -14,6 +30,88 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
* @Version: V1.0 * @Version: V1.0
*/ */
@Service @Service
public class ApiRequestLogServiceImpl extends ServiceImpl<ApiRequestLogMapper, ApiRequestLog> implements IApiRequestLogService { public class ApiRequestLogServiceImpl extends ServiceImpl<ApiRequestLogMapper, ApiRequestLog> implements IApiRequestLogService, IIotApiRequestLog {
@Lazy
@Autowired
private IApiRequestLogService nuIotTqApiRequestLogService;
@Override
public IPage<ApiRequestLog> getApiRequestLogIPage(ApiRequestLog nuIotTqApiRequestLog, Integer pageNo, Integer pageSize, HttpServletRequest req) {
// 自定义查询规则
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
// 自定义多选的查询规则为LIKE_WITH_OR
customeRuleMap.put("type", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("requestStatus", QueryRuleEnum.LIKE_WITH_OR);
customeRuleMap.put("resolveStatus", QueryRuleEnum.LIKE_WITH_OR);
QueryWrapper<ApiRequestLog> queryWrapper = QueryGenerator.initQueryWrapper(nuIotTqApiRequestLog, req.getParameterMap(),customeRuleMap);
Page<ApiRequestLog> page = new Page<ApiRequestLog>(pageNo, pageSize);
IPage<ApiRequestLog> pageList = nuIotTqApiRequestLogService.page(page, queryWrapper);
// 获取当前时间
Calendar calendar = Calendar.getInstance();
// 减去5分钟
calendar.add(Calendar.MINUTE, -5);
// 转换为Date对象
Date fiveMinutesAgo = calendar.getTime();
for(ApiRequestLog par:pageList.getRecords()){
String dateStr = par.getRequestTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
date = sdf.parse(dateStr);
System.out.println("Date: " + date); // 输出Date: Tue Aug 15 14:30:00 CST 2023
} catch (ParseException e) {
e.printStackTrace();
}
//如果返回状态为空并且超过了5分钟则返回抄表失败
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("抄表失败");
}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());
}
//返回状态有值则保持原样输出返回状态值
}
return pageList;
}
@Override
public IPage<ApiRequestLogEntity> getApiRequestLogIPage(ApiRequestLogEntity nuIotTqApiRequestLogEntity, Integer pageNo, Integer pageSize, HttpServletRequest req) {
ApiRequestLog apiRequestLog = new ApiRequestLog();
BeanUtils.copyProperties(nuIotTqApiRequestLogEntity,apiRequestLog);
IPage<ApiRequestLog> apiRequestLogIPage = nuIotTqApiRequestLogService.getApiRequestLogIPage(apiRequestLog, pageNo, pageSize, req);
List<ApiRequestLogEntity> entityList = apiRequestLogIPage.getRecords().stream()
.map(log -> {
ApiRequestLogEntity entity = new ApiRequestLogEntity();
BeanUtils.copyProperties(log, entity);
return entity;
})
.collect(Collectors.toList());
// 4. 构造新的 IPage<ApiRequestLogEntity>
IPage<ApiRequestLogEntity> resultPage = new Page<>(apiRequestLogIPage.getCurrent(), apiRequestLogIPage.getSize(), apiRequestLogIPage.getTotal());
resultPage.setRecords(entityList);
return resultPage;
}
} }

View File

@ -10,6 +10,8 @@ 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.dto.IotElectricityMeterMQDto; import com.nu.dto.IotElectricityMeterMQDto;
import com.nu.entity.ElectricityMeterEntity;
import com.nu.modules.electricitymeter.api.IElectricityMeterApi;
import com.nu.modules.syncLog.entity.SyncBizLog; import com.nu.modules.syncLog.entity.SyncBizLog;
import com.nu.modules.syncLog.service.ISyncBizLogService; import com.nu.modules.syncLog.service.ISyncBizLogService;
import com.nu.modules.tq.common.entity.TqApiLog; import com.nu.modules.tq.common.entity.TqApiLog;
@ -26,17 +28,20 @@ import com.nu.modules.tq.electricity.service.IElectricityMeterService;
import me.zhyd.oauth.utils.UuidUtils; import me.zhyd.oauth.utils.UuidUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.DateUtils; import org.jeecg.common.util.DateUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; 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 javax.servlet.http.HttpServletRequest;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
@Slf4j @Slf4j
@Service @Service
public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMapper, ElectricityMeter> implements IElectricityMeterService { public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMapper, ElectricityMeter> implements IElectricityMeterService, IElectricityMeterApi {
@Autowired @Autowired
private TqApi tqApi; private TqApi tqApi;
@ -55,43 +60,45 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
private ElectricityMeterServiceImpl syncImpl; private ElectricityMeterServiceImpl syncImpl;
@Override @Override
public IPage<ElectricityMeter> findPage(Page<ElectricityMeter> page, ElectricityMeter electricityMeter){ public IPage<ElectricityMeter> findPage(Page<ElectricityMeter> page, ElectricityMeter electricityMeter) {
return baseMapper.findPage(page,electricityMeter); return baseMapper.findPage(page, electricityMeter);
} }
@Override @Override
public List<ElectricityMeter> findAllList(){ public List<ElectricityMeter> findAllList() {
return baseMapper.findAllList(); return baseMapper.findAllList();
} }
@Override @Override
public void updateValue(ElectricityMeter electricityMeter){ public void updateValue(ElectricityMeter electricityMeter) {
baseMapper.updateValue(electricityMeter); baseMapper.updateValue(electricityMeter);
} }
@Override @Override
public void updateRelayState(ElectricityMeter electricityMeter){ public void updateRelayState(ElectricityMeter electricityMeter) {
baseMapper.updateRelayState(electricityMeter); baseMapper.updateRelayState(electricityMeter);
} }
/** /**
* 清零 * 清零
*/ */
@Override @Override
public Result<String> eleReset(ElectricityMeter electricityMeter){ public Result<String> eleReset(ElectricityMeter electricityMeter) {
ElectricityMeter entity = baseMapper.getElectricityMeter(electricityMeter); ElectricityMeter entity = baseMapper.getElectricityMeter(electricityMeter);
if(entity == null){ if (entity == null) {
return Result.error("请先同步电表设备信息后再进行清零"); return Result.error("请先同步电表设备信息后再进行清零");
} }
String readTimeStr = entity.getReadTime(); String readTimeStr = entity.getReadTime();
if(readTimeStr == null || readTimeStr.equals("")){ if (readTimeStr == null || readTimeStr.equals("")) {
return Result.error("为避免结算误差,清零操作时,需要近一小时的抄表数据。"); return Result.error("为避免结算误差,清零操作时,需要近一小时的抄表数据。");
} }
Date readTime = DateUtil.parse(readTimeStr,"yyyy-MM-dd HH:mm:ss"); Date readTime = DateUtil.parse(readTimeStr, "yyyy-MM-dd HH:mm:ss");
Calendar c = Calendar.getInstance(); Calendar c = Calendar.getInstance();
c.add(Calendar.HOUR_OF_DAY,-1); c.add(Calendar.HOUR_OF_DAY, -1);
int comInt = DateUtil.compare(readTime,c.getTime()); int comInt = DateUtil.compare(readTime, c.getTime());
if(comInt<0){ if (comInt < 0) {
return Result.error("为避免结算误差,清零操作时,需要近一小时的抄表数据。"); return Result.error("为避免结算误差,清零操作时,需要近一小时的抄表数据。");
} }
List<Map<String, Object>> req = new ArrayList<>(); List<Map<String, Object>> req = new ArrayList<>();
@ -109,14 +116,14 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
String responseStr = tqApi.eleReset(req); String responseStr = tqApi.eleReset(req);
JSONObject jsonObject = new JSONObject(responseStr); JSONObject jsonObject = new JSONObject(responseStr);
String httpStatus = jsonObject.getStr("status"); String httpStatus = jsonObject.getStr("status");
if(httpStatus.equals("SUCCESS")){ if (httpStatus.equals("SUCCESS")) {
String response_content = jsonObject.getStr("response_content"); String response_content = jsonObject.getStr("response_content");
JSONArray jsonArray = new JSONArray(response_content); JSONArray jsonArray = new JSONArray(response_content);
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 oprId = 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(oprId);
tqApiLog.setCid(electricityMeter.getCid()); tqApiLog.setCid(electricityMeter.getCid());
@ -126,7 +133,7 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
tqApiLog.setRequestTime(DateUtil.now()); tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus("清零中"); tqApiLog.setRequestStatus("清零中");
logService.insert(tqApiLog); logService.insert(tqApiLog);
}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(oprId);
@ -141,7 +148,7 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
return Result.error(errorMsg); return Result.error(errorMsg);
} }
} }
}else{ } else {
String errorMsg = jsonObject.getStr("error_msg"); String errorMsg = jsonObject.getStr("error_msg");
TqApiLog tqApiLog = new TqApiLog(); TqApiLog tqApiLog = new TqApiLog();
tqApiLog.setCid(electricityMeter.getCid()); tqApiLog.setCid(electricityMeter.getCid());
@ -157,17 +164,34 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
return Result.OK("清零中请1分钟后刷新页面"); return Result.OK("清零中请1分钟后刷新页面");
} }
/**
* 清零
*/
@Override
public Result<String> eleReset(ElectricityMeterEntity electricityMeterEntity) {
ElectricityMeter electricityMeter = new ElectricityMeter();
BeanUtils.copyProperties(electricityMeterEntity,electricityMeter);
return syncImpl.eleReset(electricityMeter);
}
@Override
public void baoxiu(ElectricityMeterEntity electricityMeterEntity) {
ElectricityMeter electricityMeter = new ElectricityMeter();
BeanUtils.copyProperties(electricityMeterEntity,electricityMeter);
syncImpl.baoxiu(electricityMeter);
}
/** /**
* 拉合闸 * 拉合闸
*/ */
@Override @Override
public Result<String> eleControl(ElectricityMeter electricityMeter){ public Result<String> eleControl(ElectricityMeter electricityMeter) {
Integer type = electricityMeter.getType(); Integer type = electricityMeter.getType();
ElectricityMeter entity = baseMapper.getElectricityMeter(electricityMeter); ElectricityMeter entity = baseMapper.getElectricityMeter(electricityMeter);
if(entity == null){ if (entity == null) {
if(type.equals(10)){ if (type.equals(10)) {
return Result.error("请先同步电表设备信息后再进行拉闸"); return Result.error("请先同步电表设备信息后再进行拉闸");
}else{ } else {
return Result.error("请先同步电表设备信息后再进行合闸"); return Result.error("请先同步电表设备信息后再进行合闸");
} }
} }
@ -184,27 +208,27 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
String responseStr = tqApi.eleControl(req); String responseStr = tqApi.eleControl(req);
JSONObject jsonObject = new JSONObject(responseStr); JSONObject jsonObject = new JSONObject(responseStr);
String httpStatus = jsonObject.getStr("status"); String httpStatus = jsonObject.getStr("status");
if(httpStatus.equals("SUCCESS")){ if (httpStatus.equals("SUCCESS")) {
String response_content = jsonObject.getStr("response_content"); String response_content = jsonObject.getStr("response_content");
JSONArray jsonArray = new JSONArray(response_content); JSONArray jsonArray = new JSONArray(response_content);
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 oprId = 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(oprId);
tqApiLog.setCid(electricityMeter.getCid()); tqApiLog.setCid(electricityMeter.getCid());
tqApiLog.setAddress(electricityMeter.getAddress()); tqApiLog.setAddress(electricityMeter.getAddress());
tqApiLog.setType(electricityMeter.getType()); tqApiLog.setType(electricityMeter.getType());
tqApiLog.setRequestTime(DateUtil.now()); tqApiLog.setRequestTime(DateUtil.now());
if(type.equals(10)){ if (type.equals(10)) {
tqApiLog.setRequestStatus("拉闸中"); tqApiLog.setRequestStatus("拉闸中");
}else{ } else {
tqApiLog.setRequestStatus("合闸中"); tqApiLog.setRequestStatus("合闸中");
} }
logService.insert(tqApiLog); logService.insert(tqApiLog);
}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(oprId);
@ -212,9 +236,9 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
tqApiLog.setAddress(electricityMeter.getAddress()); tqApiLog.setAddress(electricityMeter.getAddress());
tqApiLog.setType(electricityMeter.getType()); tqApiLog.setType(electricityMeter.getType());
tqApiLog.setRequestTime(DateUtil.now()); tqApiLog.setRequestTime(DateUtil.now());
if(type.equals(10)){ if (type.equals(10)) {
tqApiLog.setRequestStatus("拉闸失败"); tqApiLog.setRequestStatus("拉闸失败");
}else{ } else {
tqApiLog.setRequestStatus("合闸失败"); tqApiLog.setRequestStatus("合闸失败");
} }
tqApiLog.setRequestRemark(errorMsg); tqApiLog.setRequestRemark(errorMsg);
@ -222,36 +246,68 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
return Result.error(errorMsg); return Result.error(errorMsg);
} }
} }
}else{ } else {
String errorMsg = jsonObject.getStr("error_msg"); String errorMsg = jsonObject.getStr("error_msg");
TqApiLog tqApiLog = new TqApiLog(); TqApiLog tqApiLog = new TqApiLog();
tqApiLog.setCid(electricityMeter.getCid()); tqApiLog.setCid(electricityMeter.getCid());
tqApiLog.setAddress(electricityMeter.getAddress()); tqApiLog.setAddress(electricityMeter.getAddress());
tqApiLog.setType(electricityMeter.getType()); tqApiLog.setType(electricityMeter.getType());
tqApiLog.setRequestTime(DateUtil.now()); tqApiLog.setRequestTime(DateUtil.now());
if(type.equals(10)){ if (type.equals(10)) {
tqApiLog.setRequestStatus("拉闸失败"); tqApiLog.setRequestStatus("拉闸失败");
}else{ } else {
tqApiLog.setRequestStatus("合闸失败"); 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(10)){ if (type.equals(10)) {
return Result.OK("拉闸中请1分钟后刷新页面"); return Result.OK("拉闸中请1分钟后刷新页面");
}else{ } else {
return Result.OK("合闸中请1分钟后刷新页面"); return Result.OK("合闸中请1分钟后刷新页面");
} }
} }
/**
* 拉合闸
*/
@Override
public Result<String> eleControl(ElectricityMeterEntity electricityMeterEntity) {
ElectricityMeter electricityMeter = new ElectricityMeter();
BeanUtils.copyProperties(electricityMeterEntity,electricityMeter);
return syncImpl.eleControl(electricityMeter);
}
@Override
public IPage<ElectricityMeterEntity> list(ElectricityMeterEntity electricityMeterEntity, Integer pageNo, Integer pageSize, HttpServletRequest req) {
ElectricityMeter electricityMeter = new ElectricityMeter();
BeanUtils.copyProperties(electricityMeterEntity,electricityMeter);
Page<ElectricityMeter> page = new Page<ElectricityMeter>(pageNo, pageSize);
QueryWrapper<ElectricityMeter> queryWrapper = QueryGenerator.initQueryWrapper(electricityMeter, req.getParameterMap());
IPage<ElectricityMeter> pageList = syncImpl.findPage(page, electricityMeter);
List<ElectricityMeterEntity> entityList = pageList.getRecords().stream()
.map(meter -> {
ElectricityMeterEntity entity = new ElectricityMeterEntity();
BeanUtils.copyProperties(meter, entity);
return entity;
})
.collect(Collectors.toList());
// 6. 构建新的 IPage<ElectricityMeterEntity>
IPage<ElectricityMeterEntity> resultPage = new Page<>(pageList.getCurrent(), pageList.getSize(), pageList.getTotal());
resultPage.setRecords(entityList);
return resultPage;
}
/** /**
* 抄电表 * 抄电表
*/ */
@Override @Override
public Result<String> eleRead(ElectricityMeter electricityMeter){ public Result<String> eleRead(ElectricityMeter electricityMeter) {
ElectricityMeter entity = baseMapper.getElectricityMeter(electricityMeter); ElectricityMeter entity = baseMapper.getElectricityMeter(electricityMeter);
if(entity == null){ if (entity == null) {
return Result.error("请先同步电表设备信息后再进行抄表"); return Result.error("请先同步电表设备信息后再进行抄表");
} }
List<Map<String, Object>> req = new ArrayList<>(); List<Map<String, Object>> req = new ArrayList<>();
@ -267,14 +323,14 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
String responseStr = tqApi.eleRead(req); String responseStr = tqApi.eleRead(req);
JSONObject jsonObject = new JSONObject(responseStr); JSONObject jsonObject = new JSONObject(responseStr);
String httpStatus = jsonObject.getStr("status"); String httpStatus = jsonObject.getStr("status");
if(httpStatus.equals("SUCCESS")){ if (httpStatus.equals("SUCCESS")) {
String response_content = jsonObject.getStr("response_content"); String response_content = jsonObject.getStr("response_content");
JSONArray jsonArray = new JSONArray(response_content); JSONArray jsonArray = new JSONArray(response_content);
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 oprId = 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(oprId);
tqApiLog.setCid(electricityMeter.getCid()); tqApiLog.setCid(electricityMeter.getCid());
@ -284,7 +340,7 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
tqApiLog.setRequestTime(DateUtil.now()); tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus("抄表中"); tqApiLog.setRequestStatus("抄表中");
logService.insert(tqApiLog); logService.insert(tqApiLog);
}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(oprId);
@ -299,7 +355,7 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
return Result.error(errorMsg); return Result.error(errorMsg);
} }
} }
}else{ } else {
String errorMsg = jsonObject.getStr("error_msg"); String errorMsg = jsonObject.getStr("error_msg");
TqApiLog tqApiLog = new TqApiLog(); TqApiLog tqApiLog = new TqApiLog();
tqApiLog.setCid(electricityMeter.getCid()); tqApiLog.setCid(electricityMeter.getCid());
@ -315,20 +371,27 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
return Result.OK("抄表中请1分钟后刷新页面"); return Result.OK("抄表中请1分钟后刷新页面");
} }
@Override
public Result<String> eleRead(ElectricityMeterEntity electricityMeterEntity) {
ElectricityMeter electricityMeter = new ElectricityMeter();
BeanUtils.copyProperties(electricityMeterEntity,electricityMeter);
return syncImpl.eleRead(electricityMeter);
}
/** /**
* 清零回调通知 * 清零回调通知
*/ */
@Override @Override
public String eleResetNotify(String response_content, String timestamp, String sign){ public String eleResetNotify(String response_content, String timestamp, String sign) {
// 验签 // 验签
if(!SignTool.checkSign(response_content, timestamp, sign, tqApi.getTqConfig().getRandomCode())) { if (!SignTool.checkSign(response_content, timestamp, sign, tqApi.getTqConfig().getRandomCode())) {
log.info("eleResetNotify:sign check failed"); log.info("eleResetNotify:sign check failed");
return "sign check failed"; return "sign check failed";
} }
try { try {
JSONArray jsonArray = new JSONArray(response_content); JSONArray jsonArray = new JSONArray(response_content);
for(int i=0;i<jsonArray.size();i++){ for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = (JSONObject)jsonArray.get(i); JSONObject jsonObject = (JSONObject) jsonArray.get(i);
String status = jsonObject.getStr("status");//返回状态 String status = jsonObject.getStr("status");//返回状态
String oprId = jsonObject.getStr("opr_id");//操作ID String oprId = jsonObject.getStr("opr_id");//操作ID
String resolveTime = jsonObject.getStr("resolve_time");//反馈时间 String resolveTime = jsonObject.getStr("resolve_time");//反馈时间
@ -337,19 +400,19 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
tqApiLog.setOprId(oprId); tqApiLog.setOprId(oprId);
tqApiLog.setResolveValue("0"); tqApiLog.setResolveValue("0");
tqApiLog.setResolveTime(resolveTime); tqApiLog.setResolveTime(resolveTime);
if(status.equals("SUCCESS")){ if (status.equals("SUCCESS")) {
tqApiLog.setResolveStatus("清零成功"); tqApiLog.setResolveStatus("清零成功");
}else{ } else {
tqApiLog.setResolveStatus("清零失败"); tqApiLog.setResolveStatus("清零失败");
} }
tqApiLog.setResolveRemark(data); tqApiLog.setResolveRemark(data);
TqApiLog logEntity = logService.getApiLog(tqApiLog); TqApiLog logEntity = logService.getApiLog(tqApiLog);
if(logEntity!=null) { if (logEntity != null) {
tqApiLog.setId(logEntity.getId()); tqApiLog.setId(logEntity.getId());
logService.update(tqApiLog); logService.update(tqApiLog);
} }
if(status.equals("SUCCESS")) { if (status.equals("SUCCESS")) {
if(logEntity!=null){ if (logEntity != null) {
String cid = logEntity.getCid(); String cid = logEntity.getCid();
String address = logEntity.getAddress(); String address = logEntity.getAddress();
ElectricityMeter em = new ElectricityMeter(); ElectricityMeter em = new ElectricityMeter();
@ -362,7 +425,7 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
} }
} }
} }
}catch (Exception e){ } catch (Exception e) {
return "FAIL"; return "FAIL";
} }
return "SUCCESS"; return "SUCCESS";
@ -370,11 +433,12 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
/** /**
* 清零同步到业务系统 * 清零同步到业务系统
*
* @param electricityMeter * @param electricityMeter
*/ */
private void syncCleanMq(ElectricityMeter electricityMeter){ private void syncCleanMq(ElectricityMeter electricityMeter) {
ElectricityMeter entity = baseMapper.getElectricityMeter(electricityMeter); ElectricityMeter entity = baseMapper.getElectricityMeter(electricityMeter);
if(entity!=null) { if (entity != null) {
IotElectricityMeterMQDto iem = new IotElectricityMeterMQDto(); IotElectricityMeterMQDto iem = new IotElectricityMeterMQDto();
BeanUtils.copyProperties(entity, iem); BeanUtils.copyProperties(entity, iem);
String json = JSON.toJSONString(entity); String json = JSON.toJSONString(entity);
@ -397,16 +461,16 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
* 开关闸回调通知 * 开关闸回调通知
*/ */
@Override @Override
public String eleControlNotify(String response_content, String timestamp, String sign){ public String eleControlNotify(String response_content, String timestamp, String sign) {
// 验签 // 验签
if(!SignTool.checkSign(response_content, timestamp, sign, tqApi.getTqConfig().getRandomCode())) { if (!SignTool.checkSign(response_content, timestamp, sign, tqApi.getTqConfig().getRandomCode())) {
log.info("eleResetNotify:sign check failed"); log.info("eleResetNotify:sign check failed");
return "sign check failed"; return "sign check failed";
} }
try { try {
JSONArray jsonArray = new JSONArray(response_content); JSONArray jsonArray = new JSONArray(response_content);
for(int i=0;i<jsonArray.size();i++){ for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = (JSONObject)jsonArray.get(i); JSONObject jsonObject = (JSONObject) jsonArray.get(i);
String status = jsonObject.getStr("status");//返回状态 String status = jsonObject.getStr("status");//返回状态
String oprId = jsonObject.getStr("opr_id");//操作ID String oprId = jsonObject.getStr("opr_id");//操作ID
String resolveTime = jsonObject.getStr("resolve_time");//反馈时间 String resolveTime = jsonObject.getStr("resolve_time");//反馈时间
@ -414,33 +478,33 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
tqApiLog.setOprId(oprId); tqApiLog.setOprId(oprId);
tqApiLog.setResolveTime(resolveTime); tqApiLog.setResolveTime(resolveTime);
TqApiLog logEntity = logService.getApiLog(tqApiLog); TqApiLog logEntity = logService.getApiLog(tqApiLog);
if(logEntity!=null) { if (logEntity != null) {
Integer type = logEntity.getType(); Integer type = logEntity.getType();
String typeStr = ""; String typeStr = "";
if(type.equals(10)){ if (type.equals(10)) {
typeStr = "拉闸"; typeStr = "拉闸";
}else{ } else {
typeStr = "合闸"; typeStr = "合闸";
} }
if(status.equals("SUCCESS")){ if (status.equals("SUCCESS")) {
tqApiLog.setResolveStatus(typeStr+"成功"); tqApiLog.setResolveStatus(typeStr + "成功");
}else{ } else {
tqApiLog.setResolveStatus(typeStr+"失败"); tqApiLog.setResolveStatus(typeStr + "失败");
} }
tqApiLog.setId(logEntity.getId()); tqApiLog.setId(logEntity.getId());
logService.update(tqApiLog); logService.update(tqApiLog);
} }
if(status.equals("SUCCESS")) { if (status.equals("SUCCESS")) {
if(logEntity!=null){ if (logEntity != null) {
String cid = logEntity.getCid(); String cid = logEntity.getCid();
String address = logEntity.getAddress(); String address = logEntity.getAddress();
Integer type = logEntity.getType(); Integer type = logEntity.getType();
ElectricityMeter em = new ElectricityMeter(); ElectricityMeter em = new ElectricityMeter();
em.setCid(cid); em.setCid(cid);
em.setAddress(address); em.setAddress(address);
if(type.equals(10)){ if (type.equals(10)) {
em.setRelayState("0"); em.setRelayState("0");
}else{ } else {
em.setRelayState("1"); em.setRelayState("1");
} }
baseMapper.updateRelayState(em); baseMapper.updateRelayState(em);
@ -448,7 +512,7 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
} }
} }
} }
}catch (Exception e){ } catch (Exception e) {
return "FAIL"; return "FAIL";
} }
return "SUCCESS"; return "SUCCESS";
@ -456,11 +520,12 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
/** /**
* 开关闸同步到业务系统 * 开关闸同步到业务系统
*
* @param electricityMeter * @param electricityMeter
*/ */
private void syncControlMq(ElectricityMeter electricityMeter){ private void syncControlMq(ElectricityMeter electricityMeter) {
ElectricityMeter entity = baseMapper.getElectricityMeter(electricityMeter); ElectricityMeter entity = baseMapper.getElectricityMeter(electricityMeter);
if(entity!=null) { if (entity != null) {
IotElectricityMeterMQDto iem = new IotElectricityMeterMQDto(); IotElectricityMeterMQDto iem = new IotElectricityMeterMQDto();
BeanUtils.copyProperties(entity, iem); BeanUtils.copyProperties(entity, iem);
String json = JSON.toJSONString(entity); String json = JSON.toJSONString(entity);
@ -483,23 +548,23 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
* 抄表回调通知 * 抄表回调通知
*/ */
@Override @Override
public String eleReadNotify(String response_content, String timestamp, String sign){ public String eleReadNotify(String response_content, String timestamp, String sign) {
// 验签 // 验签
if(!SignTool.checkSign(response_content, timestamp, sign, tqApi.getTqConfig().getRandomCode())) { if (!SignTool.checkSign(response_content, timestamp, sign, tqApi.getTqConfig().getRandomCode())) {
log.info("eleResetNotify:sign check failed"); log.info("eleResetNotify:sign check failed");
return "sign check failed"; return "sign check failed";
} }
try { try {
JSONArray jsonArray = new JSONArray(response_content); JSONArray jsonArray = new JSONArray(response_content);
for(int i=0;i<jsonArray.size();i++){ for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = (JSONObject)jsonArray.get(i); JSONObject jsonObject = (JSONObject) jsonArray.get(i);
String status = jsonObject.getStr("status");//返回状态 String status = jsonObject.getStr("status");//返回状态
String oprId = jsonObject.getStr("opr_id");//操作ID String oprId = jsonObject.getStr("opr_id");//操作ID
String resolveTime = jsonObject.getStr("resolve_time");//反馈时间 String resolveTime = jsonObject.getStr("resolve_time");//反馈时间
if(status.equals("SUCCESS")) { if (status.equals("SUCCESS")) {
JSONArray datas = jsonObject.getJSONArray("data");//返回数据 JSONArray datas = jsonObject.getJSONArray("data");//返回数据
for(int j=0;j<datas.size();j++){ for (int j = 0; j < datas.size(); j++) {
JSONObject data = (JSONObject)datas.get(j); JSONObject data = (JSONObject) datas.get(j);
Integer type = data.getInt("type");//类型 Integer type = data.getInt("type");//类型
String resolveValue = data.getJSONArray("value").get(0).toString();// String resolveValue = data.getJSONArray("value").get(0).toString();//
String dsp = data.getStr("dsp");//描述 String dsp = data.getStr("dsp");//描述
@ -508,14 +573,14 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
tqApiLog.setType(type); tqApiLog.setType(type);
tqApiLog.setResolveValue(resolveValue); tqApiLog.setResolveValue(resolveValue);
tqApiLog.setResolveTime(resolveTime); tqApiLog.setResolveTime(resolveTime);
if(status.equals("SUCCESS")){ if (status.equals("SUCCESS")) {
tqApiLog.setResolveStatus("抄表成功"); tqApiLog.setResolveStatus("抄表成功");
}else{ } else {
tqApiLog.setResolveStatus("抄表失败"); tqApiLog.setResolveStatus("抄表失败");
} }
tqApiLog.setResolveRemark(dsp); tqApiLog.setResolveRemark(dsp);
TqApiLog logEntity = logService.getApiLog(tqApiLog); TqApiLog logEntity = logService.getApiLog(tqApiLog);
if(logEntity!=null){ if (logEntity != null) {
String cid = logEntity.getCid(); String cid = logEntity.getCid();
String address = logEntity.getAddress(); String address = logEntity.getAddress();
ElectricityMeter em = new ElectricityMeter(); ElectricityMeter em = new ElectricityMeter();
@ -529,19 +594,19 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
syncValueMq(em); syncValueMq(em);
} }
} }
}else{ } else {
TqApiLog tqApiLog = new TqApiLog(); TqApiLog tqApiLog = new TqApiLog();
tqApiLog.setOprId(oprId); tqApiLog.setOprId(oprId);
tqApiLog.setResolveTime(resolveTime); tqApiLog.setResolveTime(resolveTime);
tqApiLog.setResolveStatus("抄表失败"); 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());
logService.update(tqApiLog); logService.update(tqApiLog);
} }
} }
} }
}catch (Exception e){ } catch (Exception e) {
return "FAIL"; return "FAIL";
} }
return "SUCCESS"; return "SUCCESS";
@ -549,11 +614,12 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
/** /**
* 抄表同步到业务系统 * 抄表同步到业务系统
*
* @param electricityMeter * @param electricityMeter
*/ */
private void syncValueMq(ElectricityMeter electricityMeter){ private void syncValueMq(ElectricityMeter electricityMeter) {
ElectricityMeter entity = baseMapper.getElectricityMeter(electricityMeter); ElectricityMeter entity = baseMapper.getElectricityMeter(electricityMeter);
if(entity!=null) { if (entity != null) {
IotElectricityMeterMQDto iem = new IotElectricityMeterMQDto(); IotElectricityMeterMQDto iem = new IotElectricityMeterMQDto();
BeanUtils.copyProperties(entity, iem); BeanUtils.copyProperties(entity, iem);
String json = JSON.toJSONString(entity); String json = JSON.toJSONString(entity);
@ -591,13 +657,13 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
} }
@DS("devops") @DS("devops")
public void devopsBaoxiu(ElectricityMeter electricityMeter){ public void devopsBaoxiu(ElectricityMeter electricityMeter) {
baseMapper.updateById(electricityMeter); baseMapper.updateById(electricityMeter);
} }
//业务系统删除命令 //业务系统删除命令
@DS("#dataSourceCode") @DS("#dataSourceCode")
public boolean syncElectricityDel(String dataSourceCode,ElectricityMeter electricityMeter) { public boolean syncElectricityDel(String dataSourceCode, ElectricityMeter electricityMeter) {
try { try {
baseMapper.deleteById(electricityMeter.getId()); baseMapper.deleteById(electricityMeter.getId());
} catch (Exception e) { } catch (Exception e) {
@ -608,14 +674,14 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
//业务系统保存或者修改命令 //业务系统保存或者修改命令
@DS("#dataSourceCode") @DS("#dataSourceCode")
public boolean syncElectricitySaveOrUpdate(String dataSourceCode,ElectricityMeter electricityMeter) { public boolean syncElectricitySaveOrUpdate(String dataSourceCode, ElectricityMeter electricityMeter) {
try { try {
QueryWrapper<ElectricityMeter> queryWrapper = new QueryWrapper<>(); QueryWrapper<ElectricityMeter> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("cid",electricityMeter.getCid()); queryWrapper.eq("cid", electricityMeter.getCid());
ElectricityMeter oldParam = baseMapper.selectOne(queryWrapper);//查询数据库中该表号数据原始数据 ElectricityMeter oldParam = baseMapper.selectOne(queryWrapper);//查询数据库中该表号数据原始数据
if(oldParam == null){ if (oldParam == null) {
baseMapper.insert(electricityMeter); baseMapper.insert(electricityMeter);
}else{ } else {
baseMapper.updateById(electricityMeter); baseMapper.updateById(electricityMeter);
} }
} catch (Exception e) { } catch (Exception e) {
@ -623,5 +689,6 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
} }
return true; return true;
} }
} }

View File

@ -10,9 +10,9 @@ 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.dto.IotWaterMeterMQDto; import com.nu.dto.IotWaterMeterMQDto;
import com.nu.entity.WaterMeterEntity;
import com.nu.modules.syncLog.entity.SyncBizLog; import com.nu.modules.syncLog.entity.SyncBizLog;
import com.nu.modules.syncLog.service.ISyncBizLogService; import com.nu.modules.syncLog.service.ISyncBizLogService;
import com.nu.modules.tplink.camera.entity.CameraInfo;
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;
@ -21,21 +21,25 @@ import com.nu.modules.tq.utils.TqApi;
import com.nu.modules.tq.water.entity.WaterMeter; 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 com.nu.modules.water.api.IWaterApi;
import com.nu.utils.RabbitMQUtil; import com.nu.utils.RabbitMQUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import me.zhyd.oauth.utils.UuidUtils; import me.zhyd.oauth.utils.UuidUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.DateUtils; import org.jeecg.common.util.DateUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; 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 javax.servlet.http.HttpServletRequest;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
@Slf4j @Slf4j
@Service @Service
public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMeter> implements IWaterMeterService { public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMeter> implements IWaterMeterService, IWaterApi {
@Autowired @Autowired
private TqApi tqApi; private TqApi tqApi;
@ -54,22 +58,22 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
private WaterMeterServiceImpl syncImpl; 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);
} }
@Override @Override
public List<WaterMeter> findAllList(){ public List<WaterMeter> findAllList() {
return baseMapper.findAllList(); return baseMapper.findAllList();
} }
@Override @Override
public void updateValue(WaterMeter updateValue){ public void updateValue(WaterMeter updateValue) {
baseMapper.updateValue(updateValue); baseMapper.updateValue(updateValue);
} }
@Override @Override
public void updateRelayState(WaterMeter updateValue){ public void updateRelayState(WaterMeter updateValue) {
baseMapper.updateRelayState(updateValue); baseMapper.updateRelayState(updateValue);
} }
@ -77,20 +81,20 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
* 清零 * 清零
*/ */
@Override @Override
public Result<String> waterReset(WaterMeter waterMeter){ public Result<String> waterReset(WaterMeter waterMeter) {
WaterMeter entity = baseMapper.getWaterMeter(waterMeter); WaterMeter entity = baseMapper.getWaterMeter(waterMeter);
if(entity == null){ if (entity == null) {
return Result.error("请先同步水表设备信息后再进行清零"); return Result.error("请先同步水表设备信息后再进行清零");
} }
String readTimeStr = entity.getReadTime(); String readTimeStr = entity.getReadTime();
if(readTimeStr == null || readTimeStr.equals("")){ if (readTimeStr == null || readTimeStr.equals("")) {
return Result.error("为避免结算误差,清零操作时,需要近一小时的抄表数据。"); return Result.error("为避免结算误差,清零操作时,需要近一小时的抄表数据。");
} }
Date readTime = DateUtil.parse(readTimeStr,"yyyy-MM-dd HH:mm:ss"); Date readTime = DateUtil.parse(readTimeStr, "yyyy-MM-dd HH:mm:ss");
Calendar c = Calendar.getInstance(); Calendar c = Calendar.getInstance();
c.add(Calendar.HOUR_OF_DAY,-1); c.add(Calendar.HOUR_OF_DAY, -1);
int comInt = DateUtil.compare(readTime,c.getTime()); int comInt = DateUtil.compare(readTime, c.getTime());
if(comInt<0){ if (comInt < 0) {
return Result.error("为避免结算误差,清零操作时,需要近一小时的抄表数据。"); return Result.error("为避免结算误差,清零操作时,需要近一小时的抄表数据。");
} }
List<Map<String, Object>> req = new ArrayList<>(); List<Map<String, Object>> req = new ArrayList<>();
@ -108,14 +112,14 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
String responseStr = tqApi.waterReset(req); String responseStr = tqApi.waterReset(req);
JSONObject jsonObject = new JSONObject(responseStr); JSONObject jsonObject = new JSONObject(responseStr);
String httpStatus = jsonObject.getStr("status"); String httpStatus = jsonObject.getStr("status");
if(httpStatus.equals("SUCCESS")){ if (httpStatus.equals("SUCCESS")) {
String response_content = jsonObject.getStr("response_content"); String response_content = jsonObject.getStr("response_content");
JSONArray jsonArray = new JSONArray(response_content); JSONArray jsonArray = new JSONArray(response_content);
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 oprId = 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(oprId);
tqApiLog.setCid(waterMeter.getCid()); tqApiLog.setCid(waterMeter.getCid());
@ -125,7 +129,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setRequestTime(DateUtil.now()); tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus("清零中"); tqApiLog.setRequestStatus("清零中");
logService.insert(tqApiLog); logService.insert(tqApiLog);
}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(oprId);
@ -140,7 +144,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
return Result.error(errorMsg); return Result.error(errorMsg);
} }
} }
}else{ } else {
String errorMsg = jsonObject.getStr("error_msg"); String errorMsg = jsonObject.getStr("error_msg");
TqApiLog tqApiLog = new TqApiLog(); TqApiLog tqApiLog = new TqApiLog();
tqApiLog.setCid(waterMeter.getCid()); tqApiLog.setCid(waterMeter.getCid());
@ -160,13 +164,13 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
* 开关阀 * 开关阀
*/ */
@Override @Override
public Result<String> waterControl(WaterMeter waterMeter){ public Result<String> waterControl(WaterMeter waterMeter) {
Integer type = waterMeter.getType(); Integer type = waterMeter.getType();
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("请先同步水表设备信息后再进行关阀");
} }
} }
@ -183,14 +187,14 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
String responseStr = tqApi.waterControl(req); String responseStr = tqApi.waterControl(req);
JSONObject jsonObject = new JSONObject(responseStr); JSONObject jsonObject = new JSONObject(responseStr);
String httpStatus = jsonObject.getStr("status"); String httpStatus = jsonObject.getStr("status");
if(httpStatus.equals("SUCCESS")){ if (httpStatus.equals("SUCCESS")) {
String response_content = jsonObject.getStr("response_content"); String response_content = jsonObject.getStr("response_content");
JSONArray jsonArray = new JSONArray(response_content); JSONArray jsonArray = new JSONArray(response_content);
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 oprId = 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(oprId);
tqApiLog.setCid(waterMeter.getCid()); tqApiLog.setCid(waterMeter.getCid());
@ -198,13 +202,13 @@ 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)){ if (type.equals(43)) {
tqApiLog.setRequestStatus("开阀中"); tqApiLog.setRequestStatus("开阀中");
}else{ } else {
tqApiLog.setRequestStatus("关阀中"); tqApiLog.setRequestStatus("关阀中");
} }
logService.insert(tqApiLog); logService.insert(tqApiLog);
}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(oprId);
@ -212,9 +216,9 @@ 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());
if(type.equals(43)){ if (type.equals(43)) {
tqApiLog.setRequestStatus("开阀失败"); tqApiLog.setRequestStatus("开阀失败");
}else{ } else {
tqApiLog.setRequestStatus("关阀失败"); tqApiLog.setRequestStatus("关阀失败");
} }
tqApiLog.setRequestRemark(errorMsg); tqApiLog.setRequestRemark(errorMsg);
@ -222,25 +226,25 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
return Result.error(errorMsg); return Result.error(errorMsg);
} }
} }
}else{ } else {
String errorMsg = jsonObject.getStr("error_msg"); String errorMsg = jsonObject.getStr("error_msg");
TqApiLog tqApiLog = new TqApiLog(); TqApiLog tqApiLog = new TqApiLog();
tqApiLog.setCid(waterMeter.getCid()); tqApiLog.setCid(waterMeter.getCid());
tqApiLog.setAddress(waterMeter.getAddress()); tqApiLog.setAddress(waterMeter.getAddress());
tqApiLog.setType(waterMeter.getType()); tqApiLog.setType(waterMeter.getType());
tqApiLog.setRequestTime(DateUtil.now()); tqApiLog.setRequestTime(DateUtil.now());
if(type.equals(43)){ if (type.equals(43)) {
tqApiLog.setRequestStatus("开阀失败"); tqApiLog.setRequestStatus("开阀失败");
}else{ } else {
tqApiLog.setRequestStatus("关阀失败"); 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("开阀中请5分钟后刷新页面"); return Result.OK("开阀中请5分钟后刷新页面");
}else{ } else {
return Result.OK("关阀中请5分钟后刷新页面"); return Result.OK("关阀中请5分钟后刷新页面");
} }
} }
@ -249,9 +253,9 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
* 抄水表 * 抄水表
*/ */
@Override @Override
public Result<String> waterRead(WaterMeter waterMeter){ public Result<String> waterRead(WaterMeter waterMeter) {
WaterMeter entity = baseMapper.getWaterMeter(waterMeter); WaterMeter entity = baseMapper.getWaterMeter(waterMeter);
if(entity == null){ if (entity == null) {
return Result.error("请先同步水表设备信息后再进行抄表"); return Result.error("请先同步水表设备信息后再进行抄表");
} }
List<Map<String, Object>> req = new ArrayList<>(); List<Map<String, Object>> req = new ArrayList<>();
@ -267,14 +271,14 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
String responseStr = tqApi.waterRead(req); String responseStr = tqApi.waterRead(req);
JSONObject jsonObject = new JSONObject(responseStr); JSONObject jsonObject = new JSONObject(responseStr);
String httpStatus = jsonObject.getStr("status"); String httpStatus = jsonObject.getStr("status");
if(httpStatus.equals("SUCCESS")){ if (httpStatus.equals("SUCCESS")) {
String response_content = jsonObject.getStr("response_content"); String response_content = jsonObject.getStr("response_content");
JSONArray jsonArray = new JSONArray(response_content); JSONArray jsonArray = new JSONArray(response_content);
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 oprId = 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(oprId);
tqApiLog.setCid(waterMeter.getCid()); tqApiLog.setCid(waterMeter.getCid());
@ -284,7 +288,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setRequestTime(DateUtil.now()); tqApiLog.setRequestTime(DateUtil.now());
tqApiLog.setRequestStatus("抄表中"); tqApiLog.setRequestStatus("抄表中");
logService.insert(tqApiLog); logService.insert(tqApiLog);
}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(oprId);
@ -299,7 +303,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
return Result.error(errorMsg); return Result.error(errorMsg);
} }
} }
}else{ } else {
String errorMsg = jsonObject.getStr("error_msg"); String errorMsg = jsonObject.getStr("error_msg");
TqApiLog tqApiLog = new TqApiLog(); TqApiLog tqApiLog = new TqApiLog();
tqApiLog.setCid(waterMeter.getCid()); tqApiLog.setCid(waterMeter.getCid());
@ -319,16 +323,16 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
* 清零回调通知 * 清零回调通知
*/ */
@Override @Override
public String waterResetNotify(String response_content, String timestamp, String sign){ public String waterResetNotify(String response_content, String timestamp, String sign) {
// 验签 // 验签
if(!SignTool.checkSign(response_content, timestamp, sign, tqApi.getTqConfig().getRandomCode())) { if (!SignTool.checkSign(response_content, timestamp, sign, tqApi.getTqConfig().getRandomCode())) {
log.info("eleResetNotify:sign check failed"); log.info("eleResetNotify:sign check failed");
return "sign check failed"; return "sign check failed";
} }
try { try {
JSONArray jsonArray = new JSONArray(response_content); JSONArray jsonArray = new JSONArray(response_content);
for(int i=0;i<jsonArray.size();i++){ for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = (JSONObject)jsonArray.get(i); JSONObject jsonObject = (JSONObject) jsonArray.get(i);
String status = jsonObject.getStr("status");//返回状态 String status = jsonObject.getStr("status");//返回状态
String oprId = jsonObject.getStr("opr_id");//操作ID String oprId = jsonObject.getStr("opr_id");//操作ID
String resolveTime = jsonObject.getStr("resolve_time");//反馈时间 String resolveTime = jsonObject.getStr("resolve_time");//反馈时间
@ -337,19 +341,19 @@ 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);
if(status.equals("SUCCESS")){ if (status.equals("SUCCESS")) {
tqApiLog.setResolveStatus("清零成功"); tqApiLog.setResolveStatus("清零成功");
}else{ } else {
tqApiLog.setResolveStatus("清零失败"); tqApiLog.setResolveStatus("清零失败");
} }
tqApiLog.setResolveRemark(data); tqApiLog.setResolveRemark(data);
TqApiLog logEntity = logService.getApiLog(tqApiLog); TqApiLog logEntity = logService.getApiLog(tqApiLog);
if(logEntity!=null) { if (logEntity != null) {
tqApiLog.setId(logEntity.getId()); tqApiLog.setId(logEntity.getId());
logService.update(tqApiLog); logService.update(tqApiLog);
} }
if(status.equals("SUCCESS")) { if (status.equals("SUCCESS")) {
if(logEntity!=null){ if (logEntity != null) {
String cid = logEntity.getCid(); String cid = logEntity.getCid();
String address = logEntity.getAddress(); String address = logEntity.getAddress();
WaterMeter wm = new WaterMeter(); WaterMeter wm = new WaterMeter();
@ -362,7 +366,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
} }
} }
} }
}catch (Exception e){ } catch (Exception e) {
return "FAIL"; return "FAIL";
} }
return "SUCCESS"; return "SUCCESS";
@ -370,11 +374,12 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
/** /**
* 清零同步到业务系统 * 清零同步到业务系统
*
* @param waterMeter * @param waterMeter
*/ */
private void syncCleanMq(WaterMeter waterMeter){ private void syncCleanMq(WaterMeter waterMeter) {
WaterMeter entity = baseMapper.getWaterMeter(waterMeter); WaterMeter entity = baseMapper.getWaterMeter(waterMeter);
if(entity!=null) { if (entity != null) {
IotWaterMeterMQDto iwm = new IotWaterMeterMQDto(); IotWaterMeterMQDto iwm = new IotWaterMeterMQDto();
BeanUtils.copyProperties(entity, iwm); BeanUtils.copyProperties(entity, iwm);
String json = JSON.toJSONString(entity); String json = JSON.toJSONString(entity);
@ -397,16 +402,16 @@ 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) {
// 验签 // 验签
if(!SignTool.checkSign(response_content, timestamp, sign, tqApi.getTqConfig().getRandomCode())) { if (!SignTool.checkSign(response_content, timestamp, sign, tqApi.getTqConfig().getRandomCode())) {
log.info("eleResetNotify:sign check failed"); log.info("eleResetNotify:sign check failed");
return "sign check failed"; return "sign check failed";
} }
try { try {
JSONArray jsonArray = new JSONArray(response_content); JSONArray jsonArray = new JSONArray(response_content);
for(int i=0;i<jsonArray.size();i++){ for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = (JSONObject)jsonArray.get(i); JSONObject jsonObject = (JSONObject) jsonArray.get(i);
String status = jsonObject.getStr("status");//返回状态 String status = jsonObject.getStr("status");//返回状态
String oprId = jsonObject.getStr("opr_id");//操作ID String oprId = jsonObject.getStr("opr_id");//操作ID
String resolveTime = jsonObject.getStr("resolve_time");//反馈时间 String resolveTime = jsonObject.getStr("resolve_time");//反馈时间
@ -414,33 +419,33 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
tqApiLog.setOprId(oprId); tqApiLog.setOprId(oprId);
tqApiLog.setResolveTime(resolveTime); tqApiLog.setResolveTime(resolveTime);
TqApiLog logEntity = logService.getApiLog(tqApiLog); TqApiLog logEntity = logService.getApiLog(tqApiLog);
if(logEntity!=null) { if (logEntity != null) {
Integer type = logEntity.getType(); Integer type = logEntity.getType();
String typeStr = ""; String typeStr = "";
if(type.equals(43)){ if (type.equals(43)) {
typeStr = "开阀"; typeStr = "开阀";
}else { } else {
typeStr = "关阀"; typeStr = "关阀";
} }
if(status.equals("SUCCESS")){ if (status.equals("SUCCESS")) {
tqApiLog.setResolveStatus(typeStr+"成功"); tqApiLog.setResolveStatus(typeStr + "成功");
}else{ } else {
tqApiLog.setResolveStatus(typeStr+"失败"); tqApiLog.setResolveStatus(typeStr + "失败");
} }
tqApiLog.setId(logEntity.getId()); tqApiLog.setId(logEntity.getId());
logService.update(tqApiLog); logService.update(tqApiLog);
} }
if(status.equals("SUCCESS")) { if (status.equals("SUCCESS")) {
if(logEntity!=null){ if (logEntity != null) {
String cid = logEntity.getCid(); String cid = logEntity.getCid();
String address = logEntity.getAddress(); String address = logEntity.getAddress();
Integer type = logEntity.getType(); Integer type = logEntity.getType();
WaterMeter wm = new WaterMeter(); WaterMeter wm = new WaterMeter();
wm.setCid(cid); wm.setCid(cid);
wm.setAddress(address); wm.setAddress(address);
if(type.equals(43)){ if (type.equals(43)) {
wm.setRelayState("1"); wm.setRelayState("1");
}else{ } else {
wm.setRelayState("0"); wm.setRelayState("0");
} }
baseMapper.updateRelayState(wm); baseMapper.updateRelayState(wm);
@ -448,7 +453,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
} }
} }
} }
}catch (Exception e){ } catch (Exception e) {
return "FAIL"; return "FAIL";
} }
return "SUCCESS"; return "SUCCESS";
@ -456,11 +461,12 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
/** /**
* 开关阀同步到业务系统 * 开关阀同步到业务系统
*
* @param waterMeter * @param waterMeter
*/ */
private void syncControlMq(WaterMeter waterMeter){ private void syncControlMq(WaterMeter waterMeter) {
WaterMeter entity = baseMapper.getWaterMeter(waterMeter); WaterMeter entity = baseMapper.getWaterMeter(waterMeter);
if(entity!=null) { if (entity != null) {
IotWaterMeterMQDto iwm = new IotWaterMeterMQDto(); IotWaterMeterMQDto iwm = new IotWaterMeterMQDto();
BeanUtils.copyProperties(entity, iwm); BeanUtils.copyProperties(entity, iwm);
String json = JSON.toJSONString(entity); String json = JSON.toJSONString(entity);
@ -483,23 +489,23 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
* 抄表回调通知 * 抄表回调通知
*/ */
@Override @Override
public String waterReadNotify(String response_content, String timestamp, String sign){ public String waterReadNotify(String response_content, String timestamp, String sign) {
// 验签 // 验签
if(!SignTool.checkSign(response_content, timestamp, sign, tqApi.getTqConfig().getRandomCode())) { if (!SignTool.checkSign(response_content, timestamp, sign, tqApi.getTqConfig().getRandomCode())) {
log.info("eleResetNotify:sign check failed"); log.info("eleResetNotify:sign check failed");
return "sign check failed"; return "sign check failed";
} }
try { try {
JSONArray jsonArray = new JSONArray(response_content); JSONArray jsonArray = new JSONArray(response_content);
for(int i=0;i<jsonArray.size();i++){ for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = (JSONObject)jsonArray.get(i); JSONObject jsonObject = (JSONObject) jsonArray.get(i);
String status = jsonObject.getStr("status");//返回状态 String status = jsonObject.getStr("status");//返回状态
String oprId = jsonObject.getStr("opr_id");//操作ID String oprId = jsonObject.getStr("opr_id");//操作ID
String resolveTime = jsonObject.getStr("resolve_time");//反馈时间 String resolveTime = jsonObject.getStr("resolve_time");//反馈时间
if(status.equals("SUCCESS")) { if (status.equals("SUCCESS")) {
JSONArray datas = jsonObject.getJSONArray("data");//返回数据 JSONArray datas = jsonObject.getJSONArray("data");//返回数据
for(int j=0;j<datas.size();j++){ for (int j = 0; j < datas.size(); j++) {
JSONObject data = (JSONObject)datas.get(j); JSONObject data = (JSONObject) datas.get(j);
Integer type = data.getInt("type");//类型 Integer type = data.getInt("type");//类型
String resolveValue = data.getJSONArray("value").get(0).toString();// String resolveValue = data.getJSONArray("value").get(0).toString();//
String[] waterVelues = resolveValue.split("\\|"); String[] waterVelues = resolveValue.split("\\|");
@ -507,28 +513,28 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
TqApiLog tqApiLog = new TqApiLog(); TqApiLog tqApiLog = new TqApiLog();
tqApiLog.setOprId(oprId); tqApiLog.setOprId(oprId);
tqApiLog.setType(type); tqApiLog.setType(type);
if(waterVelues.length>0){ if (waterVelues.length > 0) {
tqApiLog.setResolveValue(waterVelues[0]); tqApiLog.setResolveValue(waterVelues[0]);
}else{ } else {
tqApiLog.setResolveValue(resolveValue); tqApiLog.setResolveValue(resolveValue);
} }
tqApiLog.setResolveTime(resolveTime); tqApiLog.setResolveTime(resolveTime);
if(status.equals("SUCCESS")){ if (status.equals("SUCCESS")) {
tqApiLog.setResolveStatus("抄表成功"); tqApiLog.setResolveStatus("抄表成功");
}else{ } else {
tqApiLog.setResolveStatus("抄表失败"); tqApiLog.setResolveStatus("抄表失败");
} }
tqApiLog.setResolveRemark(dsp); tqApiLog.setResolveRemark(dsp);
TqApiLog logEntity = logService.getApiLog(tqApiLog); TqApiLog logEntity = logService.getApiLog(tqApiLog);
if(logEntity!=null){ if (logEntity != null) {
String cid = logEntity.getCid(); String cid = logEntity.getCid();
String address = logEntity.getAddress(); String address = logEntity.getAddress();
WaterMeter wm = new WaterMeter(); WaterMeter wm = new WaterMeter();
wm.setCid(cid); wm.setCid(cid);
wm.setAddress(address); wm.setAddress(address);
if(waterVelues.length>0){ if (waterVelues.length > 0) {
wm.setWaterValue(waterVelues[0]); wm.setWaterValue(waterVelues[0]);
}else{ } else {
wm.setWaterValue(resolveValue); wm.setWaterValue(resolveValue);
} }
wm.setReadTime(resolveTime); wm.setReadTime(resolveTime);
@ -538,19 +544,19 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
syncValueMq(wm); syncValueMq(wm);
} }
} }
}else{ } else {
TqApiLog tqApiLog = new TqApiLog(); TqApiLog tqApiLog = new TqApiLog();
tqApiLog.setOprId(oprId); tqApiLog.setOprId(oprId);
tqApiLog.setResolveTime(resolveTime); tqApiLog.setResolveTime(resolveTime);
tqApiLog.setResolveStatus("抄表失败"); 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());
logService.update(tqApiLog); logService.update(tqApiLog);
} }
} }
} }
}catch (Exception e){ } catch (Exception e) {
return "FAIL"; return "FAIL";
} }
return "SUCCESS"; return "SUCCESS";
@ -558,11 +564,12 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
/** /**
* 抄表同步到业务系统 * 抄表同步到业务系统
*
* @param waterMeter * @param waterMeter
*/ */
private void syncValueMq(WaterMeter waterMeter){ private void syncValueMq(WaterMeter waterMeter) {
WaterMeter entity = baseMapper.getWaterMeter(waterMeter); WaterMeter entity = baseMapper.getWaterMeter(waterMeter);
if(entity!=null) { if (entity != null) {
IotWaterMeterMQDto iwm = new IotWaterMeterMQDto(); IotWaterMeterMQDto iwm = new IotWaterMeterMQDto();
BeanUtils.copyProperties(entity, iwm); BeanUtils.copyProperties(entity, iwm);
String json = JSON.toJSONString(entity); String json = JSON.toJSONString(entity);
@ -589,15 +596,14 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
} }
@DS("devops") @DS("devops")
public void devopsBaoxiu(WaterMeter waterMeter){ public void devopsBaoxiu(WaterMeter waterMeter) {
baseMapper.updateById(waterMeter); baseMapper.updateById(waterMeter);
} }
//业务系统删除命令 //业务系统删除命令
@DS("#dataSourceCode") @DS("#dataSourceCode")
public boolean syncElectricityDel(String dataSourceCode,WaterMeter waterMeter) { public boolean syncElectricityDel(String dataSourceCode, WaterMeter waterMeter) {
try { try {
baseMapper.deleteById(waterMeter.getId()); baseMapper.deleteById(waterMeter.getId());
} catch (Exception e) { } catch (Exception e) {
@ -608,14 +614,14 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
//业务系统保存或者修改命令 //业务系统保存或者修改命令
@DS("#dataSourceCode") @DS("#dataSourceCode")
public boolean syncElectricitySaveOrUpdate(String dataSourceCode,WaterMeter waterMeter) { public boolean syncElectricitySaveOrUpdate(String dataSourceCode, WaterMeter waterMeter) {
try { try {
QueryWrapper<WaterMeter> queryWrapper = new QueryWrapper<>(); QueryWrapper<WaterMeter> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("cid",waterMeter.getCid()); queryWrapper.eq("cid", waterMeter.getCid());
WaterMeter oldParam = baseMapper.selectOne(queryWrapper);//查询数据库中该表号数据原始数据 WaterMeter oldParam = baseMapper.selectOne(queryWrapper);//查询数据库中该表号数据原始数据
if(oldParam == null){ if (oldParam == null) {
baseMapper.insert(waterMeter); baseMapper.insert(waterMeter);
}else{ } else {
baseMapper.updateById(waterMeter); baseMapper.updateById(waterMeter);
} }
} catch (Exception e) { } catch (Exception e) {
@ -623,4 +629,54 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
} }
return true; return true;
} }
@Override
public IPage<WaterMeterEntity> list(WaterMeterEntity waterMeterEntity, Integer pageNo, Integer pageSize, HttpServletRequest req) {
WaterMeter waterMeter = new WaterMeter();
BeanUtils.copyProperties(waterMeterEntity, waterMeter);
Page<WaterMeter> page = new Page<WaterMeter>(pageNo, pageSize);
QueryWrapper<WaterMeter> queryWrapper = QueryGenerator.initQueryWrapper(waterMeter, req.getParameterMap());
IPage<WaterMeter> pageList = syncImpl.findPage(page, waterMeter);
List<WaterMeterEntity> entityList = pageList.getRecords().stream()
.map(meter -> {
WaterMeterEntity entity = new WaterMeterEntity();
BeanUtils.copyProperties(meter, entity);
return entity;
})
.collect(Collectors.toList());
// 6. 构建新的分页对象
IPage<WaterMeterEntity> resultPage = new Page<>(pageList.getCurrent(), pageList.getSize(), pageList.getTotal());
resultPage.setRecords(entityList);
return resultPage;
}
@Override
public Result<String> waterReset(WaterMeterEntity waterMeterEntity) {
WaterMeter waterMeter = new WaterMeter();
BeanUtils.copyProperties(waterMeterEntity, waterMeter);
return syncImpl.waterReset(waterMeter);
}
@Override
public Result<String> waterControl(WaterMeterEntity waterMeterEntity) {
WaterMeter waterMeter = new WaterMeter();
BeanUtils.copyProperties(waterMeterEntity, waterMeter);
return syncImpl.waterControl(waterMeter);
}
@Override
public Result<String> waterRead(WaterMeterEntity waterMeterEntity) {
WaterMeter waterMeter = new WaterMeter();
BeanUtils.copyProperties(waterMeterEntity, waterMeter);
return syncImpl.waterRead(waterMeter);
}
@Override
public void baoxiu(WaterMeterEntity waterMeterEntity) {
WaterMeter waterMeter = new WaterMeter();
BeanUtils.copyProperties(waterMeterEntity, waterMeter);
syncImpl.waterRead(waterMeter);
}
} }