From 9dedfa92c34c92d42230e151766726a8e4a7806f Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期五, 01 三月 2019 15:10:39 +0800
Subject: [PATCH] 邀请队员免单券 活动跳转地址修改

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/UserInfoController.java |  442 ++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 372 insertions(+), 70 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..d4bf15b 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
@@ -10,6 +10,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
+import java.util.Iterator;
 import java.util.List;
 import java.util.UUID;
 
@@ -24,6 +25,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 +34,8 @@
 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.AppVersionInfo;
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.user.AccountDetails;
 import com.yeshi.fanli.entity.bus.user.AccountMessage;
@@ -49,12 +53,14 @@
 import com.yeshi.fanli.entity.bus.user.ThreeSaleExtraInfo;
 import com.yeshi.fanli.entity.bus.user.UserActiveLog;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
 import com.yeshi.fanli.entity.bus.user.WeiXinUser;
 import com.yeshi.fanli.entity.common.AdminUser;
 import com.yeshi.fanli.entity.common.Config;
 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,15 +69,20 @@
 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.exception.user.UserInfoExtraException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.AdminUserService;
+import com.yeshi.fanli.service.inter.config.AppVersionService;
 import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.config.SystemService;
 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 +93,14 @@
 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.UserInfoExtraService;
 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 +114,13 @@
 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.UserInfoExtraVO;
+import com.yeshi.fanli.vo.user.UserSettingsVO;
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -152,7 +171,6 @@
 	@Resource
 	private OrderItemServcie orderItemServcie;
 
-
 	@Resource
 	private AccountMessageService accountMessageService;
 
@@ -183,6 +201,27 @@
 	@Resource
 	private UserMoneyDetailService userMoneyDetailService;
 
+	@Resource
+	private HongBaoOrderService hongBaoOrderService;
+
+	@Resource
+	private HongBaoV2Service hongBaoV2Service;
+
+	@Resource
+	private SpreadUserImgService spreadUserImgService;
+
+	@Resource
+	private UserShareGoodsRecordService userShareGoodsRecordService;
+
+	@Resource
+	private UserCustomSettingsService userCustomSettingsService;
+
+	@Resource
+	private UserInfoExtraService userInfoExtraService;
+
+	@Resource
+	private AppVersionService appVersionService;
+
 	private static final String PASSWORD_MAX_ERROR = "password_max_error";
 	private static final String EXTRACT_MIN_MONEY = "extract_min_money";
 	private static final String EXTRACT_MAX_MONEY = "extract_max_money";
@@ -210,6 +249,12 @@
 			// }
 			// });
 			if (find != null) {
+				if (find.getState() != UserInfo.STATE_NORMAL) {
+					out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER,
+							Constant.FORBIDDEN_USER_REASON_DESC));
+					return;
+				}
+
 				// 閭�璇峰叧绯荤敓鏁�
 				threeSaleSerivce.effective(find);
 				// 閲嶆柊璁$畻鐢ㄦ埛绛夌骇
@@ -471,27 +516,117 @@
 		BigDecimal fanliHB = user.getTotalHongBao();
 		user.setTotalHongBao(fanliHB);
 
+		UserInfo filterForClientUser = UserUtil.filterForClientUser(user);
+
+		// 1.5.0 鐗堟湰涔嬪悗杩斿洖鏂扮殑绛夌骇
+		String version = acceptData.getVersion();
+		if (version != null && version.trim().length() > 0) {
+			int versionCode = Integer.parseInt(version);
+			String platform = acceptData.getPlatform();
+
+			AppVersionInfo versionInfo = appVersionService.getByPlatformAndVersion(platform, "1.5.0");
+			if (versionInfo != null) {
+				int versionCode150 = versionInfo.getVersionCode();
+				if (versionCode >= versionCode150) {
+					UserInfoExtraVO userInfoExtra = userInfoExtraService.getInfoExtraVOByUid(user.getId());
+					if (userInfoExtra != null && userInfoExtra.getUserRank() != null) {
+						String picture = userInfoExtra.getUserRank().getPicture();
+						String icon = userInfoExtra.getUserRank().getIcon();
+						filterForClientUser.setRankNamePicture(picture);
+						filterForClientUser.setRankIcon(icon);
+					}
+				}
+			}
+		}
+
 		GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
 
 		JSONObject data = new JSONObject();
-		data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create()
-				.toJson(UserUtil.filterForClientUser(user)));
+		data.put("user",
+				JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(filterForClientUser));
 		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);
+		
+		int welfareCenterNews = 0;
+		UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(user.getId());
+		if (userInfoExtra != null && userInfoExtra.getCouponNews() != null) {
+			welfareCenterNews = userInfoExtra.getCouponNews();
+		}
+		data.put("welfareCenterNews", welfareCenterNews);
+		
+		
+		
 		out.print(JsonUtil.loadTrueResult(data));
