package cn.iocoder.yudao.module.mp.convert.statistics; import cn.iocoder.yudao.module.mp.controller.admin.statistics.vo.MpStatisticsInterfaceSummaryRespVO; import cn.iocoder.yudao.module.mp.controller.admin.statistics.vo.MpStatisticsUpstreamMessageRespVO; import cn.iocoder.yudao.module.mp.controller.admin.statistics.vo.MpStatisticsUserCumulateRespVO; import cn.iocoder.yudao.module.mp.controller.admin.statistics.vo.MpStatisticsUserSummaryRespVO; import me.chanjar.weixin.mp.bean.datacube.WxDataCubeInterfaceResult; import me.chanjar.weixin.mp.bean.datacube.WxDataCubeMsgResult; import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserCumulate; import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserSummary; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; import org.mapstruct.Named; import org.mapstruct.factory.Mappers; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.List; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; @Mapper public interface MpStatisticsConvert { MpStatisticsConvert INSTANCE = Mappers.getMapper(MpStatisticsConvert.class); List convertList01(List list); List convertList02(List list); List convertList03(List list); @Mappings({ @Mapping(target = "refDate", expression = "java(dateFormat0(bean.getRefDate()))"), @Mapping(source = "msgUser", target = "messageUser"), @Mapping(source = "msgCount", target = "messageCount"), }) MpStatisticsUpstreamMessageRespVO convert(WxDataCubeMsgResult bean); List convertList04(List list); @Mapping(target = "refDate", expression = "java(dateFormat0(bean.getRefDate()))") MpStatisticsInterfaceSummaryRespVO convert(WxDataCubeInterfaceResult bean); @Named("dateFormat0") default LocalDateTime dateFormat0(String date) { return LocalDate.parse(date, DateTimeFormatter.ofPattern(FORMAT_YEAR_MONTH_DAY)).atStartOfDay(); } }