From 24a8d17e007545f7426c48352109aa1a9c6587ee Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 06 五月 2020 12:02:09 +0800
Subject: [PATCH] IOS上线隐藏我的界面的banner与超级会员升级信息

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RedPackControllerV2.java |  165 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 158 insertions(+), 7 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RedPackControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RedPackControllerV2.java
index dc445ce..d57ec05 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RedPackControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RedPackControllerV2.java
@@ -2,8 +2,10 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
 import java.lang.reflect.Type;
 import java.math.BigDecimal;
+import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
@@ -26,15 +28,20 @@
 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.ThreeSale;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
-import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
+import com.yeshi.fanli.entity.common.AdminUser;
+import com.yeshi.fanli.entity.common.Config;
 import com.yeshi.fanli.entity.redpack.RedPackDetail.RedPackDetailTypeEnum;
 import com.yeshi.fanli.entity.redpack.RedPackExchange;
 import com.yeshi.fanli.entity.redpack.RedPackWinInvite;
 import com.yeshi.fanli.entity.redpack.RedPackWinInvite.RedPackWinInviteTypeEnum;
+import com.yeshi.fanli.entity.system.ConfigKeyEnum;
 import com.yeshi.fanli.exception.redpack.RedPackExchangeException;
 import com.yeshi.fanli.exception.redpack.RedPackGiveRecordException;
+import com.yeshi.fanli.service.AdminUserService;
 import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
+import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
 import com.yeshi.fanli.service.inter.redpack.RedPackBalanceService;
 import com.yeshi.fanli.service.inter.redpack.RedPackConfigService;
@@ -46,12 +53,18 @@
 import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
+import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
+import com.yeshi.fanli.util.AESUtil;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.ThreadUtil;
 import com.yeshi.fanli.util.TimeUtil;
 import com.yeshi.fanli.util.UserInviteUtil;
+import com.yeshi.fanli.util.email.MailSenderUtil;
 import com.yeshi.fanli.vo.redpack.RedPackDetailVO;
+import com.yeshi.fanli.vo.redpack.RedPackGiveVO;
 import com.yeshi.fanli.vo.redpack.RedPackWinInviteVO;
+import com.yeshi.fanli.vo.redpack.RedPackWinProgressVO;
 
 import net.sf.json.JSONObject;
 
@@ -94,6 +107,15 @@
 
 	@Resource
 	private RedPackForbidService redPackForbidService;
