From b59fef5c00b15fdfdfa9d4be26e5bf6b41c75458 Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期日, 23 二月 2020 00:16:52 +0800
Subject: [PATCH] 2.0.7相关服务端功能添加

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java |  140 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 119 insertions(+), 21 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 ff64900..217959a 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;
@@ -28,13 +29,18 @@
 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.service.inter.hongbao.HongBaoV2Service;
-import com.yeshi.fanli.service.inter.user.ExtractService;
+import com.yeshi.fanli.entity.system.ConfigKeyEnum;
+import com.yeshi.fanli.exception.user.UserInfoExtraException;
+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.service.inter.user.UserMoneyDetailService;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TimeUtil;
+import com.yeshi.fanli.util.VersionUtil;
 import com.yeshi.fanli.vo.money.UserMoneyDetailHistoryVO;
 import com.yeshi.fanli.vo.money.UserMoneyStatisticVO;
 
@@ -65,6 +71,12 @@
 	@Resource
 	private UserInfoExtraService userInfoExtraService;
 
+	@Resource
+	private ConfigService configService;
+
+	@Resource
+	private HongBaoV2CountService hongBaoV2CountService;
+
 	/**
 	 * 鏂扮増璧勯噾璇︽儏锛�1.4.9锛�
 	 * 
@@ -76,11 +88,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;
@@ -101,8 +116,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
@@ -278,7 +294,8 @@
 				TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(ca.getTimeInMillis(), "yyyy-MM"), "yyyy-MM"));
 
 		// 鏈湀鏈埌璐�
-		vo.setMonthUnRecievedMoney(hongBaoV2Service.getUnRecievedMoneyWithPreGetTime(uid, minDate, maxDate));
+		BigDecimal monthUnRecievedMoney = hongBaoV2Service.getUnRecievedMoneyWithPreGetTime(uid, minDate, maxDate);
+		vo.setMonthUnRecievedMoney(monthUnRecievedMoney);
 
 		// 鍏ㄩ儴鏈埌璐�
 		minDate = new Date(0);
@@ -298,24 +315,105 @@
 			}
 		});
 
-		// 鑾峰彇鎻愮幇涓殑淇℃伅
+		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, RoundingMode.HALF_UP));
+			// 鑾峰彇鏄惁缁戝畾浜嗗井淇�
+			if (!StringUtil.isNullOrEmpty(user.getWxUnionId())) {
+				vo.setBindingWX(true);
+			} else
+				vo.setBindingWX(false);
 
-		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.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();
+				}
+			}
 
-		UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(uid);
-		if (extra != null && extra.getAutoExtract() != null && extra.getAutoExtract() == true)
-			vo.setAutoExtract(true);
-		else
-			vo.setAutoExtract(false);
+			if (extra != null && extra.getAutoExtract() != null && extra.getAutoExtract() == true)
+				vo.setAutoExtract(true);
+			else
+				vo.setAutoExtract(false);
+
+			vo.setAutoExtractHelpUrl(configService.get(ConfigKeyEnum.autoExtractHelpUrl.getKey()));
+			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) {
+		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;
+		}
+
+	}
+
 }

--
Gitblit v1.8.0