From 0a3b28bcff870dfb742d76d06fc74481965ea122 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期四, 17 一月 2019 14:48:54 +0800
Subject: [PATCH] 用户自定义界面设置+ 免打扰IOS推送修改

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java |  127 +++++++++++++++++++++++++++++++++++++++---
 1 files changed, 117 insertions(+), 10 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java
index 5d17922..bc89707 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java
@@ -24,6 +24,7 @@
 import org.yeshi.utils.IPUtil;
 import org.yeshi.utils.JsonUtil;
 import org.yeshi.utils.NumberUtil;
+import org.yeshi.utils.taobao.TbImgUtil;
 import org.yeshi.utils.tencentcloud.COSManager;
 
 import com.google.gson.Gson;
@@ -32,6 +33,7 @@
 import com.google.gson.JsonPrimitive;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
+import com.yeshi.fanli.dto.HongBaoDTO;
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.user.AccountDetails;
 import com.yeshi.fanli.entity.bus.user.AccountMessage;
@@ -55,6 +57,7 @@
 import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
 import com.yeshi.fanli.entity.goods.CommonGoods;
 import com.yeshi.fanli.entity.money.UserMoneyDetail;
+import com.yeshi.fanli.entity.order.HongBaoOrder;
 import com.yeshi.fanli.entity.system.System;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
@@ -63,6 +66,7 @@
 import com.yeshi.fanli.exception.goods.CollectionGoodsException;
 import com.yeshi.fanli.exception.taobao.TaoKeApiException;
 import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
+import com.yeshi.fanli.exception.user.UserCustomSettingsException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.AdminUserService;
 import com.yeshi.fanli.service.inter.config.ConfigService;
@@ -70,8 +74,10 @@
 import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoService;
+import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
 import com.yeshi.fanli.service.inter.hongbao.ThreeSaleExtraInfoSerivce;
 import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
+import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
 import com.yeshi.fanli.service.inter.order.LostOrderService;
 import com.yeshi.fanli.service.inter.order.OrderItemServcie;
 import com.yeshi.fanli.service.inter.order.OrderService;
@@ -82,10 +88,13 @@
 import com.yeshi.fanli.service.inter.user.MoneyRecordService;
 import com.yeshi.fanli.service.inter.user.PassWordErrorRecordService;
 import com.yeshi.fanli.service.inter.user.ShamUserService;
+import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
 import com.yeshi.fanli.service.inter.user.UserAccountService;
 import com.yeshi.fanli.service.inter.user.UserActiveLogService;
+import com.yeshi.fanli.service.inter.user.UserCustomSettingsService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.UserMoneyDetailService;
+import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
 import com.yeshi.fanli.service.inter.user.WxDownService;
 import com.yeshi.fanli.util.AESUtil;
 import com.yeshi.fanli.util.Constant;
@@ -99,9 +108,12 @@
 import com.yeshi.fanli.util.account.UserUtil;
 import com.yeshi.fanli.util.email.MailSenderUtil;
 import com.yeshi.fanli.util.factory.AccountDetailsFactory;
+import com.yeshi.fanli.util.factory.HongBaoFactory;
+import com.yeshi.fanli.util.factory.OrderItemFactory;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 import com.yeshi.fanli.util.wx.WXLoginUtil;
+import com.yeshi.fanli.vo.user.UserSettingsVO;
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -152,7 +164,6 @@
 	@Resource
 	private OrderItemServcie orderItemServcie;
 
-
 	@Resource
 	private AccountMessageService accountMessageService;
 
@@ -182,6 +193,22 @@
 
 	@Resource
 	private UserMoneyDetailService userMoneyDetailService;
+
+	@Resource
+	private HongBaoOrderService hongBaoOrderService;
+
+	@Resource
+	private HongBaoV2Service hongBaoV2Service;
+
+	@Resource
+	private SpreadUserImgService spreadUserImgService;
+
+	@Resource
+	private UserShareGoodsRecordService userShareGoodsRecordService;
+	
+	@Resource
+	private UserCustomSettingsService userCustomSettingsService;
+	
 
 	private static final String PASSWORD_MAX_ERROR = "password_max_error";
 	private static final String EXTRACT_MIN_MONEY = "extract_min_money";
@@ -477,12 +504,54 @@
 		data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create()
 				.toJson(UserUtil.filterForClientUser(user)));
 		data.put("first", 0);
+		int spreadImgCount = spreadUserImgService.countUserSpreadImg(user.getId());
+		long shareCount = userShareGoodsRecordService.countShareRecordByUid(user.getId());
+		
+		int showTiCheng = 1; // 涓嶆樉绀�
+		if ("ios".equalsIgnoreCase(acceptData.getPlatform())
+				&& configService.iosOnLining(Integer.parseInt(acceptData.getVersion())))
+			data.put("showTiCheng", false);
+		else {
+			data.put("showTiCheng", spreadImgCount + shareCount > 0);
+			if (spreadImgCount + shareCount > 0) {
+				showTiCheng = 0;
+			}
+		}
+
 		if ("ios".equalsIgnoreCase(acceptData.getPlatform())
 				&& configService.iosOnLining(Integer.parseInt(acceptData.getVersion())))
 			data.put("inviteList", String.format("http://%s/%s/client/share/friends_new_online.html",
 					Constant.systemCommonConfig.getProjectHost(), Constant.systemCommonConfig.getProjectName()));
 		else
 			data.put("inviteList", configService.get("team_list"));
