diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/userRecharge/UserIrrigationRecordController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/userRecharge/UserIrrigationRecordController.java index e2ccde3..9c9f00b 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/userRecharge/UserIrrigationRecordController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/userRecharge/UserIrrigationRecordController.java @@ -1,16 +1,18 @@ package com.fastbee.data.controller.userRecharge; -import java.util.Calendar; -import java.util.Date; -import java.util.List; +import java.time.LocalDate; +import java.util.*; import javax.servlet.http.HttpServletResponse; import com.fastbee.common.core.domain.entity.SysUser; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.fastbee.rechargecard.domain.UserConsumptionDetails; import com.fastbee.rechargecard.domain.dto.UserIrrigationRecordDto; import com.fastbee.rechargecard.domain.dto.UserIrrigationRecordListDto; +import com.fastbee.rechargecard.mapper.UserIrrigationRecordMapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.data.repository.query.Param; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -44,6 +46,9 @@ public class UserIrrigationRecordController extends BaseController @Autowired private IUserIrrigationRecordService userIrrigationRecordService; + @Autowired + private UserIrrigationRecordMapper userIrrigationRecordMapper; + /** * 查询灌溉记录列表 */ @@ -189,4 +194,30 @@ public class UserIrrigationRecordController extends BaseController { return toAjax(userIrrigationRecordService.deleteUserIrrigationRecordByIds(ids)); } + + /** + * 统计用户的年度用水量,年度剩余用水量 + */ + @GetMapping("/getYearWater") + @ApiOperation("统计用户的年度用水量,年度剩余用水量") + public AjaxResult getYearWater(@Param("userId") Long userId) { + // 获取当前年份的第一天 + LocalDate startOfYear = LocalDate.now().withDayOfYear(1); + + // 统计从今年第一天开始以后的用水量 + Long count = new LambdaQueryChainWrapper<>(userIrrigationRecordMapper) + .select(UserIrrigationRecord::getCurFlow) + .eq(UserIrrigationRecord::getUserId, userId) + .ge(UserIrrigationRecord::getCreateTime, startOfYear) + .count(); + + Map resp = new HashMap<>(); + resp.put("yearUserWater", count); + resp.put("yearUserWaterLeft", 1000 - count); // 假设年度总用水量为1000单位 + return AjaxResult.success(resp); + } + + public static void main(String[] args) { + System.err.println(LocalDate.now().withDayOfYear(1)); + } } diff --git a/fastbee-service/fastbee-rechargecard-service/src/main/java/com/fastbee/rechargecard/domain/NgRechargeMachines.java b/fastbee-service/fastbee-rechargecard-service/src/main/java/com/fastbee/rechargecard/domain/NgRechargeMachines.java index d2b4a6a..ebb5a6c 100644 --- a/fastbee-service/fastbee-rechargecard-service/src/main/java/com/fastbee/rechargecard/domain/NgRechargeMachines.java +++ b/fastbee-service/fastbee-rechargecard-service/src/main/java/com/fastbee/rechargecard/domain/NgRechargeMachines.java @@ -73,4 +73,9 @@ public class NgRechargeMachines extends BaseEntity @ApiModelProperty("充值机名称") private String deviceName; + /** 所属机构 */ + @Excel(name = "所属机构") + @ApiModelProperty("所属机构") + private Long deptId; + } diff --git a/fastbee-service/fastbee-rechargecard-service/src/main/java/com/fastbee/rechargecard/mapper/UserIrrigationRecordMapper.java b/fastbee-service/fastbee-rechargecard-service/src/main/java/com/fastbee/rechargecard/mapper/UserIrrigationRecordMapper.java index 948e114..c6209d7 100644 --- a/fastbee-service/fastbee-rechargecard-service/src/main/java/com/fastbee/rechargecard/mapper/UserIrrigationRecordMapper.java +++ b/fastbee-service/fastbee-rechargecard-service/src/main/java/com/fastbee/rechargecard/mapper/UserIrrigationRecordMapper.java @@ -1,6 +1,8 @@ package com.fastbee.rechargecard.mapper; import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.fastbee.rechargecard.domain.UserIrrigationRecord; import com.fastbee.rechargecard.domain.dto.UserIrrigationRecordListDto; import org.apache.ibatis.annotations.Mapper; @@ -13,7 +15,7 @@ import org.apache.ibatis.annotations.Select; * @date 2024-12-18 */ @Mapper -public interface UserIrrigationRecordMapper +public interface UserIrrigationRecordMapper extends BaseMapper { /** * 根据时间段获取灌溉记录列表 diff --git a/fastbee-service/fastbee-rechargecard-service/src/main/resources/mapper/rechargecard/NgRechargeMachinesMapper.xml b/fastbee-service/fastbee-rechargecard-service/src/main/resources/mapper/rechargecard/NgRechargeMachinesMapper.xml index d7d1659..71c90c1 100644 --- a/fastbee-service/fastbee-rechargecard-service/src/main/resources/mapper/rechargecard/NgRechargeMachinesMapper.xml +++ b/fastbee-service/fastbee-rechargecard-service/src/main/resources/mapper/rechargecard/NgRechargeMachinesMapper.xml @@ -20,10 +20,11 @@ + - select id, location, device_model, serial_number, area_code, installation_date, status, contact_person, contact_phone, remark, create_time, update_time, create_by, update_by, device_name from ng_recharge_machines + select id, location, device_model, serial_number, area_code, installation_date, status, contact_person, contact_phone, remark, create_time, update_time, create_by, update_by, device_name,dept_id from ng_recharge_machines @@ -63,6 +65,7 @@ create_by, update_by, device_name, + dept_id, #{location}, @@ -79,6 +82,7 @@ #{createBy}, #{updateBy}, #{deviceName}, + #{deptId}, @@ -99,6 +103,7 @@ create_by = #{createBy}, update_by = #{updateBy}, device_name = #{deviceName}, + dept_id = #{deptId}, where id = #{id}