From 744594ef1a2f530fc3e86ea9dc48b62247f79420 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 19 五月 2020 17:13:23 +0800 Subject: [PATCH] 饿了么绘图,添加口碑 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java | 320 ++++++++++++++++++++++++++--------------------------- 1 files changed, 157 insertions(+), 163 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java index 2541940..414bdb0 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java @@ -4,6 +4,7 @@ import java.io.PrintWriter; import java.lang.reflect.Type; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -26,10 +27,10 @@ import com.google.gson.stream.JsonWriter; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.user.UserInfo; -import com.yeshi.fanli.entity.bus.user.UserInfoExtra; import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum; -import com.yeshi.fanli.exception.user.UserInfoExtraException; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.service.inter.config.ConfigService; +import com.yeshi.fanli.service.inter.count.HongBaoV2CountService; import com.yeshi.fanli.service.inter.money.UserMoneyDetailService; import com.yeshi.fanli.service.inter.money.extract.ExtractService; import com.yeshi.fanli.service.inter.order.HongBaoV2Service; @@ -71,6 +72,9 @@ @Resource private ConfigService configService; + @Resource + private HongBaoV2CountService hongBaoV2CountService; + /** * 鏂扮増璧勯噾璇︽儏锛�1.4.9锛� * @@ -82,11 +86,14 @@ * 骞翠唤 * @param month * 鏈堜唤 + * @param type + * 1-鏀跺叆 2-鏀嚭 0-鍏ㄩ儴 + * * @param out */ @RequestMapping(value = "getUserMoneyDetailList") public void getUserMoneyDetailList(AcceptData acceptData, Long uid, Long index, Integer year, Integer month, - PrintWriter out) { + Integer type, PrintWriter out) { if (uid == null || uid == 0) { out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); return; @@ -107,8 +114,9 @@ date = new Date(ca.getTimeInMillis() - 1); } - List<UserMoneyDetailHistoryVO> list = userMoneyDetailService.listUserMoneyDetailForClient(uid, index, date); - long count = userMoneyDetailService.countUserMoneyDetailForClient(uid, index, date); + List<UserMoneyDetailHistoryVO> list = userMoneyDetailService.listUserMoneyDetailForClient(uid, index, type, + date); + long count = userMoneyDetailService.countUserMoneyDetailForClient(uid, index, type, date); GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); gsonBuilder.registerTypeAdapter(UserMoneyDetailTypeEnum.class, new TypeAdapter<UserMoneyDetailTypeEnum>() { @Override @@ -178,10 +186,12 @@ // 涓婃湀鎻愮幇 typeList.clear(); - typeList.add(UserMoneyDetailTypeEnum.extract); - typeList.add(UserMoneyDetailTypeEnum.extractReject); + typeList.add(UserMoneyDetailTypeEnum.extractNew); typeList.add(UserMoneyDetailTypeEnum.extractVerify); + typeList.add(UserMoneyDetailTypeEnum.extractVerifyNew); + typeList.add(UserMoneyDetailTypeEnum.extractReject); + typeList.add(UserMoneyDetailTypeEnum.extractAutoWX); long timeStamp = System.currentTimeMillis(); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(timeStamp); @@ -190,30 +200,9 @@ 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); + userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate, 1).abs()); - 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(); @@ -222,74 +211,147 @@ calendar.add(Calendar.MONTH, -1); typeList.clear(); typeList.add(UserMoneyDetailTypeEnum.extract); - typeList.add(UserMoneyDetailTypeEnum.extractReject); + typeList.add(UserMoneyDetailTypeEnum.extractNew); typeList.add(UserMoneyDetailTypeEnum.extractVerify); - + typeList.add(UserMoneyDetailTypeEnum.extractVerifyNew); + typeList.add(UserMoneyDetailTypeEnum.extractReject); + typeList.add(UserMoneyDetailTypeEnum.extractAutoWX); 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); + userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate, 1).abs()); - vo.setMonthRecievedMoney( + if (!VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) { + // 涓婃湀鏀跺叆 + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.fanli); + typeList.add(UserMoneyDetailTypeEnum.fanliNew); + typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuanNew); + typeList.add(UserMoneyDetailTypeEnum.share); + typeList.add(UserMoneyDetailTypeEnum.shareNew); + typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.invite); + typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.inviteAndShare); + typeList.add(UserMoneyDetailTypeEnum.teamReward); + 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()); + + // 鏈湀鍒拌处 + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.fanli); + typeList.add(UserMoneyDetailTypeEnum.fanliNew); + typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuanNew); + typeList.add(UserMoneyDetailTypeEnum.share); + typeList.add(UserMoneyDetailTypeEnum.shareNew); + typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.invite); + typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.inviteAndShare); + typeList.add(UserMoneyDetailTypeEnum.teamReward); + typeList.add(UserMoneyDetailTypeEnum.weiQuan); + typeList.add(UserMoneyDetailTypeEnum.hongbao); + typeList.add(UserMoneyDetailTypeEnum.hongbaoDeduct); + vo.setMonthRecievedMoney( + 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( + 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)); + + // 鎬荤殑鍒拌处 + 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); + typeList.add(UserMoneyDetailTypeEnum.invite); + typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan); + typeList.add(UserMoneyDetailTypeEnum.inviteAndShare); + typeList.add(UserMoneyDetailTypeEnum.teamReward); + typeList.add(UserMoneyDetailTypeEnum.weiQuan); + typeList.add(UserMoneyDetailTypeEnum.hongbao); + typeList.add(UserMoneyDetailTypeEnum.hongbaoDeduct); + typeList.add(UserMoneyDetailTypeEnum.subsidy); + typeList.add(UserMoneyDetailTypeEnum.teamReward); + vo.setTotalRecievedMoney( + userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs()); + } + + minDate = new Date(0L); + maxDate = new Date(timeStamp); + + if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) { + // 鎬荤殑鑷喘杩斿埄 + 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()); + + // 绱鎴愬姛鎻愮幇 + typeList.clear(); + typeList.add(UserMoneyDetailTypeEnum.extract); + typeList.add(UserMoneyDetailTypeEnum.extractNew); + typeList.add(UserMoneyDetailTypeEnum.extractVerify); + typeList.add(UserMoneyDetailTypeEnum.extractVerifyNew); + typeList.add(UserMoneyDetailTypeEnum.extractAutoWX); + typeList.add(UserMoneyDetailTypeEnum.extractReject); + vo.setTotalExtractMoney( + 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()); + // 鎬荤殑閭�璇疯禋 typeList.clear(); typeList.add(UserMoneyDetailTypeEnum.invite); typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan); typeList.add(UserMoneyDetailTypeEnum.inviteAndShare); - - minDate = new Date(0L); - maxDate = new Date(timeStamp); + if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) { + 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.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( - TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(ca.getTimeInMillis(), "yyyy-MM"), "yyyy-MM")); - - // 鏈湀鏈埌璐� - vo.setMonthUnRecievedMoney(hongBaoV2Service.getUnRecievedMoneyWithPreGetTime(uid, minDate, maxDate)); - - // 鍏ㄩ儴鏈埌璐� - minDate = new Date(0); - maxDate = new Date(timeStamp); - vo.setTotalUnRecievedMoney(hongBaoV2Service.getUnRecievedMoneyWithCreateTime(uid, minDate, maxDate)); GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() { @Override @@ -304,37 +366,20 @@ } }); - if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion())) { - // 鑾峰彇鎻愮幇涓殑淇℃伅 - BigDecimal extractingMoney = extractService.sumVerifyingMoney(uid); - if (extractingMoney.compareTo(new BigDecimal(0)) > 0) - vo.setExtractingMoneyInfo("鎻愮幇涓�:楼" + extractingMoney.setScale(2)); + // 鑾峰彇鎻愮幇涓殑淇℃伅 + BigDecimal extractingMoney = extractService.sumVerifyingMoney(uid); + if (extractingMoney.compareTo(new BigDecimal(0)) > 0) + vo.setExtractingMoneyInfo("鎻愮幇涓�:楼" + extractingMoney.setScale(2, RoundingMode.HALF_UP)); + + if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion()) + && !VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) { // 鑾峰彇鏄惁缁戝畾浜嗗井淇� if (!StringUtil.isNullOrEmpty(user.getWxUnionId())) { vo.setBindingWX(true); } else vo.setBindingWX(false); - - UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(uid); - // 濡傛灉缁戝畾浜嗗井淇¤�屼笖鏈紑閫氳嚜鍔ㄦ彁鐜板氨鍏堝紑閫氳嚜鍔ㄦ彁鐜� - if (extra.getAutoExtract() == null && !StringUtil.isNullOrEmpty(user.getWxUnionId())) { - UserInfoExtra update = new UserInfoExtra(); - update.setId(extra.getId()); - update.setAutoExtract(true); - try { - userInfoExtraService.saveUserInfoExtra(update);// 璁剧疆鑷姩鎻愮幇寮�鍚� - extra.setAutoExtract(true); - } catch (UserInfoExtraException e) { - e.printStackTrace(); - } - } - - if (extra != null && extra.getAutoExtract() != null && extra.getAutoExtract() == true) - vo.setAutoExtract(true); - else - vo.setAutoExtract(false); - - vo.setAutoExtractHelpUrl(configService.get("auto_extract_help_url")); + vo.setAutoExtract(false); + vo.setAutoExtractHelpUrl(configService.get(ConfigKeyEnum.autoExtractHelpUrl.getKey())); vo.setOpenAutoExtractMsg("鑷姩鎻愮幇蹇呴』瑕佸井淇℃巿鏉冿紝褰撹处鎴蜂腑鐨勪綑棰濃墺2鍏冩椂锛岀郴缁熷湪淇濋殰浣犺祫閲戝畨鍏ㄧ殑鎯呭喌涓嬶紝浠ュ井淇$孩鍖呯殑褰㈠紡瀹屾垚鎻愮幇"); vo.setCloseAutoExtractMsg("鍏抽棴鑷姩鎻愮幇鍚庯紝60澶╀互鍐呭皢涓嶈嚜鍔ㄦ彁鐜帮紝60澶╁悗绯荤粺灏嗕細鑷姩寮�鍚紝鏁鐭ユ檽"); } @@ -351,58 +396,7 @@ */ @RequestMapping("autoExtract") public void autoExtract(AcceptData acceptData, Long uid, Integer type, PrintWriter out) { - if (type == null) { - out.print(JsonUtil.loadFalseResult("璇蜂笂浼爐ype")); - return; - } - if (uid == null) { - out.print(JsonUtil.loadFalseResult("鐢ㄦ埗鏈櫥褰�")); - return; - } - - UserInfoExtra userExtra = userInfoExtraService.getUserInfoExtra(uid); - UserInfo user = userInfoService.selectByPKey(uid); - if (user == null) { - out.print(JsonUtil.loadFalseResult("鐢ㄦ埗涓嶅瓨鍦�")); - return; - } - if (type == 1)// 寮�鍚� - { - if (userExtra.getAutoExtract() == null || userExtra.getAutoExtract() == false) { - if (StringUtil.isNullOrEmpty(user.getWxUnionId()))// 灏氭湭缍佸畾寰俊 - { - out.print(JsonUtil.loadFalseResult("鏈秮瀹氬井淇�")); - return; - } - // 璁剧疆鑷姩鎻愮幇 - UserInfoExtra update = new UserInfoExtra(); - update.setId(userExtra.getId()); - update.setAutoExtract(true); - try { - userInfoExtraService.saveUserInfoExtra(update); - } catch (UserInfoExtraException e) { - e.printStackTrace(); - } - out.print(JsonUtil.loadTrueResult("")); - return; - } else { - out.print(JsonUtil.loadTrueResult("")); - return; - } - } else {// 鍏抽棴 - UserInfoExtra update = new UserInfoExtra(); - update.setId(userExtra.getId()); - update.setAutoExtract(false); - update.setCloseTimeExtract(new Date()); - try { - userInfoExtraService.saveUserInfoExtra(update); - } catch (UserInfoExtraException e) { - e.printStackTrace(); - } - out.print(JsonUtil.loadTrueResult("")); - return; - } - + out.print(JsonUtil.loadFalseResult("璇ュ姛鑳藉凡涓嬫灦")); } } -- Gitblit v1.8.0