+		
 		final UserInfo uuser = user;
 		ThreadUtil.run(new Runnable() {
 			public void run() {
+
+				try {
+					// 鑾峰彇閭�璇风爜锛氳嫢鏃犻個璇风爜涓斿瓨鍦ㄦ湁鏁堢殑闃熷憳鍏崇郴 鍒欒嚜鍔ㄧ敓鎴愰個璇风爜
+					userInfoExtraService.getUserInviteCode(uuser.getId());
+				} catch (UserInfoExtraException e) {
+					e.printStackTrace();
+				}
+
 				LogHelper.userInfo(GsonUtil.toJsonExpose(uuser));
 				uuser.setLastLoginIp(remotIP);
 				uuser.setLastLoginTime(java.lang.System.currentTimeMillis());
 				userInfoService.updateLoginInfo(uuser);
 				wxDownService.save(device);
+				// 鏇存柊鐢ㄦ埛闄勫姞淇℃伅锛岃�佺敤鎴蜂笉瀛樺湪鐨勯渶瑕佹坊鍔�
+				try {
+					userInfoExtraService.updateUserRankByUid(uuser.getId());
+				} catch (UserInfoExtraException e) {
+					e.printStackTrace();
+				}
+
 			}
 		});
 	}
@@ -771,7 +906,7 @@
 		}
 
 		String minMoney = configService.get(EXTRACT_MIN_MONEY); // 鍗曠瑪鎻愮幇鐨勬渶灏忛噾棰�
-		String maxMoney = configService.get(EXTRACT_MAX_MONEY); // 鍗曠瑪鎻愮幇鐨勬渶澶ч噾棰�
+		String maxDayMoney = configService.get("extract_money_day"); // 姣忔棩鏈�澶ф彁鐜伴噾棰�
 		int maxDayCount = Integer.parseInt(configService.get("extract_count_day"));
 		ExtractRecord extractRecord = extractRecordService.getExtractRecordByUid(uid);
 		boolean canExtract = true;
@@ -780,9 +915,9 @@
 			canExtract = false;
 			errorMsg = String.format("姣忔棩鏈�澶氭彁鐜�%s娆�", maxDayCount + "");
 		} else if (extractRecord != null
-				&& extractRecord.getMoney().add(money).compareTo(new BigDecimal(maxMoney)) > 0) {
+				&& extractRecord.getMoney().add(money).compareTo(new BigDecimal(maxDayMoney)) > 0) {
 			canExtract = false;
-			errorMsg = String.format("姣忔棩鏈�澶氭彁鐜�%s鍏�", maxMoney);
+			errorMsg = String.format("姣忔棩鏈�澶氭彁鐜�%s鍏�", maxDayMoney);
 		} else if (new BigDecimal(minMoney).compareTo(money) > 0) {
 			canExtract = false;
 			errorMsg = String.format("姣忔鏈�浣庢彁鐜�%s鍏�", minMoney);
@@ -1173,6 +1308,12 @@
 			HttpServletRequest request, int type, PrintWriter out) {
 		UserInfo user = userInfoService.getUserById(uid);
 		if (user == null) {
+			user = userInfoService.getUserByIdWithMybatis(uid);
+			if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
+				out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
+				return;
+			}
+
 			out.print(JsonUtil.loadFalseResult("鐢ㄦ埛涓嶅瓨鍦�"));
 			return;
 		}
