From 88b54772dbcf5ecab1e2316e4e4626ac901b8908 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期二, 22 一月 2019 15:58:24 +0800 Subject: [PATCH] 邀请码添加返回状态 --- fanli/src/main/java/com/yeshi/fanli/controller/client/UserMoneyController.java | 146 +++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 136 insertions(+), 10 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserMoneyController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserMoneyController.java index 6f42de3..8cface0 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserMoneyController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserMoneyController.java @@ -4,6 +4,7 @@ import java.io.PrintWriter; import java.lang.reflect.Type; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; @@ -24,8 +25,9 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.yeshi.fanli.entity.accept.AcceptData; -import com.yeshi.fanli.entity.money.UserMoneyDetail; import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum; +import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service; +import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.service.inter.user.UserMoneyDetailService; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.StringUtil; @@ -47,6 +49,12 @@ @Resource private UserMoneyDetailService userMoneyDetailService; + + @Resource + private UserInfoService userInfoService; + + @Resource + private HongBaoV2Service hongBaoV2Service; /** * 鏂扮増璧勯噾璇︽儏锛�1.4.9锛� @@ -129,22 +137,140 @@ out.print(JsonUtil.loadTrueResult(data)); } + /** + * 鐢ㄦ埛璧勯噾缁熻 + * + * @param acceptData + * @param uid + * @param out + */ @RequestMapping(value = "getUserMoneyStatistic") public void getUserMoneyStatistic(AcceptData acceptData, Long uid, PrintWriter out) { if (uid == null || uid == 0) { out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); return; } + + BigDecimal balance = userInfoService.getUserById(uid).getMyHongBao(); + UserMoneyStatisticVO vo = new UserMoneyStatisticVO(); - vo.setBalanceMoney(new BigDecimal("0.02")); - vo.setLastMonthExtractMoney(new BigDecimal("0.03")); - vo.setLastMonthRecievedMoney(new BigDecimal("0.04")); - vo.setLatestThreeMonthRecievedMoney(new BigDecimal("0.05")); - vo.setMonthExtractMoney(new BigDecimal("0.06")); - vo.setMonthRecievedMoney(new BigDecimal("0.07")); - vo.setTotalInviteMoney(new BigDecimal("0.08")); - vo.setTotalRecievedMoney(new BigDecimal("0.09")); - vo.setTotalShareMoney(new BigDecimal("0.10")); + vo.setBalanceMoney(balance); + Date minDate = null; + Date maxDate = null; + List<UserMoneyDetailTypeEnum> typeList = new ArrayList<>(); + + // 涓婃湀鎻愮幇 + typeList.clear(); + + typeList.add(UserMoneyDetailTypeEnum.extract); + typeList.add(UserMoneyDetailTypeEnum.extractReject); + typeList.add(UserMoneyDetailTypeEnum.extractVerify); + long timeStamp = System.currentTimeMillis(); + 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).abs()); + // 涓婃湀鏀跺叆 + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.fanli); + typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.share); + typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.invite); + typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.inviteAndShare); + typeList.add(UserMoneyDetailTypeEnum.weiQuan); + typeList.add(UserMoneyDetailTypeEnum.hongbao); + typeList.add(UserMoneyDetailTypeEnum.hongbaoDeduct); + + vo.setLastMonthRecievedMoney( + userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs()); + // 鏈�杩戜笁涓湀鏀跺叆 + maxDate = new Date(timeStamp); + minDate = new Date(timeStamp - 1000 * 60 * 60 * 24 * 90L); + + vo.setLatestThreeMonthRecievedMoney( + 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); + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.extract); + typeList.add(UserMoneyDetailTypeEnum.extractReject); + typeList.add(UserMoneyDetailTypeEnum.extractVerify); + + vo.setMonthExtractMoney( + userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs()); + // 鏈湀鍒拌处 + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.fanli); + typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.share); + typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.invite); + typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.inviteAndShare); + typeList.add(UserMoneyDetailTypeEnum.weiQuan); + typeList.add(UserMoneyDetailTypeEnum.hongbao); + typeList.add(UserMoneyDetailTypeEnum.hongbaoDeduct); + + vo.setMonthRecievedMoney( + userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs()); + // 鎬荤殑閭�璇疯禋 + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.invite); + typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.inviteAndShare); + + minDate = new Date(0L); + maxDate = new Date(timeStamp); + vo.setTotalInviteMoney( + userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs()); + // 鎬荤殑鍒拌处 + + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.fanli); + typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.share); + typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.invite); + typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.inviteAndShare); + typeList.add(UserMoneyDetailTypeEnum.weiQuan); + typeList.add(UserMoneyDetailTypeEnum.hongbao); + typeList.add(UserMoneyDetailTypeEnum.hongbaoDeduct); + vo.setTotalRecievedMoney( + userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs()); + // 鎬荤殑鍒嗕韩璧� + + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.share); + typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan); + + vo.setTotalShareMoney( + userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs()); + + 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(ca.getTimeInMillis()); + + // 鏈湀鏈埌璐� + vo.setMonthUnRecievedMoney(hongBaoV2Service.getUnRecievedMoneyWithPreGetTime(uid, minDate, maxDate)); + + // 鍏ㄩ儴鏈埌璐� + minDate = new Date(0); + vo.setTotalUnRecievedMoney(hongBaoV2Service.getUnRecievedMoneyWithCreateTime(uid, minDate, maxDate)); Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create(); out.print(JsonUtil.loadTrueResult(gson.toJson(vo))); } -- Gitblit v1.8.0