Newspaper 1 vuosi sitten
vanhempi
commit
cd26d957cd

+ 31 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/SysMonthEleController.java

@@ -0,0 +1,31 @@
+package com.huimv.environ.eco.controller;
+
+
+import com.huimv.common.utils.Result;
+import com.huimv.environ.eco.service.ISysMonthEleService;
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author newspaper
+ * @since 2024-05-15
+ */
+@RestController
+@RequestMapping("/sys-month-ele")
+public class SysMonthEleController {
+    @Autowired
+    private ISysMonthEleService sysMonthEleService;
+
+    @PostMapping("/listEle")
+    public Result listEle(@RequestBody Map<String, String> map){
+        return sysMonthEleService.listEle(map);
+    }
+
+}

+ 53 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/SysMonthEle.java

@@ -0,0 +1,53 @@
+package com.huimv.environ.eco.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author newspaper
+ * @since 2024-05-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("sys_month_ele")
+public class SysMonthEle implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableField("id")
+    private String id;
+
+    @TableField("value")
+    private String value;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("room_id")
+    private Integer roomId;
+
+    @TableId(value = "month_ele_id", type = IdType.AUTO)
+    private Integer monthEleId;
+
+    @TableField("increase_value")
+    private String increaseValue;
+
+    @TableField("farm_id")
+    private Integer farmId;
+
+
+}

+ 14 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/entity/envVo/EnergyResult.java

@@ -0,0 +1,14 @@
+package com.huimv.environ.eco.entity.envVo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class EnergyResult {
+    private BigDecimal value;
+    @JsonFormat(pattern = "MM-dd",timezone = "GMT+8")
+    private Date date;
+}

+ 21 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/mapper/SysMonthEleMapper.java

@@ -0,0 +1,21 @@
+package com.huimv.environ.eco.mapper;
+
+import com.huimv.environ.eco.entity.SysMonthEle;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.environ.eco.entity.envVo.EnergyResult;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author newspaper
+ * @since 2024-05-15
+ */
+public interface SysMonthEleMapper extends BaseMapper<SysMonthEle> {
+
+    List<EnergyResult> getEle(List roomList);
+}

+ 20 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/ISysMonthEleService.java

@@ -0,0 +1,20 @@
+package com.huimv.environ.eco.service;
+
+import com.huimv.common.utils.Result;
+import com.huimv.environ.eco.entity.SysMonthEle;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author newspaper
+ * @since 2024-05-15
+ */
+public interface ISysMonthEleService extends IService<SysMonthEle> {
+
+    Result listEle(Map<String, String> map);
+}

+ 56 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/service/impl/SysMonthEleServiceImpl.java

@@ -0,0 +1,56 @@
+package com.huimv.environ.eco.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.environ.eco.entity.SysMonthEle;
+import com.huimv.environ.eco.entity.envVo.EnergyResult;
+import com.huimv.environ.eco.mapper.SysMonthEleMapper;
+import com.huimv.environ.eco.service.ISysMonthEleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author newspaper
+ * @since 2024-05-15
+ */
+@Service
+public class SysMonthEleServiceImpl extends ServiceImpl<SysMonthEleMapper, SysMonthEle> implements ISysMonthEleService {
+
+    @Autowired
+    private SysMonthEleMapper sysMonthEleMapper;
+    @Override
+    public Result listEle(Map<String, String> map) {
+        String floorId = map.get("floorId");
+        if (ObjectUtil.isEmpty(floorId)){
+            floorId = "1";
+        }
+        List roomList = new ArrayList();
+        if ("1".equals(floorId)){
+            for (int i = 145; i<=168; i++){
+                roomList.add(i);
+            }
+        }else if ("2".equals(floorId)){
+            for (int i = 169; i<=192; i++){
+                roomList.add(i);
+            }
+        }else {
+            for (int i = 193; i<=216; i++){
+                roomList.add(i);
+            }
+        }
+        List<EnergyResult> ele = sysMonthEleMapper.getEle(roomList);
+        return new Result(ResultCode.SUCCESS,ele);
+    }
+}

+ 57 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/timer/EnergyTimer.java

@@ -0,0 +1,57 @@
+package com.huimv.environ.eco.timer;
+
+import com.huimv.environ.eco.entity.SysFodder;
+import com.huimv.environ.eco.entity.SysMonthEle;
+import com.huimv.environ.eco.entity.SysMonthWater;
+import com.huimv.environ.eco.service.ISysFodderService;
+import com.huimv.environ.eco.service.ISysMonthEleService;
+import com.huimv.environ.eco.service.ISysMonthWaterService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.Random;
+
+@Component
+public class EnergyTimer {
+
+    @Autowired
+    private ISysMonthWaterService sysMonthWaterService;
+    @Autowired
+    private ISysMonthEleService sysMonthEleService;
+    @Autowired
+    private ISysFodderService sysFodderService;
+
+    @Scheduled(cron = "0 0 * * * ? ")
+//    @Scheduled(cron = "0 0/1 * * * ? ")
+    public void saveEnergy(){
+        for (int i = 145; i <= 216; i++){
+            float randomWaterValue = 0.7f + (float)Math.random() * 0.3f;
+            float randomEleValue = 250.0f + (float)Math.random() * 50.0f;
+            SysMonthWater sysMonthWater = new SysMonthWater();
+            sysMonthWater.setCreateTime(new Date());
+            sysMonthWater.setFarmId(1);
+            sysMonthWater.setRoomId(i);
+            sysMonthWater.setIncreaseValue(String.format("%.2f",randomWaterValue));
+            sysMonthWaterService.save(sysMonthWater);
+
+            SysMonthEle sysMonthEle = new SysMonthEle();
+            sysMonthEle.setCreateTime(new Date());
+            sysMonthEle.setFarmId(1);
+            sysMonthEle.setRoomId(i);
+            sysMonthEle.setIncreaseValue(String.format("%.2f",randomEleValue));
+            sysMonthEleService.save(sysMonthEle);
+        }
+
+        for (int i = 1; i <= 3; i++){
+            float randomFoodValue = 80.0f + (float)Math.random() * 15.0f;
+            SysFodder sysFodder = new SysFodder();
+            sysFodder.setCreateTime(new Date());
+            sysFodder.setFarmId(1);
+            sysFodder.setFloorId(i);
+            sysFodder.setValue(Double.valueOf(String.format("%.2f",randomFoodValue)));
+            sysFodderService.save(sysFodder);
+        }
+    }
+}

+ 3 - 3
huimv-farm-environ/src/main/resources/application-prod.yml

@@ -41,6 +41,6 @@ spring:
   #pool-max: 30
   # 线程队列容量 10
   #pool-queue-init: 10
-#mybatis-plus:
-#  configuration:
-#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+mybatis-plus:
+  configuration:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

+ 21 - 0
huimv-farm-environ/src/main/resources/mapper/SysMonthEleMapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.environ.eco.mapper.SysMonthEleMapper">
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, value, create_time, room_id, month_ele_id, increase_value, farm_id
+    </sql>
+    <select id="getEle" resultType="com.huimv.environ.eco.entity.envVo.EnergyResult">
+        SELECT DATE(create_time) as 'date',ROUND(SUM(increase_value),2) as 'value' FROM `sys_month_ele`
+        WHERE YEARWEEK(DATE(create_time), 1) = YEARWEEK(CURDATE(), 1)
+        AND room_id in
+        <foreach collection="roomList" item="roodId" index="i" open="(" close=")" separator=",">
+            #{roodId}
+        </foreach>
+        GROUP BY DATE(create_time)
+        ORDER BY DATE(create_time) ASC
+    </select>
+
+
+</mapper>