| | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.springblade.core.mp.base.BaseServiceImpl; |
| | | import org.springblade.core.tool.api.R; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | return baseMapper.resetLatestByDeviceId(deviceId, excludeId); |
| | | } |
| | | |
| | | @Override |
| | | public R saveOrUpdateConfig(FwDeviceConfigEntity fwDeviceConfig) { |
| | | if (fwDeviceConfig == null || fwDeviceConfig.getDeviceId() == null) { |
| | | return R.fail("设备id不能为空"); |
| | | } |
| | | Long deviceId = fwDeviceConfig.getDeviceId(); |
| | | FwDeviceConfigEntity existing = null; |
| | | if (fwDeviceConfig.getId() != null) { |
| | | existing = this.getById(fwDeviceConfig.getId()); |
| | | if (existing == null) { |
| | | return R.fail("数据不存在"); |
| | | } |
| | | } |
| | | if (existing == null) { |
| | | Integer maxVersion = this.selectMaxConfigVersion(deviceId); |
| | | fwDeviceConfig.setConfigVersion(maxVersion == null ? 1 : maxVersion + 1); |
| | | fwDeviceConfig.setIsLatest((byte) 1); |
| | | this.resetLatestByDeviceId(deviceId, null); |
| | | return R.status(this.save(fwDeviceConfig)); |
| | | } |
| | | |
| | | if (fwDeviceConfig.getConfigVersion() == null) { |
| | | fwDeviceConfig.setConfigVersion(existing.getConfigVersion()); |
| | | } |
| | | if (fwDeviceConfig.getIsLatest() == null) { |
| | | fwDeviceConfig.setIsLatest(existing.getIsLatest()); |
| | | } |
| | | if (fwDeviceConfig.getIsLatest() != null && fwDeviceConfig.getIsLatest() == 1) { |
| | | this.resetLatestByDeviceId(deviceId, fwDeviceConfig.getId()); |
| | | } |
| | | return R.status(this.updateById(fwDeviceConfig)); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<FwDeviceConfigExcel> exportFwDeviceConfig(Wrapper<FwDeviceConfigEntity> queryWrapper) { |