+
+	@Resource
+	private ThreeSaleSerivce threeSaleSerivce;
+	
+	@Resource
+	private ConfigService configService;
+	
+	@Resource
+	private AdminUserService adminUserService;
 
 	/**
 	 * 缁熻
@@ -173,8 +195,9 @@
 		data.put("extractMax", redPackConfigService.getValueByKey("extract_money_max"));
 		data.put("extractBanlenMin", redPackConfigService.getValueByKey("extract_banlen_min"));
 		data.put("extractDesc", "娉細3涓伐浣滄棩鍐呭畬鎴愬鏍革紝绾㈠寘鎻愮幇鎴愬姛鍚庡皢浼氳繘鍏ュ埌浣欓銆�");
-
+		data.put("giveTotal", redPackGiveRecordService.countGiveList(uid));
 		data.put("useLink", redPackConfigService.getValueByKey("use_link"));
+		data.put("winLink", redPackConfigService.getValueByKey("invite_win_redpack_link"));
 
 		data.put("todayWin", todayWin.setScale(2).toString());
 		data.put("yesterdayWin", yesterdayWin.setScale(2).toString());
@@ -291,6 +314,32 @@
 		}
 	}
 
+	@RequestMapping(value = "getGiveList", method = RequestMethod.POST)
+	public void getGiveList(AcceptData acceptData, Integer page, Long uid, PrintWriter out) {
+		if (uid == null || uid <= 0) {
+			out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+
+		if (page == null || page <= 0)
+			page = 1;
+
+		try {
+			List<RedPackGiveVO> list = redPackGiveRecordService.getGiveList(page, Constant.PAGE_SIZE, uid);
+
+			GsonBuilder gsonBuilder = new GsonBuilder();
+			Gson gson = gsonBuilder.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy.MM.dd HH:mm").create();
+
+			JSONObject data = new JSONObject();
+			data.put("list", gson.toJson(list));
+			data.put("count", redPackGiveRecordService.countGiveList(uid));
+			out.print(JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			e.printStackTrace();
+			out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触"));
+		}
+	}
+
 	/**
 	 * 杞崲绾㈠寘涓虹湡瀹為噾閽�
 	 * 
@@ -309,6 +358,35 @@
 		try {
 			redPackExchangeService.exchangeCash(uid, amount);
 			out.print(JsonUtil.loadTrueResult("鎻愮幇鐢宠鎴愬姛"));
+
+			ThreadUtil.run(new Runnable() {
+				@Override
+				public void run() {
+					JSONObject json = new JSONObject();
+					json.put("timeStamp", java.lang.System.currentTimeMillis());
+					json.put("adminId", 4L);
+					String sign = AESUtil.encrypt(json.toString(), Constant.ADMINH5_AESKEY);
+					String url = "";
+					try {
+						url = String.format("%s?from=emailh5&sign=%s",
+								Constant.systemCommonConfig.getExtractNotifyUrl(), URLEncoder.encode(sign, "UTF-8"));
+					} catch (UnsupportedEncodingException e) {
+						e.printStackTrace();
+					}
+
+					long[] targetUids = new long[] { 3L, 4L };
+					Config config = configService.getConfig(ConfigKeyEnum.extractCodeEmailFrom.getKey());
+					String[] sts = config.getValue().split(",");
+					String account = sts[0];
+					String pwd = sts[1];
+					for (long adminId : targetUids) {
+						AdminUser adminUser = adminUserService.selectByPrimaryKey(adminId);
+						String msg = "鏈夌敤鎴烽噰鐢ㄧ孩鍖呭厬鎹㈢幇閲�";
+						boolean isS = MailSenderUtil.sendEmail(adminUser.getEmail(), account, pwd, "绾㈠寘鍏戞崲鐜伴噾鎻愰啋", msg);
+					}
+				}
+			});
+
 		} catch (RedPackExchangeException e) {
 			out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
 		}
@@ -387,15 +465,16 @@
 		data.put("shareLink", UserInviteUtil.getShareUrl(uid));
 		data.put("redPackLock", redPackForbidService.verifyForbid(uid));
 
-		UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
-		if (userInfoExtra != null && !StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
-			data.put("inviteCode", userInfoExtra.getInviteCode());
+		String inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
+		if (!StringUtil.isNullOrEmpty(inviteCode)) {
+			data.put("inviteCode", inviteCode);
 		} else {
 			data.put("inviteCode", "");
 		}
 
-		//
-		long freeCouponCount = userSystemCouponService.countUsableFreeCouponForBuy(uid);
+		// 璧犻�佸厤鍗曞埜
+		long freeCouponCount = userSystemCouponService.countGiveFreeCoupon(uid);
+		// 濂栧姳鍒�
 		long rewardCouponCount = userSystemCouponService.countUsableRewardCoupon(uid);
 
 		data.put("freeCouponCount", freeCouponCount);
@@ -408,4 +487,76 @@
 		}
 	}
 
+	/**
+	 *  璇ョ敤鎴烽個璇峰閲戞
+	 * 
+	 * @param acceptData
+	 * @param uid  涓嬬嚎UID
+	 * @param out
+	 */
+	@RequestMapping(value = "getInviteReward")
+	public void getInviteReward(AcceptData acceptData, Integer page, Long uid, String callback, PrintWriter out) {
+		if (uid == null || uid <= 0) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+
+		if (page == null || page < 1)
+			page = 1;
+
+		List<RedPackWinProgressVO> listVO = new ArrayList<RedPackWinProgressVO>();
+		List<RedPackWinInvite> list = redPackWinInviteService.getWinTopListByBossId(page, Constant.PAGE_SIZE, uid);
+		if (list != null) {
+			for (RedPackWinInvite win : list) {
+				ThreeSale threeSale = threeSaleSerivce.getNearRelationByBossIdAndWorkerId(uid, win.getTeamUid());
+				if (threeSale == null)
+					continue;
+
+				UserInfo userInfo = userInfoService.selectByPKey(win.getTeamUid());
+				if (userInfo == null)
+					continue;
+
+				RedPackWinProgressVO progressVO = new RedPackWinProgressVO();
+				progressVO.setUid(userInfo.getId());
+				progressVO.setName(userInfo.getNickName());
+				progressVO.setPortrait(userInfo.getPortrait());
+				progressVO.setMoney(win.getMoney().setScale(2).toString());
+				progressVO.setTime("閭�璇凤細" + TimeUtil.formatDate(threeSale.getSucceedTime()));
+				listVO.add(progressVO);
+			}
+		}
+
+		JSONObject data = new JSONObject();
+		data.put("list", listVO);
+		data.put("count", redPackWinInviteService.countWinTopListByBossId(uid));
+		if (!StringUtil.isNullOrEmpty(callback)) {
+			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
+		} else {
+			out.print(JsonUtil.loadTrueResult(data));
+		}
+	}
+
+	/**
+	 *  璇ョ敤鎴烽個璇疯繘搴�
+	 * 
+	 * @param acceptData
+	 * @param tid  涓嬬嚎UID
+	 * @param out
+	 */
+	@RequestMapping(value = "getInviteProgress")
+	public void getInviteProgress(AcceptData acceptData, Long uid, Long tid, String callback, PrintWriter out) {
+		if (uid == null || uid <= 0 || tid == null || tid <= 0) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "浼犻�掑弬鏁扮己澶�"));
+			return;
+		}
+
+		JSONObject data = new JSONObject();
+		data.put("list", redPackWinInviteService.getInviteProgressByWorkerId(uid, tid));
+		data.put("num", redPackWinInviteService.countTeamNumByTid(uid, tid));
+		if (!StringUtil.isNullOrEmpty(callback)) {
+			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
+		} else {
+			out.print(JsonUtil.loadTrueResult(data));
+		}
+	}
 }

--
Gitblit v1.8.0