From 17f8af09015c9651d63bd8b6d53e7a2aa5132c28 Mon Sep 17 00:00:00 2001 From: lld <15027638633@163.com> Date: Thu, 22 Jan 2026 18:20:12 +0800 Subject: [PATCH] =?UTF-8?q?mqtt=E6=9E=B6=E6=9E=84=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-mqtt.yml | 4 +- .../com/agri/framework/config/MqttConfig.java | 2 +- .../interceptor/MqttMessageHandler.java | 11 +- .../src/main/resources/vm/java/domain.java.vm | 3 + .../resources/vm/java/serviceImpl.java.vm | 2 +- agri-system/pom.xml | 5 + .../controller/SysDtuRemarkController.java | 114 ++++++ .../com/agri/system/domain/SysDtuRemark.java | 332 ++++++++++++++++++ .../agri/system/domain/vo/DtuSettingVo.java | 65 ++++ .../system/mapper/SysDtuRemarkMapper.java | 62 ++++ .../system/service/ISysDtuRemarkService.java | 61 ++++ .../service/impl/SysDtuRemarkServiceImpl.java | 94 +++++ .../mapper/system/SysDtuRemarkMapper.xml | 144 ++++++++ 13 files changed, 890 insertions(+), 9 deletions(-) create mode 100644 agri-system/src/main/java/com/agri/system/controller/SysDtuRemarkController.java create mode 100644 agri-system/src/main/java/com/agri/system/domain/SysDtuRemark.java create mode 100644 agri-system/src/main/java/com/agri/system/domain/vo/DtuSettingVo.java create mode 100644 agri-system/src/main/java/com/agri/system/mapper/SysDtuRemarkMapper.java create mode 100644 agri-system/src/main/java/com/agri/system/service/ISysDtuRemarkService.java create mode 100644 agri-system/src/main/java/com/agri/system/service/impl/SysDtuRemarkServiceImpl.java create mode 100644 agri-system/src/main/resources/mapper/system/SysDtuRemarkMapper.xml diff --git a/agri-admin/src/main/resources/application-mqtt.yml b/agri-admin/src/main/resources/application-mqtt.yml index b9964bf..e6540ef 100644 --- a/agri-admin/src/main/resources/application-mqtt.yml +++ b/agri-admin/src/main/resources/application-mqtt.yml @@ -6,10 +6,10 @@ spring: password: Admin#12345678 # Mosquitto密码 client-id: springboot-backend # 截取UUID前8位(自动去横线) default-topic: dtu/+/up,frontend/+/control/+,frontend/+/online # 后端监听的主题 - qos: 1 # 消息可靠性 + qos: 0 # 消息可靠性 timeout: 60 # 连接超时 keep-alive: 60 # 心跳间隔 latest-ttl-seconds: 120 #设备最新状态缓存的过期时间(秒)。 # 自动关闭任务线程池大小 auto-off-thread-pool-size: 5 - sub-ttl-seconds: 3600 # 在线新跳ttl \ No newline at end of file + subc-ttl-seconds: 3600 # 在线新跳ttl \ No newline at end of file diff --git a/agri-framework/src/main/java/com/agri/framework/config/MqttConfig.java b/agri-framework/src/main/java/com/agri/framework/config/MqttConfig.java index bede747..477f52b 100644 --- a/agri-framework/src/main/java/com/agri/framework/config/MqttConfig.java +++ b/agri-framework/src/main/java/com/agri/framework/config/MqttConfig.java @@ -125,7 +125,7 @@ public class MqttConfig { connectOptions.setCleanSession(false); // 开启自动重连:连接断开后自动尝试重连,提升稳定性(方案A核心) - connectOptions.setAutomaticReconnect(true); + connectOptions.setAutomaticReconnect(false); // 设置最大重连间隔(秒):避免频繁重连消耗资源 connectOptions.setMaxReconnectDelay(30); return connectOptions; diff --git a/agri-framework/src/main/java/com/agri/framework/interceptor/MqttMessageHandler.java b/agri-framework/src/main/java/com/agri/framework/interceptor/MqttMessageHandler.java index 2451abd..9d2845a 100644 --- a/agri-framework/src/main/java/com/agri/framework/interceptor/MqttMessageHandler.java +++ b/agri-framework/src/main/java/com/agri/framework/interceptor/MqttMessageHandler.java @@ -181,7 +181,7 @@ public class MqttMessageHandler implements SmartLifecycle { int[] qosArray = new int[topics.length]; // 按主题类型设置QoS:控制指令/状态用QoS 1 for (int i = 0; i < topics.length; i++) { - qosArray[i] = 1; + qosArray[i] = 0; topics[i] = topics[i].trim(); } @@ -289,6 +289,7 @@ public class MqttMessageHandler implements SmartLifecycle { return; } +// log.info("【设备处理】JSON解析:{}",payloadObj); // 解析设备ID:主题格式为dtu/{deviceId}/up,分割后第2个元素是设备ID String deviceId = topic.split("/")[1]; @@ -394,7 +395,7 @@ public class MqttMessageHandler implements SmartLifecycle { String frontendTopic = "frontend/" + clientId + "/dtu/" + deviceId + "/listener"; // 发布消息 mqttMessageSender.publish(frontendTopic, payload); - // log.info("【设备状态转发】设备{} → 前端{},主题:{}", deviceId, clientId, frontendTopic); + log.info("【设备状态转发】设备{} → 前端{},主题:{}", deviceId, clientId, frontendTopic); } // 删掉设备对应的客户端 if (stale != null && !stale.isEmpty()) { @@ -575,7 +576,7 @@ public class MqttMessageHandler implements SmartLifecycle { String deviceTopic = "dtu/" + deviceId + "/down"; //todo - // mqttMessageSender.publish(deviceTopic, down.toJSONString()); + mqttMessageSender.publish(deviceTopic, down.toJSONString()); log.info("【自动关任务】检测仍在运行,已下发关闭:deviceId={}, funcType={}, payload={}", deviceId, funcType, down.toJSONString()); } else { log.info("【自动关任务】检测未运行或状态未知,跳过关闭:deviceId={}, funcType={}, current={}", deviceId, funcType, current); @@ -644,7 +645,7 @@ public class MqttMessageHandler implements SmartLifecycle { // 4. 转发指令到设备 String deviceTopic = "dtu/" + deviceId + "/down"; //todo - // mqttMessageSender.publish(deviceTopic, payload); + mqttMessageSender.publish(deviceTopic, payload); log.info("【指令转发】前端{} → 设备{}的{}功能", clientId, deviceId, funcType); } @@ -667,7 +668,7 @@ public class MqttMessageHandler implements SmartLifecycle { stringRedisTemplate.expire("subc:" + clientId, subcTtlSeconds, TimeUnit.SECONDS); // todo 生产环境不建议打印每次心跳 - log.debug("【在线心跳】clientId={} 续期subcTTL={}s payload={}", clientId, subcTtlSeconds, payload); +// log.debug("【在线心跳】clientId={} 续期subcTTL={}s payload={}", clientId, subcTtlSeconds, payload); } catch (Exception e) { log.warn("【在线心跳】处理失败 topic={} msg={}", topic, e.getMessage()); } diff --git a/agri-generator/src/main/resources/vm/java/domain.java.vm b/agri-generator/src/main/resources/vm/java/domain.java.vm index 9398297..f447a5f 100644 --- a/agri-generator/src/main/resources/vm/java/domain.java.vm +++ b/agri-generator/src/main/resources/vm/java/domain.java.vm @@ -7,6 +7,9 @@ import com.baomidou.mybatisplus.annotation.TableName; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.baomidou.mybatisplus.annotation.TableField; +#if($column.javaField == 'version') +import com.baomidou.mybatisplus.annotation.Version; +#end import com.baomidou.mybatisplus.annotation.TableName; import com.agri.common.annotation.Excel; #if($table.crud || $table.sub) diff --git a/agri-generator/src/main/resources/vm/java/serviceImpl.java.vm b/agri-generator/src/main/resources/vm/java/serviceImpl.java.vm index 5a4f377..f11c736 100644 --- a/agri-generator/src/main/resources/vm/java/serviceImpl.java.vm +++ b/agri-generator/src/main/resources/vm/java/serviceImpl.java.vm @@ -7,7 +7,7 @@ import com.agri.common.utils.DateUtils; #break #end #end -import org.springframework.beans.factory.annotation.Autowired; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; #if($table.sub) import java.util.ArrayList; diff --git a/agri-system/pom.xml b/agri-system/pom.xml index b47553b..8051c05 100644 --- a/agri-system/pom.xml +++ b/agri-system/pom.xml @@ -22,6 +22,11 @@ com.agri agri-common + + org.projectlombok + lombok + provided + diff --git a/agri-system/src/main/java/com/agri/system/controller/SysDtuRemarkController.java b/agri-system/src/main/java/com/agri/system/controller/SysDtuRemarkController.java new file mode 100644 index 0000000..552a734 --- /dev/null +++ b/agri-system/src/main/java/com/agri/system/controller/SysDtuRemarkController.java @@ -0,0 +1,114 @@ +package com.agri.system.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import org.apache.ibatis.ognl.ObjectElementsAccessor; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import com.agri.common.annotation.Log; +import com.agri.common.core.controller.BaseController; +import com.agri.common.core.domain.AjaxResult; +import com.agri.common.enums.BusinessType; +import com.agri.system.domain.SysDtuRemark; +import com.agri.system.service.ISysDtuRemarkService; +import com.agri.common.utils.poi.ExcelUtil; +import com.agri.common.core.page.TableDataInfo; + +/** + * dtu设备备注Controller + * + * @author lld + * @date 2026-01-21 + */ +@RestController +@RequestMapping("/assets/remark") +public class SysDtuRemarkController extends BaseController +{ + @Autowired + private ISysDtuRemarkService sysDtuRemarkService; + + /** + * 查询dtu设备备注列表 + */ + @PreAuthorize("@ss.hasPermi('assets:remark:list')") + @GetMapping("/list") + public TableDataInfo list(SysDtuRemark sysDtuRemark) + { + startPage(); + List list = sysDtuRemarkService.selectSysDtuRemarkList(sysDtuRemark); + return getDataTable(list); + } + + /** + * 导出dtu设备备注列表 + */ + @PreAuthorize("@ss.hasPermi('assets:remark:export')") + @Log(title = "dtu设备备注", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SysDtuRemark sysDtuRemark) + { + List list = sysDtuRemarkService.selectSysDtuRemarkList(sysDtuRemark); + ExcelUtil util = new ExcelUtil(SysDtuRemark.class); + util.exportExcel(response, list, "dtu设备备注数据"); + } + + /** + * 获取dtu设备备注详细信息 + */ + @PreAuthorize("@ss.hasPermi('assets:remark:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(sysDtuRemarkService.selectSysDtuRemarkById(id)); + } + + /** + * 新增dtu设备备注 + */ + @PreAuthorize("@ss.hasPermi('assets:remark:add')") + @Log(title = "dtu设备备注", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody SysDtuRemark sysDtuRemark) + { + return toAjax(sysDtuRemarkService.insertSysDtuRemark(sysDtuRemark)); + } + + /** + * 修改dtu设备备注 + */ + @PreAuthorize("@ss.hasPermi('assets:remark:edit')") + @Log(title = "dtu设备备注", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody SysDtuRemark sysDtuRemark) + { + return toAjax(sysDtuRemarkService.updateSysDtuRemark(sysDtuRemark)); + } + + /** + * 删除dtu设备备注 + */ + @PreAuthorize("@ss.hasPermi('assets:remark:remove')") + @Log(title = "dtu设备备注", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(sysDtuRemarkService.deleteSysDtuRemarkByIds(ids)); + } + + + /** + * 获取dtu设备备注详细信息 + */ + @PreAuthorize("@ss.hasPermi('assets:remark:query')") + @GetMapping(value = "/getDtuByImei") + public AjaxResult getDtuByImei(@RequestParam("imei") String imei) + { + SysDtuRemark sysDtuRemark = sysDtuRemarkService.lambdaQuery().eq(SysDtuRemark::getImei, imei).one(); + return success(sysDtuRemark); + } + + + +} diff --git a/agri-system/src/main/java/com/agri/system/domain/SysDtuRemark.java b/agri-system/src/main/java/com/agri/system/domain/SysDtuRemark.java new file mode 100644 index 0000000..e4ab42b --- /dev/null +++ b/agri-system/src/main/java/com/agri/system/domain/SysDtuRemark.java @@ -0,0 +1,332 @@ +package com.agri.system.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.Version; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.agri.common.annotation.Excel; +import com.agri.common.core.domain.BaseEntity; + +/** + * dtu设备备注对象 sys_dtu_remark + * + * @author lld + * @date 2026-01-21 + */ +@TableName("sys_dtu_remark") +public class SysDtuRemark extends BaseEntity +{ + @TableField(exist = false) + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private Long id; + + /** 设备唯一标识(IMEI/DeviceId) */ + @Excel(name = "设备唯一标识(IMEI/DeviceId)") + private String imei; + + /** 卷被开 */ + @Excel(name = "卷被开") + private String jbk; + + /** 卷被关 */ + @Excel(name = "卷被关") + private String jbg; + + /** 卷膜1开 */ + @Excel(name = "卷膜1开") + private String jm1k; + + /** 卷膜1关 */ + @Excel(name = "卷膜1关") + private String jm1g; + + /** 卷膜2开 */ + @Excel(name = "卷膜2开") + private String jm2k; + + /** 卷膜2关 */ + @Excel(name = "卷膜2关") + private String jm2g; + + /** 卷膜3开 */ + @Excel(name = "卷膜3开") + private String jm3k; + + /** 卷膜3关 */ + @Excel(name = "卷膜3关") + private String jm3g; + + /** 温度1(℃) */ + @Excel(name = "温度1(℃)") + private String temp1; + + /** 湿度1(%RH) */ + @Excel(name = "湿度1(%RH)") + private String humi1; + + /** 温度2(℃) */ + @Excel(name = "温度2(℃)") + private String temp2; + + /** 湿度2(%RH) */ + @Excel(name = "湿度2(%RH)") + private String humi2; + + /** 温度3(℃) */ + @Excel(name = "温度3(℃)") + private String temp3; + + /** 湿度3(%RH) */ + @Excel(name = "湿度3(%RH)") + private String humi3; + + /** 温度4(℃) */ + @Excel(name = "温度4(℃)") + private String temp4; + + /** 湿度4(%RH) */ + @Excel(name = "湿度4(%RH)") + private String humi4; + + /** 数据版本号(乐观锁) */ + @Excel(name = "数据版本号", readConverterExp = "乐=观锁") + @Version + private String version; + + /** 扩展备注(JSON格式,存储临时/自定义配置) */ + private String extJson; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setImei(String imei) + { + this.imei = imei; + } + + public String getImei() + { + return imei; + } + + public void setJbk(String jbk) + { + this.jbk = jbk; + } + + public String getJbk() + { + return jbk; + } + + public void setJbg(String jbg) + { + this.jbg = jbg; + } + + public String getJbg() + { + return jbg; + } + + public void setJm1k(String jm1k) + { + this.jm1k = jm1k; + } + + public String getJm1k() + { + return jm1k; + } + + public void setJm1g(String jm1g) + { + this.jm1g = jm1g; + } + + public String getJm1g() + { + return jm1g; + } + + public void setJm2k(String jm2k) + { + this.jm2k = jm2k; + } + + public String getJm2k() + { + return jm2k; + } + + public void setJm2g(String jm2g) + { + this.jm2g = jm2g; + } + + public String getJm2g() + { + return jm2g; + } + + public void setJm3k(String jm3k) + { + this.jm3k = jm3k; + } + + public String getJm3k() + { + return jm3k; + } + + public void setJm3g(String jm3g) + { + this.jm3g = jm3g; + } + + public String getJm3g() + { + return jm3g; + } + + public void setTemp1(String temp1) + { + this.temp1 = temp1; + } + + public String getTemp1() + { + return temp1; + } + + public void setHumi1(String humi1) + { + this.humi1 = humi1; + } + + public String getHumi1() + { + return humi1; + } + + public void setTemp2(String temp2) + { + this.temp2 = temp2; + } + + public String getTemp2() + { + return temp2; + } + + public void setHumi2(String humi2) + { + this.humi2 = humi2; + } + + public String getHumi2() + { + return humi2; + } + + public void setTemp3(String temp3) + { + this.temp3 = temp3; + } + + public String getTemp3() + { + return temp3; + } + + public void setHumi3(String humi3) + { + this.humi3 = humi3; + } + + public String getHumi3() + { + return humi3; + } + + public void setTemp4(String temp4) + { + this.temp4 = temp4; + } + + public String getTemp4() + { + return temp4; + } + + public void setHumi4(String humi4) + { + this.humi4 = humi4; + } + + public String getHumi4() + { + return humi4; + } + + public void setVersion(String version) + { + this.version = version; + } + + public String getVersion() + { + return version; + } + + public void setExtJson(String extJson) + { + this.extJson = extJson; + } + + public String getExtJson() + { + return extJson; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("imei", getImei()) + .append("jbk", getJbk()) + .append("jbg", getJbg()) + .append("jm1k", getJm1k()) + .append("jm1g", getJm1g()) + .append("jm2k", getJm2k()) + .append("jm2g", getJm2g()) + .append("jm3k", getJm3k()) + .append("jm3g", getJm3g()) + .append("temp1", getTemp1()) + .append("humi1", getHumi1()) + .append("temp2", getTemp2()) + .append("humi2", getHumi2()) + .append("temp3", getTemp3()) + .append("humi3", getHumi3()) + .append("temp4", getTemp4()) + .append("humi4", getHumi4()) + .append("version", getVersion()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("extJson", getExtJson()) + .toString(); + } +} diff --git a/agri-system/src/main/java/com/agri/system/domain/vo/DtuSettingVo.java b/agri-system/src/main/java/com/agri/system/domain/vo/DtuSettingVo.java new file mode 100644 index 0000000..fd17f47 --- /dev/null +++ b/agri-system/src/main/java/com/agri/system/domain/vo/DtuSettingVo.java @@ -0,0 +1,65 @@ +package com.agri.system.domain.vo; + +import com.baomidou.mybatisplus.annotation.Version; +import lombok.Data; + +@Data +public class DtuSettingVo { + + /** 设备唯一标识(IMEI/DeviceId) */ + private String imei; + + /** 卷被开 */ + private String jbk; + + /** 卷被关 */ + private String jbg; + + /** 卷膜1开 */ + private String jm1k; + + /** 卷膜1关 */ + private String jm1g; + + /** 卷膜2开 */ + private String jm2k; + + /** 卷膜2关 */ + private String jm2g; + + /** 卷膜3开 */ + private String jm3k; + + /** 卷膜3关 */ + private String jm3g; + + /** 温度1(℃) */ + private String temp1; + + /** 湿度1(%RH) */ + private String humi1; + + /** 温度2(℃) */ + private String temp2; + + /** 湿度2(%RH) */ + private String humi2; + + /** 温度3(℃) */ + private String temp3; + + /** 湿度3(%RH) */ + private String humi3; + + /** 温度4(℃) */ + private String temp4; + + /** 湿度4(%RH) */ + private String humi4; + + /** 数据版本号(乐观锁) */ + private String version; + + /** 扩展备注(JSON格式,存储临时/自定义配置) */ + private String extJson; +} diff --git a/agri-system/src/main/java/com/agri/system/mapper/SysDtuRemarkMapper.java b/agri-system/src/main/java/com/agri/system/mapper/SysDtuRemarkMapper.java new file mode 100644 index 0000000..1f8a3f0 --- /dev/null +++ b/agri-system/src/main/java/com/agri/system/mapper/SysDtuRemarkMapper.java @@ -0,0 +1,62 @@ +package com.agri.system.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.agri.system.domain.SysDtuRemark; + +/** + * dtu设备备注Mapper接口 + * + * @author lld + * @date 2026-01-21 + */ +public interface SysDtuRemarkMapper extends BaseMapper +{ + /** + * 查询dtu设备备注 + * + * @param id dtu设备备注主键 + * @return dtu设备备注 + */ + public SysDtuRemark selectSysDtuRemarkById(Long id); + + /** + * 查询dtu设备备注列表 + * + * @param sysDtuRemark dtu设备备注 + * @return dtu设备备注集合 + */ + public List selectSysDtuRemarkList(SysDtuRemark sysDtuRemark); + + /** + * 新增dtu设备备注 + * + * @param sysDtuRemark dtu设备备注 + * @return 结果 + */ + public int insertSysDtuRemark(SysDtuRemark sysDtuRemark); + + /** + * 修改dtu设备备注 + * + * @param sysDtuRemark dtu设备备注 + * @return 结果 + */ + public int updateSysDtuRemark(SysDtuRemark sysDtuRemark); + + /** + * 删除dtu设备备注 + * + * @param id dtu设备备注主键 + * @return 结果 + */ + public int deleteSysDtuRemarkById(Long id); + + /** + * 批量删除dtu设备备注 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteSysDtuRemarkByIds(Long[] ids); +} diff --git a/agri-system/src/main/java/com/agri/system/service/ISysDtuRemarkService.java b/agri-system/src/main/java/com/agri/system/service/ISysDtuRemarkService.java new file mode 100644 index 0000000..9bab892 --- /dev/null +++ b/agri-system/src/main/java/com/agri/system/service/ISysDtuRemarkService.java @@ -0,0 +1,61 @@ +package com.agri.system.service; + +import java.util.List; +import com.baomidou.mybatisplus.extension.service.IService; +import com.agri.system.domain.SysDtuRemark; + +/** + * dtu设备备注Service接口 + * + * @author lld + * @date 2026-01-21 + */ +public interface ISysDtuRemarkService extends IService { + /** + * 查询dtu设备备注 + * + * @param id dtu设备备注主键 + * @return dtu设备备注 + */ + public SysDtuRemark selectSysDtuRemarkById(Long id); + + /** + * 查询dtu设备备注列表 + * + * @param sysDtuRemark dtu设备备注 + * @return dtu设备备注集合 + */ + public List selectSysDtuRemarkList(SysDtuRemark sysDtuRemark); + + /** + * 新增dtu设备备注 + * + * @param sysDtuRemark dtu设备备注 + * @return 结果 + */ + public int insertSysDtuRemark(SysDtuRemark sysDtuRemark); + + /** + * 修改dtu设备备注 + * + * @param sysDtuRemark dtu设备备注 + * @return 结果 + */ + public int updateSysDtuRemark(SysDtuRemark sysDtuRemark); + + /** + * 批量删除dtu设备备注 + * + * @param ids 需要删除的dtu设备备注主键集合 + * @return 结果 + */ + public int deleteSysDtuRemarkByIds(Long[] ids); + + /** + * 删除dtu设备备注信息 + * + * @param id dtu设备备注主键 + * @return 结果 + */ + public int deleteSysDtuRemarkById(Long id); +} diff --git a/agri-system/src/main/java/com/agri/system/service/impl/SysDtuRemarkServiceImpl.java b/agri-system/src/main/java/com/agri/system/service/impl/SysDtuRemarkServiceImpl.java new file mode 100644 index 0000000..84e7fff --- /dev/null +++ b/agri-system/src/main/java/com/agri/system/service/impl/SysDtuRemarkServiceImpl.java @@ -0,0 +1,94 @@ +package com.agri.system.service.impl; + +import java.util.List; +import com.agri.common.utils.DateUtils; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import com.agri.system.mapper.SysDtuRemarkMapper; +import com.agri.system.domain.SysDtuRemark; +import com.agri.system.service.ISysDtuRemarkService; + +/** + * dtu设备备注Service业务层处理 + * + * @author lld + * @date 2026-01-21 + */ +@Service +public class SysDtuRemarkServiceImpl extends ServiceImpl implements ISysDtuRemarkService +{ + + /** + * 查询dtu设备备注 + * + * @param id dtu设备备注主键 + * @return dtu设备备注 + */ + @Override + public SysDtuRemark selectSysDtuRemarkById(Long id) + { + return baseMapper.selectSysDtuRemarkById(id); + } + + /** + * 查询dtu设备备注列表 + * + * @param sysDtuRemark dtu设备备注 + * @return dtu设备备注 + */ + @Override + public List selectSysDtuRemarkList(SysDtuRemark sysDtuRemark) + { + return baseMapper.selectSysDtuRemarkList(sysDtuRemark); + } + + /** + * 新增dtu设备备注 + * + * @param sysDtuRemark dtu设备备注 + * @return 结果 + */ + @Override + public int insertSysDtuRemark(SysDtuRemark sysDtuRemark) + { + sysDtuRemark.setCreateTime(DateUtils.getNowDate()); + return baseMapper.insertSysDtuRemark(sysDtuRemark); + } + + /** + * 修改dtu设备备注 + * + * @param sysDtuRemark dtu设备备注 + * @return 结果 + */ + @Override + public int updateSysDtuRemark(SysDtuRemark sysDtuRemark) + { + sysDtuRemark.setUpdateTime(DateUtils.getNowDate()); + return baseMapper.updateSysDtuRemark(sysDtuRemark); + } + + /** + * 批量删除dtu设备备注 + * + * @param ids 需要删除的dtu设备备注主键 + * @return 结果 + */ + @Override + public int deleteSysDtuRemarkByIds(Long[] ids) + { + return baseMapper.deleteSysDtuRemarkByIds(ids); + } + + /** + * 删除dtu设备备注信息 + * + * @param id dtu设备备注主键 + * @return 结果 + */ + @Override + public int deleteSysDtuRemarkById(Long id) + { + return baseMapper.deleteSysDtuRemarkById(id); + } +} diff --git a/agri-system/src/main/resources/mapper/system/SysDtuRemarkMapper.xml b/agri-system/src/main/resources/mapper/system/SysDtuRemarkMapper.xml new file mode 100644 index 0000000..0aeff3e --- /dev/null +++ b/agri-system/src/main/resources/mapper/system/SysDtuRemarkMapper.xml @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, imei, jbk, jbg, jm1k, jm1g, jm2k, jm2g, jm3k, jm3g, temp1, humi1, temp2, humi2, temp3, humi3, temp4, humi4, version, create_by, create_time, update_by, update_time, ext_json from sys_dtu_remark + + + + + + + + insert into sys_dtu_remark + + imei, + jbk, + jbg, + jm1k, + jm1g, + jm2k, + jm2g, + jm3k, + jm3g, + temp1, + humi1, + temp2, + humi2, + temp3, + humi3, + temp4, + humi4, + version, + create_by, + create_time, + update_by, + update_time, + ext_json, + + + #{imei}, + #{jbk}, + #{jbg}, + #{jm1k}, + #{jm1g}, + #{jm2k}, + #{jm2g}, + #{jm3k}, + #{jm3g}, + #{temp1}, + #{humi1}, + #{temp2}, + #{humi2}, + #{temp3}, + #{humi3}, + #{temp4}, + #{humi4}, + #{version}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{extJson}, + + + + + update sys_dtu_remark + + imei = #{imei}, + jbk = #{jbk}, + jbg = #{jbg}, + jm1k = #{jm1k}, + jm1g = #{jm1g}, + jm2k = #{jm2k}, + jm2g = #{jm2g}, + jm3k = #{jm3k}, + jm3g = #{jm3g}, + temp1 = #{temp1}, + humi1 = #{humi1}, + temp2 = #{temp2}, + humi2 = #{humi2}, + temp3 = #{temp3}, + humi3 = #{humi3}, + temp4 = #{temp4}, + humi4 = #{humi4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + version = #{version}, + ext_json = #{extJson}, + + where id = #{id} + + + + delete from sys_dtu_remark where id = #{id} + + + + delete from sys_dtu_remark where id in + + #{id} + + + \ No newline at end of file