yujian
2019-01-04 e3630931fd42db00db2bf4fe544292bbc7640447
fanli/src/main/java/com/yeshi/fanli/controller/client/UserOrderController.java
@@ -21,6 +21,7 @@
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.exception.order.CommonOrderException;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoService;
import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.util.account.UserUtil;
@@ -38,24 +39,30 @@
   
   @Resource
   private CommonOrderService commonOrderService;
   @Resource
   private HongBaoService hongBaoService;
   /**
    * 订单列表
    * @param acceptData
    * @param page
    * @param uid
    * @param state  状态:1-未到账 3-已到账 4-已失效
    * @param state  状态:1-未到账 2-已到账 3-已失效
    * @param type   类型:1-返利订单 2-分享订单 3-邀请订单
    * @param orderNo 订单号
    * @param orderState   1有效订单 2 维权订单  3失效订单
    * @param orderNo 订单号
    * @param startTime  起始时间
    * @param endTime   结束时间
    * @param slotTime 时间段:1-最近三天 2-最近七天 3最近半月 4本月 5近三月  6近半年
    * @param dateType   1-今日 2-昨天 3-本月 4-上个月  |
    * @param needCount
    * @param out
    */
   @RequestMapping(value = "getorder", method = RequestMethod.POST)
   public void getOrder(AcceptData acceptData, Long page, Long uid, Integer state, Integer type, String orderNo,
         String startTime, String endTime, Integer slotTime, boolean needCount, PrintWriter out) {
   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) {
      
      if (uid == null) {
         out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
@@ -63,34 +70,36 @@
      }
      
      if (page == null || page < 1) {
         page = 1L;
         page = 1;
      }
      
      if (state !=null && state == 0) {
         state = null;
      if (state != null && state == 0) {
         state = null;// 所有状态
      }
      
      if (type != null && type == 0 ) {
         type = null; // 查询所有类型订单
         type = null; // 所有类型订单
      }
      
      try {
         if (slotTime != null) {
            SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
            startTime = sd.format(new Date());
            endTime = convertDate(slotTime, startTime);
             endTime= sd.format(new Date());
             startTime = convertDate(slotTime, endTime);
         }
      } catch (Exception e) {
         e.printStackTrace();
      }
      
      try {
         long count = 0;
         List<CommonOrderVO> list = commonOrderService.getOrderByUid(page, uid, state, type, orderNo,
               startTime, endTime);
         List<CommonOrderVO> list = commonOrderService.getOrderByUid(page, uid, state, type, orderState,
               orderNo, startTime, endTime, dateType);
         
         if (list != null && list.size() > 0) {
            count = commonOrderService.countGroupOrderNoByUid(uid,  state, type, orderNo, startTime, endTime);
            count = commonOrderService.countGroupOrderNoByUid(uid,  state, type, orderState, orderNo,
                  startTime, endTime, dateType);
         }
         
         int totalValid = 0;
@@ -100,7 +109,8 @@
         BigDecimal todayMoney = null;
         // 需要统计信息
         if (needCount && page == 1) {
            Map<String, BigDecimal> countOrder = commonOrderService.countByUidAndOrderState(uid, type, startTime, endTime);
            Map<String, BigDecimal> countOrder = commonOrderService.countByUidAndOrderState(uid, type,
                  startTime, endTime, dateType);
            
            if (countOrder.get("totalValid") != null) {
               totalValid = countOrder.get("totalValid").intValue();
@@ -114,8 +124,8 @@
               totalInvite = countOrder.get("totalInvite").intValue();
            }   
            
            todayTotal = commonOrderService.countOrder(uid, 1);
            todayMoney = commonOrderService.countOrderMoney(uid, 1);
            todayTotal = commonOrderService.countOrder(uid, type, 1);
            todayMoney = commonOrderService.countOrderMoney(uid, type , 1);
         }
      
         if (todayMoney == null) {
@@ -130,8 +140,12 @@
         
         data.put("helpUrl", helpUrl);
         
         data.put("todayTotal", todayTotal);
         data.put("todayMoney", todayMoney);
         if (type != null && type == 1) {
            data.put("todayMoney", "预估返利总额 ¥" + todayMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
         } else {
            data.put("todayMoney", "预估奖金总额 ¥" + todayMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
         }
         data.put("todayTotal", "共"+ todayTotal+ "笔");
         data.put("totalValid", totalValid); // 有效数量
         data.put("totalProces", totalProces); // 维权数量
         data.put("totalInvite", totalInvite); // 失效数量
@@ -259,13 +273,13 @@
   }
   
   /**
    * 统计今日订单收入 以及订单数量
    * 统计奖金
    * @param acceptData
    * @param uid
    * @param out
    */
   @RequestMapping(value = "countToday", method = RequestMethod.POST)
   public void countToday(AcceptData acceptData, Long uid, PrintWriter out) {
   @RequestMapping(value = "countBonus", method = RequestMethod.POST)
   public void countBonus(AcceptData acceptData, Long uid, Integer dateType, PrintWriter out) {
      
      if (uid == null) {
         out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
@@ -273,23 +287,25 @@
      }
      
      try {
         long count = commonOrderService.countOrder(uid, 1);
         BigDecimal money = commonOrderService.countOrderMoney(uid, 1);
         if (money == null) {
            money = new BigDecimal(0);
         }
         
         JSONObject data = new JSONObject();
         data.put("count", count);
         data.put("money", money);
         // 分享统计
         BigDecimal sharemoney = commonOrderService.countOrderMoney(uid,2, dateType);
         data.put("shareCount", commonOrderService.countOrder(uid, 2, dateType));
         data.put("sharemoney", sharemoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
         // 邀请统计
         BigDecimal inviteMoney = commonOrderService.countOrderMoney(uid,3, dateType);
         data.put("inviteCount", commonOrderService.countOrder(uid, 3, dateType));
         data.put("inviteMoney", inviteMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
         data.put("showTiCheng", hongBaoService.getTotalTiChengCount(uid) > 0);
         out.print(JsonUtil.loadTrueResult(data));
         
      } catch (Exception e) {
         out.print(JsonUtil.loadFalseResult(1, "获取信息失败"));
         e.printStackTrace();
      }
   }
   
   
@@ -300,32 +316,32 @@
    * @return
    * @throws Exception
    */
   public String convertDate (Integer slotTime, String startTime) throws Exception {
      String endTime = null;
   public String convertDate (Integer slotTime, String endTime) throws Exception {
      String startTime = null;
      
      switch (slotTime) {
         case 1: // 最近三天
            endTime = DateUtil.plusDay(3, startTime);
            startTime = DateUtil.reduceDay(3, endTime);
            break;
         case 2: // 最近七天
            endTime = DateUtil.plusDay(7, startTime);
            startTime = DateUtil.reduceDay(7, endTime);
            break;
         case 3: // 最近15天 (半月)
            endTime = DateUtil.plusDay(15, startTime);
            startTime = DateUtil.reduceDay(15, endTime);
            break;
         case 4: // 最近三十天 (本月)
            endTime = DateUtil.plusDay(30, startTime);
            startTime = DateUtil.reduceDay(30, endTime);
            break;
         case 5: // 最近九十天(近三月)
            endTime = DateUtil.plusDay(3*30, startTime);
            startTime = DateUtil.reduceDay(3*30, endTime);
            break;
         case 6: // 最近一百八十天(近半年)
            endTime = DateUtil.plusDay(6*30, startTime);
            startTime = DateUtil.reduceDay(6*30, endTime);
            break;
         default:
            break;
      }
      
      return endTime;
      return startTime;
   }
}