From aeae4b32ba980c7701b6870611462a4095453e72 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 21 五月 2021 18:35:33 +0800
Subject: [PATCH] PID管理
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java | 790 ++++++++++++++++++++++++++++---------------------------
1 files changed, 402 insertions(+), 388 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 b091997..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,388 +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.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.bus.user.UserInfoExtra;
-import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
-import com.yeshi.fanli.exception.user.UserInfoExtraException;
-import com.yeshi.fanli.service.inter.config.ConfigService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
-import com.yeshi.fanli.service.inter.user.ExtractService;
-import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
-import com.yeshi.fanli.service.inter.user.UserInfoService;
-import com.yeshi.fanli.service.inter.user.UserMoneyDetailService;
-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;
-
- @Resource
- private ExtractService extractService;
-
- @Resource
- private UserInfoExtraService userInfoExtraService;
-
- @Resource
- private ConfigService configService;
-
- /**
- * 鏂扮増璧勯噾璇︽儏锛�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;
- }
- 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));
- // 鑾峰彇鏄惁缁戝畾浜嗗井淇�
- if (!StringUtil.isNullOrEmpty(user.getWxUnionId())) {
- vo.setBindingWX(true);
- } else
- vo.setBindingWX(false);
-
- UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(uid);
- if (extra != null && extra.getAutoExtract() != null && extra.getAutoExtract() == true)
- vo.setAutoExtract(true);
- else
- vo.setAutoExtract(false);
-
- vo.setAutoExtractHelpUrl(configService.get("auto_extract_help_url"));
- 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) {
- 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);
- try {
- userInfoExtraService.saveUserInfoExtra(update);
- } catch (UserInfoExtraException e) {
- e.printStackTrace();
- }
- out.print(JsonUtil.loadTrueResult(""));
- return;
- }
-
- }
-
-}
+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