@@ -1366,15 +1507,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 +1535,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();
@@ -1712,28 +1863,91 @@
 	@RequestMapping(value = "getMyTeam", method = RequestMethod.POST)
 	public void getMyTeam(AcceptData acceptData, long page, long uid, long type, PrintWriter out) {
 
-		int pageSize = Constant.PAGE_SIZE;
+		try {
+			int pageSize = Constant.PAGE_SIZE;
 
-		JSONObject resultData = new JSONObject();
-		if (type == 1) {
-			resultData = threeSaleSerivce.getMyFirstTeam((page - 1) * pageSize, pageSize, uid);
-		} else if (type == 2) {
-			resultData = threeSaleSerivce.getMySecondTeam((page - 1) * pageSize, pageSize, uid);
+			JSONObject resultData = new JSONObject();
+			if (type == 1) {
+				resultData = threeSaleSerivce.getMyFirstTeam((page - 1) * pageSize, pageSize, uid);
+			} else if (type == 2) {
+				resultData = threeSaleSerivce.getMySecondTeam((page - 1) * pageSize, pageSize, uid);
+			}
+
+			// 瀹夊崜绯荤粺杩斿洖鎵�鏈夋暟鎹�
+			String platform = acceptData.getPlatform();
+			if ("android".equalsIgnoreCase(platform)) {
+				long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1);
+				long firstTeamTotal = threeSaleSerivce.countFirstTeam(uid, null);
+
+				long secondTeam = threeSaleSerivce.countSecondTeam(uid, 1);
+				long secondTeamTotal = threeSaleSerivce.countSecondTeam(uid, null);
+
+				JSONObject bossData = null;
+				ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid);
+				if (threeSale != null) {
+					bossData = new JSONObject();
+					UserInfo boss = threeSale.getBoss();
+					if (boss != null) {
+						bossData.put("nickName", boss.getNickName());
+						bossData.put("portrait", boss.getPortrait());
+					}
+
+					SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
+					Long createTime = threeSale.getCreateTime();
+					Date inviteTime = new Date(createTime);
+					bossData.put("inviteTime", "閭�璇锋椂闂�: " + sdf.format(inviteTime));
+				}
+
+				String helpLink = configService.get("team_help_url");
+				if (helpLink == null) {
+					helpLink = "";
+				}
+
+				boolean hasCode = false;
+				String inviteCode = userInfoExtraService.getUserInviteCode(uid);
+				if (inviteCode != null && inviteCode.trim().length() > 0) {
+					hasCode = true; // 宸叉湁閭�璇风爜
+				} else {
+					// 閭�璇锋縺娲婚摼鎺�
+					resultData.put("activationlink", configService.get("invite_activation_url"));
+				}
+				resultData.put("hasCode", hasCode);
+
+				resultData.put("helpLink", helpLink);
+				resultData.put("firstTeam", firstTeam);
+				resultData.put("firstTeamTotal", firstTeamTotal);
+				resultData.put("secondTeam", secondTeam);
+				resultData.put("secondTeamTotal", secondTeamTotal);
+				resultData.put("boss", bossData);
+			}
+			out.print(JsonUtil.loadTrueResult(resultData));
+		} catch (UserInfoExtraException e) {
+			out.print(JsonUtil.loadFalseResult(e.getMsg()));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("缁熻澶辫触"));
+			e.printStackTrace();
 		}
 
-		// 瀹夊崜绯荤粺杩斿洖鎵�鏈夋暟鎹�
-		String platform = acceptData.getPlatform();
-		if ("android".equalsIgnoreCase(platform)) {
+	}
+
+	/**
+	 * 鐢ㄦ埛闃熷憳缁熻 1.4.1
+	 * 
+	 * @param acceptData
+	 * @param id
+	 * @param out
+	 */
+	@RequestMapping(value = "countMyTeam", method = RequestMethod.POST)
+	public void countMyTeam(AcceptData acceptData, long uid, PrintWriter out) {
+		try {
 			long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1);
 			long firstTeamTotal = threeSaleSerivce.countFirstTeam(uid, null);
 
 			long secondTeam = threeSaleSerivce.countSecondTeam(uid, 1);
 			long secondTeamTotal = threeSaleSerivce.countSecondTeam(uid, null);
-
-			JSONObject bossData = null;
+			JSONObject bossData = new JSONObject();
 			ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid);
 			if (threeSale != null) {
-				bossData = new JSONObject();
 				UserInfo boss = threeSale.getBoss();
 				if (boss != null) {
 					bossData.put("nickName", boss.getNickName());
@@ -1746,6 +1960,8 @@
 				bossData.put("inviteTime", "閭�璇锋椂闂�: " + sdf.format(inviteTime));
 			}
 
+			JSONObject resultData = new JSONObject();
+
 			String helpLink = configService.get("team_help_url");
 			if (helpLink == null) {
 				helpLink = "";
@@ -1756,54 +1972,26 @@
 			resultData.put("secondTeam", secondTeam);
 			resultData.put("secondTeamTotal", secondTeamTotal);
 			resultData.put("boss", bossData);
-		}
-		out.print(JsonUtil.loadTrueResult(resultData));
-	}
 
-	/**
-	 * 鐢ㄦ埛闃熷憳缁熻 1.4.1
-	 * 
-	 * @param acceptData
-	 * @param id
-	 * @param out
-	 */
-	@RequestMapping(value = "countMyTeam", method = RequestMethod.POST)
-	public void countMyTeam(AcceptData acceptData, long uid, PrintWriter out) {
-
-		long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1);
-		long firstTeamTotal = threeSaleSerivce.countFirstTeam(uid, null);
-
-		long secondTeam = threeSaleSerivce.countSecondTeam(uid, 1);
-		long secondTeamTotal = threeSaleSerivce.countSecondTeam(uid, null);
-		JSONObject bossData = new JSONObject();
-		ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid);
-		if (threeSale != null) {
-			UserInfo boss = threeSale.getBoss();
-			if (boss != null) {
-				bossData.put("nickName", boss.getNickName());
-				bossData.put("portrait", boss.getPortrait());
+			boolean hasCode = false;
+			String inviteCode = userInfoExtraService.getUserInviteCode(uid);
+			if (inviteCode != null && inviteCode.trim().length() > 0) {
+				hasCode = true; // 宸叉湁閭�璇风爜
+			} else {
+				// 閭�璇锋縺娲婚摼鎺�
+				resultData.put("activationlink", configService.get("invite_activation_url"));
 			}
+			resultData.put("hasCode", hasCode);
 
-			SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
-			Long createTime = threeSale.getCreateTime();
-			Date inviteTime = new Date(createTime);
-			bossData.put("inviteTime", "閭�璇锋椂闂�: " + sdf.format(inviteTime));
+			out.print(JsonUtil.loadTrueResult(resultData));
+
+		} catch (UserInfoExtraException e) {
+			out.print(JsonUtil.loadFalseResult(e.getMsg()));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("缁熻澶辫触"));
+			e.printStackTrace();
 		}
 
