package com.xy.service; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xy.device.EnumDeviceTempConfig; import com.xy.dto.DeviceConfigDto; import com.xy.entity.DeviceConfig; import com.xy.entity.SysDictRedis; import com.xy.mapper.DeviceConfigMapper; import com.xy.utils.Beans; import com.xy.utils.R; import com.xy.utils.SysDictUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import java.time.LocalDateTime; import java.util.List; import java.util.Map; /** *

* 设备配置表 服务实现类 *

* * @author lijin * @since 2023-06-16 */ @Service @AllArgsConstructor @Api(tags = "设备配置表") public class DeviceConfigServiceImpl extends ServiceImpl implements DeviceConfigService { @PostMapping("update") @ApiOperation("修改") public R update(@RequestBody @Validated DeviceConfigDto.Update update) { DeviceConfig deviceConfigInfo = getById(update.getDeviceId()); LocalDateTime now = LocalDateTime.now(); DeviceConfig deviceConfig = Beans.copy(DeviceConfig.class, update); if (deviceConfigInfo == null) { deviceConfig.setCreateTime(now); } deviceConfig.setUpdateTime(LocalDateTime.now()); saveOrUpdate(deviceConfig); return R.ok(); } @PostMapping("batchUpdate") @ApiOperation("批量更新") public R batchUpdate(@RequestBody @Validated DeviceConfigDto.BatchUpdate batchUpdate) { List deviceIds = batchUpdate.getDeviceIds(); List deviceConfigs = this.listByIds(deviceIds); if (CollUtil.isNotEmpty(deviceConfigs)) { deviceConfigs.forEach(d -> { d.setTempMin(batchUpdate.getTempMin()); d.setTempMax(batchUpdate.getTempMax()); d.setStockOutGoodsNum(batchUpdate.getStockOutGoodsNum()); d.setStockOutRate(batchUpdate.getStockOutRate()); d.setUpdateTime(LocalDateTime.now()); }); this.saveOrUpdateBatch(deviceConfigs); } return R.ok(); } @Override @ApiOperation("对象查询") public R obj(@RequestBody @Validated DeviceConfigDto.Obj obj) { DeviceConfig deviceConfig = getById(obj.getDeviceId()); if (deviceConfig == null) { Map stringSysDictRedisMap = SysDictUtils.get(EnumDeviceTempConfig.Code.CODE.getCode()); deviceConfig = new DeviceConfig() .setDeviceId(obj.getDeviceId()) .setTempMax(Integer.valueOf(stringSysDictRedisMap.get(EnumDeviceTempConfig.MAX.getCode()).getValue())) .setTempMin(Integer.valueOf(stringSysDictRedisMap.get(EnumDeviceTempConfig.MIN.getCode()).getValue())); } return R.ok(Beans.copy(DeviceConfigDto.Vo.class, deviceConfig)); } }