Ver código fonte

设备温度设置接口

hechunping 2 anos atrás
pai
commit
ebd3795dc4

+ 120 - 0
device-api-service/src/main/java/com/xy/entity/DeviceTempSet.java

@@ -0,0 +1,120 @@
+package com.xy.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+
+
+/**
+ * 设备温度设置表
+ *
+ * @author hechunping
+ * @date 2023/03/20
+ */
+@Data
+@Accessors(chain = true)
+public class DeviceTempSet {
+    @ApiModelProperty(value = "id")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备ID
+     */
+    @ApiModelProperty(value = "设备ID")
+    private Long deviceId;
+
+    /**
+     * 工作模式
+     */
+    @ApiModelProperty(value = "工作模式")
+    private String workMode;
+
+    /**
+     * 最低温度报警
+     */
+    @ApiModelProperty(value = "最低温度报警")
+    private Integer warningLow;
+
+    /**
+     * 最高温度报警
+     */
+    @ApiModelProperty(value = "最高温度报警")
+    private Integer warningHigh;
+
+    /**
+     * 目标温度
+     */
+    @ApiModelProperty(value = "目标温度")
+    private Integer tempValue;
+
+    /**
+     * 工作时段1起始时间
+     */
+    @ApiModelProperty(value = "工作时段1起始时间")
+    private LocalTime job1StartTime;
+
+    /**
+     * 工作时段1结束时间
+     */
+    @ApiModelProperty(value = "工作时段1结束时间")
+    private LocalTime job1StartEnd;
+
+    /**
+     * 工作时段2起始时间
+     */
+    @ApiModelProperty(value = "工作时段2起始时间")
+    private LocalTime job2StartTime;
+
+    /**
+     * 工作时段2结束时间
+     */
+    @ApiModelProperty(value = "工作时段2结束时间")
+    private LocalTime job2StartEnd;
+
+    /**
+     * 工作时段3起始时间
+     */
+    @ApiModelProperty(value = "工作时段3起始时间")
+    private LocalTime job3StartTime;
+
+    /**
+     * 工作时段3结束时间
+     */
+    @ApiModelProperty(value = "工作时段3结束时间")
+    private LocalTime job3EndTime;
+
+    /**
+     * 设置状态
+     */
+    @ApiModelProperty(value = "设置状态")
+    private String status;
+
+    /**
+     * 设置状态更新时间
+     */
+    @ApiModelProperty(value = "设置状态更新时间")
+    private LocalDateTime setUpdateTime;
+
+    /**
+     * 创建人
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @ApiModelProperty(value = "创建人")
+    private Long createUser;
+
+    /**
+     * 创建时间
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime createTime;
+}
+

+ 15 - 0
device-api-service/src/main/java/com/xy/mapper/DeviceTempSetMapper.java

@@ -0,0 +1,15 @@
+package com.xy.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xy.entity.DeviceTempSet;
+
+/**
+ * <p>
+ * 设备温度设置Mapper
+ * </p>
+ *
+ * @author hechunping
+ * @since 2023/3/20
+ */
+public interface DeviceTempSetMapper extends BaseMapper<DeviceTempSet> {
+}

+ 56 - 0
device-api-service/src/main/java/com/xy/service/DeviceTempSetServiceImpl.java

@@ -0,0 +1,56 @@
+package com.xy.service;
+
+import cn.hutool.core.lang.Console;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xy.dto.DeviceTempSetDto;
+import com.xy.entity.DeviceTempSet;
+import com.xy.mapper.DeviceTempSetMapper;
+import com.xy.utils.Emptys;
+import com.xy.utils.MybatisPlusQuery;
+import com.xy.utils.R;
+import com.xy.utils.enums.DeviceTempSetStatusEnum;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import static com.xy.utils.Beans.copy;
+
+/**
+ * <p>
+ * 设备温度设置实现类
+ * </p>
+ *
+ * @author hechunping
+ * @since 2023/3/20
+ */
+@Service
+@Api(tags = "设备温度设置")
+public class DeviceTempSetServiceImpl extends ServiceImpl<DeviceTempSetMapper, DeviceTempSet> implements DeviceTempSetService {
+
+    @ApiOperation("新增")
+    @PostMapping("save")
+    public R save(@RequestBody DeviceTempSetDto.Save dto) {
+        DeviceTempSet save = copy(DeviceTempSet.class,dto);
+        save.setStatus(DeviceTempSetStatusEnum.SETTING.getCode());
+        save(save);
+        Console.log(save.getId());
+        return R.ok();
+    }
+
+    @ApiOperation("获取最新一条记录")
+    @PostMapping("getLastOne")
+    public R getLastOne(@RequestBody DeviceTempSetDto.GetLastOneDto dto){
+        LambdaQueryWrapper lambdaQueryWrapper = new MybatisPlusQuery().eqWrapper(dto,DeviceTempSet.class)
+                .build()
+                .orderByDesc(DeviceTempSet::getId)
+                .last("limit 1");
+        DeviceTempSet tempSet = getOne(lambdaQueryWrapper);
+        if(Emptys.check(tempSet)){
+            return R.ok(copy(DeviceTempSetDto.Vo.class,tempSet));
+        }
+        return R.ok();
+    }
+}

+ 133 - 0
device-api/src/main/java/com/xy/dto/DeviceTempSetDto.java

@@ -0,0 +1,133 @@
+package com.xy.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author hechunping
+ * @since 2023/3/20
+ */
+@Data
+@Accessors(chain = true)
+public class DeviceTempSetDto {
+
+    @Data
+    @Accessors(chain = true)
+    public static class GetLastOneDto{
+        @ApiModelProperty(value = "设备ID")
+        private Long deviceId;
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class Save{
+        @ApiModelProperty(value = "设备ID")
+        private Long deviceId;
+
+        @ApiModelProperty(value = "工作模式")
+        private String workMode;
+
+        @ApiModelProperty(value = "最低温度报警")
+        private Integer warningLow;
+
+        @ApiModelProperty(value = "最高温度报警")
+        private Integer warningHigh;
+
+        @ApiModelProperty(value = "目标温度")
+        private Integer tempValue;
+
+        @ApiModelProperty(value = "工作时段1起始时间")
+        @JsonFormat(pattern = "HH:mm:ss")
+        private LocalTime job1StartTime;
+
+        @ApiModelProperty(value = "工作时段1结束时间")
+        @JsonFormat(pattern = "HH:mm:ss")
+        private LocalTime job1StartEnd;
+
+        @ApiModelProperty(value = "工作时段2起始时间")
+        @JsonFormat(pattern = "HH:mm:ss")
+        private LocalTime job2StartTime;
+
+        @ApiModelProperty(value = "工作时段2结束时间")
+        @JsonFormat(pattern = "HH:mm:ss")
+        private LocalTime job2StartEnd;
+
+        @ApiModelProperty(value = "工作时段3起始时间")
+        @JsonFormat(pattern = "HH:mm:ss")
+        private LocalTime job3StartTime;
+
+        @ApiModelProperty(value = "工作时段3结束时间")
+        @JsonFormat(pattern = "HH:mm:ss")
+        private LocalTime job3EndTime;
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class  Vo{
+        @ApiModelProperty(value = "id")
+        private Integer id;
+
+        @ApiModelProperty(value = "设备ID")
+        private Long deviceId;
+
+        @ApiModelProperty(value = "工作模式")
+        private String workMode;
+
+        @ApiModelProperty(value = "最低温度报警")
+        private Integer warningLow;
+
+        @ApiModelProperty(value = "最高温度报警")
+        private Integer warningHigh;
+
+        @ApiModelProperty(value = "目标温度")
+        private Integer tempValue;
+
+        @ApiModelProperty(value = "工作时段1起始时间")
+        @JsonFormat(pattern = "HH:mm:ss")
+        private LocalTime job1StartTime;
+
+        @ApiModelProperty(value = "工作时段1结束时间")
+        @JsonFormat(pattern = "HH:mm:ss")
+        private LocalTime job1StartEnd;
+
+        @ApiModelProperty(value = "工作时段2起始时间")
+        @JsonFormat(pattern = "HH:mm:ss")
+        private LocalTime job2StartTime;
+
+        @ApiModelProperty(value = "工作时段2结束时间")
+        @JsonFormat(pattern = "HH:mm:ss")
+        private LocalTime job2StartEnd;
+
+        @ApiModelProperty(value = "工作时段3起始时间")
+        @JsonFormat(pattern = "HH:mm:ss")
+        private LocalTime job3StartTime;
+
+        @ApiModelProperty(value = "工作时段3结束时间")
+        @JsonFormat(pattern = "HH:mm:ss")
+        private LocalTime job3EndTime;
+
+        @ApiModelProperty(value = "设置状态")
+        private String status;
+
+        @ApiModelProperty(value = "设置状态更新时间")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime setUpdateTime;
+
+        @ApiModelProperty(value = "创建人")
+        private Long createUser;
+
+        @ApiModelProperty(value = "创建时间")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime createTime;
+    }
+
+}

+ 16 - 0
device-api/src/main/java/com/xy/service/DeviceTempSetService.java

@@ -0,0 +1,16 @@
+package com.xy.service;
+
+import com.xy.annotate.RestMappingController;
+
+/**
+ * <p>
+ * 设备温度设置接口
+ * </p>
+ *
+ * @author hechunping
+ * @since 2023/3/20
+ */
+@RestMappingController("/deviceTempSet")
+public interface DeviceTempSetService {
+
+}

+ 28 - 0
device-api/src/main/java/com/xy/utils/enums/DeviceTempSetStatusEnum.java

@@ -0,0 +1,28 @@
+package com.xy.utils.enums;
+
+import lombok.Getter;
+
+/**
+ * <p>
+ * 温度设置状态枚举
+ * </p>
+ *
+ * @author hechunping
+ * @since 2023/3/20
+ */
+@Getter
+public enum DeviceTempSetStatusEnum {
+    SETTING("0","设置中"),
+    SUCCESS("1","设置成功"),
+    ERROR("-1","设置失败"),
+    TIME_OUT("-2","设置超时"),
+    ;
+    private String code;
+
+    private String msg;
+
+    DeviceTempSetStatusEnum(String code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+}

+ 25 - 0
device-api/src/main/java/com/xy/utils/enums/DeviceTempSetWorkModeEnum.java

@@ -0,0 +1,25 @@
+package com.xy.utils.enums;
+
+/**
+ * <p>
+ * 设备温度工作模式
+ * </p>
+ *
+ * @author hechunping
+ * @since 2023/3/20
+ */
+public enum DeviceTempSetWorkModeEnum {
+    cold("0","设置中"),
+    hot("1","设置成功"),
+    ERROR("-1","设置失败"),
+    TIME_OUT("-2","设置超时"),
+    ;
+    private String code;
+
+    private String msg;
+
+    DeviceTempSetWorkModeEnum(String code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+}