-		JSONObject resultData = new JSONObject();
-
-		String helpLink = configService.get("team_help_url");
-		if (helpLink == null) {
-			helpLink = "";
-		}
-		resultData.put("helpLink", helpLink);
-		resultData.put("firstTeam", firstTeam);
-		resultData.put("firstTeamTotal", firstTeamTotal);
-		resultData.put("secondTeam", secondTeam);
-		resultData.put("secondTeamTotal", secondTeamTotal);
-		resultData.put("boss", bossData);
-
-		out.print(JsonUtil.loadTrueResult(resultData));
 	}
 
 	/**
@@ -1896,7 +2084,121 @@
 			out.print(JsonUtil.loadFalseResult("鍒犻櫎澶辫触"));
 			e.printStackTrace();
 		}
-
 	}
 
+	/**
+	 * 璁剧疆鐣岄潰寮�鍏崇姸鎬�
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 * @param params
+	 * @param out
+	 */
+	@RequestMapping(value = "setModuleState", method = RequestMethod.POST)
+	public void setModuleState(AcceptData acceptData, Long uid, String params, PrintWriter out) {
+
+		if (uid == null) {
+			out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+
+		try {
+			if (params == null || params.trim().length() == 0) {
+				out.print(JsonUtil.loadFalseResult("浼犻�掑弬鏁颁负绌�"));
+				return;
+			}
+
+			JSONObject json = JSONObject.fromObject(params);
+			Iterator<String> iterator = json.keys();
+			while (iterator.hasNext()) {
+				String type = (String) iterator.next();
+				int state = json.getInt(type);
+				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();
+		}
+	}
+
+	/**
+	 * 鑾峰彇绛夌骇淇℃伅
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 * @param out
+	 */
+	@RequestMapping(value = "getRankInfo", method = RequestMethod.POST)
+	public void getRankInfo(AcceptData acceptData, Long uid, PrintWriter out) {
+
+		if (uid == null) {
+			out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+
+		try {
+			UserInfoExtraVO rankInfo = userInfoExtraService.getRankInfo(uid);
+			GsonBuilder gsonBuilder = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder());
+			gsonBuilder.excludeFieldsWithoutExposeAnnotation();
+			Gson gson = gsonBuilder.setDateFormat("yyyy.MM.dd").create();
+
+			JSONObject resultData = new JSONObject();
+			resultData.put("rankInfo", gson.toJson(rankInfo));
+
+			out.print(JsonUtil.loadTrueResult(resultData));
+
+		} catch (UserInfoExtraException e) {
+			out.print(JsonUtil.loadFalseResult(e.getMsg()));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触"));
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * 鑾峰彇绛夌骇淇℃伅
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 * @param out
+	 */
+	@RequestMapping(value = "getUserConfig", method = RequestMethod.POST)
+	public void getUserConfig(AcceptData acceptData, Long uid, PrintWriter out) {
+
+		if (uid == null) {
+			out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+
+		try {
+
+			String inviteCode = userInfoExtraService.getUserInviteCode(uid);
+
+			JSONObject inviteData = new JSONObject();
+			if (inviteCode == null || inviteCode.trim().length() == 0) {
+				// 鏃犻個璇风爜
+				inviteData.put("content", "閭�璇锋縺娲�");
+				inviteData.put("link", configService.get("invite_activation_url"));
+			} else {
+				// 宸叉湁閭�璇风爜
+				inviteData.put("content", "閭�璇风爜");
+				inviteData.put("link", configService.get("invite_activation_success_url"));
+			}
+
+			JSONObject data = new JSONObject();
+			data.put("invite", inviteData);
+
+			out.print(JsonUtil.loadTrueResult(data));
+
+		} catch (UserInfoExtraException e) {
+			out.print(JsonUtil.loadFalseResult(e.getMsg()));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触"));
+			e.printStackTrace();
+		}
+	}
 }

--
Gitblit v1.8.0