From 759ccbfc701c60800da901d8b5822b3528a5b002 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期二, 10 三月 2026 11:23:58 +0800
Subject: [PATCH] 更改头部
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 99 insertions(+), 3 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
index e8b905c..f86d06c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
@@ -26,6 +26,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doumee.service.business.impl.hksync.HkSyncPushServiceImpl;
+import com.doumee.tcp.WaterElectricityUtil;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -33,6 +34,7 @@
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.*;
@@ -73,7 +75,9 @@
model.setIsdeleted(Constants.ZERO);
model.setEditDate(new Date());
model.setCreateDate(model.getEditDate());
- if(model.getDoorNameObj()!=null && Constants.equalsInteger(model.getType(),Constants.DEVICE_TYPE.duanluqi)){
+ if(model.getDoorNameObj()!=null &&
+ (Constants.equalsInteger(model.getType(),Constants.DEVICE_TYPE.duanluqi)
+ ||Constants.equalsInteger(model.getType(),Constants.DEVICE_TYPE.dianbiao))){
model.setDoorName(JSONObject.toJSONString(model.getDoorNameObj()));
if(StringUtils.isNotBlank(model.getLevel())){
if(getNumberByStr(model.getLevel()) <300){
@@ -115,7 +119,9 @@
public void updateById(Device device) {
device.setEdirot(device.getLoginUserInfo().getId()+"");
device.setEditDate(new Date());
- if(device.getDoorNameObj()!=null && Constants.equalsInteger(device.getType(),Constants.DEVICE_TYPE.duanluqi)){
+ if(device.getDoorNameObj()!=null &&
+ (Constants.equalsInteger(device.getType(),Constants.DEVICE_TYPE.duanluqi)
+ ||Constants.equalsInteger(device.getType(),Constants.DEVICE_TYPE.dianbiao))){
device.setDoorName(JSONObject.toJSONString(device.getDoorNameObj()));
}
Device model = deviceMapper.selectById(device.getId());
@@ -322,7 +328,9 @@
IPage<Device> result = deviceMapper.selectPage(page, queryWrapper);
if(result!=null){
for(Device d : result.getRecords()){
- if(StringUtils.isNotBlank(d.getDoorName()) &&Constants.equalsInteger(d.getType(),Constants.DEVICE_TYPE.duanluqi)){
+ if(StringUtils.isNotBlank(d.getDoorName())
+ && (Constants.equalsInteger(d.getType(),Constants.DEVICE_TYPE.duanluqi)||
+ Constants.equalsInteger(d.getType(),Constants.DEVICE_TYPE.dianbiao))){
try {
//鏂矾鍣ㄨ澶囧弬鏁�
d.setDoorNameObj(JSONObject.parseObject(d.getDoorName()));
@@ -404,6 +412,94 @@
dealDuanluqiCmd(model,param,"device_");
}
+ @Override
+ public void dianbaoCmd(Device param){
+ Device model = deviceMapper.selectById(param.getId());
+ if(model ==null && Constants.equalsInteger(param.getType(),Constants.DEVICE_TYPE.dianbiao)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ if (param.getStatus() == null || param.getCmdDate() == null
+ ||param.getCmdDate().getTime() <= System.currentTimeMillis()) {
+ //濡傛灉鏄紑闂�
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+
+ boolean r ;
+ String date = DateUtil.formatDate(new Date(),"yyyyMMddHHmmss");
+ if(Constants.equalsInteger(param.getStatus(),Constants.ONE)) {
+ //濡傛灉鏄紑闂�
+ r = WaterElectricityUtil.electricityAct(param.getIp(),Integer.parseInt(param.getPort()),param.getNo(),0,date);
+ }else {
+ //濡傛灉鏄悎闂�
+ r = WaterElectricityUtil.electricityAct(param.getIp(),Integer.parseInt(param.getPort()),param.getNo(),1,date);
+ }
+ if(!r){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"杩滅▼鎺у埗鐢佃〃澶辫触锛岃绋嶅悗閲嶈瘯锛�");
+ }
+ String curremak = "銆�"+param.getLoginUserInfo().getRealname()
+ +"銆戜簬"+ DateUtil.getPlusTime2(new Date()) +"杩涜浜�"+(Constants.equalsInteger(param.getStatus(),Constants.ONE)?"銆愬悎闂搞��":"銆愬垎闂搞��")+"鎿嶄綔,寮�鍏炽��"+param.getChannelNo()+"銆戯紱";
+ deviceMapper.update(null,new UpdateWrapper<Device>().lambda()
+ .set(Device::getRemark,curremak)
+ .set(Device::getEditDate,new Date())
+ .set(Device::getEdirot,param.getLoginUserInfo().getId())
+ .eq(Device::getId,param.getId()));
+ DeviceData data = new DeviceData();
+ data.setCreateDate(new Date());
+ data.setEditDate(new Date());
+ data.setCreator(param.getLoginUserInfo().getId());
+ data.setEditor(param.getLoginUserInfo().getId());
+ data.setDeviceId(param.getId()+"");
+ data.setDataType(Constants.ONE);//
+ data.setVal1("杩滅▼鎺у埗");
+ data.setVal2(curremak);
+ data.setHappenTime(DateUtil.getPlusTime2(data.getCreateDate()));
+ data.setVal3((Constants.equalsInteger(param.getStatus(),Constants.ONE)?"銆愬悎闂搞��":"銆愬垎闂搞��"));
+ data.setVal4(param.getLoginUserInfo().getRealname());
+ data.setVal5(param.getChannelNo());
+ deviceDataMapper.insert(data);
+
+ }
+ @Override
+ @Transactional
+ public void dianbiaoData(Device param){
+ Device model = deviceMapper.selectById(param.getId());
+ if(model ==null && Constants.equalsInteger(param.getType(),Constants.DEVICE_TYPE.dianbiao)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ try {
+ Map<String, Object> readData= WaterElectricityUtil.electricityData(model.getIp(),Integer.parseInt(model.getPort()),model.getNo());
+ if(readData!=null){
+ String curremak = "銆�"+param.getLoginUserInfo().getRealname()
+ +"銆戜簬"+ DateUtil.getPlusTime2(new Date()) +"杩涜浜嗘暟鎹鍙栨搷浣�";
+ Date time =(Date) readData.get("time");
+ String total = (Double) readData.get("total")+"";
+ String status = (String) readData.get("status");
+ model.setHkDate(new Date());//鏈�杩戝悓姝ユ椂闂�
+ model.setOnline(Constants.ONE);//鏍囪瘑璁惧鍦ㄧ嚎
+ model.setRemark(curremak);
+
+ DeviceData data = new DeviceData();
+ data.setCreateDate(new Date());
+ data.setEditDate(new Date());
+ data.setCreator(param.getLoginUserInfo().getId());
+ data.setEditor(param.getLoginUserInfo().getId());
+ data.setDeviceId(param.getId()+"");
+ data.setDataType(Constants.ZERO);//
+ data.setVal1(total);
+ data.setVal2(status);
+ data.setHappenTime(DateUtil.getPlusTime2(data.getCreateDate()));
+ data.setVal3(DateUtil.getPlusTime2(time));
+ data.setVal4(param.getLoginUserInfo().getRealname());
+ data.setVal5(param.getNo());//鍦板潃鍩�
+ deviceDataMapper.insert(data);
+ deviceMapper.updateById(model);
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ log.error("鐢佃〃鏁版嵁璇诲彇澶辫触锛�"+e.getMessage());
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"璇诲彇鐢佃〃鏁版嵁澶辫触锛�");
+ }
+ }
private void dealDuanluqiCmd(Device model, Device param,String clientIndex) {
MqttConfig config = getMqttConfigByParam(model,clientIndex);
--
Gitblit v1.9.3