package com.whdc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.whdc.mapper.ShCallsMapper; import com.whdc.model.dto.ShCallsDto; import com.whdc.model.entity.ShAddressBook; import com.whdc.model.entity.ShCalls; import com.whdc.model.vo.ShCallsVo; import com.whdc.service.ShCallsService; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import static com.whdc.model.MyConstant.REDIS_KEY; /** * 描述: 抽查日志 * author: xusan * date: 2024-07-29 17:27:25 */ @Service public class ShCallsServiceImpl extends ServiceImpl implements ShCallsService { private static final String THIS_REDIS_KEY = REDIS_KEY + ShCalls.thisTableName + ":"; private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); @Override public IPage page(ShCallsDto dto) { return this.getBaseMapper().page(dto.getPage(),dto); } @Override public List list(ShCallsDto dto) { return this.getBaseMapper().list(dto); } @Override public List listVo(ShCallsDto dto) { return this.getBaseMapper().listVo(dto); } @Override public Map logDateStatistics(ShCallsDto dto) { Map retMap = new HashMap<>(); List shCalls = baseMapper.selectList(new QueryWrapper() .ge(StringUtils.isNotBlank(dto.getStiStartTime()), "CALL_TIME", dto.getStiStartTime().length() < 11 ? dto.getStiStartTime() + "00:00:00" : dto.getStiStartTime()) .le(StringUtils.isNotBlank(dto.getStiEndTime()), "CALL_TIME", dto.getStiEndTime().length() < 11 ? dto.getStiEndTime() + "23:59:59" : dto.getStiEndTime()).orderByAsc("CALL_TIME")); if (CollectionUtils.isNotEmpty(shCalls)) { retMap = shCalls.stream() .collect(Collectors.groupingBy( r -> sdf.format(r.getCallTime()), Collectors.counting() )); } return retMap; } }