feat: 首页按日期查询

This commit is contained in:
Bunny 2024-11-28 20:17:43 +08:00
parent 5d8f655a5b
commit d9e814110a
5 changed files with 42 additions and 8 deletions

View File

@ -0,0 +1,30 @@
package cn.bunny.dao.dto.financial;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDate;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "HomeDto对象", title = "首页查询内容", description = "首页查询内容")
public class HomeDto {
@Schema(name = "startDate", title = "开始交易日期")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
@NotNull(message = "开始日期不能为空")
private LocalDate startDate;
@Schema(name = "endDate", title = "结束交易日期")
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
@NotNull(message = "结束日期不能为空")
private LocalDate endDate;
}

View File

@ -1,5 +1,6 @@
package cn.bunny.services.controller;
import cn.bunny.dao.dto.financial.HomeDto;
import cn.bunny.dao.pojo.result.Result;
import cn.bunny.dao.vo.financial.user.home.HomeVo;
import cn.bunny.services.service.index.IndexService;
@ -7,6 +8,7 @@ import cn.hutool.captcha.CaptchaUtil;
import cn.hutool.captcha.CircleCaptcha;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
@ -33,8 +35,8 @@ public class IndexController {
@Operation(summary = "首页内容展示", description = "首页内容展示")
@GetMapping("admin/noManage/homeDatalist")
public Mono<Result<HomeVo>> homeDatalist() {
HomeVo homeVo = indexService.homeDatalist();
public Mono<Result<HomeVo>> homeDatalist(@Valid HomeDto dto) {
HomeVo homeVo = indexService.homeDatalist(dto);
return Mono.just(Result.success(homeVo));
}

View File

@ -106,5 +106,4 @@ public class DebtRepaymentPlanController {
debtRepaymentPlanService.deleteUserDebtRepaymentPlan(ids);
return Mono.just(Result.success(ResultCodeEnum.DELETE_SUCCESS));
}
}

View File

@ -1,5 +1,6 @@
package cn.bunny.services.service.index;
import cn.bunny.dao.dto.financial.HomeDto;
import cn.bunny.dao.vo.financial.user.home.HomeVo;
public interface IndexService {
@ -9,5 +10,5 @@ public interface IndexService {
*
* @return 主页数据
*/
HomeVo homeDatalist();
HomeVo homeDatalist(HomeDto dto);
}

View File

@ -1,6 +1,7 @@
package cn.bunny.services.service.index.impl;
import cn.bunny.common.service.context.BaseContext;
import cn.bunny.dao.dto.financial.HomeDto;
import cn.bunny.dao.dto.financial.bill.ExpendWithIncomeDto;
import cn.bunny.dao.vo.financial.user.expendAndIncome.ExpendWithIncome;
import cn.bunny.dao.vo.financial.user.home.CountTop;
@ -12,7 +13,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.temporal.TemporalAdjusters;
import java.util.List;
import java.util.Map;
@ -31,10 +31,12 @@ public class IndexServiceImpl implements IndexService {
* @return 主页数据
*/
@Override
public HomeVo homeDatalist() {
public HomeVo homeDatalist(HomeDto dto) {
// 初始化本月开始日期和结束日期
LocalDateTime startDate = LocalDateTime.now().with(TemporalAdjusters.firstDayOfMonth());
LocalDateTime endDate = LocalDateTime.now().with(TemporalAdjusters.lastDayOfMonth());
LocalDateTime startDate = dto.getStartDate().atStartOfDay();
LocalDateTime endDate = dto.getEndDate().atStartOfDay();
// 设置查询dto
ExpendWithIncomeDto expendWithIncomeDto = new ExpendWithIncomeDto();
expendWithIncomeDto.setUserId(BaseContext.getUserId());
expendWithIncomeDto.setStartDate(startDate.toLocalDate());