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:
parent
45830f8f16
commit
91b6b1d00f
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
@ -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("操作成功!");
|
||||
}
|
||||
}
|
||||
|
|
@ -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("操作成功!");
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;//维修状态
|
||||
|
||||
}
|
||||
|
|
@ -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;//维修状态
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -19,6 +19,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import org.jeecg.common.system.base.controller.JeecgController;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
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="pageSize", defaultValue="10") 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());
|
||||
}
|
||||
//返回状态有值,则保持原样,输出返回状态值
|
||||
}
|
||||
IPage<ApiRequestLog> pageList = nuIotTqApiRequestLogService.getApiRequestLogIPage(nuIotTqApiRequestLog, pageNo, pageSize, req);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
package com.nu.modules.tq.apiRequestLog.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.nu.modules.tq.apiRequestLog.entity.ApiRequestLog;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
/**
|
||||
* @Description: api请求日志
|
||||
* @Author: jeecg-boot
|
||||
|
|
@ -11,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
*/
|
||||
public interface IApiRequestLogService extends IService<ApiRequestLog> {
|
||||
|
||||
IPage<ApiRequestLog> getApiRequestLogIPage(ApiRequestLog nuIotTqApiRequestLog, Integer pageNo, Integer pageSize, HttpServletRequest req);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,27 @@
|
|||
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.mapper.ApiRequestLogMapper;
|
||||
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 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请求日志
|
||||
|
|
@ -14,6 +30,88 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||
* @Version: V1.0
|
||||
*/
|
||||
@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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ 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.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.service.ISyncBizLogService;
|
||||
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 org.apache.commons.lang.StringUtils;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
import org.jeecg.common.util.DateUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMapper, ElectricityMeter> implements IElectricityMeterService {
|
||||
public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMapper, ElectricityMeter> implements IElectricityMeterService, IElectricityMeterApi {
|
||||
|
||||
@Autowired
|
||||
private TqApi tqApi;
|
||||
|
|
@ -74,6 +79,8 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
|
|||
baseMapper.updateRelayState(electricityMeter);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 清零
|
||||
*/
|
||||
|
|
@ -157,6 +164,23 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
|
|||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 拉合闸
|
||||
*/
|
||||
|
|
@ -245,6 +269,38 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 拉合闸
|
||||
*/
|
||||
@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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 抄电表
|
||||
*/
|
||||
|
|
@ -315,6 +371,13 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
|
|||
return Result.OK("抄表中,请1分钟后刷新页面");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<String> eleRead(ElectricityMeterEntity electricityMeterEntity) {
|
||||
ElectricityMeter electricityMeter = new ElectricityMeter();
|
||||
BeanUtils.copyProperties(electricityMeterEntity,electricityMeter);
|
||||
return syncImpl.eleRead(electricityMeter);
|
||||
}
|
||||
|
||||
/**
|
||||
* 清零回调通知
|
||||
*/
|
||||
|
|
@ -370,6 +433,7 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
|
|||
|
||||
/**
|
||||
* 清零同步到业务系统
|
||||
*
|
||||
* @param electricityMeter
|
||||
*/
|
||||
private void syncCleanMq(ElectricityMeter electricityMeter) {
|
||||
|
|
@ -456,6 +520,7 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
|
|||
|
||||
/**
|
||||
* 开关闸同步到业务系统
|
||||
*
|
||||
* @param electricityMeter
|
||||
*/
|
||||
private void syncControlMq(ElectricityMeter electricityMeter) {
|
||||
|
|
@ -549,6 +614,7 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
|
|||
|
||||
/**
|
||||
* 抄表同步到业务系统
|
||||
*
|
||||
* @param electricityMeter
|
||||
*/
|
||||
private void syncValueMq(ElectricityMeter electricityMeter) {
|
||||
|
|
@ -623,5 +689,6 @@ public class ElectricityMeterServiceImpl extends ServiceImpl<ElectricityMeterMap
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,9 +10,9 @@ 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.dto.IotWaterMeterMQDto;
|
||||
import com.nu.entity.WaterMeterEntity;
|
||||
import com.nu.modules.syncLog.entity.SyncBizLog;
|
||||
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.service.ITqApiLogService;
|
||||
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.mapper.WaterMeterMapper;
|
||||
import com.nu.modules.tq.water.service.IWaterMeterService;
|
||||
import com.nu.modules.water.api.IWaterApi;
|
||||
import com.nu.utils.RabbitMQUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import me.zhyd.oauth.utils.UuidUtils;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
import org.jeecg.common.util.DateUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMeter> implements IWaterMeterService {
|
||||
public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMeter> implements IWaterMeterService, IWaterApi {
|
||||
|
||||
@Autowired
|
||||
private TqApi tqApi;
|
||||
|
|
@ -370,6 +374,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
|
|||
|
||||
/**
|
||||
* 清零同步到业务系统
|
||||
*
|
||||
* @param waterMeter
|
||||
*/
|
||||
private void syncCleanMq(WaterMeter waterMeter) {
|
||||
|
|
@ -456,6 +461,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
|
|||
|
||||
/**
|
||||
* 开关阀同步到业务系统
|
||||
*
|
||||
* @param waterMeter
|
||||
*/
|
||||
private void syncControlMq(WaterMeter waterMeter) {
|
||||
|
|
@ -558,6 +564,7 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
|
|||
|
||||
/**
|
||||
* 抄表同步到业务系统
|
||||
*
|
||||
* @param waterMeter
|
||||
*/
|
||||
private void syncValueMq(WaterMeter waterMeter) {
|
||||
|
|
@ -594,7 +601,6 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
|
|||
}
|
||||
|
||||
|
||||
|
||||
//业务系统删除命令
|
||||
@DS("#dataSourceCode")
|
||||
public boolean syncElectricityDel(String dataSourceCode, WaterMeter waterMeter) {
|
||||
|
|
@ -623,4 +629,54 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
|
|||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue