From 5e7b0ed4a154ad067cbcf4aa1a1c7cce32f9864c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 26 四月 2024 18:02:17 +0800 Subject: [PATCH] 唯品会链接解析升级 --- fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/UserMoneyController.java | 438 +++++++++++++++++++++++++++--------------------------- 1 files changed, 219 insertions(+), 219 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/UserMoneyController.java b/fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/UserMoneyController.java index b1bb787..73497eb 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/UserMoneyController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/wxmp/v1/UserMoneyController.java @@ -1,219 +1,219 @@ -package com.yeshi.fanli.controller.wxmp.v1; - -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; -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.yeshi.utils.JsonUtil; - -import com.google.gson.GsonBuilder; -import com.google.gson.JsonElement; -import com.google.gson.JsonPrimitive; -import com.google.gson.JsonSerializationContext; -import com.google.gson.JsonSerializer; -import com.yeshi.fanli.entity.accept.AcceptData; -import com.yeshi.fanli.entity.bus.user.UserInfo; -import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum; -import com.yeshi.fanli.service.inter.config.ConfigService; -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; -import com.yeshi.fanli.service.inter.user.UserInfoExtraService; -import com.yeshi.fanli.service.inter.user.UserInfoService; -import org.yeshi.utils.TimeUtil; -import com.yeshi.fanli.vo.money.UserMoneyStatisticVO; - -@Controller("WXMPUserMoneyController") -@RequestMapping("/wxmp/api/v1/usermoney") -public class UserMoneyController { - - public final static String WXMP_SESSION_INFO_KEY = "WXMP-SESSION-INFO"; - - @Resource - private UserMoneyDetailService userMoneyDetailService; - - @Resource - private UserInfoService userInfoService; - - @Resource - private HongBaoV2Service hongBaoV2Service; - - @Resource - private ExtractService extractService; - - @Resource - private UserInfoExtraService userInfoExtraService; - - @Resource - private ConfigService configService; - - /** - * 鐢ㄦ埛璧勯噾缁熻 - * - * @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; - } - UserInfo user = userInfoService.getUserById(uid); - - BigDecimal balance = user.getMyHongBao(); - - UserMoneyStatisticVO vo = new UserMoneyStatisticVO(); - 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( - 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 - public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) { - if (value == null) { - return new JsonPrimitive(""); - } else { - // 淇濈暀2浣嶅皬鏁� - value = value.setScale(2); - return new JsonPrimitive(value.toString()); - } - } - }); - - // 鑾峰彇鎻愮幇涓殑淇℃伅 - BigDecimal extractingMoney = extractService.sumVerifyingMoney(uid); - if (extractingMoney.compareTo(new BigDecimal(0)) > 0) - vo.setExtractingMoneyInfo("鎻愮幇涓�:楼" + extractingMoney.setScale(2, RoundingMode.HALF_UP)); - - - out.print(JsonUtil.loadTrueResult(builder.create().toJson(vo))); - } - -} +package com.yeshi.fanli.controller.wxmp.v1; + +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; +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.yeshi.utils.JsonUtil; + +import com.google.gson.GsonBuilder; +import com.google.gson.JsonElement; +import com.google.gson.JsonPrimitive; +import com.google.gson.JsonSerializationContext; +import com.google.gson.JsonSerializer; +import com.yeshi.fanli.entity.accept.AcceptData; +import com.yeshi.fanli.entity.bus.user.UserInfo; +import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum; +import com.yeshi.fanli.service.inter.config.ConfigService; +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; +import com.yeshi.fanli.service.inter.user.UserInfoExtraService; +import com.yeshi.fanli.service.inter.user.UserInfoService; +import org.yeshi.utils.TimeUtil; +import com.yeshi.fanli.vo.money.UserMoneyStatisticVO; + +@Controller("WXMPUserMoneyController") +@RequestMapping("/wxmp/api/v1/usermoney") +public class UserMoneyController { + + public final static String WXMP_SESSION_INFO_KEY = "WXMP-SESSION-INFO"; + + @Resource + private UserMoneyDetailService userMoneyDetailService; + + @Resource + private UserInfoService userInfoService; + + @Resource + private HongBaoV2Service hongBaoV2Service; + + @Resource + private ExtractService extractService; + + @Resource + private UserInfoExtraService userInfoExtraService; + + @Resource + private ConfigService configService; + + /** + * 鐢ㄦ埛璧勯噾缁熻 + * + * @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; + } + UserInfo user = userInfoService.getUserById(uid); + + BigDecimal balance = user.getMyHongBao(); + + UserMoneyStatisticVO vo = new UserMoneyStatisticVO(); + 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( + 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 + public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) { + if (value == null) { + return new JsonPrimitive(""); + } else { + // 淇濈暀2浣嶅皬鏁� + value = value.setScale(2); + return new JsonPrimitive(value.toString()); + } + } + }); + + // 鑾峰彇鎻愮幇涓殑淇℃伅 + BigDecimal extractingMoney = extractService.sumVerifyingMoney(uid); + if (extractingMoney.compareTo(new BigDecimal(0)) > 0) + vo.setExtractingMoneyInfo("鎻愮幇涓�:楼" + extractingMoney.setScale(2, RoundingMode.HALF_UP)); + + + out.print(JsonUtil.loadTrueResult(builder.create().toJson(vo))); + } + +} -- Gitblit v1.8.0