admin
2019-09-18 b19d2e730b0ea707b500b307f58c46ba0cef695f
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserOrderController.java
@@ -8,12 +8,12 @@
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.yeshi.utils.DateUtil;
import org.yeshi.utils.IPUtil;
import org.yeshi.utils.JsonUtil;
@@ -35,13 +35,14 @@
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.taobao.TaoBaoOrderService;
import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
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;
import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.util.CMQManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
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.user.UserInfoExtraVO;
@@ -108,17 +109,24 @@
    * @param out
    */
   @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) {
      if (Constant.IS_TEST)
         uid = 389677L;
   public void getOrder(AcceptData acceptData, Integer page, Long uid, Integer state,
         @RequestParam(name = "type",required = false) String type1, Integer orderState, String orderNo, String startTime, String endTime,
         Integer slotTime, Boolean needCount, Integer dateType, Integer goodsType, PrintWriter out) {
      Integer type = null;
      if (StringUtil.isNullOrEmpty(type1)) {
         type = null;
      } else {
         type = Integer.parseInt(type1);
      }
      if (uid == null) {
         out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
         return;
      }
      if (needCount == null)
         needCount = false;
      if (page == null || page < 1) {
         page = 1;
@@ -134,8 +142,26 @@
         state = null; // 清空
      }
      // 转换状态
      if (state != null && state == 5) {
         orderState = 2; // 已维权
         state = null; // 清空
      }
      if (type != null && type == 0) {
         type = null; // 所有类型订单
      }
      Integer tempState = state;
      // 转换状态
      if (state != null && orderState != null && (orderState == 2|| orderState == 3)) {
         state = null; // 清空
      }
      if (!VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) {
         goodsType = Constant.SOURCE_TYPE_TAOBAO;
      } else if (goodsType != null && goodsType == 0){
         goodsType = null; // 所有平台订单
      }
      try {
@@ -154,44 +180,40 @@
      try {
         long count = 0;
         int totalValid = 0;
         int totalProces = 0;
         int totalInvite = 0;
         long totalValid = 0;
         long totalProces = 0;
         long totalInvite = 0;
         long todayTotal = 0;
         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);
            if (countOrder.get("totalValid") != null) {
               totalValid = countOrder.get("totalValid").intValue();
            }
            if (countOrder.get("totalProces") != null) {
               totalProces = countOrder.get("totalProces").intValue();
            }
            if (countOrder.get("totalInvite") != null) {
               totalInvite = countOrder.get("totalInvite").intValue();
            }
            // 有效订单
            totalValid = commonOrderService.countUserOrderToApp(uid, type, startTime,
                  endTime, dateType, goodsType, tempState, 1);
            // 维权订单
            totalProces = commonOrderService.countUserOrderToApp(uid, type, startTime,
                  endTime, dateType, goodsType, null, 2);
            // 失效订单
            totalInvite = commonOrderService.countUserOrderToApp(uid, type, startTime,
                  endTime, dateType, goodsType, null, 3);
         }
         if (todayMoney == null) {
@@ -281,8 +303,13 @@
         JSONObject data = new JSONObject();
         data.put("userInfo", userInfo);
         Integer goodsType = null; // 版本区分
         if (!VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) {
            goodsType = Constant.SOURCE_TYPE_TAOBAO;
         }
         /* 总订单统计 */
         Map<String, BigDecimal> countOrder = commonOrderService.countHistoryOrder(uid, null);
         Map<String, BigDecimal> countOrder = commonOrderService.countHistoryOrder(uid, null, goodsType);
         int self = 0;
         if (countOrder.get("totalSelf") != null) {
            self = countOrder.get("totalSelf").intValue();
@@ -306,7 +333,7 @@
         data.put("invite", invite);
         /* 今日订单统计 */
         Map<String, BigDecimal> countToday = commonOrderService.countHistoryOrder(uid, 1);
         Map<String, BigDecimal> countToday = commonOrderService.countHistoryOrder(uid, 1, goodsType);
         int todaySelf = 0;
         if (countToday.get("totalSelf") != null) {
@@ -334,7 +361,7 @@
         data.put("today", todaydata);
         /* 昨日订单统计 */
         Map<String, BigDecimal> countYesterday = commonOrderService.countHistoryOrder(uid, 2);
         Map<String, BigDecimal> countYesterday = commonOrderService.countHistoryOrder(uid, 2, goodsType);
         int yesterdaySelf = 0;
         if (countYesterday.get("totalSelf") != null) {
            yesterdaySelf = countYesterday.get("totalSelf").intValue();
@@ -365,7 +392,85 @@
         e.printStackTrace();
      }
   }
   /**
    * 统计各个平台数据
    * @param acceptData
    * @param uid
    * @param goodsType
    * @param out
    */
   @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 > 3 || goodsType < 1) {
         out.print(JsonUtil.loadFalseResult(1, "平台类型缺失或不正确"));
         return;
      }
      /* 今日订单统计 */
      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));
   }
   /**
    * 统计奖金
    * 
@@ -387,9 +492,14 @@
         BigDecimal sharemoney = new BigDecimal(0.00);
         Object inviteCount = 0;
         BigDecimal inviteMoney = new BigDecimal(0.00);
         Integer goodsType = null; // 版本区分
         if (!VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) {
            goodsType = Constant.SOURCE_TYPE_TAOBAO;
         }
         Map<String, Object> shareMap = commonOrderService.countBonusOrderMoneyAndNumber(uid, 2, dateType, null,
               null);
               null, goodsType);
         if (shareMap != null) {
            Object totalNum = shareMap.get("totalNum");
            if (totalNum != null) {
@@ -404,7 +514,7 @@
         // 邀请统计
         Map<String, Object> inviteMap = commonOrderService.countBonusOrderMoneyAndNumber(uid, 3, dateType, null,
               null);
               null, goodsType);
         if (inviteMap != null) {
            Object totalNum = inviteMap.get("totalNum");
            if (totalNum != null) {