Commit 90bdc1fd83ae642a377ea5d506fb71d767ac0a49
1 parent
8c9b483a
fix: 修复公众号统计接口字符串日期转 localDateTime 报错的问题
Showing
2 changed files
with
16 additions
and
4 deletions
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/controller/admin/statistics/vo/MpStatisticsGetReqVO.java
| 1 | 1 | package cn.iocoder.yudao.module.mp.controller.admin.statistics.vo; |
| 2 | 2 | |
| 3 | 3 | import io.swagger.v3.oas.annotations.media.Schema; |
| 4 | +import jakarta.validation.constraints.NotNull; | |
| 4 | 5 | import lombok.Data; |
| 5 | 6 | import org.springframework.format.annotation.DateTimeFormat; |
| 6 | 7 | |
| 7 | -import jakarta.validation.constraints.NotNull; | |
| 8 | 8 | import java.time.LocalDateTime; |
| 9 | 9 | |
| 10 | 10 | import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
| ... | ... | @@ -17,7 +17,7 @@ public class MpStatisticsGetReqVO { |
| 17 | 17 | @NotNull(message = "公众号账号的编号不能为空") |
| 18 | 18 | private Long accountId; |
| 19 | 19 | |
| 20 | - @Schema(description = "查询时间范围") | |
| 20 | + @Schema(description = "查询时间范围", example = "[2022-07-01 00:00:00, 2022-07-01 23:59:59]") | |
| 21 | 21 | @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
| 22 | 22 | @NotNull(message = "查询时间范围不能为空") |
| 23 | 23 | private LocalDateTime[] date; | ... | ... |
yudao-module-mp/yudao-module-mp-biz/src/main/java/cn/iocoder/yudao/module/mp/convert/statistics/MpStatisticsConvert.java
| ... | ... | @@ -11,10 +11,16 @@ import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserSummary; |
| 11 | 11 | import org.mapstruct.Mapper; |
| 12 | 12 | import org.mapstruct.Mapping; |
| 13 | 13 | import org.mapstruct.Mappings; |
| 14 | +import org.mapstruct.Named; | |
| 14 | 15 | import org.mapstruct.factory.Mappers; |
| 15 | 16 | |
| 17 | +import java.time.LocalDate; | |
| 18 | +import java.time.LocalDateTime; | |
| 19 | +import java.time.format.DateTimeFormatter; | |
| 16 | 20 | import java.util.List; |
| 17 | 21 | |
| 22 | +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; | |
| 23 | + | |
| 18 | 24 | @Mapper |
| 19 | 25 | public interface MpStatisticsConvert { |
| 20 | 26 | |
| ... | ... | @@ -27,7 +33,7 @@ public interface MpStatisticsConvert { |
| 27 | 33 | List<MpStatisticsUpstreamMessageRespVO> convertList03(List<WxDataCubeMsgResult> list); |
| 28 | 34 | |
| 29 | 35 | @Mappings({ |
| 30 | - @Mapping(source = "refDate", target = "refDate", dateFormat = "yyyy-MM-dd"), | |
| 36 | + @Mapping(target = "refDate", expression = "java(dateFormat0(bean.getRefDate()))"), | |
| 31 | 37 | @Mapping(source = "msgUser", target = "messageUser"), |
| 32 | 38 | @Mapping(source = "msgCount", target = "messageCount"), |
| 33 | 39 | }) |
| ... | ... | @@ -35,6 +41,12 @@ public interface MpStatisticsConvert { |
| 35 | 41 | |
| 36 | 42 | List<MpStatisticsInterfaceSummaryRespVO> convertList04(List<WxDataCubeInterfaceResult> list); |
| 37 | 43 | |
| 38 | - @Mapping(source = "refDate", target = "refDate", dateFormat = "yyyy-MM-dd") | |
| 44 | + @Mapping(target = "refDate", expression = "java(dateFormat0(bean.getRefDate()))") | |
| 39 | 45 | MpStatisticsInterfaceSummaryRespVO convert(WxDataCubeInterfaceResult bean); |
| 46 | + | |
| 47 | + @Named("dateFormat0") | |
| 48 | + default LocalDateTime dateFormat0(String date) { | |
| 49 | + return LocalDate.parse(date, DateTimeFormatter.ofPattern(FORMAT_YEAR_MONTH_DAY)).atStartOfDay(); | |
| 50 | + } | |
| 51 | + | |
| 40 | 52 | } | ... | ... |