yujian
2019-07-16 aa66729ef758105dc1ced739ffe88e253affc37a
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserOrderController.java
@@ -8,7 +8,6 @@
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
@@ -110,7 +109,7 @@
   @RequestMapping(value = "getorder", method = RequestMethod.POST)
   public void getOrder(AcceptData acceptData, Integer page, Long uid, Integer state, Integer type, Integer orderState,
         String orderNo, String startTime, String endTime, Integer slotTime, boolean needCount, Integer dateType,
         PrintWriter out) {
         Integer goodsType, PrintWriter out) {
      if (Constant.IS_TEST)
         uid = 389677L;
@@ -137,6 +136,10 @@
      if (type != null && type == 0) {
         type = null; // 所有类型订单
      }
      if (goodsType != null && goodsType == 0) {
         goodsType = null; // 所有平台订单
      }
      try {
         if (slotTime != null) {
@@ -161,25 +164,25 @@
         BigDecimal todayMoney = null;
         // 查询列表
         List<CommonOrderVO> list = commonOrderService.getOrderByUid(page, uid, state, type, orderState, orderNo,
               startTime, endTime, dateType);
         List<CommonOrderVO> list = commonOrderService.getOrderByUid(acceptData, page, uid, state, type, orderState, orderNo,
               startTime, endTime, dateType, goodsType);
         if (list != null && list.size() > 0) {
            // 统计总数
            count = commonOrderService.countGroupOrderNoByUid(uid, state, type, orderState, orderNo, startTime,
                  endTime, dateType);
                  endTime, dateType, goodsType);
         }
         // 需要统计筛选信息 :未失效的总金额 以及订单
         if (needCount && page == 1) {
            todayMoney = commonOrderService.countBonusOrderMoney(uid, type, dateType, startTime, endTime);
            todayMoney = commonOrderService.countBonusOrderMoney(uid, type, dateType, startTime, endTime, goodsType);
            todayTotal = commonOrderService.countBonusOrderNumber(uid, type, dateType, startTime, endTime);
            todayTotal = commonOrderService.countBonusOrderNumber(uid, type, dateType, startTime, endTime, goodsType);
            // 统计有效的订单数量 、 失效订单数量 、维权订单数量
            Map<String, BigDecimal> countOrder = commonOrderService.countByUidAndOrderState(uid, type, startTime,
                  endTime, dateType);
                  endTime, dateType, goodsType);
            if (countOrder.get("totalValid") != null) {
               totalValid = countOrder.get("totalValid").intValue();
@@ -282,7 +285,7 @@
         data.put("userInfo", userInfo);
         /* 总订单统计 */
         Map<String, BigDecimal> countOrder = commonOrderService.countHistoryOrder(uid, null);
         Map<String, BigDecimal> countOrder = commonOrderService.countHistoryOrder(uid, null, null);
         int self = 0;
         if (countOrder.get("totalSelf") != null) {
            self = countOrder.get("totalSelf").intValue();
@@ -306,7 +309,7 @@
         data.put("invite", invite);
         /* 今日订单统计 */
         Map<String, BigDecimal> countToday = commonOrderService.countHistoryOrder(uid, 1);
         Map<String, BigDecimal> countToday = commonOrderService.countHistoryOrder(uid, 1, null);
         int todaySelf = 0;
         if (countToday.get("totalSelf") != null) {
@@ -334,7 +337,7 @@
         data.put("today", todaydata);
         /* 昨日订单统计 */
         Map<String, BigDecimal> countYesterday = commonOrderService.countHistoryOrder(uid, 2);
         Map<String, BigDecimal> countYesterday = commonOrderService.countHistoryOrder(uid, 2, null);
         int yesterdaySelf = 0;
         if (countYesterday.get("totalSelf") != null) {
            yesterdaySelf = countYesterday.get("totalSelf").intValue();
@@ -365,7 +368,146 @@
         e.printStackTrace();
      }
   }
   @RequestMapping(value = "getTotalOrderNum")
   public void getTotalOrderNum(AcceptData acceptData, Long uid, PrintWriter out) {
      if (uid == null) {
         out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
         return;
      }
      UserInfo user = userInfoService.selectByPKey(uid);
      if (user == null) {
         out.print(JsonUtil.loadFalseResult(1, "用户不存在"));
         return;
      }
      UserInfo userInfo = UserUtil.filterForClientUser(user);
      // 1.5.0 版本之后返回新的等级
      String version = acceptData.getVersion();
      if (version != null && version.trim().length() > 0) {
         int versionCode = Integer.parseInt(version);
         String platform = acceptData.getPlatform();
         AppVersionInfo versionInfo = appVersionService.getByPlatformAndVersion(platform, "1.5.0");
         if (versionInfo != null) {
            int versionCode150 = versionInfo.getVersionCode();
            if (versionCode >= versionCode150) {
               UserInfoExtraVO userInfoExtra = userInfoExtraService.getInfoExtraVOByUid(user.getId());
               if (userInfoExtra != null && userInfoExtra.getUserRank() != null) {
                  String picture = userInfoExtra.getUserRank().getPicture();
                  String icon = userInfoExtra.getUserRank().getIcon();
                  userInfo.setRankIcon(icon);
                  userInfo.setRankNamePicture(picture);
               }
            }
         }
      }
      /* 总订单统计 */
      Map<String, BigDecimal> countOrder = commonOrderService.countHistoryOrder(uid, null, null);
      int self = 0; // 返利订单
      if (countOrder.get("totalSelf") != null) {
         self = countOrder.get("totalSelf").intValue();
      }
      int shared = 0;  // 分享订单
      if (countOrder.get("totalShared") != null) {
         shared = countOrder.get("totalShared").intValue();
      }
      int invite = 0;  // 邀请订单
      if (countOrder.get("totalInvite") != null) {
         invite = countOrder.get("totalInvite").intValue();
      }
      int total = self + shared + invite;
      JSONObject data = new JSONObject();
      data.put("total", total);
      data.put("self", self);
      data.put("shared", shared);
      data.put("invite", invite);
      data.put("userInfo", userInfo);
      out.print(JsonUtil.loadTrueResult(data));
   }
   @RequestMapping(value = "getNearOrderNum", method = RequestMethod.POST)
   public void getNearOrderNum(AcceptData acceptData, Long uid, Integer goodsType, PrintWriter out) {
      if (uid == null) {
         out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
         return;
      }
      if (goodsType != null && goodsType == 0) {
         goodsType = null;
      }
      /* 今日订单统计 */
      Map<String, BigDecimal> countToday = commonOrderService.countHistoryOrder(uid, 1, goodsType);
      int todaySelf = 0;
      if (countToday.get("totalSelf") != null) {
         todaySelf = countToday.get("totalSelf").intValue();
      }
      int todayShared = 0;
      if (countToday.get("totalShared") != null) {
         todayShared = countToday.get("totalShared").intValue();
      }
      int todayInvite = 0;
      if (countToday.get("totalInvite") != null) {
         todayInvite = countToday.get("totalInvite").intValue();
      }
      int todayTotal = todaySelf + todayShared + todayInvite;
      JSONObject todaydata = new JSONObject();
      todaydata.put("total", todayTotal);
      todaydata.put("self", todaySelf);
      todaydata.put("shared", todayShared);
      todaydata.put("invite", todayInvite);
      /* 昨日订单统计 */
      Map<String, BigDecimal> countYesterday = commonOrderService.countHistoryOrder(uid, 2, goodsType);
      int yesterdaySelf = 0;
      if (countYesterday.get("totalSelf") != null) {
         yesterdaySelf = countYesterday.get("totalSelf").intValue();
      }
      int yesterdayShared = 0;
      if (countYesterday.get("totalShared") != null) {
         yesterdayShared = countYesterday.get("totalShared").intValue();
      }
      int yesterdayInvite = 0;
      if (countYesterday.get("totalInvite") != null) {
         yesterdayInvite = countYesterday.get("totalInvite").intValue();
      }
      int yesterdayTotal = yesterdaySelf + yesterdayShared + yesterdayInvite;
      JSONObject yesterdaydata = new JSONObject();
      yesterdaydata.put("total", yesterdayTotal);
      yesterdaydata.put("self", yesterdaySelf);
      yesterdaydata.put("shared", yesterdayShared);
      yesterdaydata.put("invite", yesterdayInvite);
      JSONObject data = new JSONObject();
      data.put("today", todaydata);
      data.put("yesterday", yesterdaydata);
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 统计奖金
    *