From 2366d2ada9e67f915a06b51b3c5be08a00847f0c Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期二, 22 一月 2019 10:47:06 +0800
Subject: [PATCH] 用户邀请码激活

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/InviteGetMoneyController.java |  342 ++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 267 insertions(+), 75 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/InviteGetMoneyController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/InviteGetMoneyController.java
index 7beb824..ab3f298 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/InviteGetMoneyController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/InviteGetMoneyController.java
@@ -3,6 +3,8 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 
 import javax.annotation.Resource;
@@ -10,29 +12,33 @@
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.yeshi.utils.JsonUtil;
 
 import com.yeshi.fanli.entity.accept.AcceptData;
-import com.yeshi.fanli.entity.admin.EveryDayTask;
 import com.yeshi.fanli.entity.admin.InviteGetMoney;
-import com.yeshi.fanli.entity.bus.user.UserRankings;
+import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
+import com.yeshi.fanli.entity.bus.user.ThreeSale;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
 import com.yeshi.fanli.entity.system.System;
 import com.yeshi.fanli.entity.system.SystemClientParams;
 import com.yeshi.fanli.exception.NotExistObjectException;
-import com.yeshi.fanli.exception.UserRankingsException;
-import com.yeshi.fanli.service.inter.config.EveryDayTaskService;
+import com.yeshi.fanli.exception.banner.SwiperPictureException;
+import com.yeshi.fanli.exception.user.UserInfoExtraException;
+import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.config.InviteGetMoneyService;
 import com.yeshi.fanli.service.inter.config.SystemClientParamsService;
-import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
-import com.yeshi.fanli.service.inter.user.QrCodeService;
+import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
+import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
 import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.UserRankingsService;
 import com.yeshi.fanli.tag.PageEntity;
 import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.Utils;
 import com.yeshi.fanli.util.account.UserUtil;
-import com.yeshi.fanli.util.taobao.TaoBaoUtil;
-import org.yeshi.utils.JsonUtil;
 
