yujian
2019-01-22 88b54772dbcf5ecab1e2316e4e4626ac901b8908
fanli/src/main/java/com/yeshi/fanli/service/impl/count/CommonOrderCountServiceImpl.java
@@ -1,8 +1,7 @@
package com.yeshi.fanli.service.impl.count;
import java.text.SimpleDateFormat;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -77,11 +76,7 @@
         }
         mapObject.put("showValue", total);
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd");
         Date parseDate = sdf.parse(plusDay.toString());
         mapObject.put("showDate", sdf2.format(parseDate));
         mapObject.put("showDate", plusDay);
         listObject.add(mapObject);
@@ -115,8 +110,12 @@
            total = 0;
         }
         mapObject.put("showValue", total);
         mapObject.put("showDate", i + "月");
         if (i <10) {
            mapObject.put("showDate", "0"+ i);
         } else {
            mapObject.put("showDate", i);
         }
         listObject.add(mapObject);
      }
@@ -148,12 +147,14 @@
      
      List<Map<String, Object>> result_list = null;
      
      // 用户订单
      List<Map<String, Object>> listTotal = commonOrderCountMapper.countOrderNumber(dateType, year,
            startTime, endTime);
      if (listTotal == null || listTotal.size() == 0) {
         return result_list;
      } 
      
      // 淘宝联盟
      List<Map<String, Object>> type_list = taoBaoOrderMapper.countOrderNumber(dateType, year, 
            startTime, endTime);
      
@@ -175,15 +176,16 @@
            break;
      }
      
      DecimalFormat df = new DecimalFormat("#.00");
      
      for (int i = 0; i < result_list.size(); i++) {
         
         float proportion = 0;
         double proportion = 0;
         Map<String, Object> resultMap = result_list.get(i);
         
         Object showDate = resultMap.get("showDate");
         for (int j = 0; j < listTotal.size(); j++) {
            Map<String, Object> innerMap = result_list.get(j);
            Map<String, Object> innerMap = listTotal.get(j);
            Object innerDate = innerMap.get("showDate");
            
            if (innerDate != null && innerDate.toString().equals(showDate.toString())) {
@@ -194,14 +196,14 @@
               long showData = Long.parseLong(showValue.toString());
               
               if (showData > 0) {
                  proportion =  innerData/showData;
                  proportion =  innerData/(double)showData;
               }
               
               break; // 结束内部循环
            }
         }
         
         resultMap.put("showValue", proportion);
         resultMap.put("showValue", Double.parseDouble(df.format(proportion *100)));
      }
      
      return result_list;
@@ -210,48 +212,31 @@
   @Override
   public List<Map<String, Object>> countWeiQaunOrderMoney(Integer dateType, String year, String startTime,
         String endTime) throws Exception{
      List<Map<String, Object>> listTotal = taoBaoWeiQuanOrderMapper.countWeiQaunOrderMoney(dateType,
            year, startTime, endTime);
      if (listTotal == null || listTotal.size() == 0) {
         return null;
      }
      switch (dateType){
         case 1: // 按天处理
            return dayFactory(startTime, endTime, listTotal);
         case 2: // 按月处理
            return monthFactory(listTotal);
         case 3:
            return yearFactory(listTotal);
         default:
            return null;
      }
      return taoBaoWeiQuanOrderMapper.countWeiQaunOrderMoney(dateType, year, startTime, endTime);
   }
   
   
   @Override
   public List<Map<String, Object>> countWeiQaunOrderNumber(Integer dateType, String year, String startTime,
         String endTime) throws Exception{
      return taoBaoWeiQuanOrderMapper.countWeiQaunOrderNumber(dateType, year, startTime, endTime);
      
      List<Map<String, Object>> listTotal = taoBaoWeiQuanOrderMapper.countWeiQaunOrderNumber(dateType,
            year, startTime, endTime);
      if (listTotal == null || listTotal.size() == 0) {
         return null;
      }
      switch (dateType){
         case 1: // 按天处理
            return dayFactory(startTime, endTime, listTotal);
         case 2: // 按月处理
            return monthFactory(listTotal);
         case 3:
            return yearFactory(listTotal);
         default:
            return null;
      }
   }
   @Override
   public Map<String, Object> countOrderNumberBySettleTime(Long uid, Integer state, Integer day) {
      return commonOrderCountMapper.countOrderNumberBySettleTime(uid, state, day);
   }
   /**
    * 根据结算时间筛选 上个月已结算的订订单数量
    * @param uid
    * @return
    */
   @Override
   public Map<String, Object> lastMonthSettleOrderNumber(Long uid) {
      return countOrderNumberBySettleTime(uid, 2, 4); // 根据
   }