From 2147d023563a7c9d05d97547c00d6b0162c0644c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 09 十一月 2020 18:37:24 +0800 Subject: [PATCH] 刷单风险规则优化 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserMoneyControllerV2.java | 1706 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 862 insertions(+), 844 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 611ed38..9742ead 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 @@ -47,9 +47,9 @@ import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.MoneyBigDecimalUtil; +import org.yeshi.utils.MoneyBigDecimalUtil; import com.yeshi.fanli.util.StringUtil; -import com.yeshi.fanli.util.TimeUtil; +import org.yeshi.utils.TimeUtil; import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.util.account.UserUtil; import com.yeshi.fanli.vo.money.IncomeDetailVO; @@ -64,962 +64,980 @@ /** * 璐︽埛绯荤粺 - * - * @author Administrator * + * @author Administrator */ @Controller @RequestMapping("api/v2/usermoney") public class UserMoneyControllerV2 { - @Resource - private UserMoneyDetailService userMoneyDetailService; + @Resource + private UserMoneyDetailService userMoneyDetailService; - @Resource - private UserInfoService userInfoService; + @Resource + private UserInfoService userInfoService; - @Resource - private HongBaoV2Service hongBaoV2Service; + @Resource + private HongBaoV2Service hongBaoV2Service; - @Resource - private ExtractService extractService; + @Resource + private ExtractService extractService; - @Resource - private UserInfoExtraService userInfoExtraService; + @Resource + private UserInfoExtraService userInfoExtraService; - @Resource - private ConfigService configService; + @Resource + private ConfigService configService; - @Resource - private HongBaoV2CountService hongBaoV2CountService; + @Resource + private HongBaoV2CountService hongBaoV2CountService; - @Resource - private OrderMoneyDailyCountService orderMoneyDailyCountService; + @Resource + private OrderMoneyDailyCountService orderMoneyDailyCountService; - @Resource - private TeamEincomeRecordService teamEincomeRecordService; + @Resource + private TeamEincomeRecordService teamEincomeRecordService; - @Resource - private PreviewInfoService previewInfoService; + @Resource + private PreviewInfoService previewInfoService; - @Resource - private TeamDividentsSourceOrderUserMapService teamDividentsSourceOrderUserMapService; + @Resource + private TeamDividentsSourceOrderUserMapService teamDividentsSourceOrderUserMapService; - private Gson getGson() { - 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(""); - } else { - // 淇濈暀2浣嶅皬鏁� - value = value.setScale(2, BigDecimal.ROUND_DOWN); - return new JsonPrimitive(value.toString()); - } - } - }); - return builder.create(); - } + private Gson getGson() { + 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(""); + } else { + // 淇濈暀2浣嶅皬鏁� + value = value.setScale(2, BigDecimal.ROUND_DOWN); + return new JsonPrimitive(value.toString()); + } + } + }); + return builder.create(); + } - /** - * 鐢ㄦ埛璧勯噾缁熻 - * - * @param acceptData - * @param uid - * @param out - */ - @RequestMapping(value = "getMoneyStatistic") - public void getMoneyStatistic(AcceptData acceptData, Long uid, PrintWriter out) { - if (uid == null || uid == 0) { - out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); - return; - } + /** + * 鐢ㄦ埛璧勯噾缁熻 + * + * @param acceptData + * @param uid + * @param out + */ + @RequestMapping(value = "getMoneyStatistic") + public void getMoneyStatistic(AcceptData acceptData, Long uid, PrintWriter out) { + if (uid == null || uid == 0) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } - // VIP鏁版嵁棰勮 - MoneyStatisticVO vo = null; - String redisContent = previewInfoService.getRedisContent(uid, PreviewEnum.moneyInfo); - if (!StringUtil.isNullOrEmpty(redisContent)) { - vo = new Gson().fromJson(redisContent, MoneyStatisticVO.class); - if (vo != null) { - vo.setLink(configService.getValue(ConfigKeyEnum.autoExtractHelpUrl.getKey(),acceptData.getSystem())); - vo.setExtractDesc("鎻愮幇閲戦灏辨槸宸叉垚鍔熸彁鐜板埌鏀粯瀹濈殑璧勯噾"); - 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); - } - } - } + // VIP鏁版嵁棰勮 + MoneyStatisticVO vo = null; + String redisContent = previewInfoService.getRedisContent(uid, PreviewEnum.moneyInfo); + //鏁版嵁棰勮锛屽~鐨勫亣鏁版嵁 + if (!StringUtil.isNullOrEmpty(redisContent)) { + vo = new Gson().fromJson(redisContent, MoneyStatisticVO.class); + if (vo != null) { + vo.setLink(configService.getValue(ConfigKeyEnum.autoExtractHelpUrl.getKey(), acceptData.getSystem())); + vo.setExtractDesc("鎻愮幇閲戦灏辨槸宸叉垚鍔熸彁鐜板埌鏀粯瀹濈殑璧勯噾"); + if (VersionUtil.greaterThan_2_1_2(acceptData.getPlatform(), acceptData.getVersion())) { + vo.setMoneyArrivalDesc("灏芥棭纭鏀惰揣鍙互淇冧娇璧勯噾灏芥棭鍒拌处"); + } else { + vo.setMoneyArrivalDesc("璁㈠崟宸插埌璐﹀悗鎻愮幇鏃堕棿鍜岄噾棰濆潎涓嶅彈闄愬埗"); + } - if (vo == null) { - vo = createMoneyStatistic(uid, acceptData); - } + if (vo.getLastMonthSettleMoney() == null) { + vo.setLastMonthExtractMoney(BigDecimal.ZERO); + } - Gson gson = getGson(); - out.print(JsonUtil.loadTrueResult(gson.toJson(vo))); - } + if (vo.getNotSettleMoney() == null) { + vo.setNotSettleMoney(BigDecimal.ZERO); + } + } + } - private MoneyStatisticVO createMoneyStatistic(Long uid, AcceptData acceptData) { - UserInfo user = userInfoService.getUserById(uid); + if (vo == null) { + vo = getMoneyStatisticInfo(uid, acceptData); + } - MoneyStatisticVO vo = new MoneyStatisticVO(); - vo.setLink(configService.getValue(ConfigKeyEnum.autoExtractHelpUrl.getKey(),acceptData.getSystem())); - vo.setBalanceMoney(user.getMyHongBao()); - vo.setExtractDesc("鎻愮幇閲戦灏辨槸宸叉垚鍔熸彁鐜板埌鏀粯瀹濈殑璧勯噾"); + Gson gson = getGson(); + out.print(JsonUtil.loadTrueResult(gson.toJson(vo))); + } - // 鑾峰彇鎻愮幇涓殑淇℃伅 - BigDecimal extractingMoney = extractService.sumVerifyingMoney(uid); - if (extractingMoney.compareTo(new BigDecimal(0)) > 0) - vo.setExtractingMoneyInfo("鎻愮幇涓�:楼" + extractingMoney.setScale(2, RoundingMode.HALF_UP)); + private MoneyStatisticVO getMoneyStatisticInfo(Long uid, AcceptData acceptData) { + UserInfo user = userInfoService.getUserById(uid); - Date minDate = null; - Date maxDate = null; - long timeStamp = System.currentTimeMillis(); - List<UserMoneyDetailTypeEnum> typeList = new ArrayList<>(); + MoneyStatisticVO vo = new MoneyStatisticVO(); + vo.setLink(configService.getValue(ConfigKeyEnum.autoExtractHelpUrl.getKey(), acceptData.getSystem())); + vo.setBalanceMoney(user.getMyHongBao()); + vo.setExtractDesc("鎻愮幇閲戦灏辨槸宸叉垚鍔熸彁鐜板埌鏀粯瀹濈殑璧勯噾"); - Calendar calendar = Calendar.getInstance(); - calendar.setTimeInMillis(timeStamp); + // 鑾峰彇鎻愮幇涓殑淇℃伅 + BigDecimal extractingMoney = extractService.sumVerifyingMoney(uid); + if (extractingMoney.compareTo(new BigDecimal(0)) > 0) + vo.setExtractingMoneyInfo("鎻愮幇涓�:楼" + extractingMoney.setScale(2, RoundingMode.HALF_UP)); - typeList.clear(); - typeList.add(UserMoneyDetailTypeEnum.extract); - typeList.add(UserMoneyDetailTypeEnum.extractNew); - typeList.add(UserMoneyDetailTypeEnum.extractVerify); - typeList.add(UserMoneyDetailTypeEnum.extractVerifyNew); - typeList.add(UserMoneyDetailTypeEnum.extractReject); - typeList.add(UserMoneyDetailTypeEnum.extractAutoWX); + Date minDate = null; + Date maxDate = null; + long timeStamp = System.currentTimeMillis(); + List<UserMoneyDetailTypeEnum> typeList = new ArrayList<>(); - // 鏈湀鎻愮幇 - 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.setMonthExtractMoney( - userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate, 1).abs()); + Calendar calendar = Calendar.getInstance(); + calendar.setTimeInMillis(timeStamp); - // 涓婃湀鎻愮幇 - 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.setLastMonthExtractMoney( - userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate, 1).abs()); + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.extract); + typeList.add(UserMoneyDetailTypeEnum.extractNew); + typeList.add(UserMoneyDetailTypeEnum.extractVerify); + typeList.add(UserMoneyDetailTypeEnum.extractVerifyNew); + typeList.add(UserMoneyDetailTypeEnum.extractReject); + typeList.add(UserMoneyDetailTypeEnum.extractAutoWX); - minDate = new Date(0L); - maxDate = new Date(timeStamp); - // 绱鎴愬姛鎻愮幇 - vo.setTotalExtractMoney( - userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate, 1).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.setMonthExtractMoney( + userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate, 1).abs()); - // 绱鑷喘杩斿埄 - typeList.clear(); - typeList.add(UserMoneyDetailTypeEnum.fanli); - typeList.add(UserMoneyDetailTypeEnum.fanliNew); - typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan); - typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuanNew); - typeList.add(UserMoneyDetailTypeEnum.orderReward); - typeList.add(UserMoneyDetailTypeEnum.orderRewardNew); - vo.setTotalFanLiMoney( - userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs()); + // 涓婃湀鎻愮幇 + calendar = Calendar.getInstance(); + 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.setLastMonthExtractMoney( + userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate, 1).abs()); - // 绱鍒嗕韩璧� - typeList.clear(); - typeList.add(UserMoneyDetailTypeEnum.share); - typeList.add(UserMoneyDetailTypeEnum.shareNew); - typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan); - vo.setTotalShareMoney( - userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs()); + minDate = new Date(0L); + maxDate = new Date(timeStamp); + // 绱鎴愬姛鎻愮幇 + vo.setTotalExtractMoney( + userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate, 1).abs()); - // 绱閭�璇疯禋 - typeList.clear(); - typeList.add(UserMoneyDetailTypeEnum.invite); - typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan); - typeList.add(UserMoneyDetailTypeEnum.inviteAndShare); - typeList.add(UserMoneyDetailTypeEnum.subsidy); - typeList.add(UserMoneyDetailTypeEnum.teamReward); - vo.setTotalInviteMoney( - userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs()); + // 绱鑷喘杩斿埄 + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.fanli); + typeList.add(UserMoneyDetailTypeEnum.fanliNew); + typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuanNew); + typeList.add(UserMoneyDetailTypeEnum.orderReward); + typeList.add(UserMoneyDetailTypeEnum.orderRewardNew); + vo.setTotalFanLiMoney( + userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs()); - - 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)); + // 绱鍒嗕韩璧� + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.share); + typeList.add(UserMoneyDetailTypeEnum.shareNew); + typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan); + vo.setTotalShareMoney( + userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs()); - // 涓婃湀鏀惰揣 - 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)); + // 绱閭�璇疯禋 + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.invite); + typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.inviteAndShare); + typeList.add(UserMoneyDetailTypeEnum.subsidy); + typeList.add(UserMoneyDetailTypeEnum.teamReward); + vo.setTotalInviteMoney( + userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs()); - // 浠婃棩棰勪及 - calendar.add(Calendar.DAY_OF_YEAR, -1); - minDate = new Date(TimeUtil.convertDateToTemp(TimeUtil.getGernalTime(timeStamp))); - vo.setTodayPredict(cratePredictVO(orderMoneyDailyCountService.query(uid, minDate, null))); + //绱鎵�鏈� + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.fanli); + typeList.add(UserMoneyDetailTypeEnum.fanliNew); + typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuanNew); + typeList.add(UserMoneyDetailTypeEnum.orderReward); + typeList.add(UserMoneyDetailTypeEnum.orderRewardNew); + typeList.add(UserMoneyDetailTypeEnum.share); + typeList.add(UserMoneyDetailTypeEnum.shareNew); + typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan); + vo.setTotalMoney( + 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.setMonthPredict(cratePredictVO(orderMoneyDailyCountService.query(uid, minDate, maxDate))); - return vo; - } - @RequestMapping(value = "getUserMoneyInfo") - public void getUserMoneyInfo(AcceptData acceptData, Long uid, PrintWriter out) { - if (uid == null || uid == 0) { - out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); - return; - } - UserInfo user = userInfoService.getUserById(uid); + if (VersionUtil.greaterThan_2_1_2(acceptData.getPlatform(), acceptData.getVersion())) { + vo.setMoneyArrivalDesc("灏芥棭纭鏀惰揣鍙互淇冧娇璧勯噾灏芥棭鍒拌处"); - MoneyStatisticVO vo = new MoneyStatisticVO(); - vo.setLink(configService.getValue(ConfigKeyEnum.autoExtractHelpUrl.getKey(),acceptData.getSystem())); - vo.setBalanceMoney(user.getMyHongBao()); - // 鑾峰彇鎻愮幇涓殑淇℃伅 - BigDecimal extractingMoney = extractService.sumVerifyingMoney(uid); - if (extractingMoney.compareTo(new BigDecimal(0)) > 0) - vo.setExtractingMoneyInfo("鎻愮幇涓�:楼" + extractingMoney.setScale(2, RoundingMode.HALF_UP)); - Gson gson = getGson(); - out.print(JsonUtil.loadTrueResult(gson.toJson(vo))); - } + 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); - private MoneyPredictVO cratePredictVO(List<OrderMoneyDailyCount> list) { - 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); - if (list != null && list.size() > 0) { - for (OrderMoneyDailyCount dailyCount : list) { - if (dailyCount.getOrderNum() != null) - predictVO.setMineNum(predictVO.getMineNum() + dailyCount.getOrderNum()); - if (dailyCount.getOrderNumTeam() != null) - predictVO.setTeamNum(predictVO.getTeamNum() + dailyCount.getOrderNumTeam()); + // 鍏ㄩ儴鏈埌璐� + 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)); - if (dailyCount.getTeamDividentsOrderNum() != null) - predictVO.setTotalNum(predictVO.getTotalNum() + dailyCount.getTeamDividentsOrderNum()); + // 涓婃湀鏀惰揣 + 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)); + } - if (dailyCount.getIncome() != null) - predictVO.setMineMoney(predictVO.getMineMoney() - .add(MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncome()), hundred))); - if (dailyCount.getIncomeTeam() != null) - predictVO.setTeamMoney(predictVO.getTeamMoney() - .add(MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncomeTeam()), hundred))); - } - } - predictVO.setTotalNum(predictVO.getTotalNum()); - predictVO.setTotalMoney(predictVO.getMineMoney().add(predictVO.getTeamMoney())); - return predictVO; - } + // 寰呯‘璁ゆ敹璐э紙180澶╁唴锛� + vo.setNotSettleMoney(hongBaoV2CountService.sumMoneyByANotSettleAndUid(uid)); - /** - * 鎻愮幇鎴愬姛璁板綍 - * @param acceptData - * @param page - * @param uid - * @param out - */ - @RequestMapping(value = "getExtractRecord") - public void getExtractRecord(AcceptData acceptData, Integer page, Long uid, PrintWriter out) { - if (uid == null || uid == 0) { - out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); - return; - } + // 浠婃棩棰勪及 + calendar.add(Calendar.DAY_OF_YEAR, -1); + minDate = new Date(TimeUtil.convertDateToTemp(TimeUtil.getGernalTime(timeStamp))); + vo.setTodayPredict(cratePredictVO(orderMoneyDailyCountService.query(uid, minDate, null))); - long count = 0; + // 鏈湀棰勪及 + 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.setMonthPredict(cratePredictVO(orderMoneyDailyCountService.query(uid, minDate, maxDate))); + return vo; + } - 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()); - } + @RequestMapping(value = "getUserMoneyInfo") + public void getUserMoneyInfo(AcceptData acceptData, Long uid, PrintWriter out) { + if (uid == null || uid == 0) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } + UserInfo user = userInfoService.getUserById(uid); - if (list != null && list.size() > 0) {// 鏈夐瑙堟暟鎹� - count=list.size(); - } else {// 鏃犻瑙堟暟鎹� - list = extractService.getExtractSucceedRecord(page, Constant.PAGE_SIZE, uid); - count = extractService.countExtractSucceedRecord(uid); - } + MoneyStatisticVO vo = new MoneyStatisticVO(); + vo.setLink(configService.getValue(ConfigKeyEnum.autoExtractHelpUrl.getKey(), acceptData.getSystem())); + vo.setBalanceMoney(user.getMyHongBao()); + // 鑾峰彇鎻愮幇涓殑淇℃伅 + BigDecimal extractingMoney = extractService.sumVerifyingMoney(uid); + if (extractingMoney.compareTo(new BigDecimal(0)) > 0) + vo.setExtractingMoneyInfo("鎻愮幇涓�:楼" + extractingMoney.setScale(2, RoundingMode.HALF_UP)); + Gson gson = getGson(); + out.print(JsonUtil.loadTrueResult(gson.toJson(vo))); + } - // 鏌ヨ鐪熷疄 - if (list == null) - list = new ArrayList<>(); + private MoneyPredictVO cratePredictVO(List<OrderMoneyDailyCount> list) { + 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); + if (list != null && list.size() > 0) { + for (OrderMoneyDailyCount dailyCount : list) { + if (dailyCount.getOrderNum() != null) + predictVO.setMineNum(predictVO.getMineNum() + dailyCount.getOrderNum()); + if (dailyCount.getOrderNumTeam() != null) + predictVO.setTeamNum(predictVO.getTeamNum() + dailyCount.getOrderNumTeam()); - JSONArray JSONArray = new JSONArray(); - for (Extract extract : list) { - Date receiveTime = extract.getReceiveTime(); - if (receiveTime == null) { - receiveTime = new Date(extract.getExtractTime()); - } - String account = "鏀粯瀹濓細" + UserUtil.filterAlipayAccount(extract.getAccount()); - account = account + "-濮撳悕锛�" + UserUtil.filterAlipayName(extract.getName()); + if (dailyCount.getTeamDividentsOrderNum() != null) + predictVO.setTotalNum(predictVO.getTotalNum() + dailyCount.getTeamDividentsOrderNum()); - JSONObject object = new JSONObject(); - object.put("title", "浣犱簬" + TimeUtil.formatDate(receiveTime) + "鎻愮幇鎴愬姛"); - object.put("account", account); - object.put("money", "楼" + extract.getMoney().setScale(2).toString()); - JSONArray.add(object); - } + if (dailyCount.getIncome() != null) + predictVO.setMineMoney(predictVO.getMineMoney() + .add(MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncome()), hundred))); + if (dailyCount.getIncomeTeam() != null) + predictVO.setTeamMoney(predictVO.getTeamMoney() + .add(MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncomeTeam()), hundred))); + } + } + predictVO.setTotalNum(predictVO.getTotalNum()); + predictVO.setTotalMoney(predictVO.getMineMoney().add(predictVO.getTeamMoney())); + return predictVO; + } - JSONObject json = new JSONObject(); - json.put("count", count); - json.put("list", JSONArray); - out.print(JsonUtil.loadTrueResult(json)); - } + /** + * 鎻愮幇鎴愬姛璁板綍 + * + * @param acceptData + * @param page + * @param uid + * @param out + */ + @RequestMapping(value = "getExtractRecord") + public void getExtractRecord(AcceptData acceptData, Integer page, Long uid, PrintWriter out) { + if (uid == null || uid == 0) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } - /** - * 鍘嗗彶璇︽儏 - * - * @param acceptData - * @param uid - * @param datetype 1-澶� - 2鏈� - * @param out - */ - @RequestMapping(value = "getHistoryDetail") - public void getHistoryDetail(AcceptData acceptData, Long uid, String date, Integer datetype, PrintWriter out) { - if (uid == null || uid == 0) { - out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); - return; - } + long count = 0; - if (StringUtil.isNullOrEmpty(date) || datetype == null) { - out.print(JsonUtil.loadFalseResult(1, "鍙傛暟涓嶅畬鏁�")); - return; - } + 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()); + } - try { - Date minDay = new Date(); - Date maxDay = new Date(); - BigDecimal zero = new BigDecimal(0); - List<OrderMoneyDailyCount> listDailyCount = null; - List<MoneyPredictVO> list = new ArrayList<>(); - SimpleDateFormat formatMonth = new SimpleDateFormat("yyyy骞碝M鏈�"); - SimpleDateFormat formatDay = new SimpleDateFormat("yyyy骞碝M鏈坉d鏃�"); - if (datetype == 1) { - // 鍚庨��7涓湀 - int countNum = 7; - Date day = TimeUtil.parseYYYYMMDD(date); - for (int i = 0; i < countNum; i++) { - MoneyPredictVO predictVO = new MoneyPredictVO(zero, 0, zero, 0); - if (i == 0) { - predictVO.setCountDate(formatDay.format(day)); - } else { - predictVO.setCountDate(formatDay.format(DateUtil.reduceDay(i, day))); - } - list.add(predictVO); + if (list != null && list.size() > 0) {// 鏈夐瑙堟暟鎹� + count = list.size(); + } else {// 鏃犻瑙堟暟鎹� + list = extractService.getExtractSucceedRecord(page, Constant.PAGE_SIZE, uid); + count = extractService.countExtractSucceedRecord(uid); + } - if (i == countNum - 1) { - minDay = DateUtil.reduceDay(i, day); - } - } - maxDay = TimeUtil.parseYYYYMMDD_HHMMSS(date + " 23:59:59"); - listDailyCount = orderMoneyDailyCountService.sumGroupByCountDay(uid, minDay, maxDay); - } else if (datetype == 2) { - // 鍚庨��3涓湀 - int countNum = 3; - Date day = TimeUtil.parseYYYYMMDD(DateUtil.getFirstDayOfMonth(date)); - for (int i = 0; i < countNum; i++) { - MoneyPredictVO predictVO = new MoneyPredictVO(zero, 0, zero, 0); - if (i == 0) { - predictVO.setCountDate(formatMonth.format(day)); - } else { - predictVO.setCountDate(formatMonth.format(DateUtil.reduceMonth(day, i))); - } - list.add(predictVO); + // 鏌ヨ鐪熷疄 + if (list == null) + list = new ArrayList<>(); - if (i == countNum - 1) { - minDay = DateUtil.reduceMonth(day, i); - } - } - maxDay = TimeUtil.parseYYYYMMDD_HHMMSS(DateUtil.getLastDayOfMonth(date) + " 23:59:59"); - listDailyCount = orderMoneyDailyCountService.sumGroupByYearMonth(uid, minDay, maxDay); - } + JSONArray JSONArray = new JSONArray(); + for (Extract extract : list) { + Date receiveTime = extract.getReceiveTime(); + if (receiveTime == null) { + receiveTime = new Date(extract.getExtractTime()); + } + String account = "鏀粯瀹濓細" + UserUtil.filterAlipayAccount(extract.getAccount()); + account = account + "-濮撳悕锛�" + UserUtil.filterAlipayName(extract.getName()); - BigDecimal hundred = BigDecimal.valueOf(100); - for (MoneyPredictVO predictVO : list) { - String countDate = predictVO.getCountDate(); + JSONObject object = new JSONObject(); + object.put("title", "浣犱簬" + TimeUtil.formatDate(receiveTime) + "鎻愮幇鎴愬姛"); + object.put("account", account); + object.put("money", "楼" + extract.getMoney().setScale(2).toString()); + JSONArray.add(object); + } - if (listDailyCount != null && listDailyCount.size() > 0) { - for (OrderMoneyDailyCount dailyCount : listDailyCount) { - Date countDay = dailyCount.getCountDay(); - if (datetype == 1 && countDay != null && countDate.equals(formatDay.format(countDay))) { - predictVO.setMineNum(dailyCount.getOrderNum()); - predictVO.setMineMoney( - MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncome()), hundred)); - predictVO.setTeamNum(dailyCount.getOrderNumTeam()); - predictVO.setTeamMoney( - MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncomeTeam()), hundred)); - break; - } + JSONObject json = new JSONObject(); + json.put("count", count); + json.put("list", JSONArray); + out.print(JsonUtil.loadTrueResult(json)); + } - String yearMonth = dailyCount.getYearMonth(); - if (datetype == 2 && !StringUtil.isNullOrEmpty(yearMonth) && countDate.equals( - formatMonth.format(TimeUtil.parseYYYYMMDD(DateUtil.getFirstDayOfMonth(yearMonth))))) { - predictVO.setMineNum(dailyCount.getOrderNum()); - predictVO.setMineMoney( - MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncome()), hundred)); - predictVO.setTeamNum(dailyCount.getOrderNumTeam()); - predictVO.setTeamMoney( - MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncomeTeam()), hundred)); - break; - } - } - } + /** + * 鍘嗗彶璇︽儏 + * + * @param acceptData + * @param uid + * @param datetype 1-澶� - 2鏈� + * @param out + */ + @RequestMapping(value = "getHistoryDetail") + public void getHistoryDetail(AcceptData acceptData, Long uid, String date, Integer datetype, PrintWriter out) { + if (uid == null || uid == 0) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } - predictVO.setTotalNum(predictVO.getTeamNum() + predictVO.getMineNum()); - predictVO.setTotalMoney(predictVO.getMineMoney().add(predictVO.getTeamMoney())); - } + if (StringUtil.isNullOrEmpty(date) || datetype == null) { + out.print(JsonUtil.loadFalseResult(1, "鍙傛暟涓嶅畬鏁�")); + return; + } - Gson gson = getGson(); + try { + Date minDay = new Date(); + Date maxDay = new Date(); + BigDecimal zero = new BigDecimal(0); + List<OrderMoneyDailyCount> listDailyCount = null; + List<MoneyPredictVO> list = new ArrayList<>(); + SimpleDateFormat formatMonth = new SimpleDateFormat("yyyy骞碝M鏈�"); + SimpleDateFormat formatDay = new SimpleDateFormat("yyyy骞碝M鏈坉d鏃�"); + if (datetype == 1) { + // 鍚庨��7涓湀 + int countNum = 7; + Date day = TimeUtil.parseYYYYMMDD(date); + for (int i = 0; i < countNum; i++) { + MoneyPredictVO predictVO = new MoneyPredictVO(zero, 0, zero, 0); + if (i == 0) { + predictVO.setCountDate(formatDay.format(day)); + } else { + predictVO.setCountDate(formatDay.format(DateUtil.reduceDay(i, day))); + } + list.add(predictVO); - JSONObject object = new JSONObject(); - object.put("count", list.size()); - object.put("list", gson.toJson(list)); - out.print(JsonUtil.loadTrueResult(object)); - } catch (ParseException e) { - out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触")); - e.printStackTrace(); - LogHelper.errorDetailInfo(e); - } - } + if (i == countNum - 1) { + minDay = DateUtil.reduceDay(i, day); + } + } + maxDay = TimeUtil.parseYYYYMMDD_HHMMSS(date + " 23:59:59"); + listDailyCount = orderMoneyDailyCountService.sumGroupByCountDay(uid, minDay, maxDay); + } else if (datetype == 2) { + // 鍚庨��3涓湀 + int countNum = 3; + Date day = TimeUtil.parseYYYYMMDD(DateUtil.getFirstDayOfMonth(date)); + for (int i = 0; i < countNum; i++) { + MoneyPredictVO predictVO = new MoneyPredictVO(zero, 0, zero, 0); + if (i == 0) { + predictVO.setCountDate(formatMonth.format(day)); + } else { + predictVO.setCountDate(formatMonth.format(DateUtil.reduceMonth(day, i))); + } + list.add(predictVO); - /** - * 鏀剁泭璇︽儏 - * - * @param acceptData - * @param uid - * @param datetype - * @param type - * @param out - */ - @RequestMapping(value = "getIncomeDetail") - public void getIncomeDetail(AcceptData acceptData, Long uid, String date, Integer datetype, Integer type, - PrintWriter out) { - if (uid == null || uid == 0) { - out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); - return; - } + if (i == countNum - 1) { + minDay = DateUtil.reduceMonth(day, i); + } + } + maxDay = TimeUtil.parseYYYYMMDD_HHMMSS(DateUtil.getLastDayOfMonth(date) + " 23:59:59"); + listDailyCount = orderMoneyDailyCountService.sumGroupByYearMonth(uid, minDay, maxDay); + } - if (StringUtil.isNullOrEmpty(date) || datetype == null || type == null) { - out.print(JsonUtil.loadFalseResult(1, "鍙傛暟涓嶅畬鏁�")); - return; - } + BigDecimal hundred = BigDecimal.valueOf(100); + for (MoneyPredictVO predictVO : list) { + String countDate = predictVO.getCountDate(); + + if (listDailyCount != null && listDailyCount.size() > 0) { + for (OrderMoneyDailyCount dailyCount : listDailyCount) { + Date countDay = dailyCount.getCountDay(); + if (datetype == 1 && countDay != null && countDate.equals(formatDay.format(countDay))) { + predictVO.setMineNum(dailyCount.getOrderNum()); + predictVO.setMineMoney( + MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncome()), hundred)); + predictVO.setTeamNum(dailyCount.getOrderNumTeam()); + predictVO.setTeamMoney( + MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncomeTeam()), hundred)); + break; + } + + String yearMonth = dailyCount.getYearMonth(); + if (datetype == 2 && !StringUtil.isNullOrEmpty(yearMonth) && countDate.equals( + formatMonth.format(TimeUtil.parseYYYYMMDD(DateUtil.getFirstDayOfMonth(yearMonth))))) { + predictVO.setMineNum(dailyCount.getOrderNum()); + predictVO.setMineMoney( + MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncome()), hundred)); + predictVO.setTeamNum(dailyCount.getOrderNumTeam()); + predictVO.setTeamMoney( + MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncomeTeam()), hundred)); + break; + } + } + } + + predictVO.setTotalNum(predictVO.getTeamNum() + predictVO.getMineNum()); + predictVO.setTotalMoney(predictVO.getMineMoney().add(predictVO.getTeamMoney())); + } + + Gson gson = getGson(); + + JSONObject object = new JSONObject(); + object.put("count", list.size()); + object.put("list", gson.toJson(list)); + out.print(JsonUtil.loadTrueResult(object)); + } catch (ParseException e) { + out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触")); + e.printStackTrace(); + LogHelper.errorDetailInfo(e); + } + } + + /** + * 鏀剁泭璇︽儏 + * + * @param acceptData + * @param uid + * @param datetype + * @param type + * @param out + */ + @RequestMapping(value = "getIncomeDetail") + public void getIncomeDetail(AcceptData acceptData, Long uid, String date, Integer datetype, Integer type, + PrintWriter out) { + if (uid == null || uid == 0) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } + + if (StringUtil.isNullOrEmpty(date) || datetype == null || type == null) { + out.print(JsonUtil.loadFalseResult(1, "鍙傛暟涓嶅畬鏁�")); + return; + } - 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) { - String firstDay = DateUtil.getFirstDayOfMonth(date); - String lastDay = DateUtil.getLastDayOfMonth(date); - minDay = TimeUtil.parseYYYYMMDD(firstDay); - maxDay = TimeUtil.parseYYYYMMDD_HHMMSS(lastDay + " 23:59:59"); - } + 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) { + String firstDay = DateUtil.getFirstDayOfMonth(date); + String lastDay = DateUtil.getLastDayOfMonth(date); + minDay = TimeUtil.parseYYYYMMDD(firstDay); + maxDay = TimeUtil.parseYYYYMMDD_HHMMSS(lastDay + " 23:59:59"); + } - List<OrderMoneyDailyCount> listDailyCount = null; - if (type == 1) { - listDailyCount = orderMoneyDailyCountService.sumGroupBySourceType(uid, minDay, maxDay); - } else if (type == 2) { - listDailyCount = orderMoneyDailyCountService.sumTeamGroupBySourceType(uid, minDay, maxDay); - } + List<OrderMoneyDailyCount> listDailyCount = null; + if (type == 1) { + listDailyCount = orderMoneyDailyCountService.sumGroupBySourceType(uid, minDay, maxDay); + } else if (type == 2) { + listDailyCount = orderMoneyDailyCountService.sumTeamGroupBySourceType(uid, minDay, maxDay); + } - BigDecimal zero = new BigDecimal(0); - List<IncomeDetailVO> list = new ArrayList<>(); + BigDecimal zero = new BigDecimal(0); + List<IncomeDetailVO> list = new ArrayList<>(); - BigDecimal hundred = BigDecimal.valueOf(100); - SourceTypeEnum[] arrayEnun = SourceTypeEnum.values(); - for (int m = 0; m < arrayEnun.length; m++) { - SourceTypeEnum typeEnum = arrayEnun[m]; - IncomeDetailVO detail = new IncomeDetailVO(typeEnum.getIcon(), 0, zero); - if (listDailyCount != null && listDailyCount.size() > 0) { - for (OrderMoneyDailyCount dailyCount : listDailyCount) { - if (dailyCount.getSourceType() == typeEnum) { - detail.setNum(detail.getNum() + dailyCount.getOrderNum()); - detail.setMoney(detail.getMoney() - .add(MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncome()), hundred))); - } - } - } - list.add(detail); - } + BigDecimal hundred = BigDecimal.valueOf(100); + SourceTypeEnum[] arrayEnun = SourceTypeEnum.values(); + for (int m = 0; m < arrayEnun.length; m++) { + SourceTypeEnum typeEnum = arrayEnun[m]; + IncomeDetailVO detail = new IncomeDetailVO(typeEnum.getIcon(), 0, zero); + if (listDailyCount != null && listDailyCount.size() > 0) { + for (OrderMoneyDailyCount dailyCount : listDailyCount) { + if (dailyCount.getSourceType() == typeEnum) { + detail.setNum(detail.getNum() + dailyCount.getOrderNum()); + detail.setMoney(detail.getMoney() + .add(MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getIncome()), hundred))); + } + } + } + list.add(detail); + } - Gson gson = getGson(); + Gson gson = getGson(); - JSONObject object = new JSONObject(); - object.put("count", list.size()); - object.put("list", gson.toJson(list)); - out.print(JsonUtil.loadTrueResult(object)); - } + JSONObject object = new JSONObject(); + object.put("count", list.size()); + object.put("list", gson.toJson(list)); + out.print(JsonUtil.loadTrueResult(object)); + } - /** - * 鍥㈤槦鍒嗙孩 - * @param acceptData - * @param uid - * @param out - */ - @RequestMapping(value = "getTeamDividendStatistic") - public void getTeamDividendStatistic(String callback, AcceptData acceptData, Long uid, PrintWriter out) { - if (uid == null || uid == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } + /** + * 鍥㈤槦鍒嗙孩 + * + * @param acceptData + * @param uid + * @param out + */ + @RequestMapping(value = "getTeamDividendStatistic") + public void getTeamDividendStatistic(String callback, AcceptData acceptData, Long uid, PrintWriter out) { + if (uid == null || uid == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } - 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))); - TeamPredictVO todayVO = crateTeamPredictVO(orderMoneyDailyCountService.query(uid, minDate, null)); + 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))); + TeamPredictVO todayVO = crateTeamPredictVO(orderMoneyDailyCountService.query(uid, minDate, null)); - // 鏈湀棰勪及 - 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); - TeamPredictVO monthVO = crateTeamPredictVO(orderMoneyDailyCountService.query(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")); + calendar.add(Calendar.MONTH, -1); + TeamPredictVO monthVO = crateTeamPredictVO(orderMoneyDailyCountService.query(uid, minDate, maxDate)); - // 缁熻宸插埌璐﹀垎绾€�佽ˉ璐� - BigDecimal subsidy = teamEincomeRecordService.sumRecieveByType(uid, TeamEincomeRecord.TYPE_TEAM_SUBSIDY); - BigDecimal reward = teamEincomeRecordService.sumRecieveByType(uid, TeamEincomeRecord.TYPE_TEAM_DIVIDENTS); + // 缁熻宸插埌璐﹀垎绾€�佽ˉ璐� + BigDecimal subsidy = teamEincomeRecordService.sumRecieveByType(uid, TeamEincomeRecord.TYPE_TEAM_SUBSIDY); + BigDecimal reward = teamEincomeRecordService.sumRecieveByType(uid, TeamEincomeRecord.TYPE_TEAM_DIVIDENTS); - Gson gson = getGson(); - JSONObject object = new JSONObject(); - object.put("total", subsidy.add(reward).setScale(2).toString()); - object.put("reward", reward.setScale(2).toString()); - object.put("subsidy", subsidy.setScale(2).toString()); - object.put("today", gson.toJson(todayVO)); - object.put("month", gson.toJson(monthVO)); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(object)); - } + Gson gson = getGson(); + JSONObject object = new JSONObject(); + object.put("total", subsidy.add(reward).setScale(2).toString()); + object.put("reward", reward.setScale(2).toString()); + object.put("subsidy", subsidy.setScale(2).toString()); + object.put("today", gson.toJson(todayVO)); + object.put("month", gson.toJson(monthVO)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(object)); + } - private TeamPredictVO crateTeamPredictVO(List<OrderMoneyDailyCount> list) { - 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) { - if (dailyCount.getTeamRewardNum() != null) - predictVO.setRewardNum(predictVO.getRewardNum() + dailyCount.getTeamRewardNum()); - if (dailyCount.getTeamSubsidyNum() != null) - predictVO.setSubsidyNum(predictVO.getSubsidyNum() + dailyCount.getTeamSubsidyNum()); - if (dailyCount.getTeamReward() != null) - predictVO.setReward(predictVO.getReward() - .add(MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getTeamReward()), hundred))); - if (dailyCount.getTeamSubsidy() != null) - predictVO.setSubsidy(predictVO.getSubsidy() - .add(MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getTeamSubsidy()), hundred))); + private TeamPredictVO crateTeamPredictVO(List<OrderMoneyDailyCount> list) { + 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) { + if (dailyCount.getTeamRewardNum() != null) + predictVO.setRewardNum(predictVO.getRewardNum() + dailyCount.getTeamRewardNum()); + if (dailyCount.getTeamSubsidyNum() != null) + predictVO.setSubsidyNum(predictVO.getSubsidyNum() + dailyCount.getTeamSubsidyNum()); + if (dailyCount.getTeamReward() != null) + predictVO.setReward(predictVO.getReward() + .add(MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getTeamReward()), hundred))); + if (dailyCount.getTeamSubsidy() != null) + predictVO.setSubsidy(predictVO.getSubsidy() + .add(MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getTeamSubsidy()), hundred))); - if (dailyCount.getTeamDividentsOrderNum() != null) - predictVO.setTotalNum(predictVO.getTotalNum() + dailyCount.getTeamDividentsOrderNum()); + if (dailyCount.getTeamDividentsOrderNum() != null) + predictVO.setTotalNum(predictVO.getTotalNum() + dailyCount.getTeamDividentsOrderNum()); - } - } - predictVO.setTotalNum(predictVO.getTotalNum()); - predictVO.setTotalMoney(predictVO.getReward().add(predictVO.getSubsidy())); - return predictVO; - } + } + } + predictVO.setTotalNum(predictVO.getTotalNum()); + predictVO.setTotalMoney(predictVO.getReward().add(predictVO.getSubsidy())); + return predictVO; + } - /** - * 鍘嗗彶璇︽儏 - * - * @param acceptData - * @param uid - * @param datetype 1-澶� - 2鏈� - * @param out - */ - @RequestMapping(value = "getTeamDividendHistory") - public void getTeamDividendHistory(String callback, AcceptData acceptData, Long uid, String date, Integer datetype, - PrintWriter out) { - if (uid == null || uid == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } + /** + * 鍘嗗彶璇︽儏 + * + * @param acceptData + * @param uid + * @param datetype 1-澶� - 2鏈� + * @param out + */ + @RequestMapping(value = "getTeamDividendHistory") + public void getTeamDividendHistory(String callback, AcceptData acceptData, Long uid, String date, Integer datetype, + 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 (StringUtil.isNullOrEmpty(date) || datetype == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶅畬鏁�")); + return; + } - try { - Date minDay = new Date(); - Date maxDay = new Date(); - BigDecimal zero = new BigDecimal(0); - List<OrderMoneyDailyCount> listDailyCount = null; - List<TeamPredictVO> list = new ArrayList<>(); - SimpleDateFormat formatMonth = new SimpleDateFormat("yyyy骞碝M鏈�"); - SimpleDateFormat formatDay = new SimpleDateFormat("yyyy骞碝M鏈坉d鏃�"); - if (datetype == 1) { - // 鍚庨��7涓湀 - int countNum = 7; - Date day = TimeUtil.parseYYYYMMDD(date); - for (int i = 0; i < countNum; i++) { - TeamPredictVO predictVO = new TeamPredictVO(zero, 0, zero, 0, 0); - if (i == 0) { - predictVO.setCountDate(formatDay.format(day)); - } else { - predictVO.setCountDate(formatDay.format(DateUtil.reduceDay(i, day))); - } - list.add(predictVO); + try { + Date minDay = new Date(); + Date maxDay = new Date(); + BigDecimal zero = new BigDecimal(0); + List<OrderMoneyDailyCount> listDailyCount = null; + List<TeamPredictVO> list = new ArrayList<>(); + SimpleDateFormat formatMonth = new SimpleDateFormat("yyyy骞碝M鏈�"); + SimpleDateFormat formatDay = new SimpleDateFormat("yyyy骞碝M鏈坉d鏃�"); + if (datetype == 1) { + // 鍚庨��7涓湀 + int countNum = 7; + Date day = TimeUtil.parseYYYYMMDD(date); + for (int i = 0; i < countNum; i++) { + TeamPredictVO predictVO = new TeamPredictVO(zero, 0, zero, 0, 0); + if (i == 0) { + predictVO.setCountDate(formatDay.format(day)); + } else { + predictVO.setCountDate(formatDay.format(DateUtil.reduceDay(i, day))); + } + list.add(predictVO); - if (i == countNum - 1) { - minDay = DateUtil.reduceDay(i, day); - } - } - maxDay = TimeUtil.parseYYYYMMDD_HHMMSS(date + " 23:59:59"); - listDailyCount = orderMoneyDailyCountService.sumTeamGroupByCountDay(uid, minDay, maxDay); - } else if (datetype == 2) { - // 鍚庨��3涓湀 - 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, 0); - if (i == 0) { - predictVO.setCountDate(formatMonth.format(day)); - } else { - predictVO.setCountDate(formatMonth.format(DateUtil.reduceMonth(day, i))); - } - list.add(predictVO); + if (i == countNum - 1) { + minDay = DateUtil.reduceDay(i, day); + } + } + maxDay = TimeUtil.parseYYYYMMDD_HHMMSS(date + " 23:59:59"); + listDailyCount = orderMoneyDailyCountService.sumTeamGroupByCountDay(uid, minDay, maxDay); + } else if (datetype == 2) { + // 鍚庨��3涓湀 + 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, 0); + if (i == 0) { + predictVO.setCountDate(formatMonth.format(day)); + } else { + predictVO.setCountDate(formatMonth.format(DateUtil.reduceMonth(day, i))); + } + list.add(predictVO); - if (i == countNum - 1) { - minDay = DateUtil.reduceMonth(day, i); - } - } - maxDay = TimeUtil.parseYYYYMMDD_HHMMSS(DateUtil.getLastDayOfMonth(date) + " 23:59:59"); - listDailyCount = orderMoneyDailyCountService.sumTeamGroupByYearMonth(uid, minDay, maxDay); - } + if (i == countNum - 1) { + minDay = DateUtil.reduceMonth(day, i); + } + } + maxDay = TimeUtil.parseYYYYMMDD_HHMMSS(DateUtil.getLastDayOfMonth(date) + " 23:59:59"); + listDailyCount = orderMoneyDailyCountService.sumTeamGroupByYearMonth(uid, minDay, maxDay); + } - BigDecimal hundred = BigDecimal.valueOf(100); - for (TeamPredictVO predictVO : list) { - String countDate = predictVO.getCountDate(); + BigDecimal hundred = BigDecimal.valueOf(100); + for (TeamPredictVO predictVO : list) { + String countDate = predictVO.getCountDate(); - if (listDailyCount != null && listDailyCount.size() > 0) { - for (OrderMoneyDailyCount dailyCount : listDailyCount) { - Date countDay = dailyCount.getCountDay(); - if (datetype == 1 && countDay != null && countDate.equals(formatDay.format(countDay))) { - predictVO.setRewardNum(dailyCount.getTeamRewardNum()); - predictVO.setReward( - MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getTeamReward()), hundred)); - predictVO.setSubsidyNum(dailyCount.getTeamSubsidyNum()); - predictVO.setSubsidy( - MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getTeamSubsidy()), hundred)); - predictVO.setTotalNum(dailyCount.getTeamDividentsOrderNum()); - break; - } + if (listDailyCount != null && listDailyCount.size() > 0) { + for (OrderMoneyDailyCount dailyCount : listDailyCount) { + Date countDay = dailyCount.getCountDay(); + if (datetype == 1 && countDay != null && countDate.equals(formatDay.format(countDay))) { + predictVO.setRewardNum(dailyCount.getTeamRewardNum()); + predictVO.setReward( + MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getTeamReward()), hundred)); + predictVO.setSubsidyNum(dailyCount.getTeamSubsidyNum()); + predictVO.setSubsidy( + MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getTeamSubsidy()), hundred)); + predictVO.setTotalNum(dailyCount.getTeamDividentsOrderNum()); + break; + } - String yearMonth = dailyCount.getYearMonth(); - if (datetype == 2 && !StringUtil.isNullOrEmpty(yearMonth) && countDate.equals( - formatMonth.format(TimeUtil.parseYYYYMMDD(DateUtil.getFirstDayOfMonth(yearMonth))))) { - predictVO.setRewardNum(dailyCount.getTeamRewardNum()); - predictVO.setReward( - MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getTeamReward()), hundred)); - predictVO.setSubsidyNum(dailyCount.getTeamSubsidyNum()); - predictVO.setSubsidy( - MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getTeamSubsidy()), hundred)); + String yearMonth = dailyCount.getYearMonth(); + if (datetype == 2 && !StringUtil.isNullOrEmpty(yearMonth) && countDate.equals( + formatMonth.format(TimeUtil.parseYYYYMMDD(DateUtil.getFirstDayOfMonth(yearMonth))))) { + predictVO.setRewardNum(dailyCount.getTeamRewardNum()); + predictVO.setReward( + MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getTeamReward()), hundred)); + predictVO.setSubsidyNum(dailyCount.getTeamSubsidyNum()); + predictVO.setSubsidy( + MoneyBigDecimalUtil.div(BigDecimal.valueOf(dailyCount.getTeamSubsidy()), hundred)); - predictVO.setTotalNum(dailyCount.getTeamDividentsOrderNum()); - break; - } - } - } + predictVO.setTotalNum(dailyCount.getTeamDividentsOrderNum()); + break; + } + } + } - predictVO.setTotalNum(predictVO.getTotalNum()); - predictVO.setTotalMoney(predictVO.getReward().add(predictVO.getSubsidy())); - } + predictVO.setTotalNum(predictVO.getTotalNum()); + predictVO.setTotalMoney(predictVO.getReward().add(predictVO.getSubsidy())); + } - Gson gson = getGson(); + Gson gson = getGson(); - JSONObject object = new JSONObject(); - object.put("count", list.size()); - object.put("list", gson.toJson(list)); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(object)); - } catch (ParseException e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("缁熻澶辫触")); - e.printStackTrace(); - LogHelper.errorDetailInfo(e); - } - } + JSONObject object = new JSONObject(); + object.put("count", list.size()); + object.put("list", gson.toJson(list)); + 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; - } + /** + * 鍒嗙孩璇︽儏 + * + * @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 (StringUtil.isNullOrEmpty(date) || datetype == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶅畬鏁�")); + return; + } - if (page == null) - page = 1; - int pageSize = Constant.PAGE_SIZE; + 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); + 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()); - } - } - }); + 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(); + 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()); - } + 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); - } - } + 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 - * - * @param acceptData - * @param out - */ - @RequestMapping(value = "countTeamOrderNum") - public void countTeamOrderNum(String callback, AcceptData acceptData, Long uid, PrintWriter out) { - try { + /** + * 璁㈠崟缁熻-h5 + * + * @param acceptData + * @param out + */ + @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(); + Date minDate = null; + Date maxDate = null; + long timeStamp = System.currentTimeMillis(); - Calendar calendar = Calendar.getInstance(); - calendar.setTimeInMillis(timeStamp); + 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)); + // 浠婃棩棰勪及 + calendar.add(Calendar.DAY_OF_YEAR, -1); + minDate = new Date(TimeUtil.convertDateToTemp(TimeUtil.getGernalTime(timeStamp))); + 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)); + // 鏄ㄦ棩棰勪及 + 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)); - // 鏈湀棰勪及 - 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); - OrderMoneyDailyCount monthRecord = createVO( - orderMoneyDailyCountService.sumTeamOrderNumGroupByYearMonth(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")); + calendar.add(Calendar.MONTH, -1); + 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 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 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 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 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); - json.put("month", month); - json.put("totality", totality); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(json)); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("缁熻澶辫触")); - e.printStackTrace(); - LogHelper.errorDetailInfo(e); - } - } + JSONObject json = new JSONObject(); + json.put("today", today); + json.put("yesterday", yesterday); + json.put("month", month); + json.put("totality", totality); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(json)); + } 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); - if (list != null && list.size() > 0) { - for (OrderMoneyDailyCount record : list) { - totalityRecord.setDirectOrderNum(totalityRecord.getDirectOrderNum() + record.getDirectOrderNum()); - totalityRecord.setInDirectOrderNum(totalityRecord.getInDirectOrderNum() + record.getInDirectOrderNum()); - totalityRecord.setBeyondOrderNum(totalityRecord.getBeyondOrderNum() + record.getBeyondOrderNum()); - } - } - return totalityRecord; - } + private OrderMoneyDailyCount createVO(List<OrderMoneyDailyCount> list) { + OrderMoneyDailyCount totalityRecord = new OrderMoneyDailyCount(0, 0, 0); + if (list != null && list.size() > 0) { + 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; - } + /** + * 璁㈠崟鎺掕姒� + * + * @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(); + try { + Date minDate = null; + Date maxDate = null; + long timeStamp = System.currentTimeMillis(); - Calendar calendar = Calendar.getInstance(); - calendar.setTimeInMillis(timeStamp); + 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); - } + 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()); - } - } + 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); - } - } + 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