yujian
2020-05-13 8b3c82c0788e23acd889e6f67a91c855693352fd
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserOrderController.java
@@ -4,6 +4,7 @@
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -28,6 +29,7 @@
import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.order.CommonOrder;
import com.yeshi.fanli.entity.order.TeamOrderStatistic;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
import com.yeshi.fanli.exception.order.CommonOrderException;
@@ -38,6 +40,8 @@
import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.service.inter.order.LostOrderService;
import com.yeshi.fanli.service.inter.order.OrderService;
import com.yeshi.fanli.service.inter.order.TeamOrderStatisticService;
import com.yeshi.fanli.service.inter.order.dividents.TeamDividentsSourceOrderService;
import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
@@ -50,6 +54,7 @@
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.vo.order.CommonOrderVO;
import com.yeshi.fanli.vo.order.TeamOrderStatisticVO;
import com.yeshi.fanli.vo.user.UserInfoExtraVO;
import net.sf.json.JSONObject;
@@ -90,6 +95,12 @@
   @Resource
   private RedisManager redisManager;
//   @Resource
   private TeamOrderStatisticService teamOrderStatisticService;
   @Resource
   private TeamDividentsSourceOrderService teamDividentsSourceOrderService;
   /**
    * 订单列表
@@ -172,13 +183,12 @@
      } else if (goodsType != null && goodsType == 0) {
         goodsType = null; // 所有平台订单
      }
      List<Integer> listSource = new ArrayList<>();
      if (goodsType != null) {
         listSource.add(goodsType);
      }
      try {
         if (slotTime != null) {
            SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
@@ -194,7 +204,6 @@
      }
      String orderFindUrl = null;
      try {
         long count = 0;
@@ -239,11 +248,11 @@
         if (todayMoney == null) {
            todayMoney = new BigDecimal(0.00);
         }
         // 判断是否需要显示订单找回提示
         if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion()))
            if (state ==null && page == 1) {
               if (redisManager.frequencyLimit("orderlist-" + acceptData.getDevice(), 8, 4)||count==0L) {// 8秒内请求3次触发
            if (state == null && page == 1) {
               if (redisManager.frequencyLimit("orderlist-" + acceptData.getDevice(), 8, 4) || count == 0L) {// 8秒内请求3次触发
                  orderFindUrl = configService.get(ConfigKeyEnum.orderFindNotifyUrl.getKey());
               }
            }
@@ -744,4 +753,122 @@
      return startTime;
   }
   /**
    * 获取团队订单统计
    * @Title: getTeamOrderStatistic
    * @Description:
    * @param acceptData
    * @param uid
    * @param out
    * void 返回类型
    * @throws
    */
   @RequestMapping(value = "getTeamOrderStatistic")
   public void getTeamOrderStatistic(AcceptData acceptData, Long uid, PrintWriter out) {
      long now = System.currentTimeMillis();
      TeamOrderStatisticVO vo = new TeamOrderStatisticVO();
      Date minDate = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now, "yyyyMMdd"), "yyyyMMdd"));
      Date maxDate = new Date(
            TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now + 1000 * 60 * 60 * 24L, "yyyyMMdd"), "yyyyMMdd"));
      List<Integer> countList = new ArrayList<>();
      // 统计今日
      TeamOrderStatistic statistic = teamOrderStatisticService.countByUidAndDate(uid, minDate, maxDate);
      if (statistic == null) {
         countList.add(0);
         countList.add(0);
         countList.add(0);
      } else {
         countList.add(statistic.getDirectOrderCount() == null ? 0 : statistic.getDirectOrderCount());
         countList.add(statistic.getInDirectOrderCount() == null ? 0 : statistic.getInDirectOrderCount());
         countList.add(statistic.getOtherOrderCount() == null ? 0 : statistic.getOtherOrderCount());
      }
      vo.setToday(countList);
      // 统计昨日
      minDate = new Date(
            TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now - 1000 * 60 * 60 * 24L, "yyyyMMdd"), "yyyyMMdd"));
      maxDate = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now, "yyyyMMdd"), "yyyyMMdd"));
      countList = new ArrayList<>();
      statistic = teamOrderStatisticService.countByUidAndDate(uid, minDate, maxDate);
      if (statistic == null) {
         countList.add(0);
         countList.add(0);
         countList.add(0);
      } else {
         countList.add(statistic.getDirectOrderCount() == null ? 0 : statistic.getDirectOrderCount());
         countList.add(statistic.getInDirectOrderCount() == null ? 0 : statistic.getInDirectOrderCount());
         countList.add(statistic.getOtherOrderCount() == null ? 0 : statistic.getOtherOrderCount());
      }
      vo.setYesterday(countList);
      // 统计本月
      minDate = new Date(
            TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(now - 1000 * 60 * 60 * 24L, "yyyyMM"), "yyyyMM"));
      Calendar ca = Calendar.getInstance();
      ca.setTimeInMillis(now);
      ca.add(Calendar.MONTH, 1);
      maxDate = new Date(
            TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(ca.getTimeInMillis(), "yyyyMM"), "yyyyMM"));
      countList = new ArrayList<>();
      statistic = teamOrderStatisticService.countByUidAndDate(uid, minDate, maxDate);
      if (statistic == null) {
         countList.add(0);
         countList.add(0);
         countList.add(0);
      } else {
         countList.add(statistic.getDirectOrderCount() == null ? 0 : statistic.getDirectOrderCount());
         countList.add(statistic.getInDirectOrderCount() == null ? 0 : statistic.getInDirectOrderCount());
         countList.add(statistic.getOtherOrderCount() == null ? 0 : statistic.getOtherOrderCount());
      }
      vo.setThisMonth(countList);
      // 统计 累计
      minDate = new Date(0L);
      maxDate = new Date(now);
      countList = new ArrayList<>();
      statistic = teamOrderStatisticService.countByUidAndDate(uid, minDate, maxDate);
      if (statistic == null) {
         countList.add(0);
         countList.add(0);
         countList.add(0);
      } else {
         countList.add(statistic.getDirectOrderCount() == null ? 0 : statistic.getDirectOrderCount());
         countList.add(statistic.getInDirectOrderCount() == null ? 0 : statistic.getInDirectOrderCount());
         countList.add(statistic.getOtherOrderCount() == null ? 0 : statistic.getOtherOrderCount());
      }
      vo.setTotal(countList);
   }
   /**
    * 获取团队订单排行
    * @Title: getTeamOrderRank
    * @Description:
    * @param acceptData
    * @param uid
    * @param type 1-今日 2-昨日 3-本月
    * @param out
    * void 返回类型
    * @throws
    */
   @RequestMapping(value = "getTeamOrderRank")
   public void getTeamOrderRank(AcceptData acceptData, Long uid, int type, PrintWriter out) {
      // TODO 需求不明确
   }
   @RequestMapping(value = "searchOrderTeam")
   public void searchOrderTeam(AcceptData acceptData, String key, PrintWriter out) {
//      teamDividentsSourceOrderService.selectByOrderNoSourceType(orderNo, sourceType);
   }
}