67 lines
2.4 KiB
Java
67 lines
2.4 KiB
Java
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<ShCallsMapper, ShCalls> 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<ShCallsVo> page(ShCallsDto dto) {
|
|
return this.getBaseMapper().page(dto.getPage(),dto);
|
|
}
|
|
|
|
@Override
|
|
public List<ShAddressBook> list(ShCallsDto dto) {
|
|
return this.getBaseMapper().list(dto);
|
|
}
|
|
|
|
@Override
|
|
public List<ShCallsVo> listVo(ShCallsDto dto) {
|
|
return this.getBaseMapper().listVo(dto);
|
|
}
|
|
|
|
@Override
|
|
public Map<String, Long> logDateStatistics(ShCallsDto dto) {
|
|
Map<String, Long> retMap = new HashMap<>();
|
|
List<ShCalls> shCalls = baseMapper.selectList(new QueryWrapper<ShCalls>()
|
|
.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;
|
|
}
|
|
}
|