package com.yssh.service;
|
|
import java.math.BigDecimal;
|
import java.math.RoundingMode;
|
import java.util.Calendar;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
import com.yssh.config.InitConfig;
|
import com.yssh.utils.DateUtils;
|
import org.springframework.stereotype.Service;
|
|
import com.yssh.mapper.FeedbackMapper;
|
import com.yssh.mapper.ThuAccuracyMapper;
|
|
import javax.annotation.Resource;
|
|
@Service
|
public class CountService {
|
@Resource
|
private ThuAccuracyMapper thuAccuracyMapper;
|
|
@Resource
|
private FeedbackMapper feedbackMapper;
|
|
public Map<String, Double> selectAccuracyAvg() {
|
Map<String, Double> result = new HashMap<String, Double>();
|
Date nowDate = InitConfig.getDate();
|
Long beginTime = Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, DateUtils.getAPeriodOfTime(nowDate, -7, Calendar.DATE)));
|
Double thuAccuracy = thuAccuracyMapper.selectSevenDayAccuracyAvg(beginTime);
|
Double tempForecast = thuAccuracy == null ? 0.0 : thuAccuracy;
|
result.put("forecastRate", new BigDecimal(tempForecast).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
Double practical = feedbackMapper.selectSevenDayAccuracyAvg(beginTime);
|
Double tempPractical = practical == null ? 0.0 : practical;
|
result.put("practicalRate", new BigDecimal(tempPractical * 100).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
return result;
|
}
|
}
|