From 838a95511dd87e28a278fb0ff2b739100e94ddb3 Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期五, 08 八月 2025 14:45:54 +0800
Subject: [PATCH] 增添用电时段功能

---
 src/main/java/com/ruoyi/equipmentenergyconsumption/service/impl/EnergyPeriodServiceImpl.java |   24 ++++++++
 src/main/java/com/ruoyi/equipmentenergyconsumption/controller/EnergyPeriodController.java    |   73 ++++++++++++++++++++++++
 src/main/java/com/ruoyi/equipmentenergyconsumption/service/EnergyPeriodService.java          |   10 +++
 src/main/java/com/ruoyi/equipmentenergyconsumption/mapper/EnergyPeriodMapper.java            |   12 ++++
 src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/EnergyPeriod.java                    |   36 ++++++++++++
 src/main/resources/mapper/equipmentenergyconsumption/EnergyPeriodMapper.xml                  |   21 +++++++
 6 files changed, 176 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/controller/EnergyPeriodController.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/controller/EnergyPeriodController.java
new file mode 100644
index 0000000..ddda227
--- /dev/null
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/controller/EnergyPeriodController.java
@@ -0,0 +1,73 @@
+package com.ruoyi.equipmentenergyconsumption.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.equipmentenergyconsumption.pojo.ElectricityConsumptionArea;
+import com.ruoyi.equipmentenergyconsumption.pojo.EnergyPeriod;
+import com.ruoyi.equipmentenergyconsumption.service.EnergyPeriodService;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+@RestController
+@RequestMapping("/energyPeriod")
+@Api(tags = "鐢ㄧ數鏃舵")
+public class EnergyPeriodController extends BaseController {
+    @Autowired
+    private EnergyPeriodService energyPeriodService;
+    @GetMapping("/listPage")
+    @ApiOperation("鐢ㄧ數鏃舵-鍒嗛〉鏌ヨ")
+    @Log(title = "鐢ㄧ數鏃舵-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
+    public AjaxResult listPage(Page page, EnergyPeriod energyPeriod) {
+        IPage<EnergyPeriod> listPage = energyPeriodService.listPage(page, energyPeriod);
+        return AjaxResult.success(listPage);
+    }
+
+    @PostMapping("/add")
+    @ApiOperation("鐢ㄧ數鏃舵-鏂板")
+    @Log(title = "鐢ㄧ數鏃舵-鏂板", businessType = BusinessType.INSERT)
+    public AjaxResult add(@RequestBody EnergyPeriod energyPeriod) {
+        boolean save = energyPeriodService.save(energyPeriod);
+        return save ? AjaxResult.success() : AjaxResult.error();
+    }
+
+    @PostMapping("/update")
+    @ApiOperation("鐢ㄧ數鏃舵-淇敼")
+    @Log(title = "鐢ㄧ數鏃舵-淇敼", businessType = BusinessType.UPDATE)
+    public AjaxResult update(@RequestBody EnergyPeriod energyPeriod) {
+        boolean update = energyPeriodService.updateById(energyPeriod);
+        return update ? AjaxResult.success() : AjaxResult.error();
+    }
+
+    @DeleteMapping("/delete")
+    @ApiOperation("鐢ㄧ數鏃舵-鍒犻櫎")
+    @Log(title = "鐢ㄧ數鏃舵-鍒犻櫎", businessType = BusinessType.DELETE)
+    public AjaxResult delete(@RequestBody List<Long> ids) {
+        if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+        boolean remove = energyPeriodService.removeBatchByIds(ids);
+        return remove ? AjaxResult.success() : AjaxResult.error("鍒犻櫎澶辫触");
+    }
+
+
+    /**
+     * 瀵煎嚭鐢ㄧ數鏃舵
+     */
+    @Log(title = "瀵煎嚭鐢ㄧ數鏃舵", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    @ApiOperation("瀵煎嚭鐢ㄧ數鏃舵")
+    public void export(HttpServletResponse response) {
+        ExcelUtil<EnergyPeriod> util = new ExcelUtil<EnergyPeriod>(EnergyPeriod.class);
+        util.exportExcel(response, null , "鐢ㄧ數鏃舵鏁版嵁");
+    }
+
+}
diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/mapper/EnergyPeriodMapper.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/mapper/EnergyPeriodMapper.java
new file mode 100644
index 0000000..468c7c0
--- /dev/null
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/mapper/EnergyPeriodMapper.java
@@ -0,0 +1,12 @@
+package com.ruoyi.equipmentenergyconsumption.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.equipmentenergyconsumption.pojo.EnergyPeriod;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface EnergyPeriodMapper extends BaseMapper<EnergyPeriod> {
+    IPage<EnergyPeriod> listPage(Page page, EnergyPeriod energyPeriod);
+}
diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/EnergyPeriod.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/EnergyPeriod.java
new file mode 100644
index 0000000..568828f
--- /dev/null
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/EnergyPeriod.java
@@ -0,0 +1,36 @@
+package com.ruoyi.equipmentenergyconsumption.pojo;
+import com.baomidou.mybatisplus.annotation.*;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+@Data
+@TableName("energy_period")
+@ApiModel
+public class EnergyPeriod {
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+    /**
+     * 寮�濮嬫椂闂�
+     */
+    @ApiModelProperty("寮�濮嬫椂闂�")
+    @Excel(name = "寮�濮嬫椂闂�")
+    private String startTime;
+    /**
+     * 缁撴潫鏃堕棿
+     */
+    @ApiModelProperty("缁撴潫鏃堕棿")
+    @Excel(name = "缁撴潫鏃堕棿")
+    private String endTime;
+    /**
+     * 鍗曚环
+     */
+    @ApiModelProperty("鍗曚环")
+    @Excel(name = "鍗曚环")
+    private Double price;
+    /**
+     * 绉熸埛id
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+}
diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/service/EnergyPeriodService.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/service/EnergyPeriodService.java
new file mode 100644
index 0000000..9da49fb
--- /dev/null
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/service/EnergyPeriodService.java
@@ -0,0 +1,10 @@
+package com.ruoyi.equipmentenergyconsumption.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.equipmentenergyconsumption.pojo.EnergyPeriod;
+
+public interface EnergyPeriodService extends IService<EnergyPeriod> {
+    IPage<EnergyPeriod> listPage(Page page, EnergyPeriod energyPeriod);
+}
diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/service/impl/EnergyPeriodServiceImpl.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/service/impl/EnergyPeriodServiceImpl.java
new file mode 100644
index 0000000..4eabf91
--- /dev/null
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/service/impl/EnergyPeriodServiceImpl.java
@@ -0,0 +1,24 @@
+package com.ruoyi.equipmentenergyconsumption.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.equipmentenergyconsumption.mapper.EnergyPeriodMapper;
+import com.ruoyi.equipmentenergyconsumption.pojo.EnergyPeriod;
+import com.ruoyi.equipmentenergyconsumption.service.EnergyPeriodService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+@Slf4j
+public class EnergyPeriodServiceImpl extends ServiceImpl<EnergyPeriodMapper, EnergyPeriod> implements EnergyPeriodService {
+    @Autowired
+    private EnergyPeriodMapper energyPeriodMapper;
+
+    @Override
+    public IPage<EnergyPeriod> listPage(Page page, EnergyPeriod energyPeriod) {
+        IPage<EnergyPeriod> listPage = energyPeriodMapper.listPage(page, energyPeriod);
+        return listPage;
+    }
+}
diff --git a/src/main/resources/mapper/equipmentenergyconsumption/EnergyPeriodMapper.xml b/src/main/resources/mapper/equipmentenergyconsumption/EnergyPeriodMapper.xml
new file mode 100644
index 0000000..7a0a384
--- /dev/null
+++ b/src/main/resources/mapper/equipmentenergyconsumption/EnergyPeriodMapper.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.ruoyi.equipmentenergyconsumption.mapper.EnergyPeriodMapper">
+
+
+    <select id="listPage" resultType="com.ruoyi.equipmentenergyconsumption.pojo.EnergyPeriod">
+        select * from energy_period
+        <where>
+            <if test="energyPeriod.startTime != null">
+                start_time = #{energyPeriod.startTime}
+            </if>
+            <if test="energyPeriod.endTime != null">
+                and end_time = #{energyPeriod.endTime}
+            </if>
+            <if test="energyPeriod.price != null">
+                and price = #{energyPeriod.price}
+            </if>
+        </where>
+    </select>
+</mapper>

--
Gitblit v1.9.3