+import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
 
 /**
@@ -51,83 +57,59 @@
 	private InviteGetMoneyService inviteGetMoneyService;
 
 	@Resource
-	private EveryDayTaskService everyDayTaskService;
-
-	@Resource
 	private SystemClientParamsService systemClientParamsService;
-
-	@Resource
-	private QrCodeService qrCodeService;
 
 	@Resource
 	private SpreadUserImgService spreadUserImgService;
 
 	@Resource
-	private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
-	
-	@Resource
 	private UserRankingsService userRankingsService;
 
-	/**
-	 * 
-	 * 鏂规硶璇存槑: 杩斿洖鍒板墠绔帴鍙�
-	 * 
-	 * @author mawurui createTime 2018骞�3鏈�29鏃� 涓嬪崍2:37:38
-	 * @throws NotExistObjectException
-	 */
+	@Resource
+	private ConfigService configService;
+
+	@Resource
+	private SwiperPictureService swiperPictureService;
+	
+	@Resource
+	private UserInfoExtraService userInfoExtraService;
+	
+	@Resource
+	private UserInfoService userInfoService;
+	
+	@Resource
+	private ThreeSaleSerivce threeSaleSerivce;
+
+
 	@RequestMapping(value = "/inviteGetMoney", method = RequestMethod.POST)
 	public void everyDayTaskList(AcceptData acceptData, int pageIndex, PrintWriter out, String uid)
 			throws NotExistObjectException {
 		// 鏌ヨ鍟嗗搧鎬绘暟
-		Integer totalCount = everyDayTaskService.getCount();
+		Integer totalCount = 0;
 		int totalPage = totalCount % Constant.PAGE_SIZE == 0 ? totalCount / Constant.PAGE_SIZE
 				: totalCount / Constant.PAGE_SIZE + 1;
 		PageEntity pageEntity = new PageEntity(pageIndex, Constant.PAGE_SIZE, totalCount, totalPage);
 
-		// 鍒嗛〉鏌ヨ鎵�鏈夋瘡鏃ュ晢鍝�
-		List<EveryDayTask> everyDayTaskList = everyDayTaskService.everyDayTaskListCache(pageIndex - 1, "");
-		for (EveryDayTask everyDayTask : everyDayTaskList) {
-			// 璁$畻鐢ㄦ埛寰楀埌鐨勪剑閲�
-			BigDecimal money = taoBaoGoodsBriefService.getShareGoodsUserHongBao(everyDayTask.getEtGoods());
-			String getMoney = money.toString();
-			everyDayTask.setGetMoney("璧�" + "楼" + getMoney);
-			// 璁$畻鍒稿悗浠�
-			BigDecimal quanhoujia = TaoBaoUtil.getAfterUseCouplePrice(everyDayTask.getEtGoods());
-			if (Integer.parseInt(acceptData.getVersion()) >= 20)
-				everyDayTask.setQuanhoujiaStr("楼" + quanhoujia.toString());
-			else
-				everyDayTask.setQuanhoujiaStr(quanhoujia.toString());
-			everyDayTask.getEtGoods().setSalesCount(TaoBaoUtil.getSaleCount(everyDayTask.getEtGoods().getBiz30day()));
-		}
-
 		/*
-		// 鍒嗛〉鏌ヨ閭�璇锋彁鎴愭
-		List<InviteGetMoney> inviteGetMoneyList = inviteGetMoneyService.inviteGetMoneyList(pageIndex - 1, "");
-		
-		// 鍚嶅瓧*澶勭悊
-		for (InviteGetMoney inviteGetMoney : inviteGetMoneyList) {
+		 * // 鍒嗛〉鏌ヨ閭�璇锋彁鎴愭 List<InviteGetMoney> inviteGetMoneyList =
+		 * inviteGetMoneyService.inviteGetMoneyList(pageIndex - 1, "");
+		 * 
+		 * // 鍚嶅瓧*澶勭悊 for (InviteGetMoney inviteGetMoney : inviteGetMoneyList) {
+		 * 
+		 * String name = inviteGetMoney.getName(); if (name != null) { if
+		 * (name.length() > 2) { name = Utils.getStarString(name, 1,
+		 * name.length() - 1); } else { name = name.substring(0, 1) + "**" +
+		 * name.substring(name.length() - 1); } } inviteGetMoney.setName(name);
+		 * inviteGetMoney.setRankIcon(UserUtil.getRankIcon(3)); }
+		 */
 
-			String name = inviteGetMoney.getName();
-			if (name != null) {
-				if (name.length() > 2) {
-					name = Utils.getStarString(name, 1, name.length() - 1);
-				} else {
-					name = name.substring(0, 1) + "**" + name.substring(name.length() - 1);
-				}
-			}
-			inviteGetMoney.setName(name);
-			inviteGetMoney.setRankIcon(UserUtil.getRankIcon(3));
-		}
-		*/
-		
-		
-		List<InviteGetMoney> inviteGetMoneyList = userRankingsService.getRank(0,5);
-		
-		
-		JSONObject data = new JSONObject();
+		List<InviteGetMoney> inviteGetMoneyList = userRankingsService.getRank(0, 5);
+
+		com.alibaba.fastjson.JSONObject data = new com.alibaba.fastjson.JSONObject();
 		data.put("pageEntity", JsonUtil.getSimpleGsonWithDate().toJson(pageEntity));
