From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 25 二月 2025 16:41:22 +0800 Subject: [PATCH] 淘宝转链接口更新 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java | 697 +++++++++++++++++++++++++++++++++------------------------ 1 files changed, 402 insertions(+), 295 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 066855e..915336c 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 @@ -1,295 +1,402 @@ -package com.yeshi.fanli.controller.client.v1; - -import java.io.IOException; -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; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.yeshi.utils.BigDecimalUtil; -import org.yeshi.utils.JsonUtil; - -import com.google.gson.Gson; -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.google.gson.TypeAdapter; -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.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; -import com.yeshi.fanli.util.TimeUtil; -import com.yeshi.fanli.vo.money.UserMoneyDetailHistoryVO; -import com.yeshi.fanli.vo.money.UserMoneyStatisticVO; - -import net.sf.json.JSONObject; - -/** - * 璐︽埛绯荤粺 - * - * @author Administrator - * - */ -@Controller -@RequestMapping("api/v1/usermoney") -public class UserMoneyController { - - @Resource - private UserMoneyDetailService userMoneyDetailService; - - @Resource - private UserInfoService userInfoService; - - @Resource - private HongBaoV2Service hongBaoV2Service; - - /** - * 鏂扮増璧勯噾璇︽儏锛�1.4.9锛� - * - * @param acceptData - * @param uid - * @param index - * List鏈�鏈殑涓婚敭ID - * @param year - * 骞翠唤 - * @param month - * 鏈堜唤 - * @param out - */ - @RequestMapping(value = "getUserMoneyDetailList") - public void getUserMoneyDetailList(AcceptData acceptData, Long uid, Long index, Integer year, Integer month, - PrintWriter out) { - if (uid == null || uid == 0) { - out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); - return; - } - - if ((year == null && month != null) || (year != null && month == null)) { - out.print(JsonUtil.loadFalseResult(1, "鏃ユ湡涓嶅畬鏁�")); - return; - } - - Date date = null; - - if (year != null && month != null) { - date = new Date(TimeUtil.convertToTimeTemp(year + "-" + month, "yyyy-M")); - Calendar ca = Calendar.getInstance(); - ca.setTime(date); - ca.add(Calendar.MONTH, 1); - date = new Date(ca.getTimeInMillis() - 1); - } - - List<UserMoneyDetailHistoryVO> list = userMoneyDetailService.listUserMoneyDetailForClient(uid, index, date); - long count = userMoneyDetailService.countUserMoneyDetailForClient(uid, index, date); - GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); - gsonBuilder.registerTypeAdapter(UserMoneyDetailTypeEnum.class, new TypeAdapter<UserMoneyDetailTypeEnum>() { - @Override - public UserMoneyDetailTypeEnum read(JsonReader arg0) throws IOException { - return null; - } - - @Override - public void write(JsonWriter out, UserMoneyDetailTypeEnum arg1) throws IOException { - out.beginObject(); - out.name("portrait").value(arg1.getPicture()); - if (!StringUtil.isNullOrEmpty(arg1.getHelpUrl())) - out.name("helpUrl").value(arg1.getHelpUrl()); - out.endObject(); - } - }).registerTypeAdapter(Date.class, new JsonSerializer<Date>() { - @Override - public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) { - if (value == null) { - return new JsonPrimitive(""); - } else { - return new JsonPrimitive(TimeUtil.getGernalTime(value.getTime(), "yyyy.MM.dd HH:mm")); - } - } - }).registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() { - @Override - public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) { - if (value == null) { - return new JsonPrimitive(""); - } else { - value = value.setScale(2); - return new JsonPrimitive(value.toString()); - } - } - }); - - Gson gson = gsonBuilder.create(); - - JSONObject data = new JSONObject(); - data.put("data", gson.toJson(list)); - data.put("count", count); - 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(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()); - } - } - }); - - out.print(JsonUtil.loadTrueResult(builder.create().toJson(vo))); - } - -} +package com.yeshi.fanli.controller.client.v1; + +import java.io.IOException; +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.Gson; +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.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +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.money.UserMoneyDetail.UserMoneyDetailTypeEnum; +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; +import com.yeshi.fanli.service.inter.user.UserInfoExtraService; +import com.yeshi.fanli.service.inter.user.UserInfoService; +import com.yeshi.fanli.util.StringUtil; +import org.yeshi.utils.TimeUtil; +import com.yeshi.fanli.util.VersionUtil; +import com.yeshi.fanli.vo.money.UserMoneyDetailHistoryVO; +import com.yeshi.fanli.vo.money.UserMoneyStatisticVO; + +import net.sf.json.JSONObject; + +/** + * 璐︽埛绯荤粺 + * + * @author Administrator + * + */ +@Controller +@RequestMapping("api/v1/usermoney") +public class UserMoneyController { + + @Resource + private UserMoneyDetailService userMoneyDetailService; + + @Resource + private UserInfoService userInfoService; + + @Resource + private HongBaoV2Service hongBaoV2Service; + + @Resource + private ExtractService extractService; + + @Resource + private UserInfoExtraService userInfoExtraService; + + @Resource + private ConfigService configService; + + @Resource + private HongBaoV2CountService hongBaoV2CountService; + + /** + * 鏂扮増璧勯噾璇︽儏锛�1.4.9锛� + * + * @param acceptData + * @param uid + * @param index + * List鏈�鏈殑涓婚敭ID + * @param year + * 骞翠唤 + * @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, + Integer type, PrintWriter out) { + if (uid == null || uid == 0) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } + + if ((year == null && month != null) || (year != null && month == null)) { + out.print(JsonUtil.loadFalseResult(1, "鏃ユ湡涓嶅畬鏁�")); + return; + } + + Date date = null; + + if (year != null && month != null) { + date = new Date(TimeUtil.convertToTimeTemp(year + "-" + month, "yyyy-M")); + Calendar ca = Calendar.getInstance(); + ca.setTime(date); + ca.add(Calendar.MONTH, 1); + date = new Date(ca.getTimeInMillis() - 1); + } + + 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 + public UserMoneyDetailTypeEnum read(JsonReader arg0) throws IOException { + return null; + } + + @Override + public void write(JsonWriter out, UserMoneyDetailTypeEnum arg1) throws IOException { + out.beginObject(); + out.name("portrait").value(arg1.getPicture()); + if (!StringUtil.isNullOrEmpty(arg1.getHelpUrl())) + out.name("helpUrl").value(arg1.getHelpUrl()); + out.endObject(); + } + }).registerTypeAdapter(Date.class, new JsonSerializer<Date>() { + @Override + public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) { + if (value == null) { + return new JsonPrimitive(""); + } else { + return new JsonPrimitive(TimeUtil.getGernalTime(value.getTime(), "yyyy.MM.dd HH:mm")); + } + } + }).registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() { + @Override + public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) { + if (value == null) { + return new JsonPrimitive(""); + } else { + value = value.setScale(2); + return new JsonPrimitive(value.toString()); + } + } + }); + + Gson gson = gsonBuilder.create(); + + JSONObject data = new JSONObject(); + data.put("data", gson.toJson(list)); + data.put("count", count); + 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; + } + 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.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); + 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()); + + // 鏈湀鎻愮幇 + 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.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, 1).abs()); + + 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); + 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()); + + 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)); + + 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); + vo.setAutoExtract(false); + vo.setAutoExtractHelpUrl(configService.getValue(ConfigKeyEnum.autoExtractHelpUrl.getKey(),acceptData.getSystem())); + vo.setOpenAutoExtractMsg("鑷姩鎻愮幇蹇呴』瑕佸井淇℃巿鏉冿紝褰撹处鎴蜂腑鐨勪綑棰濃墺2鍏冩椂锛岀郴缁熷湪淇濋殰浣犺祫閲戝畨鍏ㄧ殑鎯呭喌涓嬶紝浠ュ井淇$孩鍖呯殑褰㈠紡瀹屾垚鎻愮幇"); + vo.setCloseAutoExtractMsg("鍏抽棴鑷姩鎻愮幇鍚庯紝60澶╀互鍐呭皢涓嶈嚜鍔ㄦ彁鐜帮紝60澶╁悗绯荤粺灏嗕細鑷姩寮�鍚紝鏁鐭ユ檽"); + } + + out.print(JsonUtil.loadTrueResult(builder.create().toJson(vo))); + } + + /** + * 鑷姩鎻愮幇 + * + * @param acceptData + * @param type + * @param out + */ + @RequestMapping("autoExtract") + public void autoExtract(AcceptData acceptData, Long uid, Integer type, PrintWriter out) { + out.print(JsonUtil.loadFalseResult("璇ュ姛鑳藉凡涓嬫灦")); + } + +} -- Gitblit v1.8.0