admin
2020-06-29 1ada7e4868d4821980f674017adbffd67c14402a
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserMoneyControllerV2.java
@@ -32,7 +32,7 @@
import com.yeshi.fanli.entity.money.TeamEincomeRecord;
import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
import com.yeshi.fanli.entity.order.OrderMoneyDailyCount;
import com.yeshi.fanli.entity.order.OrderMoneyDailyCount.SourceTypeEnum;
import com.yeshi.fanli.entity.order.SourceTypeEnum;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.config.ConfigService;
@@ -50,6 +50,7 @@
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.vo.money.IncomeDetailVO;
import com.yeshi.fanli.vo.money.MoneyPredictVO;
@@ -143,26 +144,37 @@
         if (vo != null) {
            vo.setLink(configService.get(ConfigKeyEnum.autoExtractHelpUrl.getKey()));
            vo.setExtractDesc("提现金额就是已成功提现到支付宝的资金");
            vo.setMoneyArrivalDesc("订单已到账后提现时间和金额均不受限制");
            if (VersionUtil.greaterThan_2_1_2(acceptData.getPlatform(), acceptData.getVersion())) {
               vo.setMoneyArrivalDesc("尽早确认收货可以促使资金尽早到账");
            } else {
               vo.setMoneyArrivalDesc("订单已到账后提现时间和金额均不受限制");
            }
            if(vo.getLastMonthSettleMoney() == null) {
               vo.setLastMonthExtractMoney(BigDecimal.ZERO);
            }
            if(vo.getNotSettleMoney() == null) {
               vo.setNotSettleMoney(BigDecimal.ZERO);
            }
         }
      }
      if (vo == null) {
         vo = createMoneyStatistic(uid);
         vo = createMoneyStatistic(uid, acceptData);
      }
      Gson gson = getGson();
      out.print(JsonUtil.loadTrueResult(gson.toJson(vo)));
   }
   public MoneyStatisticVO createMoneyStatistic(Long uid) {
   private MoneyStatisticVO createMoneyStatistic(Long uid, AcceptData acceptData) {
      UserInfo user = userInfoService.getUserById(uid);
      MoneyStatisticVO vo = new MoneyStatisticVO();
      vo.setLink(configService.get(ConfigKeyEnum.autoExtractHelpUrl.getKey()));
      vo.setBalanceMoney(user.getMyHongBao());
      vo.setExtractDesc("提现金额就是已成功提现到支付宝的资金");
      vo.setMoneyArrivalDesc("订单已到账后提现时间和金额均不受限制");
      // 获取提现中的信息
      BigDecimal extractingMoney = extractService.sumVerifyingMoney(uid);
@@ -238,22 +250,43 @@
      vo.setTotalInviteMoney(
            userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
      // 本月收货
      maxDate = new Date(timeStamp);
      calendar = Calendar.getInstance();
      minDate = new Date(TimeUtil
            .convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
      calendar.add(Calendar.MONTH, -1);
      vo.setMonthSettleMoney(hongBaoV2CountService.sumMoneyBySettleTimeAndUid(uid, minDate, maxDate));
      if (VersionUtil.greaterThan_2_1_2(acceptData.getPlatform(), acceptData.getVersion())) {
         vo.setMoneyArrivalDesc("尽早确认收货可以促使资金尽早到账");
         minDate = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(timeStamp, "yyyy-MM"), "yyyy-MM"));
         Calendar ca = Calendar.getInstance();
         ca.setTime(new Date(timeStamp));
         ca.add(Calendar.MONTH, 1);
         maxDate = new Date(
               TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(ca.getTimeInMillis(), "yyyy-MM"), "yyyy-MM"));
         // 本月未到账
         BigDecimal monthUnRecievedMoney = hongBaoV2Service.getUnRecievedMoneyWithPreGetTime(uid, minDate, maxDate);
         vo.setMonthUnRecievedMoney(monthUnRecievedMoney);
         // 全部未到账
         minDate = new Date(0);
         maxDate = new Date(timeStamp);
         vo.setTotalUnRecievedMoney(hongBaoV2Service.getUnRecievedMoneyWithCreateTime(uid, minDate, maxDate));
      } else {
         vo.setMoneyArrivalDesc("订单已到账后提现时间和金额均不受限制");
         // 本月收货
         maxDate = new Date(timeStamp);
         calendar = Calendar.getInstance();
         minDate = new Date(TimeUtil
               .convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
         calendar.add(Calendar.MONTH, -1);
         vo.setMonthSettleMoney(hongBaoV2CountService.sumMoneyBySettleTimeAndUid(uid, minDate, maxDate));
      // 上月收货
      maxDate = new Date(TimeUtil
            .convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
      calendar.add(Calendar.MONTH, -1);
      minDate = new Date(TimeUtil
            .convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
      vo.setLastMonthSettleMoney(hongBaoV2CountService.sumMoneyBySettleTimeAndUid(uid, minDate, maxDate));
         // 上月收货
         maxDate = new Date(TimeUtil
               .convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
         calendar.add(Calendar.MONTH, -1);
         minDate = new Date(TimeUtil
               .convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
         vo.setLastMonthSettleMoney(hongBaoV2CountService.sumMoneyBySettleTimeAndUid(uid, minDate, maxDate));
      }
      // 待确认收货(180天内)
      vo.setNotSettleMoney(hongBaoV2CountService.sumMoneyByANotSettleAndUid(uid));
@@ -295,6 +328,7 @@
      MoneyPredictVO predictVO = new MoneyPredictVO();
      predictVO.setMineNum(0);
      predictVO.setTeamNum(0);
      predictVO.setTotalNum(0);
      predictVO.setMineMoney(BigDecimal.valueOf(0));
      predictVO.setTeamMoney(BigDecimal.valueOf(0));
      BigDecimal hundred = BigDecimal.valueOf(100);
@@ -335,6 +369,8 @@
         return;
      }
      long count = 0;
      List<Extract> list = null;
      String redisContent = previewInfoService.getRedisContent(uid, PreviewEnum.extractRecord);
      if (!StringUtil.isNullOrEmpty(redisContent)) {
@@ -343,13 +379,14 @@
         }.getType());
      }
      // 查询真实
      long count = 0;
      if (list == null) {
      if (list != null && list.size() > 0) {// 有预览数据
         count=list.size();
      } else {// 无预览数据
         list = extractService.getExtractSucceedRecord(page, Constant.PAGE_SIZE, uid);
         count = extractService.countExtractSucceedRecord(uid);
      }
      // 查询真实
      if (list == null)
         list = new ArrayList<>();
@@ -370,7 +407,7 @@
      }
      JSONObject json = new JSONObject();
      json.put("count", count == 0 ? list.size() : 0);
      json.put("count", count);
      json.put("list", JSONArray);
      out.print(JsonUtil.loadTrueResult(json));
   }