-		data.put("everyDayTaskList", JsonUtil.getSimpleGsonWithDateAndSerialization().toJson(everyDayTaskList));
-		data.put("inviteGetMoneyList", JsonUtil.getSimpleGsonWithDate().toJson(inviteGetMoneyList));
+		data.put("everyDayTaskList", new JSONArray());
+		data.put("inviteGetMoneyList",
+				JSONArray.fromObject(JsonUtil.getSimpleGsonWithDate().toJson(inviteGetMoneyList)));
 		if (uid.equals("0") || uid == null) {
 			data.put("myTeam", "---");
 			data.put("moneyToday", "---");
@@ -140,21 +122,20 @@
 			int myTeamCount = myFirstTeamCount + mySecondTeamCount;
 			data.put("myTeam", myTeamCount);
 			// 浠婃棩 鏈湀棰勪及鏀剁泭
-			BigDecimal moneyToday = inviteGetMoneyService.getMoneyToday(uid);
+			BigDecimal moneyToday = inviteGetMoneyService.getMoneyToday(uid + "");
 			if (moneyToday == null) {
 				moneyToday = new BigDecimal(0);
 			}
-
-			BigDecimal moneyMonth = inviteGetMoneyService.getMoneyMonth(uid);
+			BigDecimal moneyMonth = inviteGetMoneyService.getMoneyMonth(uid + "");
 			if (moneyMonth == null) {
 				moneyMonth = new BigDecimal(0);
 			}
 
-			BigDecimal moneyLastMonth = inviteGetMoneyService.getMoneyLastMonth(uid);
+			BigDecimal moneyLastMonth = inviteGetMoneyService.getMoneyLastMonth(uid + "");
 
-			data.put("moneyToday", moneyToday.setScale(2, BigDecimal.ROUND_DOWN));
-			data.put("moneyMonth", moneyMonth.setScale(2, BigDecimal.ROUND_DOWN));
-			data.put("moneyLastMonth", moneyLastMonth);
+			data.put("moneyToday", moneyToday.setScale(2, BigDecimal.ROUND_DOWN).toString());
+			data.put("moneyMonth", moneyMonth.setScale(2, BigDecimal.ROUND_DOWN).toString());
+			data.put("moneyLastMonth", moneyLastMonth.toString());
 		}
 
 		// 娲诲姩瑙勫垯
@@ -171,7 +152,27 @@
 		data.put("activityRules", valueBr);
 		data.put("inviteList", String.format("http://%s/%s/client/share/friends_new.html",
 				Constant.systemCommonConfig.getProjectHost(), Constant.systemCommonConfig.getProjectName()));
