fxkh-txl-service/src/main/java/com/whdc/service/impl/ShCallsServiceImpl.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;
}
}