@ -10,6 +10,7 @@ import com.example.demo.domain.vo.Statistics;
import com.example.demo.domain.vo.Statisticss ;
import com.example.demo.domain.vo.Statisticss ;
import com.example.demo.domain.vo.SumCoin ;
import com.example.demo.domain.vo.SumCoin ;
import com.example.demo.mapper.StatisticsMapper ;
import com.example.demo.mapper.StatisticsMapper ;
import com.example.demo.mapper.UserMapper ;
import com.example.demo.sevice.StatisticsService ;
import com.example.demo.sevice.StatisticsService ;
import lombok.RequiredArgsConstructor ;
import lombok.RequiredArgsConstructor ;
import org.apache.ibatis.annotations.Param ;
import org.apache.ibatis.annotations.Param ;
@ -31,6 +32,7 @@ import java.util.List;
@CacheConfig ( cacheNames = "statistics" )
@CacheConfig ( cacheNames = "statistics" )
public class StatisticsServiceImpl implements StatisticsService {
public class StatisticsServiceImpl implements StatisticsService {
private final StatisticsMapper statisticsMapper ;
private final StatisticsMapper statisticsMapper ;
private final UserMapper userMapper ;
@Cacheable ( key = "#root.method.name" )
@Cacheable ( key = "#root.method.name" )
@Override
@Override
@ -183,22 +185,23 @@ public class StatisticsServiceImpl implements StatisticsService {
@Override
@Override
public List < Meium > getMee ( Meium meium ) {
public List < Meium > getMee ( Meium meium ) {
List < Meium > result = new ArrayList < > ( ) ;
List < Meium > result = new ArrayList < > ( ) ;
List < String > regionsFromDb = userMapper . selectArea ( ) ;
/ / 预定义所有十二个地区
List < String > allRegions = Arrays . asList ( "新加坡" , "马来西亚" , "香港" , "泰国" , "加拿大" , "越南HCM" , "公司" , "市场部" , "研发部" , "深圳运营" , "韩国" ) ;
/ / 创建一个动态列表
List < String > allRegions = new ArrayList < > ( regionsFromDb ) ;
Date searchStartTime = meium . getSearchStartTime ( ) ;
Date searchStartTime = meium . getSearchStartTime ( ) ;
Date searchEndTime = meium . getSearchEndTime ( ) ;
Date searchEndTime = meium . getSearchEndTime ( ) ;
Integer updateType = meium . getUpdateType ( ) ;
Integer updateType = meium . getUpdateType ( ) ;
/ / 如果开始时间和结束时间都为空 , 则直接返回默认统计结果 , 即全查
if ( searchStartTime = = null & & searchEndTime = = null ) {
if ( 0 = = updateType ) {
return statisticsMapper . getBuy ( searchStartTime , searchEndTime ) ;
} else if ( 1 = = updateType ) {
return statisticsMapper . getPay ( searchStartTime , searchEndTime ) ;
/ / 如果开始时间和结束时间都为空 , 则直接返回默认统计结果 , 即全查
if ( searchStartTime = = null & & searchEndTime = = null ) {
if ( 0 = = updateType ) {
return statisticsMapper . getBuy ( searchStartTime , searchEndTime ) ;
} else if ( 1 = = updateType ) {
return statisticsMapper . getPay ( searchStartTime , searchEndTime ) ;
}
}
}
}
/ / 获取日期范围内的所有日期
/ / 获取日期范围内的所有日期
@ -460,6 +463,7 @@ public class StatisticsServiceImpl implements StatisticsService {
/ / 计算两个时间点之间的天数差异
/ / 计算两个时间点之间的天数差异
long diffInMillies = endCal . getTimeInMillis ( ) - startCal . getTimeInMillis ( ) ;
long diffInMillies = endCal . getTimeInMillis ( ) - startCal . getTimeInMillis ( ) ;
long daysBetween = TimeUnit . DAYS . convert ( diffInMillies , TimeUnit . MILLISECONDS ) ;
long daysBetween = TimeUnit . DAYS . convert ( diffInMillies , TimeUnit . MILLISECONDS ) ;
System . out . println ( daysBetween + "-------daysBetween----" ) ;
/ / 根据条件选择查询方法
/ / 根据条件选择查询方法
List < SumCoin > result = new ArrayList < > ( ) ;
List < SumCoin > result = new ArrayList < > ( ) ;