+	
+		// 鐣岄潰鐘舵��
+		UserSettingsVO mySettings = null; 
+		try {
+			mySettings = userCustomSettingsService.getMySettings(user.getId());
+		} catch (UserCustomSettingsException e) {
+			mySettings = new UserSettingsVO();
+			e.printStackTrace();
+		}
+		
+		if (mySettings.getCancelNotice() == null) {
+			mySettings.setCancelNotice(0);
+		}
+		if (mySettings.getNoBonusCount() == null) {
+			mySettings.setNoBonusCount(showTiCheng); // 鏍规嵁showTiCheng鏉ュ垽鏂�
+		}
+		if (mySettings.getNoNewsRedDot() == null) {
+			mySettings.setNoNewsRedDot(0);
+		}
+		if (mySettings.getNoShareRecordAndStorage() == null) {
+			mySettings.setNoShareRecordAndStorage(showTiCheng); // 鏍规嵁showTiCheng鏉ュ垽鏂�
+		}
+		if (mySettings.getNoInvitationBonus() == null) {
+			mySettings.setNoInvitationBonus(0);
+		}
+		
+		data.put("moduleState", mySettings);
+		
 		out.print(JsonUtil.loadTrueResult(data));
 		final UserInfo uuser = user;
 		ThreadUtil.run(new Runnable() {
@@ -1366,15 +1435,20 @@
 
 	@RequestMapping("findOrderItemList")
 	public void findOrderItemList(AcceptData acceptData, long uid, int page, PrintWriter out) {
-		List<OrderItem> list = orderItemServcie.findOrderItemList(uid, page);
-		list.parallelStream().forEach(oi -> {
-			oi.setDesc();
-		});
-		int count = orderItemServcie.getCount(uid);
+		List<HongBaoOrder> list = hongBaoOrderService.listFanLiOrder(uid, page, Constant.PAGE_SIZE);
+
+		List<OrderItem> orderList = new ArrayList<>();
+		for (HongBaoOrder oi : list) {
+			OrderItem orderItem = OrderItemFactory.create(oi);
+			orderItem.setDesc();
+			orderItem.setPicture(TbImgUtil.getTBSize220Img(orderItem.getPicture()));
+			orderList.add(orderItem);
+		}
+		long count = hongBaoOrderService.countFanLiOrder(uid);
 		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
 				.excludeFieldsWithoutExposeAnnotation().create();
 		JSONObject data = new JSONObject();
-		data.put("list", gson.toJson(list));
+		data.put("list", gson.toJson(orderList));
 		data.put("count", count);
 		out.print(JsonUtil.loadTrueResult(data));
 	}
@@ -1389,8 +1463,13 @@
 	 */
 	@RequestMapping("getTiChengOrderList")
 	public void getTiChengOrderList(AcceptData acceptData, long uid, int page, PrintWriter out) {
-		List<HongBao> list = hongBaoService.getTiChengHongBaoList(uid, page);
-		long count = hongBaoService.getTiChengHongBaoListCount(uid);
+		List<HongBaoDTO> hongBaoDTOList = hongBaoV2Service.listJiangJinByUid(uid, page, Constant.PAGE_SIZE);
+		List<HongBao> list = new ArrayList<>();
+		if (hongBaoDTOList != null)
+			for (HongBaoDTO dto : hongBaoDTOList) {
+				list.add(HongBaoFactory.createHongBao(dto));
+			}
+		long count = hongBaoV2Service.countJiangJinByUid(uid);
 		List<OrderItem> orderItemList = HongBaoUtil.convertToTiChengOrder(list);
 		Gson gson = JsonUtil.getApiCommonGson();
 		JSONObject data = new JSONObject();
@@ -1896,7 +1975,35 @@
 			out.print(JsonUtil.loadFalseResult("鍒犻櫎澶辫触"));
 			e.printStackTrace();
 		}
-
 	}
+	
+	
+	/**
+	 *  璁剧疆鐣岄潰寮�鍏崇姸鎬�
+	 * @param acceptData
+	 * @param uid
+	 * @param type  1-閫氱煡鍏嶆墦鎵�(20:00-8:00)  2-涓嶇湅娑堟伅绾㈢偣鎻愰啋  3-涓嶇湅濂栭噾缁熻 涓嶇湅閭�璇锋嬁濂栭噾 4-涓嶇湅鍒嗕韩璁板綍鍜岄�夊搧搴�  涓嶇湅娑堟伅绾㈢偣鎻愰啋  
+	 * @param state   0鍏抽棴  1寮�鍚�
+	 * @param out
+	 */
+	@RequestMapping(value = "setModuleState", method = RequestMethod.POST)
+	public void setModuleState(AcceptData acceptData, Long uid, Integer type, Integer state, PrintWriter out) {
+
+		if (uid == null) {
+			out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+		
+		try {
+			userCustomSettingsService.saveModuleState(uid, type, state);
+			out.print(JsonUtil.loadTrueResult("璁剧疆鎴愬姛"));
+		} catch (UserCustomSettingsException e) {
+			out.print(JsonUtil.loadFalseResult(e.getMsg()));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("璁剧疆澶辫触"));
+			e.printStackTrace();
+		}
+	}
+
 
 }

--
Gitblit v1.8.0