DeviceConfigServiceImpl.java 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package com.xy.service;
  2. import cn.hutool.core.collection.CollUtil;
  3. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  4. import com.xy.device.EnumDeviceTempConfig;
  5. import com.xy.dto.DeviceConfigDto;
  6. import com.xy.entity.DeviceConfig;
  7. import com.xy.entity.SysDictRedis;
  8. import com.xy.mapper.DeviceConfigMapper;
  9. import com.xy.utils.Beans;
  10. import com.xy.utils.R;
  11. import com.xy.utils.SysDictUtils;
  12. import io.swagger.annotations.Api;
  13. import io.swagger.annotations.ApiOperation;
  14. import lombok.AllArgsConstructor;
  15. import org.springframework.stereotype.Service;
  16. import org.springframework.validation.annotation.Validated;
  17. import org.springframework.web.bind.annotation.PostMapping;
  18. import org.springframework.web.bind.annotation.RequestBody;
  19. import java.time.LocalDateTime;
  20. import java.util.List;
  21. import java.util.Map;
  22. /**
  23. * <p>
  24. * 设备配置表 服务实现类
  25. * </p>
  26. *
  27. * @author lijin
  28. * @since 2023-06-16
  29. */
  30. @Service
  31. @AllArgsConstructor
  32. @Api(tags = "设备配置表")
  33. public class DeviceConfigServiceImpl extends ServiceImpl<DeviceConfigMapper, DeviceConfig> implements DeviceConfigService {
  34. @PostMapping("update")
  35. @ApiOperation("修改")
  36. public R update(@RequestBody @Validated DeviceConfigDto.Update update) {
  37. DeviceConfig deviceConfigInfo = getById(update.getDeviceId());
  38. LocalDateTime now = LocalDateTime.now();
  39. DeviceConfig deviceConfig = Beans.copy(DeviceConfig.class, update);
  40. if (deviceConfigInfo == null) {
  41. deviceConfig.setCreateTime(now);
  42. }
  43. deviceConfig.setUpdateTime(LocalDateTime.now());
  44. saveOrUpdate(deviceConfig);
  45. return R.ok();
  46. }
  47. @PostMapping("batchUpdate")
  48. @ApiOperation("批量更新")
  49. public R batchUpdate(@RequestBody @Validated DeviceConfigDto.BatchUpdate batchUpdate) {
  50. List<Long> deviceIds = batchUpdate.getDeviceIds();
  51. List<DeviceConfig> deviceConfigs = this.listByIds(deviceIds);
  52. if (CollUtil.isNotEmpty(deviceConfigs)) {
  53. deviceConfigs.forEach(d -> {
  54. d.setTempMin(batchUpdate.getTempMin());
  55. d.setTempMax(batchUpdate.getTempMax());
  56. d.setStockOutGoodsNum(batchUpdate.getStockOutGoodsNum());
  57. d.setStockOutRate(batchUpdate.getStockOutRate());
  58. d.setUpdateTime(LocalDateTime.now());
  59. });
  60. this.saveOrUpdateBatch(deviceConfigs);
  61. }
  62. return R.ok();
  63. }
  64. @Override
  65. @ApiOperation("对象查询")
  66. public R<DeviceConfigDto.Vo> obj(@RequestBody @Validated DeviceConfigDto.Obj obj) {
  67. DeviceConfig deviceConfig = getById(obj.getDeviceId());
  68. if (deviceConfig == null) {
  69. Map<String, SysDictRedis> stringSysDictRedisMap = SysDictUtils.get(EnumDeviceTempConfig.Code.CODE.getCode());
  70. deviceConfig = new DeviceConfig()
  71. .setDeviceId(obj.getDeviceId())
  72. .setTempMax(Integer.valueOf(stringSysDictRedisMap.get(EnumDeviceTempConfig.MAX.getCode()).getValue()))
  73. .setTempMin(Integer.valueOf(stringSysDictRedisMap.get(EnumDeviceTempConfig.MIN.getCode()).getValue()));
  74. }
  75. return R.ok(Beans.copy(DeviceConfigDto.Vo.class, deviceConfig));
  76. }
  77. }