From e7920b14a9baab97035a1a529da85d124a2bcacd Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期二, 16 六月 2020 10:54:29 +0800 Subject: [PATCH] 云发单对测试用户显示 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserMoneyControllerV2.java | 350 ++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 276 insertions(+), 74 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserMoneyControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserMoneyControllerV2.java index b8ad8ae..00854ce 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserMoneyControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserMoneyControllerV2.java @@ -32,8 +32,9 @@ 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; import com.yeshi.fanli.service.inter.count.HongBaoV2CountService; import com.yeshi.fanli.service.inter.money.TeamEincomeRecordService; @@ -41,6 +42,7 @@ import com.yeshi.fanli.service.inter.money.extract.ExtractService; import com.yeshi.fanli.service.inter.order.HongBaoV2Service; import com.yeshi.fanli.service.inter.order.OrderMoneyDailyCountService; +import com.yeshi.fanli.service.inter.order.dividents.TeamDividentsSourceOrderUserMapService; import com.yeshi.fanli.service.inter.user.PreviewInfoService; import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.service.inter.user.UserInfoService; @@ -48,11 +50,14 @@ 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; import com.yeshi.fanli.vo.money.MoneyStatisticVO; import com.yeshi.fanli.vo.money.TeamPredictVO; +import com.yeshi.fanli.vo.order.OrderRankingVO; +import com.yeshi.fanli.vo.order.TeamDividentsVO; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -93,10 +98,12 @@ @Resource private TeamEincomeRecordService teamEincomeRecordService; - + @Resource private PreviewInfoService previewInfoService; - + + @Resource + private TeamDividentsSourceOrderUserMapService teamDividentsSourceOrderUserMapService; private Gson getGson() { GsonBuilder builder = new GsonBuilder(); @@ -107,7 +114,7 @@ return new JsonPrimitive(""); } else { // 淇濈暀2浣嶅皬鏁� - value = value.setScale(2); + value = value.setScale(2, BigDecimal.ROUND_DOWN); return new JsonPrimitive(value.toString()); } } @@ -128,7 +135,7 @@ out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); return; } - + // VIP鏁版嵁棰勮 MoneyStatisticVO vo = null; String redisContent = previewInfoService.getRedisContent(uid, PreviewEnum.moneyInfo); @@ -137,27 +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); @@ -233,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)); @@ -266,8 +304,6 @@ vo.setMonthPredict(cratePredictVO(orderMoneyDailyCountService.query(uid, minDate, maxDate))); return vo; } - - @RequestMapping(value = "getUserMoneyInfo") public void getUserMoneyInfo(AcceptData acceptData, Long uid, PrintWriter out) { @@ -292,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); @@ -301,6 +338,10 @@ predictVO.setMineNum(predictVO.getMineNum() + dailyCount.getOrderNum()); if (dailyCount.getOrderNumTeam() != null) predictVO.setTeamNum(predictVO.getTeamNum() + dailyCount.getOrderNumTeam()); + + if (dailyCount.getTeamDividentsOrderNum() != null) + predictVO.setTotalNum(predictVO.getTotalNum() + dailyCount.getTeamDividentsOrderNum()); + if (dailyCount.getIncome() != null) predictVO.setMineMoney(predictVO.getMineMoney() .add(MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncome()), hundred))); @@ -309,7 +350,7 @@ .add(MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncomeTeam()), hundred))); } } - predictVO.setTotalNum(predictVO.getTeamNum() + predictVO.getMineNum()); + predictVO.setTotalNum(predictVO.getTotalNum()); predictVO.setTotalMoney(predictVO.getMineMoney().add(predictVO.getTeamMoney())); return predictVO; } @@ -328,20 +369,24 @@ return; } + long count = 0; + List<Extract> list = null; String redisContent = previewInfoService.getRedisContent(uid, PreviewEnum.extractRecord); if (!StringUtil.isNullOrEmpty(redisContent)) { Gson gson = new Gson(); - list = gson.fromJson(redisContent, new TypeToken<ArrayList<Extract>>() {}.getType()); + list = gson.fromJson(redisContent, new TypeToken<ArrayList<Extract>>() { + }.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<>(); @@ -362,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)); } @@ -477,7 +522,9 @@ object.put("list", gson.toJson(list)); out.print(JsonUtil.loadTrueResult(object)); } catch (ParseException e) { + out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触")); e.printStackTrace(); + LogHelper.errorDetailInfo(e); } } @@ -557,9 +604,9 @@ * @param out */ @RequestMapping(value = "getTeamDividendStatistic") - public void getTeamDividendStatistic(AcceptData acceptData, Long uid, PrintWriter out) { + public void getTeamDividendStatistic(String callback, AcceptData acceptData, Long uid, PrintWriter out) { if (uid == null || uid == 0) { - out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); return; } @@ -592,11 +639,11 @@ object.put("subsidy", subsidy.setScale(2).toString()); object.put("today", gson.toJson(todayVO)); object.put("month", gson.toJson(monthVO)); - out.print(JsonUtil.loadTrueResult(object)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(object)); } private TeamPredictVO crateTeamPredictVO(List<OrderMoneyDailyCount> list) { - TeamPredictVO predictVO = new TeamPredictVO(BigDecimal.ZERO, 0, BigDecimal.ZERO, 0); + TeamPredictVO predictVO = new TeamPredictVO(BigDecimal.ZERO, 0, BigDecimal.ZERO, 0, 0); if (list != null && list.size() > 0) { BigDecimal hundred = BigDecimal.valueOf(100); for (OrderMoneyDailyCount dailyCount : list) { @@ -611,9 +658,12 @@ predictVO.setSubsidy(predictVO.getSubsidy() .add(MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getTeamSubsidy()), hundred))); + if (dailyCount.getTeamDividentsOrderNum() != null) + predictVO.setTotalNum(predictVO.getTotalNum() + dailyCount.getTeamDividentsOrderNum()); + } } - predictVO.setTotalNum(predictVO.getRewardNum() + predictVO.getSubsidyNum()); + predictVO.setTotalNum(predictVO.getTotalNum()); predictVO.setTotalMoney(predictVO.getReward().add(predictVO.getSubsidy())); return predictVO; } @@ -627,15 +677,15 @@ * @param out */ @RequestMapping(value = "getTeamDividendHistory") - public void getTeamDividendHistory(AcceptData acceptData, Long uid, String date, Integer datetype, + public void getTeamDividendHistory(String callback, AcceptData acceptData, Long uid, String date, Integer datetype, PrintWriter out) { if (uid == null || uid == 0) { - out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); return; } if (StringUtil.isNullOrEmpty(date) || datetype == null) { - out.print(JsonUtil.loadFalseResult(1, "鍙傛暟涓嶅畬鏁�")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶅畬鏁�")); return; } @@ -652,7 +702,7 @@ int countNum = 7; Date day = TimeUtil.parseYYYYMMDD(date); for (int i = 0; i < countNum; i++) { - TeamPredictVO predictVO = new TeamPredictVO(zero, 0, zero, 0); + TeamPredictVO predictVO = new TeamPredictVO(zero, 0, zero, 0, 0); if (i == 0) { predictVO.setCountDate(formatDay.format(day)); } else { @@ -671,7 +721,7 @@ int countNum = 3; Date day = TimeUtil.parseYYYYMMDD(DateUtil.getFirstDayOfMonth(date)); for (int i = 0; i < countNum; i++) { - TeamPredictVO predictVO = new TeamPredictVO(zero, 0, zero, 0); + TeamPredictVO predictVO = new TeamPredictVO(zero, 0, zero, 0, 0); if (i == 0) { predictVO.setCountDate(formatMonth.format(day)); } else { @@ -701,6 +751,7 @@ predictVO.setSubsidyNum(dailyCount.getTeamSubsidyNum()); predictVO.setSubsidy( MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getTeamSubsidy()), hundred)); + predictVO.setTotalNum(dailyCount.getTeamDividentsOrderNum()); break; } @@ -713,12 +764,14 @@ predictVO.setSubsidyNum(dailyCount.getTeamSubsidyNum()); predictVO.setSubsidy( MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getTeamSubsidy()), hundred)); + + predictVO.setTotalNum(dailyCount.getTeamDividentsOrderNum()); break; } } } - predictVO.setTotalNum(predictVO.getRewardNum() + predictVO.getSubsidyNum()); + predictVO.setTotalNum(predictVO.getTotalNum()); predictVO.setTotalMoney(predictVO.getReward().add(predictVO.getSubsidy())); } @@ -727,13 +780,95 @@ JSONObject object = new JSONObject(); object.put("count", list.size()); object.put("list", gson.toJson(list)); - out.print(JsonUtil.loadTrueResult(object)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(object)); } catch (ParseException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("缁熻澶辫触")); e.printStackTrace(); + LogHelper.errorDetailInfo(e); } } - + /** + * 鍒嗙孩璇︽儏 + * + * @param acceptData + * @param uid + * @param datetype 1-澶� - 2鏈� + * @param out + */ + @RequestMapping(value = "getTeamDividendDetail") + public void getTeamDividendDetail(String callback, AcceptData acceptData, Integer page, Long uid, String date, + Integer datetype, String key, PrintWriter out) { + if (uid == null || uid == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } + + if (StringUtil.isNullOrEmpty(date) || datetype == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶅畬鏁�")); + return; + } + + if (page == null) + page = 1; + int pageSize = Constant.PAGE_SIZE; + + try { + Date minDay = new Date(); + Date maxDay = new Date(); + if (datetype == 1) { + minDay = TimeUtil.parseYYYYMMDD(date); + maxDay = TimeUtil.parseYYYYMMDD_HHMMSS(date + " 23:59:59"); + } else if (datetype == 2) { + minDay = TimeUtil.parseYYYYMMDD(DateUtil.getFirstDayOfMonth(date)); + maxDay = TimeUtil.parseYYYYMMDD_HHMMSS(DateUtil.getLastDayOfMonth(date) + " 23:59:59"); + } + List<TeamDividentsVO> list = teamDividentsSourceOrderUserMapService + .listByDateAndTargetUid((page - 1) * pageSize, pageSize, uid, minDay, maxDay, key); + if (list == null) { + list = new ArrayList<>(); + } + long count = teamDividentsSourceOrderUserMapService.countByDateAndTargetUid(uid, minDay, maxDay, key); + + GsonBuilder builder = new GsonBuilder(); + builder.registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() { + @Override + public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) { + if (value == null) { + return new JsonPrimitive("0.00"); + } else { + // 淇濈暀3浣嶅皬鏁� + value = value.setScale(3, RoundingMode.DOWN); + return new JsonPrimitive(value.toString()); + } + } + }); + + Gson gson = builder.create(); + JSONObject object = new JSONObject(); + + if (page == 1) { + TeamDividentsVO teamDividentsVO = teamDividentsSourceOrderUserMapService.sumByDateAndTargetUid(uid, + minDay, maxDay, key); + if (teamDividentsVO == null) { + teamDividentsVO = new TeamDividentsVO(); + teamDividentsVO.setSubsidy(BigDecimal.ZERO); + teamDividentsVO.setDividents(BigDecimal.ZERO); + } + object.put("subsidy", teamDividentsVO.getSubsidy().setScale(2, RoundingMode.DOWN).toString()); + object.put("dividents", teamDividentsVO.getDividents().setScale(2, RoundingMode.DOWN).toString()); + } + + object.put("count", count); + object.put("list", gson.toJson(list)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(object)); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触")); + e.printStackTrace(); + LogHelper.errorDetailInfo(e); + } + } + /** * 璁㈠崟缁熻-h5 * @@ -744,57 +879,60 @@ @RequestMapping(value = "countTeamOrderNum") public void countTeamOrderNum(String callback, AcceptData acceptData, Long uid, PrintWriter out) { try { - + Date minDate = null; Date maxDate = null; long timeStamp = System.currentTimeMillis(); - + Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(timeStamp); - + // 浠婃棩棰勪及 calendar.add(Calendar.DAY_OF_YEAR, -1); minDate = new Date(TimeUtil.convertDateToTemp(TimeUtil.getGernalTime(timeStamp))); - OrderMoneyDailyCount todayRecord = createVO(orderMoneyDailyCountService.sumTeamOrderNumGroupByCountDay(uid, minDate, null)); + OrderMoneyDailyCount todayRecord = createVO( + orderMoneyDailyCountService.sumTeamOrderNumGroupByCountDay(uid, minDate, null)); // 鏄ㄦ棩棰勪及 calendar.add(Calendar.DAY_OF_YEAR, -1); maxDate = new Date(TimeUtil.convertDateToTemp(TimeUtil.getGernalTime(timeStamp))); minDate = DateUtil.reduceDay(1, maxDate); - OrderMoneyDailyCount yesterdayRecord = createVO(orderMoneyDailyCountService.sumTeamOrderNumGroupByCountDay(uid, minDate, maxDate)); + OrderMoneyDailyCount yesterdayRecord = createVO( + orderMoneyDailyCountService.sumTeamOrderNumGroupByCountDay(uid, minDate, maxDate)); // 鏈湀棰勪及 maxDate = new Date(timeStamp); calendar = Calendar.getInstance(); - minDate = new Date(TimeUtil - .convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M")); + minDate = new Date(TimeUtil.convertToTimeTemp( + calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M")); calendar.add(Calendar.MONTH, -1); - OrderMoneyDailyCount monthRecord = createVO(orderMoneyDailyCountService.sumTeamOrderNumGroupByYearMonth(uid, minDate, maxDate)); - + OrderMoneyDailyCount monthRecord = createVO( + orderMoneyDailyCountService.sumTeamOrderNumGroupByYearMonth(uid, minDate, maxDate)); + // 绱 - OrderMoneyDailyCount totalityRecord = createVO(orderMoneyDailyCountService.sumTeamOrderNumGroupByUid(uid, null, null)); - + OrderMoneyDailyCount totalityRecord = createVO( + orderMoneyDailyCountService.sumTeamOrderNumGroupByUid(uid, null, null)); + JSONObject today = new JSONObject(); today.put("direct", todayRecord.getDirectOrderNum()); today.put("indirect", todayRecord.getInDirectOrderNum()); today.put("beyond", todayRecord.getBeyondOrderNum()); - + JSONObject yesterday = new JSONObject(); yesterday.put("direct", yesterdayRecord.getDirectOrderNum()); yesterday.put("indirect", yesterdayRecord.getInDirectOrderNum()); yesterday.put("beyond", yesterdayRecord.getBeyondOrderNum()); - + JSONObject month = new JSONObject(); month.put("direct", monthRecord.getDirectOrderNum()); month.put("indirect", monthRecord.getInDirectOrderNum()); month.put("beyond", monthRecord.getBeyondOrderNum()); - + JSONObject totality = new JSONObject(); totality.put("direct", totalityRecord.getDirectOrderNum()); totality.put("indirect", totalityRecord.getInDirectOrderNum()); totality.put("beyond", totalityRecord.getBeyondOrderNum()); - - + JSONObject json = new JSONObject(); json.put("today", today); json.put("yesterday", yesterday); @@ -804,21 +942,85 @@ } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("缁熻澶辫触")); e.printStackTrace(); + LogHelper.errorDetailInfo(e); } } - - + private OrderMoneyDailyCount createVO(List<OrderMoneyDailyCount> list) { - OrderMoneyDailyCount totalityRecord = new OrderMoneyDailyCount(0,0,0); - + OrderMoneyDailyCount totalityRecord = new OrderMoneyDailyCount(0, 0, 0); if (list != null && list.size() > 0) { - for (OrderMoneyDailyCount record: list) { + for (OrderMoneyDailyCount record : list) { totalityRecord.setDirectOrderNum(totalityRecord.getDirectOrderNum() + record.getDirectOrderNum()); totalityRecord.setInDirectOrderNum(totalityRecord.getInDirectOrderNum() + record.getInDirectOrderNum()); totalityRecord.setBeyondOrderNum(totalityRecord.getBeyondOrderNum() + record.getBeyondOrderNum()); } - } - + } return totalityRecord; } + + /** + * 璁㈠崟鎺掕姒� + * @param callback + * @param acceptData + * @param uid + * @param dateType + * @param out + */ + @RequestMapping(value = "getRanking") + public void getRanking(String callback, AcceptData acceptData, Long uid, Integer dateType, PrintWriter out) { + if (uid == null || dateType == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟缂哄け")); + return; + } + + try { + Date minDate = null; + Date maxDate = null; + long timeStamp = System.currentTimeMillis(); + + Calendar calendar = Calendar.getInstance(); + calendar.setTimeInMillis(timeStamp); + + if (dateType == 1) { + // 浠婃棩 + calendar.add(Calendar.DAY_OF_YEAR, -1); + minDate = new Date(TimeUtil.convertDateToTemp(TimeUtil.getGernalTime(timeStamp))); + } else if (dateType == 2) { + // 鏄ㄦ棩 + calendar.add(Calendar.DAY_OF_YEAR, -1); + maxDate = new Date(TimeUtil.convertDateToTemp(TimeUtil.getGernalTime(timeStamp))); + minDate = DateUtil.reduceDay(1, maxDate); + } else { + // 鏈湀 + 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); + } + + List<OrderRankingVO> list = orderMoneyDailyCountService.getRankingByOrderNum(uid, minDate, maxDate); + if (list.size() > 0) { + for (int i = 0; i < list.size(); i++) { + OrderRankingVO vo = list.get(i); + UserInfo user = userInfoService.getUserByIdWithMybatis(vo.getUid()); + if (user == null) { + list.remove(i); + i--; + continue; + } + vo.setNickName(user.getNickName()); + vo.setPortrait(user.getPortrait()); + } + } + + JSONObject json = new JSONObject(); + json.put("list", list); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(json)); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("缁熻澶辫触")); + e.printStackTrace(); + LogHelper.errorDetailInfo(e); + } + } } -- Gitblit v1.8.0