package com.ycl.jxkg.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.jxkg.domain.entity.UserEventLog; import com.ycl.jxkg.domain.other.KeyValue; import com.ycl.jxkg.mapper.UserEventLogMapper; import com.ycl.jxkg.service.UserEventLogService; import com.ycl.jxkg.utils.DateTimeUtil; import com.ycl.jxkg.domain.vo.admin.user.UserEventPageRequestVO; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @Service @RequiredArgsConstructor public class UserEventLogServiceImpl extends ServiceImpl implements UserEventLogService { private final UserEventLogMapper userEventLogMapper; @Override public List getUserEventLogByUserId(Integer id) { return userEventLogMapper.getUserEventLogByUserId(id); } @Override public PageInfo page(UserEventPageRequestVO requestVM) { return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() -> userEventLogMapper.page(requestVM) ); } @Override public List selectMothCount() { Date startTime = DateTimeUtil.getMonthStartDay(); Date endTime = DateTimeUtil.getMonthEndDay(); List mouthCount = userEventLogMapper.selectCountByDate(startTime, endTime); List mothStartToNowFormat = DateTimeUtil.MothStartToNowFormat(); return mothStartToNowFormat.stream().map(md -> { KeyValue keyValue = mouthCount.stream().filter(kv -> kv.getName().equals(md)).findAny().orElse(null); return null == keyValue ? 0 : keyValue.getValue(); }).collect(Collectors.toList()); } }