diff --git a/doc/若依环境使用手册.docx b/doc/若依环境使用手册.docx deleted file mode 100644 index 9e4daef..0000000 Binary files a/doc/若依环境使用手册.docx and /dev/null differ diff --git a/src/main/java/com/evobms/framework/config/MyBatisConfig.java b/src/main/java/com/evobms/framework/config/MyBatisConfig.java index 65246a7..0e37c90 100644 --- a/src/main/java/com/evobms/framework/config/MyBatisConfig.java +++ b/src/main/java/com/evobms/framework/config/MyBatisConfig.java @@ -8,8 +8,8 @@ import java.util.List; import javax.sql.DataSource; import org.apache.ibatis.io.VFS; import org.apache.ibatis.session.SqlSessionFactory; -import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.boot.autoconfigure.SpringBootVFS; +import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -122,11 +122,11 @@ public class MyBatisConfig typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage); VFS.addImplClass(SpringBootVFS.class); - final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); + final MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean(); sessionFactory.setDataSource(dataSource); sessionFactory.setTypeAliasesPackage(typeAliasesPackage); sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ","))); sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation)); return sessionFactory.getObject(); } -} \ No newline at end of file +} diff --git a/src/main/java/com/evobms/framework/web/domain/BaseEntity.java b/src/main/java/com/evobms/framework/web/domain/BaseEntity.java index 09b58d5..f0f5d92 100644 --- a/src/main/java/com/evobms/framework/web/domain/BaseEntity.java +++ b/src/main/java/com/evobms/framework/web/domain/BaseEntity.java @@ -4,13 +4,14 @@ import java.io.Serializable; import java.util.Date; import java.util.HashMap; import java.util.Map; +import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; /** * Entity基类 - * + * * @author ruoyi */ public class BaseEntity implements Serializable @@ -19,6 +20,7 @@ public class BaseEntity implements Serializable /** 搜索值 */ @JsonIgnore + @TableField(exist = false) private String searchValue; /** 创建者 */ @@ -36,10 +38,12 @@ public class BaseEntity implements Serializable private Date updateTime; /** 备注 */ + @TableField(exist = false) private String remark; /** 请求参数 */ @JsonInclude(JsonInclude.Include.NON_EMPTY) + @TableField(exist = false) private Map params; public String getSearchValue() diff --git a/src/main/java/com/evobms/project/Battery/domain/ChargeDischargeSummary.java b/src/main/java/com/evobms/project/Battery/domain/ChargeDischargeSummary.java deleted file mode 100644 index b6f963c..0000000 --- a/src/main/java/com/evobms/project/Battery/domain/ChargeDischargeSummary.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.evobms.project.Battery.domain; - -import java.math.BigDecimal; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.evobms.framework.aspectj.lang.annotation.Excel; -import com.evobms.framework.web.domain.BaseEntity; - -public class ChargeDischargeSummary extends BaseEntity { - private static final long serialVersionUID = 1L; - - private Long id; - - @Excel(name = "设备ID") - private String deviceId; - - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "数据时间戳", width = 30, dateFormat = "yyyy-MM-dd") - private Date timestamp; - - @Excel(name = "累计放电电量(kWh)") - private BigDecimal dischargeKwh; - - @Excel(name = "累计充电电量(kWh)") - private BigDecimal chargeKwh; - - public Long getId() { return id; } - public void setId(Long id) { this.id = id; } - - public String getDeviceId() { return deviceId; } - public void setDeviceId(String deviceId) { this.deviceId = deviceId; } - - public Date getTimestamp() { return timestamp; } - public void setTimestamp(Date timestamp) { this.timestamp = timestamp; } - - public BigDecimal getDischargeKwh() { return dischargeKwh; } - public void setDischargeKwh(BigDecimal dischargeKwh) { this.dischargeKwh = dischargeKwh; } - - public BigDecimal getChargeKwh() { return chargeKwh; } - public void setChargeKwh(BigDecimal chargeKwh) { this.chargeKwh = chargeKwh; } - - @Override - public String toString() { - return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("deviceId", getDeviceId()) - .append("timestamp", getTimestamp()) - .append("dischargeKwh", getDischargeKwh()) - .append("chargeKwh", getChargeKwh()) - .append("createTime", getCreateTime()) - .append("updateTime", getUpdateTime()) - .append("createBy", getCreateBy()) - .append("updateBy", getUpdateBy()) - .toString(); - } -} \ No newline at end of file diff --git a/src/main/java/com/evobms/project/Battery/domain/SubsystemVoltage.java b/src/main/java/com/evobms/project/Battery/domain/SubsystemVoltage.java deleted file mode 100644 index 9512f5a..0000000 --- a/src/main/java/com/evobms/project/Battery/domain/SubsystemVoltage.java +++ /dev/null @@ -1,223 +0,0 @@ -package com.evobms.project.Battery.domain; - -import java.math.BigDecimal; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.evobms.framework.aspectj.lang.annotation.Excel; -import com.evobms.framework.web.domain.BaseEntity; - -/** - * 可充电储能子系统电压信息对象 subsystem_voltage - * - * @author 田志阳 - * @date 2025-11-15 - */ -public class SubsystemVoltage extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 主键ID */ - private Long id; - - /** 设备ID */ - @Excel(name = "设备ID") - private String deviceId; - - /** 数据时间戳 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "数据时间戳", width = 30, dateFormat = "yyyy-MM-dd") - private Date timestamp; - - /** 可充电储能子系统个数 */ - @Excel(name = "可充电储能子系统个数") - private Integer subsystemCount; - - /** 可充电储能子系统号 */ - @Excel(name = "可充电储能子系统号") - private Integer subsystemNo; - - /** 可充电储能装置电压(V) */ - @Excel(name = "可充电储能装置电压(V)") - private BigDecimal subsystemVoltage; - - /** 可充电储能装置电流(A) */ - @Excel(name = "可充电储能装置电流(A)") - private BigDecimal subsystemCurrent; - - /** 单体电池总数 */ - @Excel(name = "单体电池总数") - private Integer totalBatteryCount; - - /** 本帧起始电池序号 */ - @Excel(name = "本帧起始电池序号") - private Integer frameStartBatteryNo; - - /** 本帧单体电池总数 */ - @Excel(name = "本帧单体电池总数") - private Integer frameBatteryCount; - - /** 单体电池电压数组(V) */ - @Excel(name = "单体电池电压数组(V)") - private String batteryVoltages; - - /** 创建时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") - private Date createdAt; - - /** 更新时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd") - private Date updatedAt; - - public void setId(Long id) - { - this.id = id; - } - - public Long getId() - { - return id; - } - - public void setDeviceId(String deviceId) - { - this.deviceId = deviceId; - } - - public String getDeviceId() - { - return deviceId; - } - - public void setTimestamp(Date timestamp) - { - this.timestamp = timestamp; - } - - public Date getTimestamp() - { - return timestamp; - } - - public void setSubsystemCount(Integer subsystemCount) - { - this.subsystemCount = subsystemCount; - } - - public Integer getSubsystemCount() - { - return subsystemCount; - } - - public void setSubsystemNo(Integer subsystemNo) - { - this.subsystemNo = subsystemNo; - } - - public Integer getSubsystemNo() - { - return subsystemNo; - } - - public void setSubsystemVoltage(BigDecimal subsystemVoltage) - { - this.subsystemVoltage = subsystemVoltage; - } - - public BigDecimal getSubsystemVoltage() - { - return subsystemVoltage; - } - - public void setSubsystemCurrent(BigDecimal subsystemCurrent) - { - this.subsystemCurrent = subsystemCurrent; - } - - public BigDecimal getSubsystemCurrent() - { - return subsystemCurrent; - } - - public void setTotalBatteryCount(Integer totalBatteryCount) - { - this.totalBatteryCount = totalBatteryCount; - } - - public Integer getTotalBatteryCount() - { - return totalBatteryCount; - } - - public void setFrameStartBatteryNo(Integer frameStartBatteryNo) - { - this.frameStartBatteryNo = frameStartBatteryNo; - } - - public Integer getFrameStartBatteryNo() - { - return frameStartBatteryNo; - } - - public void setFrameBatteryCount(Integer frameBatteryCount) - { - this.frameBatteryCount = frameBatteryCount; - } - - public Integer getFrameBatteryCount() - { - return frameBatteryCount; - } - - public void setBatteryVoltages(String batteryVoltages) - { - this.batteryVoltages = batteryVoltages; - } - - public String getBatteryVoltages() - { - return batteryVoltages; - } - - public void setCreatedAt(Date createdAt) - { - this.createdAt = createdAt; - } - - public Date getCreatedAt() - { - return createdAt; - } - - public void setUpdatedAt(Date updatedAt) - { - this.updatedAt = updatedAt; - } - - public Date getUpdatedAt() - { - return updatedAt; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("deviceId", getDeviceId()) - .append("timestamp", getTimestamp()) - .append("subsystemCount", getSubsystemCount()) - .append("subsystemNo", getSubsystemNo()) - .append("subsystemVoltage", getSubsystemVoltage()) - .append("subsystemCurrent", getSubsystemCurrent()) - .append("totalBatteryCount", getTotalBatteryCount()) - .append("frameStartBatteryNo", getFrameStartBatteryNo()) - .append("frameBatteryCount", getFrameBatteryCount()) - .append("batteryVoltages", getBatteryVoltages()) - .append("createdAt", getCreatedAt()) - .append("updatedAt", getUpdatedAt()) - .toString(); - } -} diff --git a/src/main/java/com/evobms/project/Battery/mapper/ChargeDischargeSummaryMapper.java b/src/main/java/com/evobms/project/Battery/mapper/ChargeDischargeSummaryMapper.java deleted file mode 100644 index 4f65e49..0000000 --- a/src/main/java/com/evobms/project/Battery/mapper/ChargeDischargeSummaryMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.evobms.project.Battery.mapper; - -import java.util.List; -import com.evobms.project.Battery.domain.ChargeDischargeSummary; - -public interface ChargeDischargeSummaryMapper { - ChargeDischargeSummary selectChargeDischargeSummaryById(Long id); - List selectChargeDischargeSummaryList(ChargeDischargeSummary summary); - int insertChargeDischargeSummary(ChargeDischargeSummary summary); - int updateChargeDischargeSummary(ChargeDischargeSummary summary); - int deleteChargeDischargeSummaryById(Long id); - int deleteChargeDischargeSummaryByIds(Long[] ids); -} \ No newline at end of file diff --git a/src/main/java/com/evobms/project/Battery/service/IChargeDischargeSummaryService.java b/src/main/java/com/evobms/project/Battery/service/IChargeDischargeSummaryService.java deleted file mode 100644 index 40889f8..0000000 --- a/src/main/java/com/evobms/project/Battery/service/IChargeDischargeSummaryService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.evobms.project.Battery.service; - -import java.util.List; -import com.evobms.project.Battery.domain.ChargeDischargeSummary; - -public interface IChargeDischargeSummaryService { - ChargeDischargeSummary selectChargeDischargeSummaryById(Long id); - List selectChargeDischargeSummaryList(ChargeDischargeSummary summary); - int insertChargeDischargeSummary(ChargeDischargeSummary summary); - int updateChargeDischargeSummary(ChargeDischargeSummary summary); - int deleteChargeDischargeSummaryByIds(Long[] ids); - int deleteChargeDischargeSummaryById(Long id); -} \ No newline at end of file diff --git a/src/main/java/com/evobms/project/Battery/service/impl/ChargeDischargeSummaryServiceImpl.java b/src/main/java/com/evobms/project/Battery/service/impl/ChargeDischargeSummaryServiceImpl.java deleted file mode 100644 index 8eab53a..0000000 --- a/src/main/java/com/evobms/project/Battery/service/impl/ChargeDischargeSummaryServiceImpl.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.evobms.project.Battery.service.impl; - -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.evobms.project.Battery.mapper.ChargeDischargeSummaryMapper; -import com.evobms.project.Battery.domain.ChargeDischargeSummary; -import com.evobms.project.Battery.service.IChargeDischargeSummaryService; -import com.evobms.common.utils.DateUtils; - -@Service -public class ChargeDischargeSummaryServiceImpl implements IChargeDischargeSummaryService { - @Autowired - private ChargeDischargeSummaryMapper chargeDischargeSummaryMapper; - - @Override - public ChargeDischargeSummary selectChargeDischargeSummaryById(Long id) { - return chargeDischargeSummaryMapper.selectChargeDischargeSummaryById(id); - } - - @Override - public List selectChargeDischargeSummaryList(ChargeDischargeSummary summary) { - return chargeDischargeSummaryMapper.selectChargeDischargeSummaryList(summary); - } - - @Override - public int insertChargeDischargeSummary(ChargeDischargeSummary summary) { - summary.setCreateTime(DateUtils.getNowDate()); - return chargeDischargeSummaryMapper.insertChargeDischargeSummary(summary); - } - - @Override - public int updateChargeDischargeSummary(ChargeDischargeSummary summary) { - summary.setUpdateTime(DateUtils.getNowDate()); - return chargeDischargeSummaryMapper.updateChargeDischargeSummary(summary); - } - - @Override - public int deleteChargeDischargeSummaryByIds(Long[] ids) { - return chargeDischargeSummaryMapper.deleteChargeDischargeSummaryByIds(ids); - } - - @Override - public int deleteChargeDischargeSummaryById(Long id) { - return chargeDischargeSummaryMapper.deleteChargeDischargeSummaryById(id); - } -} \ No newline at end of file diff --git a/src/main/java/com/evobms/project/VehicleData/service/impl/VehicleDataServiceImpl.java b/src/main/java/com/evobms/project/VehicleData/service/impl/VehicleDataServiceImpl.java deleted file mode 100644 index 8566234..0000000 --- a/src/main/java/com/evobms/project/VehicleData/service/impl/VehicleDataServiceImpl.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.evobms.project.VehicleData.service.impl; - -import java.util.Date; -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.evobms.project.VehicleData.mapper.VehicleDataMapper; -import com.evobms.project.VehicleData.domain.VehicleData; -import com.evobms.project.VehicleData.service.IVehicleDataService; - -/** - * 整车数据Service业务层处理 - * - * @author 田志阳 - * @date 2025-11-15 - */ -@Service -public class VehicleDataServiceImpl implements IVehicleDataService -{ - @Autowired - private VehicleDataMapper vehicleDataMapper; - - /** - * 查询整车数据 - * - * @param id 整车数据主键 - * @return 整车数据 - */ - @Override - public VehicleData selectVehicleDataById(Long id) - { - return vehicleDataMapper.selectVehicleDataById(id); - } - - /** - * 查询整车数据列表 - * - * @param vehicleData 整车数据 - * @return 整车数据 - */ - @Override - public List selectVehicleDataList(VehicleData vehicleData) - { - return vehicleDataMapper.selectVehicleDataList(vehicleData); - } - - /** - * 新增整车数据 - * - * @param vehicleData 整车数据 - * @return 结果 - */ - @Override - public int insertVehicleData(VehicleData vehicleData) - { - return vehicleDataMapper.insertVehicleData(vehicleData); - } - - /** - * 修改整车数据 - * - * @param vehicleData 整车数据 - * @return 结果 - */ - @Override - public int updateVehicleData(VehicleData vehicleData) - { - return vehicleDataMapper.updateVehicleData(vehicleData); - } - - /** - * 批量删除整车数据 - * - * @param ids 需要删除的整车数据主键 - * @return 结果 - */ - @Override - public int deleteVehicleDataByIds(Long[] ids) - { - return vehicleDataMapper.deleteVehicleDataByIds(ids); - } - - /** - * 删除整车数据信息 - * - * @param id 整车数据主键 - * @return 结果 - */ - @Override - public int deleteVehicleDataById(Long id) - { - return vehicleDataMapper.deleteVehicleDataById(id); - } - - @Override - public List selectByDeviceAndStartTime(String deviceId, Date startTime) { - return vehicleDataMapper.selectByDeviceAndStartTime(deviceId, startTime); - } - - @Override - public VehicleData selectLatestByDeviceId(String deviceId) { - return vehicleDataMapper.selectLatestByDeviceId(deviceId); - } -} diff --git a/src/main/java/com/evobms/project/VehicleData/service/impl/VehicleLocationServiceImpl.java b/src/main/java/com/evobms/project/VehicleData/service/impl/VehicleLocationServiceImpl.java deleted file mode 100644 index 2610adf..0000000 --- a/src/main/java/com/evobms/project/VehicleData/service/impl/VehicleLocationServiceImpl.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.evobms.project.VehicleData.service.impl; - -import java.util.Date; -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.evobms.project.VehicleData.mapper.VehicleLocationMapper; -import com.evobms.project.VehicleData.domain.VehicleLocation; -import com.evobms.project.VehicleData.service.IVehicleLocationService; - -/** - * 车辆位置数据Service业务层处理 - * - * @author ruoyi - * @date 2025-11-15 - */ -@Service -public class VehicleLocationServiceImpl implements IVehicleLocationService -{ - @Autowired - private VehicleLocationMapper vehicleLocationMapper; - - /** - * 查询车辆位置数据 - * - * @param id 车辆位置数据主键 - * @return 车辆位置数据 - */ - @Override - public VehicleLocation selectVehicleLocationById(Long id) - { - return vehicleLocationMapper.selectVehicleLocationById(id); - } - - /** - * 查询车辆位置数据列表 - * - * @param vehicleLocation 车辆位置数据 - * @return 车辆位置数据 - */ - @Override - public List selectVehicleLocationList(VehicleLocation vehicleLocation) - { - return vehicleLocationMapper.selectVehicleLocationList(vehicleLocation); - } - - /** - * 新增车辆位置数据 - * - * @param vehicleLocation 车辆位置数据 - * @return 结果 - */ - @Override - public int insertVehicleLocation(VehicleLocation vehicleLocation) - { - return vehicleLocationMapper.insertVehicleLocation(vehicleLocation); - } - - /** - * 修改车辆位置数据 - * - * @param vehicleLocation 车辆位置数据 - * @return 结果 - */ - @Override - public int updateVehicleLocation(VehicleLocation vehicleLocation) - { - return vehicleLocationMapper.updateVehicleLocation(vehicleLocation); - } - - /** - * 批量删除车辆位置数据 - * - * @param ids 需要删除的车辆位置数据主键 - * @return 结果 - */ - @Override - public int deleteVehicleLocationByIds(Long[] ids) - { - return vehicleLocationMapper.deleteVehicleLocationByIds(ids); - } - - /** - * 删除车辆位置数据信息 - * - * @param id 车辆位置数据主键 - * @return 结果 - */ - @Override - public int deleteVehicleLocationById(Long id) - { - return vehicleLocationMapper.deleteVehicleLocationById(id); - } - - @Override - public VehicleLocation selectLatestByDeviceId(String deviceId) { - return vehicleLocationMapper.selectLatestByDeviceId(deviceId); - } - - @Override - public List selectByDeviceAndRange(String deviceId, Date start, Date end, Integer limit) { - return vehicleLocationMapper.selectByDeviceAndRange(deviceId, start, end, limit); - } -} diff --git a/src/main/java/com/evobms/project/Battery/controller/ExtremeValuesController.java b/src/main/java/com/evobms/project/battery/controller/ExtremeValuesController.java similarity index 95% rename from src/main/java/com/evobms/project/Battery/controller/ExtremeValuesController.java rename to src/main/java/com/evobms/project/battery/controller/ExtremeValuesController.java index 3ce9d73..71c5d5b 100644 --- a/src/main/java/com/evobms/project/Battery/controller/ExtremeValuesController.java +++ b/src/main/java/com/evobms/project/battery/controller/ExtremeValuesController.java @@ -1,4 +1,4 @@ -package com.evobms.project.Battery.controller; +package com.evobms.project.battery.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; @@ -14,8 +14,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.evobms.framework.aspectj.lang.annotation.Log; import com.evobms.framework.aspectj.lang.enums.BusinessType; -import com.evobms.project.Battery.domain.ExtremeValues; -import com.evobms.project.Battery.service.IExtremeValuesService; +import com.evobms.project.battery.domain.ExtremeValues; +import com.evobms.project.battery.service.IExtremeValuesService; import com.evobms.framework.web.controller.BaseController; import com.evobms.framework.web.domain.AjaxResult; import com.evobms.common.utils.poi.ExcelUtil; @@ -23,7 +23,7 @@ import com.evobms.framework.web.page.TableDataInfo; /** * 电池极值数据Controller - * + * * @author 田志阳 * @date 2025-10-14 */ diff --git a/src/main/java/com/evobms/project/Battery/controller/SubsystemTemperatureController.java b/src/main/java/com/evobms/project/battery/controller/SubsystemTemperatureController.java similarity index 95% rename from src/main/java/com/evobms/project/Battery/controller/SubsystemTemperatureController.java rename to src/main/java/com/evobms/project/battery/controller/SubsystemTemperatureController.java index a8cfd97..fd230dc 100644 --- a/src/main/java/com/evobms/project/Battery/controller/SubsystemTemperatureController.java +++ b/src/main/java/com/evobms/project/battery/controller/SubsystemTemperatureController.java @@ -1,4 +1,4 @@ -package com.evobms.project.Battery.controller; +package com.evobms.project.battery.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; @@ -14,8 +14,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.evobms.framework.aspectj.lang.annotation.Log; import com.evobms.framework.aspectj.lang.enums.BusinessType; -import com.evobms.project.Battery.domain.SubsystemTemperature; -import com.evobms.project.Battery.service.ISubsystemTemperatureService; +import com.evobms.project.battery.domain.SubsystemTemperature; +import com.evobms.project.battery.service.ISubsystemTemperatureService; import com.evobms.framework.web.controller.BaseController; import com.evobms.framework.web.domain.AjaxResult; import com.evobms.common.utils.poi.ExcelUtil; @@ -23,7 +23,7 @@ import com.evobms.framework.web.page.TableDataInfo; /** * 可充电储能子系统温度信息Controller - * + * * @author 田志阳 * @date 2025-11-15 */ diff --git a/src/main/java/com/evobms/project/Battery/controller/SubsystemVoltageController.java b/src/main/java/com/evobms/project/battery/controller/SubsystemVoltageController.java similarity index 95% rename from src/main/java/com/evobms/project/Battery/controller/SubsystemVoltageController.java rename to src/main/java/com/evobms/project/battery/controller/SubsystemVoltageController.java index edb6ab0..16c4b38 100644 --- a/src/main/java/com/evobms/project/Battery/controller/SubsystemVoltageController.java +++ b/src/main/java/com/evobms/project/battery/controller/SubsystemVoltageController.java @@ -1,4 +1,4 @@ -package com.evobms.project.Battery.controller; +package com.evobms.project.battery.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; @@ -14,8 +14,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.evobms.framework.aspectj.lang.annotation.Log; import com.evobms.framework.aspectj.lang.enums.BusinessType; -import com.evobms.project.Battery.domain.SubsystemVoltage; -import com.evobms.project.Battery.service.ISubsystemVoltageService; +import com.evobms.project.battery.domain.SubsystemVoltage; +import com.evobms.project.battery.service.ISubsystemVoltageService; import com.evobms.framework.web.controller.BaseController; import com.evobms.framework.web.domain.AjaxResult; import com.evobms.common.utils.poi.ExcelUtil; @@ -23,7 +23,7 @@ import com.evobms.framework.web.page.TableDataInfo; /** * 可充电储能子系统电压信息Controller - * + * * @author 田志阳 * @date 2025-11-15 */ diff --git a/src/main/java/com/evobms/project/Battery/domain/ExtremeValues.java b/src/main/java/com/evobms/project/battery/domain/ExtremeValues.java similarity index 81% rename from src/main/java/com/evobms/project/Battery/domain/ExtremeValues.java rename to src/main/java/com/evobms/project/battery/domain/ExtremeValues.java index d4a0cae..efc1949 100644 --- a/src/main/java/com/evobms/project/Battery/domain/ExtremeValues.java +++ b/src/main/java/com/evobms/project/battery/domain/ExtremeValues.java @@ -1,4 +1,4 @@ -package com.evobms.project.Battery.domain; +package com.evobms.project.battery.domain; import java.math.BigDecimal; import java.util.Date; @@ -10,7 +10,7 @@ import com.evobms.framework.web.domain.BaseEntity; /** * 电池极值数据对象 extreme_values - * + * * @author 田志阳 * @date 2025-10-14 */ @@ -26,8 +26,8 @@ public class ExtremeValues extends BaseEntity private String deviceId; /** 数据时间戳 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "数据时间戳", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "数据时间戳", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date timestamp; /** 最高电压电池子系统号 */ @@ -78,152 +78,152 @@ public class ExtremeValues extends BaseEntity @Excel(name = "最低温度值(℃)") private BigDecimal minTempValue; - public void setId(Long id) + public void setId(Long id) { this.id = id; } - public Long getId() + public Long getId() { return id; } - public void setDeviceId(String deviceId) + public void setDeviceId(String deviceId) { this.deviceId = deviceId; } - public String getDeviceId() + public String getDeviceId() { return deviceId; } - public void setTimestamp(Date timestamp) + public void setTimestamp(Date timestamp) { this.timestamp = timestamp; } - public Date getTimestamp() + public Date getTimestamp() { return timestamp; } - public void setMaxVoltageSubsystemNo(Integer maxVoltageSubsystemNo) + public void setMaxVoltageSubsystemNo(Integer maxVoltageSubsystemNo) { this.maxVoltageSubsystemNo = maxVoltageSubsystemNo; } - public Integer getMaxVoltageSubsystemNo() + public Integer getMaxVoltageSubsystemNo() { return maxVoltageSubsystemNo; } - public void setMaxVoltageBatteryNo(Integer maxVoltageBatteryNo) + public void setMaxVoltageBatteryNo(Integer maxVoltageBatteryNo) { this.maxVoltageBatteryNo = maxVoltageBatteryNo; } - public Integer getMaxVoltageBatteryNo() + public Integer getMaxVoltageBatteryNo() { return maxVoltageBatteryNo; } - public void setMaxVoltageValue(BigDecimal maxVoltageValue) + public void setMaxVoltageValue(BigDecimal maxVoltageValue) { this.maxVoltageValue = maxVoltageValue; } - public BigDecimal getMaxVoltageValue() + public BigDecimal getMaxVoltageValue() { return maxVoltageValue; } - public void setMinVoltageSubsystemNo(Integer minVoltageSubsystemNo) + public void setMinVoltageSubsystemNo(Integer minVoltageSubsystemNo) { this.minVoltageSubsystemNo = minVoltageSubsystemNo; } - public Integer getMinVoltageSubsystemNo() + public Integer getMinVoltageSubsystemNo() { return minVoltageSubsystemNo; } - public void setMinVoltageBatteryNo(Integer minVoltageBatteryNo) + public void setMinVoltageBatteryNo(Integer minVoltageBatteryNo) { this.minVoltageBatteryNo = minVoltageBatteryNo; } - public Integer getMinVoltageBatteryNo() + public Integer getMinVoltageBatteryNo() { return minVoltageBatteryNo; } - public void setMinVoltageValue(BigDecimal minVoltageValue) + public void setMinVoltageValue(BigDecimal minVoltageValue) { this.minVoltageValue = minVoltageValue; } - public BigDecimal getMinVoltageValue() + public BigDecimal getMinVoltageValue() { return minVoltageValue; } - public void setMaxTempSubsystemNo(Integer maxTempSubsystemNo) + public void setMaxTempSubsystemNo(Integer maxTempSubsystemNo) { this.maxTempSubsystemNo = maxTempSubsystemNo; } - public Integer getMaxTempSubsystemNo() + public Integer getMaxTempSubsystemNo() { return maxTempSubsystemNo; } - public void setMaxTempProbeNo(Integer maxTempProbeNo) + public void setMaxTempProbeNo(Integer maxTempProbeNo) { this.maxTempProbeNo = maxTempProbeNo; } - public Integer getMaxTempProbeNo() + public Integer getMaxTempProbeNo() { return maxTempProbeNo; } - public void setMaxTempValue(BigDecimal maxTempValue) + public void setMaxTempValue(BigDecimal maxTempValue) { this.maxTempValue = maxTempValue; } - public BigDecimal getMaxTempValue() + public BigDecimal getMaxTempValue() { return maxTempValue; } - public void setMinTempSubsystemNo(Integer minTempSubsystemNo) + public void setMinTempSubsystemNo(Integer minTempSubsystemNo) { this.minTempSubsystemNo = minTempSubsystemNo; } - public Integer getMinTempSubsystemNo() + public Integer getMinTempSubsystemNo() { return minTempSubsystemNo; } - public void setMinTempProbeNo(Integer minTempProbeNo) + public void setMinTempProbeNo(Integer minTempProbeNo) { this.minTempProbeNo = minTempProbeNo; } - public Integer getMinTempProbeNo() + public Integer getMinTempProbeNo() { return minTempProbeNo; } - public void setMinTempValue(BigDecimal minTempValue) + public void setMinTempValue(BigDecimal minTempValue) { this.minTempValue = minTempValue; } - public BigDecimal getMinTempValue() + public BigDecimal getMinTempValue() { return minTempValue; } diff --git a/src/main/java/com/evobms/project/Battery/domain/SubsystemTemperature.java b/src/main/java/com/evobms/project/battery/domain/SubsystemTemperature.java similarity index 88% rename from src/main/java/com/evobms/project/Battery/domain/SubsystemTemperature.java rename to src/main/java/com/evobms/project/battery/domain/SubsystemTemperature.java index c9aa8b5..28f2fb9 100644 --- a/src/main/java/com/evobms/project/Battery/domain/SubsystemTemperature.java +++ b/src/main/java/com/evobms/project/battery/domain/SubsystemTemperature.java @@ -1,10 +1,8 @@ -package com.evobms.project.Battery.domain; +package com.evobms.project.battery.domain; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; import com.evobms.framework.aspectj.lang.annotation.Excel; import com.evobms.framework.web.domain.BaseEntity; @@ -27,8 +25,8 @@ public class SubsystemTemperature extends BaseEntity private String deviceId; /** 数据时间戳 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "数据时间戳", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "数据时间戳", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date timestamp; /** 可充电储能子系统个数 */ diff --git a/src/main/java/com/evobms/project/battery/domain/SubsystemVoltage.java b/src/main/java/com/evobms/project/battery/domain/SubsystemVoltage.java new file mode 100644 index 0000000..6dab1c8 --- /dev/null +++ b/src/main/java/com/evobms/project/battery/domain/SubsystemVoltage.java @@ -0,0 +1,77 @@ +package com.evobms.project.battery.domain; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.evobms.framework.aspectj.lang.annotation.Excel; +import com.evobms.framework.web.domain.BaseEntity; + +/** + * 可充电储能子系统电压信息对象 subsystem_voltage + * + * @author 田志阳 + * @date 2025-11-15 + */ +@Data +public class SubsystemVoltage extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private Long id; + + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + /** 数据时间戳 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "数据时间戳", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date timestamp; + + /** 可充电储能子系统个数 */ + @Excel(name = "可充电储能子系统个数") + private Integer subsystemCount; + + /** 可充电储能子系统号 */ + @Excel(name = "可充电储能子系统号") + private Integer subsystemNo; + + /** 可充电储能装置电压(V) */ + @Excel(name = "可充电储能装置电压(V)") + private BigDecimal subsystemVoltage; + + /** 可充电储能装置电流(A) */ + @Excel(name = "可充电储能装置电流(A)") + private BigDecimal subsystemCurrent; + + /** 单体电池总数 */ + @Excel(name = "单体电池总数") + private Integer totalBatteryCount; + + /** 本帧起始电池序号 */ + @Excel(name = "本帧起始电池序号") + private Integer frameStartBatteryNo; + + /** 本帧单体电池总数 */ + @Excel(name = "本帧单体电池总数") + private Integer frameBatteryCount; + + /** 单体电池电压数组(V) */ + @Excel(name = "单体电池电压数组(V)") + private String batteryVoltages; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date createTime; + + /** 更新时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date updateTime; + +} diff --git a/src/main/java/com/evobms/project/Battery/mapper/ExtremeValuesMapper.java b/src/main/java/com/evobms/project/battery/mapper/ExtremeValuesMapper.java similarity index 84% rename from src/main/java/com/evobms/project/Battery/mapper/ExtremeValuesMapper.java rename to src/main/java/com/evobms/project/battery/mapper/ExtremeValuesMapper.java index fb55d67..537c2e8 100644 --- a/src/main/java/com/evobms/project/Battery/mapper/ExtremeValuesMapper.java +++ b/src/main/java/com/evobms/project/battery/mapper/ExtremeValuesMapper.java @@ -1,21 +1,22 @@ -package com.evobms.project.Battery.mapper; +package com.evobms.project.battery.mapper; import java.util.List; -import com.evobms.project.Battery.domain.ExtremeValues; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.evobms.project.battery.domain.ExtremeValues; import org.apache.ibatis.annotations.Param; import java.util.Date; /** * 电池极值数据Mapper接口 - * + * * @author 田志阳 * @date 2025-10-14 */ -public interface ExtremeValuesMapper -{ +public interface ExtremeValuesMapper extends BaseMapper { /** * 查询电池极值数据 - * + * * @param id 电池极值数据主键 * @return 电池极值数据 */ @@ -23,7 +24,7 @@ public interface ExtremeValuesMapper /** * 查询电池极值数据列表 - * + * * @param extremeValues 电池极值数据 * @return 电池极值数据集合 */ @@ -31,7 +32,7 @@ public interface ExtremeValuesMapper /** * 新增电池极值数据 - * + * * @param extremeValues 电池极值数据 * @return 结果 */ @@ -39,7 +40,7 @@ public interface ExtremeValuesMapper /** * 修改电池极值数据 - * + * * @param extremeValues 电池极值数据 * @return 结果 */ @@ -47,7 +48,7 @@ public interface ExtremeValuesMapper /** * 删除电池极值数据 - * + * * @param id 电池极值数据主键 * @return 结果 */ @@ -55,7 +56,7 @@ public interface ExtremeValuesMapper /** * 批量删除电池极值数据 - * + * * @param ids 需要删除的数据主键集合 * @return 结果 */ diff --git a/src/main/java/com/evobms/project/Battery/mapper/SubsystemTemperatureMapper.java b/src/main/java/com/evobms/project/battery/mapper/SubsystemTemperatureMapper.java similarity index 92% rename from src/main/java/com/evobms/project/Battery/mapper/SubsystemTemperatureMapper.java rename to src/main/java/com/evobms/project/battery/mapper/SubsystemTemperatureMapper.java index 884de0a..66fbbb2 100644 --- a/src/main/java/com/evobms/project/Battery/mapper/SubsystemTemperatureMapper.java +++ b/src/main/java/com/evobms/project/battery/mapper/SubsystemTemperatureMapper.java @@ -1,13 +1,13 @@ -package com.evobms.project.Battery.mapper; +package com.evobms.project.battery.mapper; import java.util.List; -import com.evobms.project.Battery.domain.SubsystemTemperature; +import com.evobms.project.battery.domain.SubsystemTemperature; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; /** * 可充电储能子系统温度信息Mapper接口 - * + * * @author 田志阳 * @date 2025-11-15 */ @@ -15,7 +15,7 @@ public interface SubsystemTemperatureMapper extends BaseMapper { /** * 查询可充电储能子系统电压信息 - * + * * @param id 可充电储能子系统电压信息主键 * @return 可充电储能子系统电压信息 */ @@ -23,7 +23,7 @@ public interface SubsystemVoltageMapper extends BaseMapper /** * 查询可充电储能子系统电压信息列表 - * + * * @param subsystemVoltage 可充电储能子系统电压信息 * @return 可充电储能子系统电压信息集合 */ @@ -31,7 +31,7 @@ public interface SubsystemVoltageMapper extends BaseMapper /** * 新增可充电储能子系统电压信息 - * + * * @param subsystemVoltage 可充电储能子系统电压信息 * @return 结果 */ @@ -39,7 +39,7 @@ public interface SubsystemVoltageMapper extends BaseMapper /** * 修改可充电储能子系统电压信息 - * + * * @param subsystemVoltage 可充电储能子系统电压信息 * @return 结果 */ @@ -47,7 +47,7 @@ public interface SubsystemVoltageMapper extends BaseMapper /** * 删除可充电储能子系统电压信息 - * + * * @param id 可充电储能子系统电压信息主键 * @return 结果 */ @@ -55,7 +55,7 @@ public interface SubsystemVoltageMapper extends BaseMapper /** * 批量删除可充电储能子系统电压信息 - * + * * @param ids 需要删除的数据主键集合 * @return 结果 */ diff --git a/src/main/java/com/evobms/project/Battery/service/IExtremeValuesService.java b/src/main/java/com/evobms/project/battery/service/IExtremeValuesService.java similarity index 87% rename from src/main/java/com/evobms/project/Battery/service/IExtremeValuesService.java rename to src/main/java/com/evobms/project/battery/service/IExtremeValuesService.java index 5b33980..40b4e43 100644 --- a/src/main/java/com/evobms/project/Battery/service/IExtremeValuesService.java +++ b/src/main/java/com/evobms/project/battery/service/IExtremeValuesService.java @@ -1,19 +1,19 @@ -package com.evobms.project.Battery.service; +package com.evobms.project.battery.service; import java.util.List; -import com.evobms.project.Battery.domain.ExtremeValues; +import com.evobms.project.battery.domain.ExtremeValues; /** * 电池极值数据Service接口 - * + * * @author 田志阳 * @date 2025-10-14 */ -public interface IExtremeValuesService +public interface IExtremeValuesService { /** * 查询电池极值数据 - * + * * @param id 电池极值数据主键 * @return 电池极值数据 */ @@ -21,7 +21,7 @@ public interface IExtremeValuesService /** * 查询电池极值数据列表 - * + * * @param extremeValues 电池极值数据 * @return 电池极值数据集合 */ @@ -29,7 +29,7 @@ public interface IExtremeValuesService /** * 新增电池极值数据 - * + * * @param extremeValues 电池极值数据 * @return 结果 */ @@ -37,7 +37,7 @@ public interface IExtremeValuesService /** * 修改电池极值数据 - * + * * @param extremeValues 电池极值数据 * @return 结果 */ @@ -45,7 +45,7 @@ public interface IExtremeValuesService /** * 批量删除电池极值数据 - * + * * @param ids 需要删除的电池极值数据主键集合 * @return 结果 */ @@ -53,7 +53,7 @@ public interface IExtremeValuesService /** * 删除电池极值数据信息 - * + * * @param id 电池极值数据主键 * @return 结果 */ diff --git a/src/main/java/com/evobms/project/Battery/service/ISubsystemTemperatureService.java b/src/main/java/com/evobms/project/battery/service/ISubsystemTemperatureService.java similarity index 89% rename from src/main/java/com/evobms/project/Battery/service/ISubsystemTemperatureService.java rename to src/main/java/com/evobms/project/battery/service/ISubsystemTemperatureService.java index f1aa54d..f9dfe0b 100644 --- a/src/main/java/com/evobms/project/Battery/service/ISubsystemTemperatureService.java +++ b/src/main/java/com/evobms/project/battery/service/ISubsystemTemperatureService.java @@ -1,19 +1,19 @@ -package com.evobms.project.Battery.service; +package com.evobms.project.battery.service; import java.util.List; -import com.evobms.project.Battery.domain.SubsystemTemperature; +import com.evobms.project.battery.domain.SubsystemTemperature; /** * 可充电储能子系统温度信息Service接口 - * + * * @author 田志阳 * @date 2025-11-15 */ -public interface ISubsystemTemperatureService +public interface ISubsystemTemperatureService { /** * 查询可充电储能子系统温度信息 - * + * * @param id 可充电储能子系统温度信息主键 * @return 可充电储能子系统温度信息 */ @@ -21,7 +21,7 @@ public interface ISubsystemTemperatureService /** * 查询可充电储能子系统温度信息列表 - * + * * @param subsystemTemperature 可充电储能子系统温度信息 * @return 可充电储能子系统温度信息集合 */ @@ -29,7 +29,7 @@ public interface ISubsystemTemperatureService /** * 新增可充电储能子系统温度信息 - * + * * @param subsystemTemperature 可充电储能子系统温度信息 * @return 结果 */ @@ -37,7 +37,7 @@ public interface ISubsystemTemperatureService /** * 修改可充电储能子系统温度信息 - * + * * @param subsystemTemperature 可充电储能子系统温度信息 * @return 结果 */ @@ -45,7 +45,7 @@ public interface ISubsystemTemperatureService /** * 批量删除可充电储能子系统温度信息 - * + * * @param ids 需要删除的可充电储能子系统温度信息主键集合 * @return 结果 */ @@ -53,7 +53,7 @@ public interface ISubsystemTemperatureService /** * 删除可充电储能子系统温度信息信息 - * + * * @param id 可充电储能子系统温度信息主键 * @return 结果 */ diff --git a/src/main/java/com/evobms/project/Battery/service/ISubsystemVoltageService.java b/src/main/java/com/evobms/project/battery/service/ISubsystemVoltageService.java similarity index 89% rename from src/main/java/com/evobms/project/Battery/service/ISubsystemVoltageService.java rename to src/main/java/com/evobms/project/battery/service/ISubsystemVoltageService.java index 468a730..1e89c1c 100644 --- a/src/main/java/com/evobms/project/Battery/service/ISubsystemVoltageService.java +++ b/src/main/java/com/evobms/project/battery/service/ISubsystemVoltageService.java @@ -1,19 +1,19 @@ -package com.evobms.project.Battery.service; +package com.evobms.project.battery.service; import java.util.List; -import com.evobms.project.Battery.domain.SubsystemVoltage; +import com.evobms.project.battery.domain.SubsystemVoltage; /** * 可充电储能子系统电压信息Service接口 - * + * * @author 田志阳 * @date 2025-11-15 */ -public interface ISubsystemVoltageService +public interface ISubsystemVoltageService { /** * 查询可充电储能子系统电压信息 - * + * * @param id 可充电储能子系统电压信息主键 * @return 可充电储能子系统电压信息 */ @@ -21,7 +21,7 @@ public interface ISubsystemVoltageService /** * 查询可充电储能子系统电压信息列表 - * + * * @param subsystemVoltage 可充电储能子系统电压信息 * @return 可充电储能子系统电压信息集合 */ @@ -29,7 +29,7 @@ public interface ISubsystemVoltageService /** * 新增可充电储能子系统电压信息 - * + * * @param subsystemVoltage 可充电储能子系统电压信息 * @return 结果 */ @@ -37,7 +37,7 @@ public interface ISubsystemVoltageService /** * 修改可充电储能子系统电压信息 - * + * * @param subsystemVoltage 可充电储能子系统电压信息 * @return 结果 */ @@ -45,7 +45,7 @@ public interface ISubsystemVoltageService /** * 批量删除可充电储能子系统电压信息 - * + * * @param ids 需要删除的可充电储能子系统电压信息主键集合 * @return 结果 */ @@ -53,7 +53,7 @@ public interface ISubsystemVoltageService /** * 删除可充电储能子系统电压信息信息 - * + * * @param id 可充电储能子系统电压信息主键 * @return 结果 */ diff --git a/src/main/java/com/evobms/project/Battery/service/impl/ExtremeValuesServiceImpl.java b/src/main/java/com/evobms/project/battery/service/impl/ExtremeValuesServiceImpl.java similarity index 59% rename from src/main/java/com/evobms/project/Battery/service/impl/ExtremeValuesServiceImpl.java rename to src/main/java/com/evobms/project/battery/service/impl/ExtremeValuesServiceImpl.java index ea45207..af08b0a 100644 --- a/src/main/java/com/evobms/project/Battery/service/impl/ExtremeValuesServiceImpl.java +++ b/src/main/java/com/evobms/project/battery/service/impl/ExtremeValuesServiceImpl.java @@ -1,28 +1,30 @@ -package com.evobms.project.Battery.service.impl; +package com.evobms.project.battery.service.impl; import java.util.List; import com.evobms.common.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.evobms.project.Battery.mapper.ExtremeValuesMapper; -import com.evobms.project.Battery.domain.ExtremeValues; -import com.evobms.project.Battery.service.IExtremeValuesService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.evobms.project.battery.mapper.ExtremeValuesMapper; +import com.evobms.project.battery.domain.ExtremeValues; +import com.evobms.project.battery.service.IExtremeValuesService; /** * 电池极值数据Service业务层处理 - * + * * @author 田志阳 * @date 2025-10-14 */ @Service -public class ExtremeValuesServiceImpl implements IExtremeValuesService +public class ExtremeValuesServiceImpl extends ServiceImpl implements IExtremeValuesService { @Autowired private ExtremeValuesMapper extremeValuesMapper; /** * 查询电池极值数据 - * + * * @param id 电池极值数据主键 * @return 电池极值数据 */ @@ -34,19 +36,40 @@ public class ExtremeValuesServiceImpl implements IExtremeValuesService /** * 查询电池极值数据列表 - * + * * @param extremeValues 电池极值数据 * @return 电池极值数据 */ @Override public List selectExtremeValuesList(ExtremeValues extremeValues) { - return extremeValuesMapper.selectExtremeValuesList(extremeValues); + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + if (extremeValues != null) { + if (extremeValues.getDeviceId() != null && !extremeValues.getDeviceId().isEmpty()) { + qw.eq(ExtremeValues::getDeviceId, extremeValues.getDeviceId()); + } + if (extremeValues.getTimestamp() != null) { + qw.ge(ExtremeValues::getTimestamp, extremeValues.getTimestamp()); + } + java.util.Map params = extremeValues.getParams(); + if (params != null) { + java.util.Date begin = com.evobms.common.utils.DateUtils.parseDate(params.get("beginTime")); + java.util.Date end = com.evobms.common.utils.DateUtils.parseDate(params.get("endTime")); + if (begin != null) { + qw.ge(ExtremeValues::getTimestamp, begin); + } + if (end != null) { + qw.le(ExtremeValues::getTimestamp, end); + } + } + } + qw.orderByDesc(ExtremeValues::getTimestamp); + return extremeValuesMapper.selectList(qw); } /** * 新增电池极值数据 - * + * * @param extremeValues 电池极值数据 * @return 结果 */ @@ -59,7 +82,7 @@ public class ExtremeValuesServiceImpl implements IExtremeValuesService /** * 修改电池极值数据 - * + * * @param extremeValues 电池极值数据 * @return 结果 */ @@ -72,7 +95,7 @@ public class ExtremeValuesServiceImpl implements IExtremeValuesService /** * 批量删除电池极值数据 - * + * * @param ids 需要删除的电池极值数据主键 * @return 结果 */ @@ -84,7 +107,7 @@ public class ExtremeValuesServiceImpl implements IExtremeValuesService /** * 删除电池极值数据信息 - * + * * @param id 电池极值数据主键 * @return 结果 */ diff --git a/src/main/java/com/evobms/project/Battery/service/impl/SubsystemTemperatureServiceImpl.java b/src/main/java/com/evobms/project/battery/service/impl/SubsystemTemperatureServiceImpl.java similarity index 59% rename from src/main/java/com/evobms/project/Battery/service/impl/SubsystemTemperatureServiceImpl.java rename to src/main/java/com/evobms/project/battery/service/impl/SubsystemTemperatureServiceImpl.java index 0cc2221..26a01f4 100644 --- a/src/main/java/com/evobms/project/Battery/service/impl/SubsystemTemperatureServiceImpl.java +++ b/src/main/java/com/evobms/project/battery/service/impl/SubsystemTemperatureServiceImpl.java @@ -1,28 +1,29 @@ -package com.evobms.project.Battery.service.impl; +package com.evobms.project.battery.service.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.evobms.project.Battery.mapper.SubsystemTemperatureMapper; -import com.evobms.project.Battery.domain.SubsystemTemperature; -import com.evobms.project.Battery.service.ISubsystemTemperatureService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.evobms.project.battery.mapper.SubsystemTemperatureMapper; +import com.evobms.project.battery.domain.SubsystemTemperature; +import com.evobms.project.battery.service.ISubsystemTemperatureService; /** * 可充电储能子系统温度信息Service业务层处理 - * + * * @author 田志阳 * @date 2025-11-15 */ @Service -public class SubsystemTemperatureServiceImpl implements ISubsystemTemperatureService +public class SubsystemTemperatureServiceImpl extends ServiceImpl implements ISubsystemTemperatureService { @Autowired private SubsystemTemperatureMapper subsystemTemperatureMapper; /** * 查询可充电储能子系统温度信息 - * + * * @param id 可充电储能子系统温度信息主键 * @return 可充电储能子系统温度信息 */ @@ -34,19 +35,40 @@ public class SubsystemTemperatureServiceImpl implements ISubsystemTemperatureSer /** * 查询可充电储能子系统温度信息列表 - * + * * @param subsystemTemperature 可充电储能子系统温度信息 * @return 可充电储能子系统温度信息 */ @Override public List selectSubsystemTemperatureList(SubsystemTemperature subsystemTemperature) { - return subsystemTemperatureMapper.selectSubsystemTemperatureList(subsystemTemperature); + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + if (subsystemTemperature != null) { + if (subsystemTemperature.getDeviceId() != null && !subsystemTemperature.getDeviceId().isEmpty()) { + qw.eq(SubsystemTemperature::getDeviceId, subsystemTemperature.getDeviceId()); + } + if (subsystemTemperature.getTimestamp() != null) { + qw.ge(SubsystemTemperature::getTimestamp, subsystemTemperature.getTimestamp()); + } + java.util.Map params = subsystemTemperature.getParams(); + if (params != null) { + java.util.Date begin = com.evobms.common.utils.DateUtils.parseDate(params.get("beginTime")); + java.util.Date end = com.evobms.common.utils.DateUtils.parseDate(params.get("endTime")); + if (begin != null) { + qw.ge(SubsystemTemperature::getTimestamp, begin); + } + if (end != null) { + qw.le(SubsystemTemperature::getTimestamp, end); + } + } + } + qw.orderByDesc(SubsystemTemperature::getTimestamp); + return subsystemTemperatureMapper.selectList(qw); } /** * 新增可充电储能子系统温度信息 - * + * * @param subsystemTemperature 可充电储能子系统温度信息 * @return 结果 */ @@ -58,7 +80,7 @@ public class SubsystemTemperatureServiceImpl implements ISubsystemTemperatureSer /** * 修改可充电储能子系统温度信息 - * + * * @param subsystemTemperature 可充电储能子系统温度信息 * @return 结果 */ @@ -70,7 +92,7 @@ public class SubsystemTemperatureServiceImpl implements ISubsystemTemperatureSer /** * 批量删除可充电储能子系统温度信息 - * + * * @param ids 需要删除的可充电储能子系统温度信息主键 * @return 结果 */ @@ -82,7 +104,7 @@ public class SubsystemTemperatureServiceImpl implements ISubsystemTemperatureSer /** * 删除可充电储能子系统温度信息信息 - * + * * @param id 可充电储能子系统温度信息主键 * @return 结果 */ diff --git a/src/main/java/com/evobms/project/Battery/service/impl/SubsystemVoltageServiceImpl.java b/src/main/java/com/evobms/project/battery/service/impl/SubsystemVoltageServiceImpl.java similarity index 58% rename from src/main/java/com/evobms/project/Battery/service/impl/SubsystemVoltageServiceImpl.java rename to src/main/java/com/evobms/project/battery/service/impl/SubsystemVoltageServiceImpl.java index 9e0a932..7c42c39 100644 --- a/src/main/java/com/evobms/project/Battery/service/impl/SubsystemVoltageServiceImpl.java +++ b/src/main/java/com/evobms/project/battery/service/impl/SubsystemVoltageServiceImpl.java @@ -1,28 +1,29 @@ -package com.evobms.project.Battery.service.impl; +package com.evobms.project.battery.service.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.evobms.project.Battery.mapper.SubsystemVoltageMapper; -import com.evobms.project.Battery.domain.SubsystemVoltage; -import com.evobms.project.Battery.service.ISubsystemVoltageService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.evobms.project.battery.mapper.SubsystemVoltageMapper; +import com.evobms.project.battery.domain.SubsystemVoltage; +import com.evobms.project.battery.service.ISubsystemVoltageService; /** * 可充电储能子系统电压信息Service业务层处理 - * + * * @author 田志阳 * @date 2025-11-15 */ @Service -public class SubsystemVoltageServiceImpl implements ISubsystemVoltageService +public class SubsystemVoltageServiceImpl extends ServiceImpl implements ISubsystemVoltageService { @Autowired private SubsystemVoltageMapper subsystemVoltageMapper; /** * 查询可充电储能子系统电压信息 - * + * * @param id 可充电储能子系统电压信息主键 * @return 可充电储能子系统电压信息 */ @@ -34,19 +35,40 @@ public class SubsystemVoltageServiceImpl implements ISubsystemVoltageService /** * 查询可充电储能子系统电压信息列表 - * + * * @param subsystemVoltage 可充电储能子系统电压信息 * @return 可充电储能子系统电压信息 */ @Override public List selectSubsystemVoltageList(SubsystemVoltage subsystemVoltage) { - return subsystemVoltageMapper.selectSubsystemVoltageList(subsystemVoltage); + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + if (subsystemVoltage != null) { + if (subsystemVoltage.getDeviceId() != null && !subsystemVoltage.getDeviceId().isEmpty()) { + qw.eq(SubsystemVoltage::getDeviceId, subsystemVoltage.getDeviceId()); + } + if (subsystemVoltage.getTimestamp() != null) { + qw.ge(SubsystemVoltage::getTimestamp, subsystemVoltage.getTimestamp()); + } + java.util.Map params = subsystemVoltage.getParams(); + if (params != null) { + java.util.Date begin = com.evobms.common.utils.DateUtils.parseDate(params.get("beginTime")); + java.util.Date end = com.evobms.common.utils.DateUtils.parseDate(params.get("endTime")); + if (begin != null) { + qw.ge(SubsystemVoltage::getTimestamp, begin); + } + if (end != null) { + qw.le(SubsystemVoltage::getTimestamp, end); + } + } + } + qw.orderByDesc(SubsystemVoltage::getTimestamp); + return subsystemVoltageMapper.selectList(qw); } /** * 新增可充电储能子系统电压信息 - * + * * @param subsystemVoltage 可充电储能子系统电压信息 * @return 结果 */ @@ -58,7 +80,7 @@ public class SubsystemVoltageServiceImpl implements ISubsystemVoltageService /** * 修改可充电储能子系统电压信息 - * + * * @param subsystemVoltage 可充电储能子系统电压信息 * @return 结果 */ @@ -70,7 +92,7 @@ public class SubsystemVoltageServiceImpl implements ISubsystemVoltageService /** * 批量删除可充电储能子系统电压信息 - * + * * @param ids 需要删除的可充电储能子系统电压信息主键 * @return 结果 */ @@ -82,7 +104,7 @@ public class SubsystemVoltageServiceImpl implements ISubsystemVoltageService /** * 删除可充电储能子系统电压信息信息 - * + * * @param id 可充电储能子系统电压信息主键 * @return 结果 */ diff --git a/src/main/java/com/evobms/project/bms/controller/BmsDeviceController.java b/src/main/java/com/evobms/project/bms/controller/BmsDeviceController.java deleted file mode 100644 index 94576c0..0000000 --- a/src/main/java/com/evobms/project/bms/controller/BmsDeviceController.java +++ /dev/null @@ -1,196 +0,0 @@ -package com.evobms.project.bms.controller; - -import com.evobms.framework.aspectj.lang.annotation.Log; -import com.evobms.framework.aspectj.lang.enums.BusinessType; -import com.evobms.framework.web.controller.BaseController; -import com.evobms.framework.web.domain.AjaxResult; -import com.evobms.framework.web.page.TableDataInfo; -import com.evobms.project.bms.domain.BmsDevice; -import com.evobms.project.bms.service.IBmsDeviceService; -//import com.evobms.project.bms.service.MqttService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * BMS设备Controller - * - * @author evobms - * @date 2025-01-22 - */ -@RestController -@RequestMapping("/bms/device") -public class BmsDeviceController extends BaseController { - - @Autowired - private IBmsDeviceService bmsDeviceService; - -// @Autowired(required = false) -// private MqttService mqttService; - - /** - * 查询BMS设备列表 - */ - @PreAuthorize("@ss.hasPermi('bms:device:list')") - @GetMapping("/list") - public TableDataInfo list(BmsDevice bmsDevice) { - startPage(); - List list = bmsDeviceService.selectBmsDeviceList(bmsDevice); - return getDataTable(list); - } - - /** - * 获取BMS设备详细信息 - */ - @PreAuthorize("@ss.hasPermi('bms:device:query')") - @GetMapping(value = "/{deviceId}") - public AjaxResult getInfo(@PathVariable("deviceId") Long deviceId) { - return success(bmsDeviceService.selectBmsDeviceByDeviceId(deviceId)); - } - - /** - * 新增BMS设备 - */ - @PreAuthorize("@ss.hasPermi('bms:device:add')") - @Log(title = "BMS设备", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody BmsDevice bmsDevice) { - return toAjax(bmsDeviceService.insertBmsDevice(bmsDevice)); - } - - /** - * 修改BMS设备 - */ - @PreAuthorize("@ss.hasPermi('bms:device:edit')") - @Log(title = "BMS设备", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody BmsDevice bmsDevice) { - return toAjax(bmsDeviceService.updateBmsDevice(bmsDevice)); - } - - /** - * 删除BMS设备 - */ - @PreAuthorize("@ss.hasPermi('bms:device:remove')") - @Log(title = "BMS设备", businessType = BusinessType.DELETE) - @DeleteMapping("/{deviceIds}") - public AjaxResult remove(@PathVariable Long[] deviceIds) { - return toAjax(bmsDeviceService.deleteBmsDeviceByDeviceIds(deviceIds)); - } - - /** - * 批量更新设备状态 - */ - @PreAuthorize("@ss.hasPermi('bms:device:edit')") - @Log(title = "BMS设备状态", businessType = BusinessType.UPDATE) - @PutMapping("/status") - public AjaxResult updateStatus(@RequestBody Map params) { - Long[] deviceIds = (Long[]) params.get("deviceIds"); - String status = (String) params.get("status"); - return toAjax(bmsDeviceService.updateBmsDeviceStatus(deviceIds, status)); - } - -// /** -// * 查询设备状态 -// */ -// @PreAuthorize("@ss.hasPermi('bms:device:query')") -// @PostMapping("/queryStatus/{deviceCode}") -// public AjaxResult queryDeviceStatus(@PathVariable String deviceCode) { -// if (mqttService != null) { -// mqttService.queryDeviceStatus(deviceCode); -// return success("设备状态查询命令已发送"); -// } else { -// return error("MQTT服务未启用,无法发送查询命令"); -// } -// } -// -// /** -// * 重启设备 -// */ -// @PreAuthorize("@ss.hasPermi('bms:device:edit')") -// @Log(title = "重启BMS设备", businessType = BusinessType.UPDATE) -// @PostMapping("/restart/{deviceCode}") -// public AjaxResult restartDevice(@PathVariable String deviceCode) { -// if (mqttService != null) { -// mqttService.restartDevice(deviceCode); -// return success("设备重启命令已发送"); -// } else { -// return error("MQTT服务未启用,无法发送重启命令"); -// } -// } -// -// /** -// * 配置设备参数 -// */ -// @PreAuthorize("@ss.hasPermi('bms:device:edit')") -// @Log(title = "配置BMS设备", businessType = BusinessType.UPDATE) -// @PostMapping("/config/{deviceCode}") -// public AjaxResult configDevice(@PathVariable String deviceCode, @RequestBody Map config) { -// if (mqttService != null) { -// mqttService.configDevice(deviceCode, config); -// return success("设备配置命令已发送"); -// } else { -// return error("MQTT服务未启用,无法发送配置命令"); -// } -// } -// -// /** -// * 发送自定义MQTT消息 -// */ -// @PreAuthorize("@ss.hasPermi('bms:device:edit')") -// @Log(title = "发送MQTT消息", businessType = BusinessType.OTHER) -// @PostMapping("/mqtt/send") -// public AjaxResult sendMqttMessage(@RequestBody Map params) { -// if (mqttService != null) { -// String topic = params.get("topic"); -// String message = params.get("message"); -// mqttService.sendMessage(topic, message); -// return success("MQTT消息已发送"); -// } else { -// return error("MQTT服务未启用,无法发送消息"); -// } -// } - - /** - * 获取设备统计信息 - */ - @PreAuthorize("@ss.hasPermi('bms:device:list')") - @GetMapping("/statistics") - public AjaxResult getStatistics() { - Map statistics = new HashMap<>(); - - // 查询所有设备 - List allDevices = bmsDeviceService.selectBmsDeviceList(new BmsDevice()); - - // 统计设备数量 - long totalCount = allDevices.size(); - long onlineCount = allDevices.stream().filter(device -> "0".equals(device.getStatus())).count(); - long offlineCount = totalCount - onlineCount; - - // 计算平均温度 - double avgTemperature = allDevices.stream() - .filter(device -> device.getTemperature() != null) - .mapToDouble(BmsDevice::getTemperature) - .average() - .orElse(0.0); - - // 计算平均剩余电量 - double avgCapacity = allDevices.stream() - .filter(device -> device.getRemainingCapacity() != null) - .mapToDouble(BmsDevice::getRemainingCapacity) - .average() - .orElse(0.0); - - statistics.put("totalCount", totalCount); - statistics.put("onlineCount", onlineCount); - statistics.put("offlineCount", offlineCount); - statistics.put("avgTemperature", Math.round(avgTemperature * 100.0) / 100.0); - statistics.put("avgCapacity", Math.round(avgCapacity * 100.0) / 100.0); - - return success(statistics); - } -} diff --git a/src/main/java/com/evobms/project/bms/controller/GBT32960MqttReceiver.java b/src/main/java/com/evobms/project/bms/controller/GBT32960MqttReceiver.java index 8c6ecb2..cc795d7 100644 --- a/src/main/java/com/evobms/project/bms/controller/GBT32960MqttReceiver.java +++ b/src/main/java/com/evobms/project/bms/controller/GBT32960MqttReceiver.java @@ -7,7 +7,7 @@ import org.springframework.context.annotation.Configuration; @Configuration public class GBT32960MqttReceiver { - private static final String BROKER = "tcp://61.182.73.218:1883"; + private static final String BROKER = "tcp://localhost:1883"; private static final String CLIENT_ID = "evobms-client"; private static final String TOPIC = "/bbox/EVO0002/#"; private static final String DEVICE_SN = "EVO0002"; diff --git a/src/main/java/com/evobms/project/bms/domain/BmsDevice.java b/src/main/java/com/evobms/project/bms/domain/BmsDevice.java deleted file mode 100644 index 8eaedbc..0000000 --- a/src/main/java/com/evobms/project/bms/domain/BmsDevice.java +++ /dev/null @@ -1,203 +0,0 @@ -package com.evobms.project.bms.domain; - -import com.baomidou.mybatisplus.annotation.*; -import com.evobms.framework.aspectj.lang.annotation.Excel; -import com.evobms.framework.web.domain.BaseEntity; -import com.fasterxml.jackson.annotation.JsonFormat; - -import java.util.Date; - -/** - * BMS设备对象 bms_device - * - * @author evobms - * @date 2025-01-22 - */ -@TableName("bms_device") -public class BmsDevice extends BaseEntity { - private static final long serialVersionUID = 1L; - - /** 设备ID */ - @TableId(type = IdType.AUTO) - private Long deviceId; - - /** 设备编号 */ - @Excel(name = "设备编号") - private String deviceCode; - - /** 设备名称 */ - @Excel(name = "设备名称") - private String deviceName; - - /** 设备类型 */ - @Excel(name = "设备类型") - private String deviceType; - - /** 设备状态(0正常 1停用) */ - @Excel(name = "设备状态", readConverterExp = "0=正常,1=停用") - private String status; - - /** 电池容量(Ah) */ - @Excel(name = "电池容量") - private Double batteryCapacity; - - /** 额定电压(V) */ - @Excel(name = "额定电压") - private Double ratedVoltage; - - /** 当前电压(V) */ - private Double currentVoltage; - - /** 当前电流(A) */ - private Double currentCurrent; - - /** 剩余电量(%) */ - private Double remainingCapacity; - - /** 温度(℃) */ - private Double temperature; - - /** 最后通信时间 */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date lastCommTime; - - /** 删除标志(0代表存在 2代表删除) */ - @TableLogic - private String delFlag; - - /** 版本号(乐观锁) */ - @Version - private Integer version; - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceCode(String deviceCode) { - this.deviceCode = deviceCode; - } - - public String getDeviceCode() { - return deviceCode; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceType(String deviceType) { - this.deviceType = deviceType; - } - - public String getDeviceType() { - return deviceType; - } - - public void setStatus(String status) { - this.status = status; - } - - public String getStatus() { - return status; - } - - public void setBatteryCapacity(Double batteryCapacity) { - this.batteryCapacity = batteryCapacity; - } - - public Double getBatteryCapacity() { - return batteryCapacity; - } - - public void setRatedVoltage(Double ratedVoltage) { - this.ratedVoltage = ratedVoltage; - } - - public Double getRatedVoltage() { - return ratedVoltage; - } - - public void setCurrentVoltage(Double currentVoltage) { - this.currentVoltage = currentVoltage; - } - - public Double getCurrentVoltage() { - return currentVoltage; - } - - public void setCurrentCurrent(Double currentCurrent) { - this.currentCurrent = currentCurrent; - } - - public Double getCurrentCurrent() { - return currentCurrent; - } - - public void setRemainingCapacity(Double remainingCapacity) { - this.remainingCapacity = remainingCapacity; - } - - public Double getRemainingCapacity() { - return remainingCapacity; - } - - public void setTemperature(Double temperature) { - this.temperature = temperature; - } - - public Double getTemperature() { - return temperature; - } - - public void setLastCommTime(Date lastCommTime) { - this.lastCommTime = lastCommTime; - } - - public Date getLastCommTime() { - return lastCommTime; - } - - public void setDelFlag(String delFlag) { - this.delFlag = delFlag; - } - - public String getDelFlag() { - return delFlag; - } - - public void setVersion(Integer version) { - this.version = version; - } - - public Integer getVersion() { - return version; - } - - @Override - public String toString() { - return "BmsDevice{" + - "deviceId=" + deviceId + - ", deviceCode='" + deviceCode + '\'' + - ", deviceName='" + deviceName + '\'' + - ", deviceType='" + deviceType + '\'' + - ", status='" + status + '\'' + - ", batteryCapacity=" + batteryCapacity + - ", ratedVoltage=" + ratedVoltage + - ", currentVoltage=" + currentVoltage + - ", currentCurrent=" + currentCurrent + - ", remainingCapacity=" + remainingCapacity + - ", temperature=" + temperature + - ", lastCommTime=" + lastCommTime + - ", delFlag='" + delFlag + '\'' + - ", version=" + version + - '}'; - } -} \ No newline at end of file diff --git a/src/main/java/com/evobms/project/bms/mapper/BmsDeviceMapper.java b/src/main/java/com/evobms/project/bms/mapper/BmsDeviceMapper.java deleted file mode 100644 index b1edfe5..0000000 --- a/src/main/java/com/evobms/project/bms/mapper/BmsDeviceMapper.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.evobms.project.bms.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.evobms.project.bms.domain.BmsDevice; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * BMS设备Mapper接口 - * - * @author evobms - * @date 2025-01-22 - */ -@Mapper -public interface BmsDeviceMapper extends BaseMapper { - - /** - * 查询BMS设备列表 - * - * @param bmsDevice BMS设备 - * @return BMS设备集合 - */ - List selectBmsDeviceList(BmsDevice bmsDevice); - - /** - * 根据设备编号查询设备信息 - * - * @param deviceCode 设备编号 - * @return BMS设备 - */ - BmsDevice selectBmsDeviceByCode(@Param("deviceCode") String deviceCode); - - /** - * 批量更新设备状态 - * - * @param deviceIds 设备ID数组 - * @param status 状态 - * @return 结果 - */ - int updateBmsDeviceStatus(@Param("deviceIds") Long[] deviceIds, @Param("status") String status); -} \ No newline at end of file diff --git a/src/main/java/com/evobms/project/bms/service/IBmsDeviceService.java b/src/main/java/com/evobms/project/bms/service/IBmsDeviceService.java deleted file mode 100644 index 88987ca..0000000 --- a/src/main/java/com/evobms/project/bms/service/IBmsDeviceService.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.evobms.project.bms.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.evobms.project.bms.domain.BmsDevice; - -import java.util.List; - -/** - * BMS设备Service接口 - * - * @author evobms - * @date 2025-01-22 - */ -public interface IBmsDeviceService extends IService { - - /** - * 查询BMS设备 - * - * @param deviceId BMS设备主键 - * @return BMS设备 - */ - BmsDevice selectBmsDeviceByDeviceId(Long deviceId); - - /** - * 查询BMS设备列表 - * - * @param bmsDevice BMS设备 - * @return BMS设备集合 - */ - List selectBmsDeviceList(BmsDevice bmsDevice); - - /** - * 新增BMS设备 - * - * @param bmsDevice BMS设备 - * @return 结果 - */ - int insertBmsDevice(BmsDevice bmsDevice); - - /** - * 修改BMS设备 - * - * @param bmsDevice BMS设备 - * @return 结果 - */ - int updateBmsDevice(BmsDevice bmsDevice); - - /** - * 批量删除BMS设备 - * - * @param deviceIds 需要删除的BMS设备主键集合 - * @return 结果 - */ - int deleteBmsDeviceByDeviceIds(Long[] deviceIds); - - /** - * 删除BMS设备信息 - * - * @param deviceId BMS设备主键 - * @return 结果 - */ - int deleteBmsDeviceByDeviceId(Long deviceId); - - /** - * 根据设备编号查询设备信息 - * - * @param deviceCode 设备编号 - * @return BMS设备 - */ - BmsDevice selectBmsDeviceByCode(String deviceCode); - - /** - * 批量更新设备状态 - * - * @param deviceIds 设备ID数组 - * @param status 状态 - * @return 结果 - */ - int updateBmsDeviceStatus(Long[] deviceIds, String status); -} \ No newline at end of file diff --git a/src/main/java/com/evobms/project/bms/service/MqttService.java b/src/main/java/com/evobms/project/bms/service/MqttService.java index 992f22a..ec21c82 100644 --- a/src/main/java/com/evobms/project/bms/service/MqttService.java +++ b/src/main/java/com/evobms/project/bms/service/MqttService.java @@ -1,20 +1,20 @@ package com.evobms.project.bms.service; import com.alibaba.fastjson2.JSON; -import com.evobms.project.Battery.domain.ExtremeValues; -import com.evobms.project.Battery.domain.SubsystemVoltage; -import com.evobms.project.Battery.domain.SubsystemTemperature; -import com.evobms.project.Battery.service.IExtremeValuesService; -import com.evobms.project.Battery.service.ISubsystemVoltageService; -import com.evobms.project.Battery.service.ISubsystemTemperatureService; -import com.evobms.project.Battery.domain.ChargeDischargeSummary; -import com.evobms.project.Battery.service.IChargeDischargeSummaryService; -import com.evobms.project.VehicleData.domain.VehicleData; -import com.evobms.project.VehicleData.domain.VehicleLocation; -import com.evobms.project.VehicleData.service.IVehicleDataService; -import com.evobms.project.VehicleData.service.IVehicleLocationService; -import com.evobms.project.bms.domain.BmsDevice; -import org.eclipse.paho.client.mqttv3.MqttMessage; +import com.evobms.common.utils.DateUtils; +import com.evobms.project.battery.domain.ExtremeValues; +import com.evobms.project.battery.domain.SubsystemVoltage; +import com.evobms.project.battery.domain.SubsystemTemperature; +import com.evobms.project.battery.service.IExtremeValuesService; +import com.evobms.project.battery.service.ISubsystemVoltageService; +import com.evobms.project.battery.service.ISubsystemTemperatureService; +import com.evobms.project.summary.domain.ChargeDischargeSummary; +import com.evobms.project.summary.service.IChargeDischargeSummaryService; +import com.evobms.project.system.mapper.BmsDevicesMapper; +import com.evobms.project.vehicledata.domain.VehicleData; +import com.evobms.project.vehicledata.domain.VehicleLocation; +import com.evobms.project.vehicledata.service.IVehicleDataService; +import com.evobms.project.vehicledata.service.IVehicleLocationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -36,7 +36,6 @@ import com.evobms.project.system.service.IBmsDevicesService; import com.evobms.project.system.domain.BmsDevices; import static com.evobms.project.bms.controller.GBT32960FullDecoder.parseGBT32960Data; -import static oshi.util.ParseUtil.hexStringToByteArray; /** * MQTT服务类 @@ -72,7 +71,8 @@ public class MqttService { @Autowired private IChargeDischargeSummaryService chargeDischargeSummaryService; - + @Autowired + private BmsDevicesMapper bmsDevicesMapper; @Value("${mqtt.publishTopic}") private String publishTopic; @@ -184,7 +184,6 @@ public class MqttService { /** * 处理接收到的设备数据 - * * @param topic 主题 * @param message 消息内容 */ @@ -223,7 +222,6 @@ public class MqttService { /** * 逐字段解析数据字符串 - 直接解析十六进制数据 - * * @param data 十六进制数据字符串 * @param deviceSn 设备SN码 */ @@ -245,6 +243,10 @@ public class MqttService { // 将十六进制字符串转换为字节数组 byte[] message = hexStringToByteArray(cleanData); + if (message.length >= 3 && (message[0] & 0xFF) == 0xAA && (message[1] & 0xFF) == 0x55 && (message[2] & 0xFF) == 0xA5) { + log.info("设备 {} 调试无效帧(AA 55 A5),跳过", deviceSn); + return; + } // 按照协议索引逐段解析 parseByProtocolIndex(message, deviceSn); @@ -265,7 +267,7 @@ public class MqttService { frameTime = new Date(); } - // 2. 整车数据 - 索引30-49 (20字节) + // 2. 整车数据 - 索引30-49 (20字节) parseVehicleDataAtIndex(message, 6, deviceSn, frameTime); // 3. 位置信息 - 索引51-60 (10字节) @@ -309,8 +311,7 @@ public class MqttService { int second = message[startIndex + 5] & 0xFF; // 索引29: 秒 if (isValidTime(year, month, day, hour, minute, second)) { - String time = String.format("%04d-%02d-%02d %02d:%02d:%02d", - year, month, day, hour, minute, second); + String time = String.format("%04d-%02d-%02d %02d:%02d:%02d", year, month, day, hour, minute, second); log.info("设备 {} - 时间: {}", deviceSn, time); saveTimeData(deviceSn, time); Calendar cal = Calendar.getInstance(TimeZone.getDefault()); @@ -318,8 +319,7 @@ public class MqttService { cal.set(Calendar.MILLISECOND, 0); return cal.getTime(); } else { - log.info("设备 {} - 时间: 无效数据({}-{}-{} {}:{}:{})", - deviceSn, year, month, day, hour, minute, second); + log.info("设备 {} - 时间: 无效数据({}-{}-{} {}:{}:{})", deviceSn, year, month, day, hour, minute, second); return null; } @@ -830,14 +830,36 @@ public class MqttService { * 保存时间数据 */ private void saveTimeData(String deviceSn, String time) { - // TODO: 实现时间数据保存逻辑 - log.debug("保存设备 {} 时间数据: {}", deviceSn, time); + try { + Date ts = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, time); + if (ts == null) { + log.warn("设备 {} 时间解析失败: {}", deviceSn, time); + return; + } + BmsDevices existing = bmsDevicesService.selectBmsDevicesBySn(deviceSn); + if (existing != null) { + existing.setLastOnline(ts); + existing.setStatus("online"); + existing.setUpdateTime(new Date()); + bmsDevicesMapper.updateBmsDevices(existing); + } else { + BmsDevices dev = new BmsDevices(); + dev.setDeviceSn(deviceSn); + dev.setStatus("online"); + dev.setLastOnline(ts); + dev.setCreateTime(new Date()); + bmsDevicesMapper.insertBmsDevices(dev); + } + log.debug("保存设备 {} 时间数据: {}", deviceSn, time); + } catch (Exception e) { + log.error("保存设备 {} 时间数据失败: {}", deviceSn, e.getMessage(), e); + } } /** * 保存整车数据 */ - private void saveVehicleData(String deviceSn, double voltage, double current, int soc, byte chargeStatus,int insulationResistance, Date frameTime) { + private void saveVehicleData(String deviceSn, double voltage, double current, int soc, byte chargeStatus, int insulationResistance, Date frameTime) { // 保存整车数据到数据库 VehicleData ve = new VehicleData(); ve.setDeviceId(deviceSn); @@ -853,7 +875,7 @@ public class MqttService { } - private void processLocationData(String deviceSn, double longitude, double latitude,String locationStatus, Date frameTime) { + private void processLocationData(String deviceSn, double longitude, double latitude, String locationStatus, Date frameTime) { VehicleLocation ve = new VehicleLocation(); ve.setDeviceId(deviceSn); ve.setTimestamp(frameTime); @@ -913,29 +935,6 @@ public class MqttService { } - /** - * 更新设备数据 - * - * @param device 设备对象 - * @param data 数据 - */ - private void updateDeviceData(BmsDevice device, Map data) { - if (data.containsKey("voltage")) { - device.setCurrentVoltage(Double.valueOf(data.get("voltage").toString())); - } - if (data.containsKey("current")) { - device.setCurrentCurrent(Double.valueOf(data.get("current").toString())); - } - if (data.containsKey("capacity")) { - device.setRemainingCapacity(Double.valueOf(data.get("capacity").toString())); - } - if (data.containsKey("temperature")) { - device.setTemperature(Double.valueOf(data.get("temperature").toString())); - } - - device.setLastCommTime(new Date()); - } - /** * 发送设备状态查询命令 * diff --git a/src/main/java/com/evobms/project/bms/service/impl/BmsDeviceServiceImpl.java b/src/main/java/com/evobms/project/bms/service/impl/BmsDeviceServiceImpl.java deleted file mode 100644 index ca53c26..0000000 --- a/src/main/java/com/evobms/project/bms/service/impl/BmsDeviceServiceImpl.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.evobms.project.bms.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.evobms.common.utils.DateUtils; -import com.evobms.project.bms.domain.BmsDevice; -import com.evobms.project.bms.mapper.BmsDeviceMapper; -import com.evobms.project.bms.service.IBmsDeviceService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * BMS设备Service业务层处理 - * - * @author evobms - * @date 2025-01-22 - */ -@Service -public class BmsDeviceServiceImpl extends ServiceImpl implements IBmsDeviceService { - - @Autowired - private BmsDeviceMapper bmsDeviceMapper; - - /** - * 查询BMS设备 - * - * @param deviceId BMS设备主键 - * @return BMS设备 - */ - @Override - public BmsDevice selectBmsDeviceByDeviceId(Long deviceId) { - return bmsDeviceMapper.selectById(deviceId); - } - - /** - * 查询BMS设备列表 - * - * @param bmsDevice BMS设备 - * @return BMS设备 - */ - @Override - public List selectBmsDeviceList(BmsDevice bmsDevice) { - return bmsDeviceMapper.selectBmsDeviceList(bmsDevice); - } - - /** - * 新增BMS设备 - * - * @param bmsDevice BMS设备 - * @return 结果 - */ - @Override - public int insertBmsDevice(BmsDevice bmsDevice) { - bmsDevice.setCreateTime(DateUtils.getNowDate()); - return bmsDeviceMapper.insert(bmsDevice); - } - - /** - * 修改BMS设备 - * - * @param bmsDevice BMS设备 - * @return 结果 - */ - @Override - public int updateBmsDevice(BmsDevice bmsDevice) { - bmsDevice.setUpdateTime(DateUtils.getNowDate()); - return bmsDeviceMapper.updateById(bmsDevice); - } - - /** - * 批量删除BMS设备 - * - * @param deviceIds 需要删除的BMS设备主键 - * @return 结果 - */ - @Override - public int deleteBmsDeviceByDeviceIds(Long[] deviceIds) { - return bmsDeviceMapper.deleteBatchIds(java.util.Arrays.asList(deviceIds)); - } - - /** - * 删除BMS设备信息 - * - * @param deviceId BMS设备主键 - * @return 结果 - */ - @Override - public int deleteBmsDeviceByDeviceId(Long deviceId) { - return bmsDeviceMapper.deleteById(deviceId); - } - - /** - * 根据设备编号查询设备信息 - * - * @param deviceCode 设备编号 - * @return BMS设备 - */ - @Override - public BmsDevice selectBmsDeviceByCode(String deviceCode) { - return bmsDeviceMapper.selectBmsDeviceByCode(deviceCode); - } - - /** - * 批量更新设备状态 - * - * @param deviceIds 设备ID数组 - * @param status 状态 - * @return 结果 - */ - @Override - public int updateBmsDeviceStatus(Long[] deviceIds, String status) { - return bmsDeviceMapper.updateBmsDeviceStatus(deviceIds, status); - } -} \ No newline at end of file diff --git a/src/main/java/com/evobms/project/iot/controller/IotAuthController.java b/src/main/java/com/evobms/project/iot/controller/IotAuthController.java index 6bc286b..a87144b 100644 --- a/src/main/java/com/evobms/project/iot/controller/IotAuthController.java +++ b/src/main/java/com/evobms/project/iot/controller/IotAuthController.java @@ -65,7 +65,7 @@ public class IotAuthController { @Value("${token.header:Authorization}") private String tokenHeader; - @Value("${mqtt.host:tcp://localhost:1883}") + @Value("${mqtt.host:tcp://192.168.5.23:1883}") private String mqttHostUri; @Value("${mqtt.username:00000001}") private String mqttUsername; @@ -79,7 +79,7 @@ public class IotAuthController { private String otaCount; // OTA文件存储位置:支持 classpath 或 文件系统目录,例如:classpath:/ota 或 /data/ota - @Value("${ota.repo:classpath:/ota}") + @Value("${ota.repo:D:/OTA}") private String otaRepo; // OTA分片大小(字节),规范为1KB=1024字节 @@ -120,10 +120,8 @@ public class IotAuthController { BmsDevices query = new BmsDevices(); // 依据设备上报的SN,使用系统侧BmsDevices的deviceSn字段进行校验 query.setDeviceSn(sn); - List list = bmsDevicesService.selectBmsDevicesList(query); - if (list != null && !list.isEmpty()) { - device = list.get(0); - } + device = bmsDevicesService.selectBmsDevicesList1(query); + } if (device == null) { @@ -185,7 +183,7 @@ public class IotAuthController { } // 解析 MQTT 主机与端口 - String host = "61.182.73.218"; + String host = "192.168.5.23"; int port = 1883; try { URI uri = new URI(mqttHostUri); @@ -215,7 +213,10 @@ public class IotAuthController { if (sn.equals("EVO0001")) { String key161 = fixLengthRight("EVO0001", 16); encryptedBase64 = AesEcbPkcs5Utils.encryptToAscII16(json, key161); - } else { + } else if (sn.equals("EVO0002")) { + String key161 = fixLengthRight("EVO0002", 16); + encryptedBase64 = AesEcbPkcs5Utils.encryptToAscII16(json, key161); + }else { String keyTail6 = sn.length() >= 16 ? sn.substring(sn.length() - 16) : sn; encryptedBase64 = AesEcbPkcs5Utils.encryptToAscII16(json, keyTail6); } @@ -288,10 +289,8 @@ public class IotAuthController { if (bmsDevicesService != null) { BmsDevices query = new BmsDevices(); query.setDeviceSn(sn); - List list = bmsDevicesService.selectBmsDevicesList(query); - if (list != null && !list.isEmpty()) { - device = list.get(0); - } + device = bmsDevicesService.selectBmsDevicesList1(query); + } if (device == null) { diff --git a/src/main/java/com/evobms/project/summary/controller/ChargeDischargeSummaryController.java b/src/main/java/com/evobms/project/summary/controller/ChargeDischargeSummaryController.java new file mode 100644 index 0000000..db34d65 --- /dev/null +++ b/src/main/java/com/evobms/project/summary/controller/ChargeDischargeSummaryController.java @@ -0,0 +1,104 @@ +package com.evobms.project.summary.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.evobms.framework.aspectj.lang.annotation.Log; +import com.evobms.framework.aspectj.lang.enums.BusinessType; +import com.evobms.project.summary.domain.ChargeDischargeSummary; +import com.evobms.project.summary.service.IChargeDischargeSummaryService; +import com.evobms.framework.web.controller.BaseController; +import com.evobms.framework.web.domain.AjaxResult; +import com.evobms.common.utils.poi.ExcelUtil; +import com.evobms.framework.web.page.TableDataInfo; + +/** + * 累计充放电量Controller + * + * @author 田志阳 + * @date 2026-01-09 + */ +@RestController +@RequestMapping("/summary/summary") +public class ChargeDischargeSummaryController extends BaseController +{ + @Autowired + private IChargeDischargeSummaryService chargeDischargeSummaryService; + + /** + * 查询累计充放电量列表 + */ + @PreAuthorize("@ss.hasPermi('summary:summary:list')") + @GetMapping("/list") + public TableDataInfo list(ChargeDischargeSummary chargeDischargeSummary) + { + startPage(); + List list = chargeDischargeSummaryService.selectChargeDischargeSummaryList(chargeDischargeSummary); + return getDataTable(list); + } + + /** + * 导出累计充放电量列表 + */ + @PreAuthorize("@ss.hasPermi('summary:summary:export')") + @Log(title = "累计充放电量", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ChargeDischargeSummary chargeDischargeSummary) + { + List list = chargeDischargeSummaryService.selectChargeDischargeSummaryList(chargeDischargeSummary); + ExcelUtil util = new ExcelUtil(ChargeDischargeSummary.class); + util.exportExcel(response, list, "累计充放电量数据"); + } + + /** + * 获取累计充放电量详细信息 + */ + @PreAuthorize("@ss.hasPermi('summary:summary:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(chargeDischargeSummaryService.selectChargeDischargeSummaryById(id)); + } + + /** + * 新增累计充放电量 + */ + @PreAuthorize("@ss.hasPermi('summary:summary:add')") + @Log(title = "累计充放电量", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ChargeDischargeSummary chargeDischargeSummary) + { + return toAjax(chargeDischargeSummaryService.insertChargeDischargeSummary(chargeDischargeSummary)); + } + + /** + * 修改累计充放电量 + */ + @PreAuthorize("@ss.hasPermi('summary:summary:edit')") + @Log(title = "累计充放电量", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ChargeDischargeSummary chargeDischargeSummary) + { + return toAjax(chargeDischargeSummaryService.updateChargeDischargeSummary(chargeDischargeSummary)); + } + + /** + * 删除累计充放电量 + */ + @PreAuthorize("@ss.hasPermi('summary:summary:remove')") + @Log(title = "累计充放电量", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(chargeDischargeSummaryService.deleteChargeDischargeSummaryByIds(ids)); + } +} diff --git a/src/main/java/com/evobms/project/summary/domain/ChargeDischargeSummary.java b/src/main/java/com/evobms/project/summary/domain/ChargeDischargeSummary.java new file mode 100644 index 0000000..0ff9230 --- /dev/null +++ b/src/main/java/com/evobms/project/summary/domain/ChargeDischargeSummary.java @@ -0,0 +1,105 @@ +package com.evobms.project.summary.domain; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.evobms.framework.aspectj.lang.annotation.Excel; +import com.evobms.framework.web.domain.BaseEntity; + +/** + * 累计充放电量对象 charge_discharge_summary + * + * @author 田志阳 + * @date 2026-01-09 + */ +public class ChargeDischargeSummary extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private Long id; + + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + /** 时间戳 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss ") + @Excel(name = "时间戳", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date timestamp; + + /** 累计放电(kWh) */ + @Excel(name = "累计放电(kWh)") + private BigDecimal dischargeKwh; + + /** 累计充电kWh) */ + @Excel(name = "累计充电kWh)") + private BigDecimal chargeKwh; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setDeviceId(String deviceId) + { + this.deviceId = deviceId; + } + + public String getDeviceId() + { + return deviceId; + } + + public void setTimestamp(Date timestamp) + { + this.timestamp = timestamp; + } + + public Date getTimestamp() + { + return timestamp; + } + + public void setDischargeKwh(BigDecimal dischargeKwh) + { + this.dischargeKwh = dischargeKwh; + } + + public BigDecimal getDischargeKwh() + { + return dischargeKwh; + } + + public void setChargeKwh(BigDecimal chargeKwh) + { + this.chargeKwh = chargeKwh; + } + + public BigDecimal getChargeKwh() + { + return chargeKwh; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("deviceId", getDeviceId()) + .append("timestamp", getTimestamp()) + .append("dischargeKwh", getDischargeKwh()) + .append("chargeKwh", getChargeKwh()) + .append("createTime", getCreateTime()) + .append("updateTime", getUpdateTime()) + .append("createBy", getCreateBy()) + .append("updateBy", getUpdateBy()) + .toString(); + } +} diff --git a/src/main/java/com/evobms/project/summary/mapper/ChargeDischargeSummaryMapper.java b/src/main/java/com/evobms/project/summary/mapper/ChargeDischargeSummaryMapper.java new file mode 100644 index 0000000..93fcee7 --- /dev/null +++ b/src/main/java/com/evobms/project/summary/mapper/ChargeDischargeSummaryMapper.java @@ -0,0 +1,62 @@ +package com.evobms.project.summary.mapper; + +import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.evobms.project.summary.domain.ChargeDischargeSummary; + +/** + * 累计充放电量Mapper接口 + * + * @author 田志阳 + * @date 2026-01-09 + */ +public interface ChargeDischargeSummaryMapper extends BaseMapper { + /** + * 查询累计充放电量 + * + * @param id 累计充放电量主键 + * @return 累计充放电量 + */ + public ChargeDischargeSummary selectChargeDischargeSummaryById(Long id); + + /** + * 查询累计充放电量列表 + * + * @param chargeDischargeSummary 累计充放电量 + * @return 累计充放电量集合 + */ + public List selectChargeDischargeSummaryList(ChargeDischargeSummary chargeDischargeSummary); + + /** + * 新增累计充放电量 + * + * @param chargeDischargeSummary 累计充放电量 + * @return 结果 + */ + public int insertChargeDischargeSummary(ChargeDischargeSummary chargeDischargeSummary); + + /** + * 修改累计充放电量 + * + * @param chargeDischargeSummary 累计充放电量 + * @return 结果 + */ + public int updateChargeDischargeSummary(ChargeDischargeSummary chargeDischargeSummary); + + /** + * 删除累计充放电量 + * + * @param id 累计充放电量主键 + * @return 结果 + */ + public int deleteChargeDischargeSummaryById(Long id); + + /** + * 批量删除累计充放电量 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteChargeDischargeSummaryByIds(Long[] ids); +} diff --git a/src/main/java/com/evobms/project/summary/service/IChargeDischargeSummaryService.java b/src/main/java/com/evobms/project/summary/service/IChargeDischargeSummaryService.java new file mode 100644 index 0000000..ab32922 --- /dev/null +++ b/src/main/java/com/evobms/project/summary/service/IChargeDischargeSummaryService.java @@ -0,0 +1,61 @@ +package com.evobms.project.summary.service; + +import java.util.List; +import com.evobms.project.summary.domain.ChargeDischargeSummary; + +/** + * 累计充放电量Service接口 + * + * @author 田志阳 + * @date 2026-01-09 + */ +public interface IChargeDischargeSummaryService +{ + /** + * 查询累计充放电量 + * + * @param id 累计充放电量主键 + * @return 累计充放电量 + */ + public ChargeDischargeSummary selectChargeDischargeSummaryById(Long id); + + /** + * 查询累计充放电量列表 + * + * @param chargeDischargeSummary 累计充放电量 + * @return 累计充放电量集合 + */ + public List selectChargeDischargeSummaryList(ChargeDischargeSummary chargeDischargeSummary); + + /** + * 新增累计充放电量 + * + * @param chargeDischargeSummary 累计充放电量 + * @return 结果 + */ + public int insertChargeDischargeSummary(ChargeDischargeSummary chargeDischargeSummary); + + /** + * 修改累计充放电量 + * + * @param chargeDischargeSummary 累计充放电量 + * @return 结果 + */ + public int updateChargeDischargeSummary(ChargeDischargeSummary chargeDischargeSummary); + + /** + * 批量删除累计充放电量 + * + * @param ids 需要删除的累计充放电量主键集合 + * @return 结果 + */ + public int deleteChargeDischargeSummaryByIds(Long[] ids); + + /** + * 删除累计充放电量信息 + * + * @param id 累计充放电量主键 + * @return 结果 + */ + public int deleteChargeDischargeSummaryById(Long id); +} diff --git a/src/main/java/com/evobms/project/summary/service/impl/ChargeDischargeSummaryServiceImpl.java b/src/main/java/com/evobms/project/summary/service/impl/ChargeDischargeSummaryServiceImpl.java new file mode 100644 index 0000000..78aadae --- /dev/null +++ b/src/main/java/com/evobms/project/summary/service/impl/ChargeDischargeSummaryServiceImpl.java @@ -0,0 +1,102 @@ +package com.evobms.project.summary.service.impl; + +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.evobms.common.utils.DateUtils; +import com.evobms.project.vehicledata.domain.VehicleData; +import com.evobms.project.vehicledata.mapper.VehicleDataMapper; +import com.evobms.project.vehicledata.service.IVehicleDataService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.evobms.project.summary.mapper.ChargeDischargeSummaryMapper; +import com.evobms.project.summary.domain.ChargeDischargeSummary; +import com.evobms.project.summary.service.IChargeDischargeSummaryService; + +/** + * 累计充放电量Service业务层处理 + * + * @author 田志阳 + * @date 2026-01-09 + */ +@Service +public class ChargeDischargeSummaryServiceImpl extends ServiceImpl implements IChargeDischargeSummaryService +{ + + @Autowired + private ChargeDischargeSummaryMapper chargeDischargeSummaryMapper; + + /** + * 查询累计充放电量 + * + * @param id 累计充放电量主键 + * @return 累计充放电量 + */ + @Override + public ChargeDischargeSummary selectChargeDischargeSummaryById(Long id) + { + return chargeDischargeSummaryMapper.selectChargeDischargeSummaryById(id); + } + + /** + * 查询累计充放电量列表 + * + * @param chargeDischargeSummary 累计充放电量 + * @return 累计充放电量 + */ + @Override + public List selectChargeDischargeSummaryList(ChargeDischargeSummary chargeDischargeSummary) + { + return chargeDischargeSummaryMapper.selectChargeDischargeSummaryList(chargeDischargeSummary); + } + + /** + * 新增累计充放电量 + * + * @param chargeDischargeSummary 累计充放电量 + * @return 结果 + */ + @Override + public int insertChargeDischargeSummary(ChargeDischargeSummary chargeDischargeSummary) + { + chargeDischargeSummary.setCreateTime(DateUtils.getNowDate()); + return chargeDischargeSummaryMapper.insertChargeDischargeSummary(chargeDischargeSummary); + } + + /** + * 修改累计充放电量 + * + * @param chargeDischargeSummary 累计充放电量 + * @return 结果 + */ + @Override + public int updateChargeDischargeSummary(ChargeDischargeSummary chargeDischargeSummary) + { + chargeDischargeSummary.setUpdateTime(DateUtils.getNowDate()); + return chargeDischargeSummaryMapper.updateChargeDischargeSummary(chargeDischargeSummary); + } + + /** + * 批量删除累计充放电量 + * + * @param ids 需要删除的累计充放电量主键 + * @return 结果 + */ + @Override + public int deleteChargeDischargeSummaryByIds(Long[] ids) + { + return chargeDischargeSummaryMapper.deleteChargeDischargeSummaryByIds(ids); + } + + /** + * 删除累计充放电量信息 + * + * @param id 累计充放电量主键 + * @return 结果 + */ + @Override + public int deleteChargeDischargeSummaryById(Long id) + { + return chargeDischargeSummaryMapper.deleteChargeDischargeSummaryById(id); + } +} diff --git a/src/main/java/com/evobms/project/system/domain/BmsDevices.java b/src/main/java/com/evobms/project/system/domain/BmsDevices.java index c4254fe..bc220ff 100644 --- a/src/main/java/com/evobms/project/system/domain/BmsDevices.java +++ b/src/main/java/com/evobms/project/system/domain/BmsDevices.java @@ -52,8 +52,8 @@ public class BmsDevices extends BaseEntity private String firmwareVersion; /** 最后在线时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "最后在线时间", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "最后在线时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date lastOnline; } diff --git a/src/main/java/com/evobms/project/system/mapper/BmsDevicesMapper.java b/src/main/java/com/evobms/project/system/mapper/BmsDevicesMapper.java index 320b075..3cff408 100644 --- a/src/main/java/com/evobms/project/system/mapper/BmsDevicesMapper.java +++ b/src/main/java/com/evobms/project/system/mapper/BmsDevicesMapper.java @@ -1,19 +1,20 @@ package com.evobms.project.system.mapper; import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.evobms.project.system.domain.BmsDevices; /** * BBOX管理Mapper接口 - * + * * @author 田志阳 * @date 2025-10-10 */ -public interface BmsDevicesMapper -{ +public interface BmsDevicesMapper extends BaseMapper { /** * 查询BBOX管理 - * + * * @param id BBOX管理主键 * @return BBOX管理 */ @@ -21,7 +22,7 @@ public interface BmsDevicesMapper /** * 查询BBOX管理列表 - * + * * @param bmsDevices BBOX管理 * @return BBOX管理集合 */ @@ -29,7 +30,7 @@ public interface BmsDevicesMapper /** * 新增BBOX管理 - * + * * @param bmsDevices BBOX管理 * @return 结果 */ @@ -37,7 +38,7 @@ public interface BmsDevicesMapper /** * 修改BBOX管理 - * + * * @param bmsDevices BBOX管理 * @return 结果 */ @@ -45,7 +46,7 @@ public interface BmsDevicesMapper /** * 删除BBOX管理 - * + * * @param id BBOX管理主键 * @return 结果 */ @@ -53,7 +54,7 @@ public interface BmsDevicesMapper /** * 批量删除BBOX管理 - * + * * @param ids 需要删除的数据主键集合 * @return 结果 */ diff --git a/src/main/java/com/evobms/project/system/service/IBmsDevicesService.java b/src/main/java/com/evobms/project/system/service/IBmsDevicesService.java index 7245ffd..02ed13e 100644 --- a/src/main/java/com/evobms/project/system/service/IBmsDevicesService.java +++ b/src/main/java/com/evobms/project/system/service/IBmsDevicesService.java @@ -5,15 +5,15 @@ import com.evobms.project.system.domain.BmsDevices; /** * BBOX管理Service接口 - * + * * @author 田志阳 * @date 2025-10-10 */ -public interface IBmsDevicesService +public interface IBmsDevicesService { /** * 查询BBOX管理 - * + * * @param id BBOX管理主键 * @return BBOX管理 */ @@ -21,7 +21,7 @@ public interface IBmsDevicesService /** * 查询BBOX管理列表 - * + * * @param bmsDevices BBOX管理 * @return BBOX管理集合 */ @@ -29,7 +29,7 @@ public interface IBmsDevicesService /** * 新增BBOX管理 - * + * * @param bmsDevices BBOX管理 * @return 结果 */ @@ -37,7 +37,7 @@ public interface IBmsDevicesService /** * 修改BBOX管理 - * + * * @param bmsDevices BBOX管理 * @return 结果 */ @@ -45,7 +45,7 @@ public interface IBmsDevicesService /** * 批量删除BBOX管理 - * + * * @param ids 需要删除的BBOX管理主键集合 * @return 结果 */ @@ -53,9 +53,13 @@ public interface IBmsDevicesService /** * 删除BBOX管理信息 - * + * * @param id BBOX管理主键 * @return 结果 */ public int deleteBmsDevicesById(String id); + + BmsDevices selectBmsDevicesBySn(String deviceSn); + + BmsDevices selectBmsDevicesList1(BmsDevices query); } diff --git a/src/main/java/com/evobms/project/system/service/impl/BmsDevicesServiceImpl.java b/src/main/java/com/evobms/project/system/service/impl/BmsDevicesServiceImpl.java index 4d064a0..fba393c 100644 --- a/src/main/java/com/evobms/project/system/service/impl/BmsDevicesServiceImpl.java +++ b/src/main/java/com/evobms/project/system/service/impl/BmsDevicesServiceImpl.java @@ -1,9 +1,14 @@ package com.evobms.project.system.service.impl; +import java.util.Date; import java.util.List; +import java.util.Map; + import com.evobms.common.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.evobms.project.system.mapper.BmsDevicesMapper; import com.evobms.project.system.domain.BmsDevices; import com.evobms.project.system.service.IBmsDevicesService; @@ -15,7 +20,7 @@ import com.evobms.project.system.service.IBmsDevicesService; * @date 2025-10-10 */ @Service -public class BmsDevicesServiceImpl implements IBmsDevicesService +public class BmsDevicesServiceImpl extends ServiceImpl implements IBmsDevicesService { @Autowired private BmsDevicesMapper bmsDevicesMapper; @@ -41,7 +46,25 @@ public class BmsDevicesServiceImpl implements IBmsDevicesService @Override public List selectBmsDevicesList(BmsDevices bmsDevices) { - return bmsDevicesMapper.selectBmsDevicesList(bmsDevices); + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + if (bmsDevices != null) { + if (bmsDevices.getDeviceId() != null && !bmsDevices.getDeviceId().isEmpty()) { + qw.eq(BmsDevices::getDeviceId, bmsDevices.getDeviceId()); + } + Map params = bmsDevices.getParams(); + if (params != null) { + Date begin = DateUtils.parseDate(params.get("beginTime")); + Date end = DateUtils.parseDate(params.get("endTime")); + if (begin != null) { + qw.and(w -> w.ge(BmsDevices::getUpdateTime, begin).or().ge(BmsDevices::getCreateTime, begin)); + } + if (end != null) { + qw.and(w -> w.le(BmsDevices::getUpdateTime, end).or().le(BmsDevices::getCreateTime, end)); + } + } + } + qw.orderByDesc(BmsDevices::getUpdateTime).orderByDesc(BmsDevices::getCreateTime); + return bmsDevicesMapper.selectList(qw); } /** @@ -93,4 +116,22 @@ public class BmsDevicesServiceImpl implements IBmsDevicesService { return bmsDevicesMapper.deleteBmsDevicesById(id); } + + @Override + public BmsDevices selectBmsDevicesBySn(String deviceSn) { + LambdaQueryWrapper bmslq = new LambdaQueryWrapper<>(); + bmslq.eq(BmsDevices::getDeviceSn, deviceSn); + return baseMapper.selectOne(bmslq); + } + + @Override + public BmsDevices selectBmsDevicesList1(BmsDevices bmsDevices) { + LambdaQueryWrapper eq = new LambdaQueryWrapper<>(); + if (bmsDevices != null) { + eq.eq(BmsDevices::getDeviceSn, bmsDevices.getDeviceSn()); + return baseMapper.selectOne(eq); + } + return null; + } + } diff --git a/src/main/java/com/evobms/project/VehicleData/controller/BatteryChartController.java b/src/main/java/com/evobms/project/vehicledata/controller/BatteryChartController.java similarity index 78% rename from src/main/java/com/evobms/project/VehicleData/controller/BatteryChartController.java rename to src/main/java/com/evobms/project/vehicledata/controller/BatteryChartController.java index a050d55..06efb22 100644 --- a/src/main/java/com/evobms/project/VehicleData/controller/BatteryChartController.java +++ b/src/main/java/com/evobms/project/vehicledata/controller/BatteryChartController.java @@ -1,24 +1,30 @@ -package com.evobms.project.VehicleData.controller; +package com.evobms.project.vehicledata.controller; +import java.time.LocalDateTime; import java.util.Date; import java.util.List; import java.util.stream.Collectors; + +import com.evobms.framework.web.domain.R; +import com.evobms.project.vehicledata.domain.HomeDashboardDTO; +import org.apache.ibatis.annotations.Result; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import com.evobms.project.VehicleData.service.IVehicleDataService; -import com.evobms.project.VehicleData.service.IVehicleLocationService; -import com.evobms.project.VehicleData.domain.VehicleData; -import com.evobms.project.VehicleData.domain.VehicleLocation; -import com.evobms.project.VehicleData.dto.ChartDataPoint; -import com.evobms.project.Battery.service.ISubsystemVoltageService; -import com.evobms.project.Battery.service.ISubsystemTemperatureService; -import com.evobms.project.Battery.domain.SubsystemVoltage; -import com.evobms.project.Battery.domain.SubsystemTemperature; -import com.evobms.project.Battery.service.IExtremeValuesService; -import com.evobms.project.Battery.domain.ExtremeValues; +import com.evobms.project.vehicledata.service.IVehicleDataService; +import com.evobms.project.vehicledata.service.IVehicleLocationService; +import com.evobms.project.vehicledata.domain.VehicleData; +import com.evobms.project.vehicledata.domain.VehicleLocation; +import com.evobms.project.vehicledata.dto.ChartDataPoint; +import com.evobms.project.battery.service.ISubsystemVoltageService; +import com.evobms.project.battery.service.ISubsystemTemperatureService; +import com.evobms.project.battery.domain.SubsystemVoltage; +import com.evobms.project.battery.domain.SubsystemTemperature; +import com.evobms.project.battery.service.IExtremeValuesService; +import com.evobms.project.battery.domain.ExtremeValues; import java.text.ParseException; import java.text.SimpleDateFormat; import io.swagger.annotations.Api; @@ -80,10 +86,7 @@ public class BatteryChartController { // 位置轨迹:按时间范围返回位置列表,start/end 为毫秒时间戳,可选 limit 限制条数 @GetMapping("/vehicle-location/{deviceId}") @ApiOperation(value = "车辆位置轨迹", notes = "按时间范围返回位置列表") - public List locationRange(@PathVariable("deviceId") String deviceId, - @RequestParam("start") long startMillis, - @RequestParam("end") long endMillis, - @RequestParam(value = "limit", required = false) Integer limit) { + public List locationRange(@PathVariable("deviceId") String deviceId, @RequestParam("start") long startMillis, @RequestParam("end") long endMillis, @RequestParam(value = "limit", required = false) Integer limit) { Date start = new Date(startMillis); Date end = new Date(endMillis); return vehicleLocationService.selectByDeviceAndRange(deviceId, start, end, limit); @@ -122,4 +125,12 @@ public class BatteryChartController { } return extremeValuesService.selectLatestByDeviceIdBefore(deviceId, beforeTime); } + @GetMapping("/api/dashboard/home") + @ApiOperation(value = "首页所有分布数据", notes = "返回指定设备极值数据,支持before筛选") + public R home(){ + HomeDashboardDTO dto = vehicleDataService.getHomeDashboard(); + return R.ok(dto); + } + + } diff --git a/src/main/java/com/evobms/project/VehicleData/controller/VehicleDataController.java b/src/main/java/com/evobms/project/vehicledata/controller/VehicleDataController.java similarity index 95% rename from src/main/java/com/evobms/project/VehicleData/controller/VehicleDataController.java rename to src/main/java/com/evobms/project/vehicledata/controller/VehicleDataController.java index c44d33b..c66f55d 100644 --- a/src/main/java/com/evobms/project/VehicleData/controller/VehicleDataController.java +++ b/src/main/java/com/evobms/project/vehicledata/controller/VehicleDataController.java @@ -1,4 +1,4 @@ -package com.evobms.project.VehicleData.controller; +package com.evobms.project.vehicledata.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; @@ -14,8 +14,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.evobms.framework.aspectj.lang.annotation.Log; import com.evobms.framework.aspectj.lang.enums.BusinessType; -import com.evobms.project.VehicleData.domain.VehicleData; -import com.evobms.project.VehicleData.service.IVehicleDataService; +import com.evobms.project.vehicledata.domain.VehicleData; +import com.evobms.project.vehicledata.service.IVehicleDataService; import com.evobms.framework.web.controller.BaseController; import com.evobms.framework.web.domain.AjaxResult; import com.evobms.common.utils.poi.ExcelUtil; @@ -23,7 +23,7 @@ import com.evobms.framework.web.page.TableDataInfo; /** * 整车数据Controller - * + * * @author 田志阳 * @date 2025-11-15 */ diff --git a/src/main/java/com/evobms/project/VehicleData/controller/VehicleLocationController.java b/src/main/java/com/evobms/project/vehicledata/controller/VehicleLocationController.java similarity index 95% rename from src/main/java/com/evobms/project/VehicleData/controller/VehicleLocationController.java rename to src/main/java/com/evobms/project/vehicledata/controller/VehicleLocationController.java index e15e29d..b211ff2 100644 --- a/src/main/java/com/evobms/project/VehicleData/controller/VehicleLocationController.java +++ b/src/main/java/com/evobms/project/vehicledata/controller/VehicleLocationController.java @@ -1,4 +1,4 @@ -package com.evobms.project.VehicleData.controller; +package com.evobms.project.vehicledata.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; @@ -14,8 +14,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.evobms.framework.aspectj.lang.annotation.Log; import com.evobms.framework.aspectj.lang.enums.BusinessType; -import com.evobms.project.VehicleData.domain.VehicleLocation; -import com.evobms.project.VehicleData.service.IVehicleLocationService; +import com.evobms.project.vehicledata.domain.VehicleLocation; +import com.evobms.project.vehicledata.service.IVehicleLocationService; import com.evobms.framework.web.controller.BaseController; import com.evobms.framework.web.domain.AjaxResult; import com.evobms.common.utils.poi.ExcelUtil; @@ -23,7 +23,7 @@ import com.evobms.framework.web.page.TableDataInfo; /** * 车辆位置数据Controller - * + * * @author ruoyi * @date 2025-11-15 */ diff --git a/src/main/java/com/evobms/project/vehicledata/domain/HomeDashboardDTO.java b/src/main/java/com/evobms/project/vehicledata/domain/HomeDashboardDTO.java new file mode 100644 index 0000000..d28cbf5 --- /dev/null +++ b/src/main/java/com/evobms/project/vehicledata/domain/HomeDashboardDTO.java @@ -0,0 +1,18 @@ +package com.evobms.project.vehicledata.domain; + +import lombok.Data; + +import java.util.Map; + +@Data +public class HomeDashboardDTO { + private Long deviceCount; // 设备总数 + private Integer onlineCount; // 在线设备数 + private Double avgSoc; // 平均 SOC + private Double maxTemp; // 当前最高温度 + private Double maxVoltageDiff; // 最大单体压差 + private Integer alarmCount; // 未恢复告警数 + + private Map socDistribution; // SOC 分布 + private Map tempDistribution; // 温度分布 +} diff --git a/src/main/java/com/evobms/project/VehicleData/domain/VehicleData.java b/src/main/java/com/evobms/project/vehicledata/domain/VehicleData.java similarity index 99% rename from src/main/java/com/evobms/project/VehicleData/domain/VehicleData.java rename to src/main/java/com/evobms/project/vehicledata/domain/VehicleData.java index 24926ec..3fcba36 100644 --- a/src/main/java/com/evobms/project/VehicleData/domain/VehicleData.java +++ b/src/main/java/com/evobms/project/vehicledata/domain/VehicleData.java @@ -1,4 +1,4 @@ -package com.evobms.project.VehicleData.domain; +package com.evobms.project.vehicledata.domain; import java.math.BigDecimal; import java.util.Date; diff --git a/src/main/java/com/evobms/project/VehicleData/domain/VehicleLocation.java b/src/main/java/com/evobms/project/vehicledata/domain/VehicleLocation.java similarity index 95% rename from src/main/java/com/evobms/project/VehicleData/domain/VehicleLocation.java rename to src/main/java/com/evobms/project/vehicledata/domain/VehicleLocation.java index 71160f7..5f97e7a 100644 --- a/src/main/java/com/evobms/project/VehicleData/domain/VehicleLocation.java +++ b/src/main/java/com/evobms/project/vehicledata/domain/VehicleLocation.java @@ -1,4 +1,4 @@ -package com.evobms.project.VehicleData.domain; +package com.evobms.project.vehicledata.domain; import java.math.BigDecimal; import java.util.Date; @@ -32,8 +32,8 @@ public class VehicleLocation extends BaseEntity { /** * 数据时间戳 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "数据时间戳", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "数据时间戳", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date timestamp; /** diff --git a/src/main/java/com/evobms/project/VehicleData/dto/ChartDataPoint.java b/src/main/java/com/evobms/project/vehicledata/dto/ChartDataPoint.java similarity index 91% rename from src/main/java/com/evobms/project/VehicleData/dto/ChartDataPoint.java rename to src/main/java/com/evobms/project/vehicledata/dto/ChartDataPoint.java index b67cdd0..f7e3f94 100644 --- a/src/main/java/com/evobms/project/VehicleData/dto/ChartDataPoint.java +++ b/src/main/java/com/evobms/project/vehicledata/dto/ChartDataPoint.java @@ -1,4 +1,4 @@ -package com.evobms.project.VehicleData.dto; +package com.evobms.project.vehicledata.dto; import java.util.Date; @@ -8,7 +8,6 @@ public class ChartDataPoint { private double current; private int soc; - public ChartDataPoint() {} public ChartDataPoint(Date timestamp, double voltage, double current, int soc) { this.timestamp = timestamp; @@ -25,4 +24,4 @@ public class ChartDataPoint { public void setCurrent(double current) { this.current = current; } public int getSoc() { return soc; } public void setSoc(int soc) { this.soc = soc; } -} \ No newline at end of file +} diff --git a/src/main/java/com/evobms/project/VehicleData/mapper/VehicleDataMapper.java b/src/main/java/com/evobms/project/vehicledata/mapper/VehicleDataMapper.java similarity index 93% rename from src/main/java/com/evobms/project/VehicleData/mapper/VehicleDataMapper.java rename to src/main/java/com/evobms/project/vehicledata/mapper/VehicleDataMapper.java index 9aeef55..8c760b3 100644 --- a/src/main/java/com/evobms/project/VehicleData/mapper/VehicleDataMapper.java +++ b/src/main/java/com/evobms/project/vehicledata/mapper/VehicleDataMapper.java @@ -1,8 +1,8 @@ -package com.evobms.project.VehicleData.mapper; +package com.evobms.project.vehicledata.mapper; import java.util.Date; import java.util.List; -import com.evobms.project.VehicleData.domain.VehicleData; +import com.evobms.project.vehicledata.domain.VehicleData; import org.apache.ibatis.annotations.Param; import com.baomidou.mybatisplus.core.mapper.BaseMapper; diff --git a/src/main/java/com/evobms/project/VehicleData/mapper/VehicleLocationMapper.java b/src/main/java/com/evobms/project/vehicledata/mapper/VehicleLocationMapper.java similarity index 92% rename from src/main/java/com/evobms/project/VehicleData/mapper/VehicleLocationMapper.java rename to src/main/java/com/evobms/project/vehicledata/mapper/VehicleLocationMapper.java index 7ff644d..8d83961 100644 --- a/src/main/java/com/evobms/project/VehicleData/mapper/VehicleLocationMapper.java +++ b/src/main/java/com/evobms/project/vehicledata/mapper/VehicleLocationMapper.java @@ -1,14 +1,14 @@ -package com.evobms.project.VehicleData.mapper; +package com.evobms.project.vehicledata.mapper; import java.util.Date; import java.util.List; -import com.evobms.project.VehicleData.domain.VehicleLocation; +import com.evobms.project.vehicledata.domain.VehicleLocation; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; /** * 车辆位置数据Mapper接口 - * + * * @author ruoyi * @date 2025-11-15 */ @@ -16,7 +16,7 @@ public interface VehicleLocationMapper extends BaseMapper { /** * 查询车辆位置数据 - * + * * @param id 车辆位置数据主键 * @return 车辆位置数据 */ @@ -24,7 +24,7 @@ public interface VehicleLocationMapper extends BaseMapper /** * 查询车辆位置数据列表 - * + * * @param vehicleLocation 车辆位置数据 * @return 车辆位置数据集合 */ @@ -32,7 +32,7 @@ public interface VehicleLocationMapper extends BaseMapper /** * 新增车辆位置数据 - * + * * @param vehicleLocation 车辆位置数据 * @return 结果 */ @@ -40,7 +40,7 @@ public interface VehicleLocationMapper extends BaseMapper /** * 修改车辆位置数据 - * + * * @param vehicleLocation 车辆位置数据 * @return 结果 */ @@ -48,7 +48,7 @@ public interface VehicleLocationMapper extends BaseMapper /** * 删除车辆位置数据 - * + * * @param id 车辆位置数据主键 * @return 结果 */ @@ -56,7 +56,7 @@ public interface VehicleLocationMapper extends BaseMapper /** * 批量删除车辆位置数据 - * + * * @param ids 需要删除的数据主键集合 * @return 结果 */ diff --git a/src/main/java/com/evobms/project/VehicleData/service/IVehicleDataService.java b/src/main/java/com/evobms/project/vehicledata/service/IVehicleDataService.java similarity index 86% rename from src/main/java/com/evobms/project/VehicleData/service/IVehicleDataService.java rename to src/main/java/com/evobms/project/vehicledata/service/IVehicleDataService.java index f9d07d0..f1dfd43 100644 --- a/src/main/java/com/evobms/project/VehicleData/service/IVehicleDataService.java +++ b/src/main/java/com/evobms/project/vehicledata/service/IVehicleDataService.java @@ -1,8 +1,10 @@ -package com.evobms.project.VehicleData.service; +package com.evobms.project.vehicledata.service; import java.util.Date; import java.util.List; -import com.evobms.project.VehicleData.domain.VehicleData; + +import com.evobms.project.vehicledata.domain.HomeDashboardDTO; +import com.evobms.project.vehicledata.domain.VehicleData; /** * 整车数据Service接口 @@ -63,4 +65,6 @@ public interface IVehicleDataService List selectByDeviceAndStartTime(String deviceId, Date startTime); VehicleData selectLatestByDeviceId(String deviceId); + + HomeDashboardDTO getHomeDashboard(); } diff --git a/src/main/java/com/evobms/project/VehicleData/service/IVehicleLocationService.java b/src/main/java/com/evobms/project/vehicledata/service/IVehicleLocationService.java similarity index 82% rename from src/main/java/com/evobms/project/VehicleData/service/IVehicleLocationService.java rename to src/main/java/com/evobms/project/vehicledata/service/IVehicleLocationService.java index aca693e..e58d2b6 100644 --- a/src/main/java/com/evobms/project/VehicleData/service/IVehicleLocationService.java +++ b/src/main/java/com/evobms/project/vehicledata/service/IVehicleLocationService.java @@ -1,8 +1,8 @@ -package com.evobms.project.VehicleData.service; +package com.evobms.project.vehicledata.service; import java.util.Date; import java.util.List; -import com.evobms.project.VehicleData.domain.VehicleLocation; +import com.evobms.project.vehicledata.domain.VehicleLocation; /** * 车辆位置数据Service接口 @@ -61,6 +61,11 @@ public interface IVehicleLocationService public int deleteVehicleLocationById(Long id); VehicleLocation selectLatestByDeviceId(String deviceId); - + /** + * 删除车辆位置数据信息 + * 位置轨迹:按时间范围返回位置列表,start/end 为毫秒时间戳,可选 limit 限制条数 + * @param deviceId + * @return 结果 + */ List selectByDeviceAndRange(String deviceId, Date start, Date end, Integer limit); } diff --git a/src/main/java/com/evobms/project/vehicledata/service/impl/VehicleDataServiceImpl.java b/src/main/java/com/evobms/project/vehicledata/service/impl/VehicleDataServiceImpl.java new file mode 100644 index 0000000..5a76e2a --- /dev/null +++ b/src/main/java/com/evobms/project/vehicledata/service/impl/VehicleDataServiceImpl.java @@ -0,0 +1,185 @@ +package com.evobms.project.vehicledata.service.impl; + +import java.time.LocalDateTime; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.evobms.common.utils.DateUtils; +import com.evobms.project.battery.mapper.ExtremeValuesMapper; +import com.evobms.project.system.domain.BmsDevices; +import com.evobms.project.system.mapper.BmsDevicesMapper; +import com.evobms.project.vehicledata.domain.HomeDashboardDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.evobms.project.vehicledata.mapper.VehicleDataMapper; +import com.evobms.project.vehicledata.domain.VehicleData; +import com.evobms.project.vehicledata.service.IVehicleDataService; + +/** + * 整车数据Service业务层处理 + * + * @author 田志阳 + * @date 2025-11-15 + */ +@Service +public class VehicleDataServiceImpl extends ServiceImpl implements IVehicleDataService +{ + @Autowired + private VehicleDataMapper vehicleDataMapper; + @Autowired + private BmsDevicesMapper bmsDevicesMapper; + + @Autowired + private ExtremeValuesMapper extremeValuesMapper; + /** + * 查询整车数据 + * + * @param id 整车数据主键 + * @return 整车数据 + */ + @Override + public VehicleData selectVehicleDataById(Long id) + { + return vehicleDataMapper.selectVehicleDataById(id); + } + + /** + * 查询整车数据列表 + * + * @param vehicleData 整车数据 + * @return 整车数据 + */ + @Override + public List selectVehicleDataList(VehicleData vehicleData) + { + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + if (vehicleData != null) { + if (vehicleData.getDeviceId() != null && !vehicleData.getDeviceId().isEmpty()) { + qw.eq(VehicleData::getDeviceId, vehicleData.getDeviceId()); + } + if (vehicleData.getTimestamp() != null) { + qw.ge(VehicleData::getTimestamp, vehicleData.getTimestamp()); + } + Map params = vehicleData.getParams(); + if (params != null) { + Date begin = DateUtils.parseDate(params.get("beginTime")); + Date end = DateUtils.parseDate(params.get("endTime")); + if (begin != null) { + qw.ge(VehicleData::getTimestamp, begin); + } + if (end != null) { + qw.le(VehicleData::getTimestamp, end); + } + } + } + qw.orderByDesc(VehicleData::getTimestamp); + return vehicleDataMapper.selectList(qw); + } + + /** + * 新增整车数据 + * + * @param vehicleData 整车数据 + * @return 结果 + */ + @Override + public int insertVehicleData(VehicleData vehicleData) + { + return vehicleDataMapper.insertVehicleData(vehicleData); + } + + /** + * 修改整车数据 + * + * @param vehicleData 整车数据 + * @return 结果 + */ + @Override + public int updateVehicleData(VehicleData vehicleData) + { + return vehicleDataMapper.updateVehicleData(vehicleData); + } + + /** + * 批量删除整车数据 + * + * @param ids 需要删除的整车数据主键 + * @return 结果 + */ + @Override + public int deleteVehicleDataByIds(Long[] ids) + { + return vehicleDataMapper.deleteVehicleDataByIds(ids); + } + + /** + * 删除整车数据信息 + * + * @param id 整车数据主键 + * @return 结果 + */ + @Override + public int deleteVehicleDataById(Long id) + { + return vehicleDataMapper.deleteVehicleDataById(id); + } + + @Override + public List selectByDeviceAndStartTime(String deviceId, Date startTime) { + LambdaQueryWrapper byTimestamp = new LambdaQueryWrapper<>(); + byTimestamp.eq(VehicleData::getDeviceId, deviceId) + .ge(VehicleData::getTimestamp, startTime) + .orderByAsc(VehicleData::getTimestamp); + List rows = vehicleDataMapper.selectList(byTimestamp); + if (rows == null || rows.isEmpty()) { + LambdaQueryWrapper byCreateTime = new LambdaQueryWrapper<>(); + byCreateTime.eq(VehicleData::getDeviceId, deviceId) + .ge(VehicleData::getCreateTime, startTime) + .orderByAsc(VehicleData::getCreateTime); + rows = vehicleDataMapper.selectList(byCreateTime); + } + return rows; + } + + @Override + public VehicleData selectLatestByDeviceId(String deviceId) { + LambdaQueryWrapper byTimestamp = new LambdaQueryWrapper<>(); + byTimestamp.eq(VehicleData::getDeviceId, deviceId) + .orderByDesc(VehicleData::getTimestamp) + .last("limit 1"); + VehicleData latest = vehicleDataMapper.selectOne(byTimestamp); + if (latest == null) { + LambdaQueryWrapper byCreateTime = new LambdaQueryWrapper<>(); + byCreateTime.eq(VehicleData::getDeviceId, deviceId) + .orderByDesc(VehicleData::getCreateTime) + .last("limit 1"); + latest = vehicleDataMapper.selectOne(byCreateTime); + } + return latest; + } + + @Override + public HomeDashboardDTO getHomeDashboard() { + HomeDashboardDTO dto = new HomeDashboardDTO(); + // 1️⃣ 设备总数 + Long deviceCount = bmsDevicesMapper.selectCount(null); + dto.setDeviceCount(deviceCount); + return null; + } + + @Scheduled(fixedDelay = 60000) + public void checkDeviceOffline() { + LocalDateTime threshold = LocalDateTime.now().minusMinutes(5); + bmsDevicesMapper.update(null, new UpdateWrapper() + .set("status", "offline") + .lt("last_online", threshold)); + bmsDevicesMapper.update(null, new UpdateWrapper() + .set("status", "online") + .ge("last_online", threshold)); + } +} diff --git a/src/main/java/com/evobms/project/vehicledata/service/impl/VehicleLocationServiceImpl.java b/src/main/java/com/evobms/project/vehicledata/service/impl/VehicleLocationServiceImpl.java new file mode 100644 index 0000000..332b11d --- /dev/null +++ b/src/main/java/com/evobms/project/vehicledata/service/impl/VehicleLocationServiceImpl.java @@ -0,0 +1,139 @@ +package com.evobms.project.vehicledata.service.impl; + +import java.util.Date; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.evobms.project.vehicledata.mapper.VehicleLocationMapper; +import com.evobms.project.vehicledata.domain.VehicleLocation; +import com.evobms.project.vehicledata.service.IVehicleLocationService; + +/** + * 车辆位置数据Service业务层处理 + * + * @author ruoyi + * @date 2025-11-15 + */ +@Service +public class VehicleLocationServiceImpl extends ServiceImpl implements IVehicleLocationService +{ + @Autowired + private VehicleLocationMapper vehicleLocationMapper; + + /** + * 查询车辆位置数据 + * + * @param id 车辆位置数据主键 + * @return 车辆位置数据 + */ + @Override + public VehicleLocation selectVehicleLocationById(Long id) + { + return vehicleLocationMapper.selectVehicleLocationById(id); + } + + /** + * 查询车辆位置数据列表 + * + * @param vehicleLocation 车辆位置数据 + * @return 车辆位置数据 + */ + @Override + public List selectVehicleLocationList(VehicleLocation vehicleLocation) + { + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + if (vehicleLocation != null) { + if (vehicleLocation.getDeviceId() != null && !vehicleLocation.getDeviceId().isEmpty()) { + qw.eq(VehicleLocation::getDeviceId, vehicleLocation.getDeviceId()); + } + if (vehicleLocation.getTimestamp() != null) { + qw.ge(VehicleLocation::getTimestamp, vehicleLocation.getTimestamp()); + } + java.util.Map params = vehicleLocation.getParams(); + if (params != null) { + java.util.Date begin = com.evobms.common.utils.DateUtils.parseDate(params.get("beginTime")); + java.util.Date end = com.evobms.common.utils.DateUtils.parseDate(params.get("endTime")); + if (begin != null) { + qw.ge(VehicleLocation::getTimestamp, begin); + } + if (end != null) { + qw.le(VehicleLocation::getTimestamp, end); + } + } + } + qw.orderByDesc(VehicleLocation::getTimestamp); + return vehicleLocationMapper.selectList(qw); + } + + /** + * 新增车辆位置数据 + * + * @param vehicleLocation 车辆位置数据 + * @return 结果 + */ + @Override + public int insertVehicleLocation(VehicleLocation vehicleLocation) + { + return vehicleLocationMapper.insertVehicleLocation(vehicleLocation); + } + + /** + * 修改车辆位置数据 + * + * @param vehicleLocation 车辆位置数据 + * @return 结果 + */ + @Override + public int updateVehicleLocation(VehicleLocation vehicleLocation) + { + return vehicleLocationMapper.updateVehicleLocation(vehicleLocation); + } + + /** + * 批量删除车辆位置数据 + * + * @param ids 需要删除的车辆位置数据主键 + * @return 结果 + */ + @Override + public int deleteVehicleLocationByIds(Long[] ids) + { + return vehicleLocationMapper.deleteVehicleLocationByIds(ids); + } + + /** + * 删除车辆位置数据信息 + * + * @param id 车辆位置数据主键 + * @return 结果 + */ + @Override + public int deleteVehicleLocationById(Long id) + { + return vehicleLocationMapper.deleteVehicleLocationById(id); + } + + @Override + public VehicleLocation selectLatestByDeviceId(String deviceId) { + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + qw.eq(VehicleLocation::getDeviceId, deviceId) + .orderByDesc(VehicleLocation::getTimestamp) + .last("limit 1"); + return vehicleLocationMapper.selectOne(qw); + } + + @Override + public List selectByDeviceAndRange(String deviceId, Date start, Date end, Integer limit) { + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + qw.eq(VehicleLocation::getDeviceId, deviceId) + .ge(VehicleLocation::getTimestamp, start) + .le(VehicleLocation::getTimestamp, end) + .orderByAsc(VehicleLocation::getTimestamp); + if (limit != null && limit > 0) { + qw.last("limit " + limit); + } + return vehicleLocationMapper.selectList(qw); + } +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index f99a863..675e2f7 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -16,7 +16,7 @@ ruoyi: # 开发环境配置 server: # 服务器HTTP端口,支持环境变量覆盖:SERVER_PORT,默认8080 - port: ${SERVER_PORT:8081} + port: ${SERVER_PORT:8080} servlet: # 应用的访问路径 context-path: / @@ -154,7 +154,7 @@ swagger: # 是否开启swagger enabled: true # 请求前缀 - pathMapping: /dev-api + pathMapping: /prod-api # 防盗链配置 referer: @@ -175,7 +175,7 @@ xss: # 代码生成 gen: # 作者 - author: ruoyi + author: tzy # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool packageName: com.evobms.project.system # 自动去除表前缀,默认是true @@ -190,13 +190,13 @@ mqtt: # 是否启用MQTT功能(设置为false可在没有MQTT服务器时正常启动) enabled: true # MQTT服务器地址 - host: tcp://61.182.73.218:1883 - # 客户端ID - clientId: evobms-client - # 用户名 - username: - # 密码 - password: + host: ${MQTT_HOST_URI:tcp://61.182.73.218:1883} + # 客户端ID(避免冲突,随机后缀) + clientId: evobms-client-${random.int} + # 用户名(如需认证请填写) + username: ${MQTT_USERNAME:00000001} + # 密码(如需认证请填写) + password: ${MQTT_PASSWORD:741a03a10f3de6b2} # 连接超时时间(秒) connectionTimeout: 30 # 心跳间隔(秒) diff --git a/src/main/resources/mybatis/BatteryData/ChargeDischargeSummaryMapper.xml b/src/main/resources/mybatis/batterydata/ChargeDischargeSummaryMapper.xml similarity index 98% rename from src/main/resources/mybatis/BatteryData/ChargeDischargeSummaryMapper.xml rename to src/main/resources/mybatis/batterydata/ChargeDischargeSummaryMapper.xml index 3175b91..2a3551e 100644 --- a/src/main/resources/mybatis/BatteryData/ChargeDischargeSummaryMapper.xml +++ b/src/main/resources/mybatis/batterydata/ChargeDischargeSummaryMapper.xml @@ -2,7 +2,7 @@ - + @@ -84,4 +84,4 @@ #{id} - \ No newline at end of file + diff --git a/src/main/resources/mybatis/BatteryData/ExtremeValuesMapper.xml b/src/main/resources/mybatis/batterydata/ExtremeValuesMapper.xml similarity index 98% rename from src/main/resources/mybatis/BatteryData/ExtremeValuesMapper.xml rename to src/main/resources/mybatis/batterydata/ExtremeValuesMapper.xml index ca3db41..d3d0d74 100644 --- a/src/main/resources/mybatis/BatteryData/ExtremeValuesMapper.xml +++ b/src/main/resources/mybatis/batterydata/ExtremeValuesMapper.xml @@ -2,8 +2,8 @@ - - + + @@ -32,7 +32,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + - \ No newline at end of file + diff --git a/src/main/resources/mybatis/bms/BmsDeviceMapper.xml b/src/main/resources/mybatis/bms/BmsDeviceMapper.xml deleted file mode 100644 index 23e81da..0000000 --- a/src/main/resources/mybatis/bms/BmsDeviceMapper.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - select device_id, device_code, device_name, device_type, status, battery_capacity, - rated_voltage, current_voltage, current_current, remaining_capacity, temperature, - last_comm_time, del_flag, version, create_by, create_time, update_by, update_time, remark - from bms_device - - - - - - - - update bms_device set status = #{status} where device_id in - - #{deviceId} - - - - \ No newline at end of file diff --git a/src/main/resources/mybatis/location/VehicleLocationMapper.xml b/src/main/resources/mybatis/location/VehicleLocationMapper.xml index 3298fe6..6466ee4 100644 --- a/src/main/resources/mybatis/location/VehicleLocationMapper.xml +++ b/src/main/resources/mybatis/location/VehicleLocationMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/src/main/resources/mybatis/summary/ChargeDischargeSummaryMapper.xml b/src/main/resources/mybatis/summary/ChargeDischargeSummaryMapper.xml new file mode 100644 index 0000000..3e25ca2 --- /dev/null +++ b/src/main/resources/mybatis/summary/ChargeDischargeSummaryMapper.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + select id, device_id, timestamp, discharge_kwh, charge_kwh, create_time, update_time, create_by, update_by from charge_discharge_summary + + + + + + + + insert into charge_discharge_summary + + device_id, + timestamp, + discharge_kwh, + charge_kwh, + create_time, + update_time, + create_by, + update_by, + + + #{deviceId}, + #{timestamp}, + #{dischargeKwh}, + #{chargeKwh}, + #{createTime}, + #{updateTime}, + #{createBy}, + #{updateBy}, + + + + + update charge_discharge_summary + + device_id = #{deviceId}, + timestamp = #{timestamp}, + discharge_kwh = #{dischargeKwh}, + charge_kwh = #{chargeKwh}, + create_time = #{createTime}, + update_time = #{updateTime}, + create_by = #{createBy}, + update_by = #{updateBy}, + + where id = #{id} + + + + delete from charge_discharge_summary where id = #{id} + + + + delete from charge_discharge_summary where id in + + #{id} + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/temperature/SubsystemTemperatureMapper.xml b/src/main/resources/mybatis/temperature/SubsystemTemperatureMapper.xml index 81d225a..1d91711 100644 --- a/src/main/resources/mybatis/temperature/SubsystemTemperatureMapper.xml +++ b/src/main/resources/mybatis/temperature/SubsystemTemperatureMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/src/main/resources/mybatis/VehicleData/VehicleDataMapper.xml b/src/main/resources/mybatis/vehicledata/VehicleDataMapper.xml similarity index 99% rename from src/main/resources/mybatis/VehicleData/VehicleDataMapper.xml rename to src/main/resources/mybatis/vehicledata/VehicleDataMapper.xml index 3653648..3a8bba2 100644 --- a/src/main/resources/mybatis/VehicleData/VehicleDataMapper.xml +++ b/src/main/resources/mybatis/vehicledata/VehicleDataMapper.xml @@ -2,7 +2,7 @@ - + diff --git a/src/main/resources/mybatis/voltage/SubsystemVoltageMapper.xml b/src/main/resources/mybatis/voltage/SubsystemVoltageMapper.xml index 619feb6..21af73c 100644 --- a/src/main/resources/mybatis/voltage/SubsystemVoltageMapper.xml +++ b/src/main/resources/mybatis/voltage/SubsystemVoltageMapper.xml @@ -2,7 +2,7 @@ - +