-		out.print(JsonUtil.loadTrue(0, JsonUtil.getSimpleGson().toJson(data), "鎴愬姛"));
+		try {
+			List<SwiperPicture> pictureList = swiperPictureService.getByBannerCard("invite_top_banner");
+			if (pictureList != null && pictureList.size() > 0) {
+				SwiperPicture picture = pictureList.get(0);
+				com.alibaba.fastjson.JSONObject pictureJson = new com.alibaba.fastjson.JSONObject();
+				pictureJson.put("src", picture.getSrc());
+				pictureJson.put("jumpDetail", picture.getJumpDetail());
+				pictureJson.put("params", picture.getParams());
+				data.put("topBanner", pictureJson);
+			}
+
+		} catch (SwiperPictureException e) {
+			e.printStackTrace();
+		}
+
+		data.put("desc", configService.get("invite_desc"));
+
+		com.alibaba.fastjson.JSONObject root = new com.alibaba.fastjson.JSONObject();
+		root.put("code", 0);
+		root.put("data", data);
+		out.print(root.toString());
 	}
 
 	/**
@@ -208,4 +209,195 @@
 		data.put("inviteRules", valueBr);
 		out.print(JsonUtil.loadTrue(0, JsonUtil.getSimpleGson().toJson(data), "鎴愬姛"));
 	}
+	
+	
+	/**
+	 * 閭�璇锋縺娲�-鐗瑰埆鎻愮ず璇�
+	 * @param callback
+	 * @param out
+	 */
+	@RequestMapping(value = "getActivationTip")
+	public void getActivationTip(AcceptData acceptData, String callback, PrintWriter out) {
+		try {
+			String tip = configService.get("invite_activation_tip");
+			if (tip == null || tip.trim().length() == 0) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鎻愰啋"));
+				return;
+			}
+			
+			JSONObject data = new JSONObject();
+			data.put("tip", tip);
+			
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+			
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鑾峰彇澶辫触"));
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * 婵�娲婚個璇�
+	 * @param callback
+	 * @param uid  鐢ㄦ埛id
+	 * @param inviteCode 閭�璇峰槢
+	 * @param out
+	 */
+	@RequestMapping(value = "activationInvite")
+	public void activationInvite(AcceptData acceptData, String callback, Long uid, String inviteCode, PrintWriter out) {
+		try {
+			
+			if (uid == null || inviteCode == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉姝g‘"));
+				return;
+			}
+			
+			String newCode = userInfoExtraService.activateInviteCode(uid, inviteCode);
+			if (newCode == null || newCode.trim().length() == 0) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("婵�娲诲け璐�"));
+				return;
+			}
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("婵�娲绘垚鍔�"));
+			
+		} catch (UserInfoExtraException e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("婵�娲诲け璐�"));
+			e.printStackTrace();
+		}
+	}
+	
+	
+	/**
+	 * 鑾峰彇閭�璇风爜
+	 * @param callback
+	 * @param uid  鐢ㄦ埛id
+	 * @param out
+	 */
+	@RequestMapping(value = "getInviteCode")
+	public void getInviteCode(AcceptData acceptData, String callback, Long uid, PrintWriter out) {
+		try {
+			
+			if (uid == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉姝g‘"));
+				return;
+			}
+			
+			UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);	
+			if (userInfoExtra == null || userInfoExtra.getInviteCode() == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("閭�璇风爜涓嶅瓨鍦�"));
+				return;
+			}
+			String tip = configService.get("invite_activation_success_tip");
+			
+			JSONObject data = new JSONObject();
+			data.put("inviteCode", userInfoExtra.getInviteCode());
+			data.put("tip", tip);
+			
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+			
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鑾峰彇鏁版嵁澶辫触"));
+			e.printStackTrace();
+		} 
+	}
+	
+	/**
+	 * 鑾峰彇閭�璇风煭杩炴帴
+	 * @param callback
+	 * @param uid  鐢ㄦ埛id
+	 * @param out
+	 */
+	@RequestMapping(value = "getShortLink")
+	public void getShortLink(AcceptData acceptData, String callback, Long uid, PrintWriter out) {
+		try {
+			
+			if (uid == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉姝g‘"));
+				return;
+			}
+			
+			String shortLink = UserUtil.getInviteShortLink(uid);
+			
+			JSONObject data = new JSONObject();
+			data.put("shortLink", shortLink);
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢熸垚鐭繛鎺ュけ璐�"));
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * 鑾峰彇閭�璇风數璇濆彿鐮�
+	 * @param callback
+	 * @param uid  鐢ㄦ埛id
+	 * @param out
+	 */
+	@RequestMapping(value = "getUserPhone")
+	public void getUserPhone(AcceptData acceptData, String callback, Long uid, PrintWriter out) {
+		try {
+			
+			if (uid == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉姝g‘"));
+				return;
+			}
+			
+			UserInfo userInfo = userInfoService.selectByPKey(uid);
+			if (userInfo == null || userInfo.getPhone() == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛湭缁戝畾鐢佃瘽鍙风爜"));
+				return;
+			}
+			JSONObject data = new JSONObject();
+			data.put("phone", userInfo.getPhone());
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+			
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鑾峰彇鏁版嵁澶辫触"));
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * 鑾峰彇鐢ㄦ埛閭�璇蜂笂绾�
+	 * @param callback
+	 * @param uid
+	 * @param out
+	 */
+	@RequestMapping(value = "getUserBoss")
+	public void getUserBoss(AcceptData acceptData, String callback, Long uid, PrintWriter out) {
+		if (uid == null) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉姝g‘"));
+			return;
+		}
+		
+		try {
+			ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid);
+			if (threeSale == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏃犱笂绾ч個璇蜂汉"));
+				return;
+			}
+			
+			
+			UserInfo boss = threeSale.getBoss();
+			if (boss == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("涓婄骇閭�璇蜂汉鑾峰彇澶辫触"));
+				return;
+			}
+
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
+			Long createTime = threeSale.getCreateTime();
+			Date inviteTime = new Date(createTime);
+			
+			JSONObject data = new JSONObject();
+			data.put("nickName", boss.getNickName());
+			data.put("portrait", boss.getPortrait());
+			data.put("inviteTime", sdf.format(inviteTime));
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+			
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鑾峰彇鏁版嵁澶辫触"));
+			e.printStackTrace();
+		}
+	}
 }

--
Gitblit v1.8.0